diff options
Diffstat (limited to 'llvm/lib/AsmParser/llvmAsmParser.y')
| -rw-r--r-- | llvm/lib/AsmParser/llvmAsmParser.y | 18 | 
1 files changed, 17 insertions, 1 deletions
| diff --git a/llvm/lib/AsmParser/llvmAsmParser.y b/llvm/lib/AsmParser/llvmAsmParser.y index c0b7d63c138..c5589782937 100644 --- a/llvm/lib/AsmParser/llvmAsmParser.y +++ b/llvm/lib/AsmParser/llvmAsmParser.y @@ -953,7 +953,7 @@ Module *llvm::RunVMAsmParser(const char * AsmString, Module * M) {  %token IMPLEMENTATION ZEROINITIALIZER TRUETOK FALSETOK BEGINTOK ENDTOK  %token DECLARE GLOBAL CONSTANT VOLATILE  %token TO DOTDOTDOT NULL_TOK UNDEF CONST INTERNAL LINKONCE WEAK  APPENDING -%token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG +%token OPAQUE NOT EXTERNAL TARGET TRIPLE ENDIAN POINTERSIZE LITTLE BIG ALIGN  %token DEPLIBS CALL TAIL  %token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK  %type <UIntVal> OptCallingConv @@ -2208,18 +2208,34 @@ MemoryInst : MALLOC Types {      $$ = new MallocInst(*$2);      delete $2;    } +  | MALLOC Types ',' ALIGN EUINT64VAL { +    $$ = new MallocInst(*$2, 0, $5); +    delete $2; +  }    | MALLOC Types ',' UINT ValueRef {      $$ = new MallocInst(*$2, getVal($4, $5));      delete $2;    } +  | MALLOC Types ',' UINT ValueRef ',' ALIGN EUINT64VAL { +    $$ = new MallocInst(*$2, getVal($4, $5), $8); +    delete $2; +  }    | ALLOCA Types {      $$ = new AllocaInst(*$2);      delete $2;    } +  | ALLOCA Types ',' ALIGN EUINT64VAL { +    $$ = new AllocaInst(*$2, 0, $5); +    delete $2; +  }    | ALLOCA Types ',' UINT ValueRef {      $$ = new AllocaInst(*$2, getVal($4, $5));      delete $2;    } +  | ALLOCA Types ',' UINT ValueRef ',' ALIGN EUINT64VAL { +    $$ = new AllocaInst(*$2, getVal($4, $5), $8); +    delete $2; +  }    | FREE ResolvedVal {      if (!isa<PointerType>($2->getType()))        ThrowException("Trying to free nonpointer type " +  | 

