backend: Remove argID in function arguments iteration
authorFeng, Boqun <boqun.feng@intel.com>
Mon, 17 Dec 2012 07:49:04 +0000 (15:49 +0800)
committerZhigang Gong <zhigang.gong@linux.intel.com>
Wed, 10 Apr 2013 06:51:31 +0000 (14:51 +0800)
argID is used for checking whether the argument has a byvalue attribute,
and now llvm can do this with the hasByValueAttr function of the
argument, so there is no need to use the old api.

llvm svn revision: r169719

Signed-off-by: Feng, Boqun <boqun.feng@intel.com>
Reviewed-by: Zhigang Gong <zhigang.gong>
backend/src/llvm/llvm_gen_backend.cpp

index c99748a..b3a1647 100644 (file)
@@ -779,11 +779,9 @@ namespace gbe
     // Loop over the arguments and output registers for them
     if (!F.arg_empty()) {
       Function::arg_iterator I = F.arg_begin(), E = F.arg_end();
-      const AttrListPtr &PAL = F.getAttributes();
 
       // Insert a new register for each function argument
-      uint32_t argID = 1; // Start at one actually
-      for (; I != E; ++I, ++argID) {
+      for (; I != E; ++I) {
         Type *type = I->getType();
         GBE_ASSERTM(isScalarType(type) == true,
                     "vector type in the function argument is not supported yet");
@@ -796,7 +794,7 @@ namespace gbe
 #if LLVM_VERSION_MINOR <= 1
           if (PAL.paramHasAttr(argID, Attribute::ByVal)) {
 #else
-          if (PAL.getParamAttributes(argID).hasAttribute(Attributes::ByVal)) {
+          if (I->hasByValAttr()) {
 #endif /* LLVM_VERSION_MINOR <= 1 */
             Type *pointed = pointerType->getElementType();
             const size_t structSize = getTypeByteSize(unit, pointed);