diff options
Diffstat (limited to 'lib/AsmParser/llvmAsmParser.y')
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 27238b6f18..f3a59ee0a6 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -517,7 +517,7 @@ static Value *getVal(const Type *Ty, const ValID &ID) { /// defineBBVal - This is a definition of a new basic block with the specified /// identifier which must be the same as CurFun.NextValNum, if its numeric. -static BasicBlock *defineBBVal(const ValID &ID, BasicBlock *unwindDest) { +static BasicBlock *defineBBVal(const ValID &ID) { assert(inFunctionScope() && "Can't get basic block at global scope!"); BasicBlock *BB = 0; @@ -559,7 +559,6 @@ static BasicBlock *defineBBVal(const ValID &ID, BasicBlock *unwindDest) { } ID.destroy(); - BB->setUnwindDest(unwindDest); return BB; } @@ -1063,7 +1062,7 @@ Module *llvm::RunVMAsmParser(llvm::MemoryBuffer *MB) { %token OPAQUE EXTERNAL TARGET TRIPLE ALIGN ADDRSPACE %token DEPLIBS CALL TAIL ASM_TOK MODULE SIDEEFFECT %token CC_TOK CCC_TOK FASTCC_TOK COLDCC_TOK X86_STDCALLCC_TOK X86_FASTCALLCC_TOK -%token DATALAYOUT UNWINDS +%token DATALAYOUT %type <UIntVal> OptCallingConv %type <ParamAttrs> OptParamAttrs ParamAttr %type <ParamAttrs> OptFuncAttrs FuncAttr @@ -2559,22 +2558,14 @@ InstructionList : InstructionList Inst { CHECK_FOR_ERROR } | /* empty */ { // Empty space between instruction lists - $$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), 0); - CHECK_FOR_ERROR - } - | UNWINDS TO ValueRef { // Only the unwind to block - $$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum), getBBVal($3)); + $$ = defineBBVal(ValID::createLocalID(CurFun.NextValNum)); CHECK_FOR_ERROR } | LABELSTR { // Labelled (named) basic block - $$ = defineBBVal(ValID::createLocalName(*$1), 0); - delete $1; - CHECK_FOR_ERROR - } - | LABELSTR UNWINDS TO ValueRef { - $$ = defineBBVal(ValID::createLocalName(*$1), getBBVal($4)); + $$ = defineBBVal(ValID::createLocalName(*$1)); delete $1; CHECK_FOR_ERROR + }; BBTerminatorInst : |