From: Chris Lattner Date: Mon, 26 Jul 2004 01:40:20 +0000 (+0000) Subject: Fix bug in previous patch :( X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=8d65a06a3ec0d091c1c2d63c9e934f717b39c0c2;p=oota-llvm.git Fix bug in previous patch :( git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@15226 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 440056de2df..8387fea6e51 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -383,12 +383,6 @@ static BasicBlock *getBBVal(const ValID &ID, bool isDefinition = false) { ThrowException("Redefinition of label " + ID.getName()); ID.destroy(); // Free strdup'd memory. - - // Make sure to move the basic block to the correct location in the - // function, instead of leaving it inserted wherever it was first - // referenced. - CurFun.CurrentFunction->getBasicBlockList().remove(BB); - CurFun.CurrentFunction->getBasicBlockList().push_back(BB); return BB; } @@ -1685,9 +1679,21 @@ InstructionList : InstructionList Inst { } | /* empty */ { $$ = CurBB = getBBVal(ValID::create((int)CurFun.NextBBNum++), true); + + // Make sure to move the basic block to the correct location in the + // function, instead of leaving it inserted wherever it was first + // referenced. + CurFun.CurrentFunction->getBasicBlockList().remove(CurBB); + CurFun.CurrentFunction->getBasicBlockList().push_back(CurBB); } | LABELSTR { $$ = CurBB = getBBVal(ValID::create($1), true); + + // Make sure to move the basic block to the correct location in the + // function, instead of leaving it inserted wherever it was first + // referenced. + CurFun.CurrentFunction->getBasicBlockList().remove(CurBB); + CurFun.CurrentFunction->getBasicBlockList().push_back(CurBB); }; BBTerminatorInst : RET ResolvedVal { // Return with a result...