[llvm-commits] CVS: llvm/lib/Transforms/Scalar/ADCE.cpp LoopSimplify.cpp LowerSwitch.cpp TailRecursionElimination.cpp

Chris Lattner lattner at cs.uiuc.edu
Thu Nov 20 12:26:15 PST 2003


Changes in directory llvm/lib/Transforms/Scalar:

ADCE.cpp updated: 1.66 -> 1.67
LoopSimplify.cpp updated: 1.24 -> 1.25
LowerSwitch.cpp updated: 1.7 -> 1.8
TailRecursionElimination.cpp updated: 1.6 -> 1.7

---
Log message:

Start using the nicer terminator auto-insertion API


---
Diffs of the changes:  (+15 -19)

Index: llvm/lib/Transforms/Scalar/ADCE.cpp
diff -u llvm/lib/Transforms/Scalar/ADCE.cpp:1.66 llvm/lib/Transforms/Scalar/ADCE.cpp:1.67
--- llvm/lib/Transforms/Scalar/ADCE.cpp:1.66	Sun Nov 16 15:39:27 2003
+++ llvm/lib/Transforms/Scalar/ADCE.cpp	Thu Nov 20 12:25:22 2003
@@ -302,7 +302,7 @@
     //
     if (!AliveBlocks.count(&Func->front())) {
       BasicBlock *NewEntry = new BasicBlock();
-      NewEntry->getInstList().push_back(new BranchInst(&Func->front()));
+      new BranchInst(&Func->front(), 0, 0, NewEntry);
       Func->getBasicBlockList().push_front(NewEntry);
       AliveBlocks.insert(NewEntry);    // This block is always alive!
       LiveSet.insert(NewEntry->getTerminator());  // The branch is live
@@ -432,8 +432,8 @@
         // Delete the old terminator instruction...
         BB->getInstList().pop_back();
         const Type *RetTy = Func->getReturnType();
-        BB->getInstList().push_back(new ReturnInst(RetTy != Type::VoidTy ?
-                                           Constant::getNullValue(RetTy) : 0));
+        new ReturnInst(RetTy != Type::VoidTy ?
+                       Constant::getNullValue(RetTy) : 0, BB);
       }
     }
 


Index: llvm/lib/Transforms/Scalar/LoopSimplify.cpp
diff -u llvm/lib/Transforms/Scalar/LoopSimplify.cpp:1.24 llvm/lib/Transforms/Scalar/LoopSimplify.cpp:1.25
--- llvm/lib/Transforms/Scalar/LoopSimplify.cpp:1.24	Tue Nov 11 16:41:33 2003
+++ llvm/lib/Transforms/Scalar/LoopSimplify.cpp	Thu Nov 20 12:25:22 2003
@@ -153,8 +153,7 @@
   BasicBlock *NewBB = new BasicBlock(BB->getName()+Suffix, BB);
 
   // The preheader first gets an unconditional branch to the loop header...
-  BranchInst *BI = new BranchInst(BB);
-  NewBB->getInstList().push_back(BI);
+  BranchInst *BI = new BranchInst(BB, 0, 0, NewBB);
   
   // For every PHI node in the block, insert a PHI node into NewBB where the
   // incoming values from the out of loop edges are moved to NewBB.  We have two
@@ -380,8 +379,7 @@
 
   // Create and insert the new backedge block...
   BasicBlock *BEBlock = new BasicBlock(Header->getName()+".backedge", F);
-  Instruction *BETerminator = new BranchInst(Header);
-  BEBlock->getInstList().push_back(BETerminator);
+  BranchInst *BETerminator = new BranchInst(Header, 0, 0, BEBlock);
 
   // Move the new backedge block to right after the last backedge block.
   Function::iterator InsertPos = BackedgeBlocks.back(); ++InsertPos;


