diff options
author | Chris Lattner <sabre@nondot.org> | 2004-07-13 08:39:15 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2004-07-13 08:39:15 +0000 |
commit | 22ae232d98c301752955f29a4a521bf07e56a757 (patch) | |
tree | 42650d6c2f7a941447fdd62f144da1032f86c9ca | |
parent | bc721ed100e5b662790ddfc014a1bb497386a947 (diff) |
Fix typeo and refactor bb productions to make it possible for us to reuse any
forward reference blocks if they have been created (instead of creating a new
block, replaceAllUsesOfWith, then nuking the placeholder). This is not yet
implemented.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@14791 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AsmParser/llvmAsmParser.y | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/lib/AsmParser/llvmAsmParser.y b/lib/AsmParser/llvmAsmParser.y index 65ba280fd5..2c4d2a71b7 100644 --- a/lib/AsmParser/llvmAsmParser.y +++ b/lib/AsmParser/llvmAsmParser.y @@ -71,7 +71,7 @@ static struct PerModuleInfo { /// PlaceHolderInfo - When temporary placeholder objects are created, remember /// how they were referenced and one which line of the input they came from so - /// that we can resolve them alter and print error messages as appropriate. + /// that we can resolve them later and print error messages as appropriate. std::map<Value*, std::pair<ValID, int> > PlaceHolderInfo; // GlobalRefs - This maintains a mapping between <Type, ValID>'s and forward @@ -1639,16 +1639,6 @@ BasicBlock : InstructionList OptAssign BBTerminatorInst { $1->getInstList().push_back($3); InsertValue($1); $$ = $1; - } - | LABELSTR InstructionList OptAssign BBTerminatorInst { - setValueName($4, $3); - InsertValue($4); - - $2->getInstList().push_back($4); - setValueName($2, $1); - - InsertValue($2); - $$ = $2; }; InstructionList : InstructionList Inst { @@ -1656,7 +1646,18 @@ InstructionList : InstructionList Inst { $$ = $1; } | /* empty */ { + // FIXME: Should check to see if there is a forward ref'd basic block that + // we can use and reuse it as appropriate. It doesn't make sense just to + // make forward ref'd blocks then discard them. + $$ = CurBB = new BasicBlock("", CurFun.CurrentFunction); + } + | LABELSTR { + // FIXME: Should check to see if there is a forward ref'd basic block that + // we can use and reuse it as appropriate. It doesn't make sense just to + // make forward ref'd blocks then discard them. $$ = CurBB = new BasicBlock("", CurFun.CurrentFunction); + setValueName($$, $1); + InsertValue($$); }; BBTerminatorInst : RET ResolvedVal { // Return with a result... |