Support alignment within ParamAttrs in the I/O handling.
authorDale Johannesen <dalej@apple.com>
Wed, 20 Feb 2008 21:15:19 +0000 (21:15 +0000)
committerDale Johannesen <dalej@apple.com>
Wed, 20 Feb 2008 21:15:19 +0000 (21:15 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47401 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AsmParser/llvmAsmParser.y
lib/Bitcode/Writer/BitcodeWriter.cpp

index effe097258e0ef264e3e6ec527a82cf256a67e15..b2667a34e9831cb09cf7771168bbb5c7aaba2303 100644 (file)
@@ -1233,6 +1233,7 @@ ParamAttr     : ZEROEXT { $$ = ParamAttr::ZExt;      }
               | NOALIAS { $$ = ParamAttr::NoAlias;   }
               | BYVAL   { $$ = ParamAttr::ByVal;     }
               | NEST    { $$ = ParamAttr::Nest;      }
+              | ALIGN EUINT64VAL { $$ = $2 << 16;    }
               ;
 
 OptParamAttrs : /* empty */  { $$ = ParamAttr::None; }
index 3f7cfcc2095afb332527a263842e312d381cb97e..fe013e8156992637b48f096a795a23b3c55c20be 100644 (file)
@@ -119,7 +119,7 @@ static void WriteParamAttrTable(const ValueEnumerator &VE,
     const ParamAttrsList *A = Attrs[i];
     for (unsigned op = 0, e = A->size(); op != e; ++op) {
       Record.push_back(A->getParamIndex(op));
-      Record.push_back((uint16_t)A->getParamAttrsAtIndex(op));
+      Record.push_back(A->getParamAttrsAtIndex(op));
     }
     
     Stream.EmitRecord(bitc::PARAMATTR_CODE_ENTRY, Record);