Index: llvm/lib/Transforms/Scalar/LowerSwitch.cpp
diff -u llvm/lib/Transforms/Scalar/LowerSwitch.cpp:1.7 llvm/lib/Transforms/Scalar/LowerSwitch.cpp:1.8
--- llvm/lib/Transforms/Scalar/LowerSwitch.cpp:1.7	Tue Nov 11 16:41:33 2003
+++ llvm/lib/Transforms/Scalar/LowerSwitch.cpp	Thu Nov 20 12:25:22 2003
@@ -132,8 +132,7 @@
   SetCondInst* Comp = new SetCondInst(Instruction::SetLT, Val, Pivot.first,
                                       "Pivot");
   NewNode->getInstList().push_back(Comp);
-  BranchInst* Br = new BranchInst(LBranch, RBranch, Comp);
-  NewNode->getInstList().push_back(Br);
+  new BranchInst(LBranch, RBranch, Comp, NewNode);
   return NewNode;
 }
 
@@ -158,8 +157,7 @@
 
   // Make the conditional branch...
   BasicBlock* Succ = Leaf.second;
-  Instruction* Br = new BranchInst(Succ, Default, Comp);
-  NewLeaf->getInstList().push_back(Br);
+  new BranchInst(Succ, Default, Comp, NewLeaf);
 
   // If there were any PHI nodes in this successor, rewrite one entry
   // from OrigBlock to come from NewLeaf.
@@ -188,7 +186,7 @@
 
   // If there is only the default destination, don't bother with the code below.
   if (SI->getNumOperands() == 2) {
-    CurBlock->getInstList().push_back(new BranchInst(SI->getDefaultDest()));
+    new BranchInst(SI->getDefaultDest(), 0, 0, CurBlock);
     delete SI;
     return;
   }
@@ -198,7 +196,7 @@
   BasicBlock* NewDefault = new BasicBlock("NewDefault");
   F->getBasicBlockList().insert(Default, NewDefault);
 
-  NewDefault->getInstList().push_back(new BranchInst(Default));
+  new BranchInst(Default, 0, 0, NewDefault);
 
   // If there is an entry in any PHI nodes for the default edge, make sure
   // to update them as well.
@@ -221,7 +219,7 @@
                                           OrigBlock, NewDefault);
 
   // Branch to our shiny new if-then stuff...
-  OrigBlock->getInstList().push_back(new BranchInst(SwitchBlock));
+  new BranchInst(SwitchBlock, 0, 0, OrigBlock);
 
   // We are now done with the switch instruction, delete it.
   delete SI;


Index: llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp
diff -u llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp:1.6 llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp:1.7
--- llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp:1.6	Tue Nov 11 16:41:34 2003
+++ llvm/lib/Transforms/Scalar/TailRecursionElimination.cpp	Thu Nov 20 12:25:22 2003
@@ -33,7 +33,7 @@
 #include "llvm/Pass.h"
 #include "Support/Statistic.h"
 
-namespace llvm {
+using namespace llvm;
 
 namespace {
   Statistic<> NumEliminated("tailcallelim", "Number of tail calls removed");
@@ -45,7 +45,9 @@
 }
 
 // Public interface to the TailCallElimination pass
-FunctionPass *createTailCallEliminationPass() { return new TailCallElim(); }
+FunctionPass *llvm::createTailCallEliminationPass() {
+  return new TailCallElim();
+}
 
 
 bool TailCallElim::runOnFunction(Function &F) {
@@ -74,7 +76,7 @@
               // us to branch back to the old entry block.
               OldEntry = &F.getEntryBlock();
               BasicBlock *NewEntry = new BasicBlock("tailrecurse", OldEntry);
-              NewEntry->getInstList().push_back(new BranchInst(OldEntry));
+              new BranchInst(OldEntry, 0, 0, NewEntry);
               
               // Now that we have created a new block, which jumps to the entry
               // block, insert a PHI node for each argument of the function.
@@ -107,5 +109,3 @@
   
   return MadeChange;
 }
-
-} // End llvm namespace





More information about the llvm-commits mailing list