[llvm-commits] CVS: llvm/lib/Transforms/Scalar/ADCE.cpp LICM.cpp LowerAllocations.cpp PiNodeInsertion.cpp PromoteMemoryToRegister.cpp RaiseAllocations.cpp
Chris Lattner
lattner at cs.uiuc.edu
Tue Sep 10 17:39:05 PDT 2002
Changes in directory llvm/lib/Transforms/Scalar:
ADCE.cpp updated: 1.45 -> 1.46
LICM.cpp updated: 1.11 -> 1.12
LowerAllocations.cpp updated: 1.30 -> 1.31
PiNodeInsertion.cpp updated: 1.6 -> 1.7
PromoteMemoryToRegister.cpp updated: 1.29 -> 1.30
RaiseAllocations.cpp updated: 1.9 -> 1.10
---
Log message:
Clean up code due to auto-insert constructors
---
Diffs of the changes:
Index: llvm/lib/Transforms/Scalar/ADCE.cpp
diff -u llvm/lib/Transforms/Scalar/ADCE.cpp:1.45 llvm/lib/Transforms/Scalar/ADCE.cpp:1.46
--- llvm/lib/Transforms/Scalar/ADCE.cpp:1.45 Wed Aug 21 18:43:50 2002
+++ llvm/lib/Transforms/Scalar/ADCE.cpp Tue Sep 10 17:38:47 2002
@@ -240,7 +240,7 @@
//
if (!AliveBlocks.count(&Func->front())) {
BasicBlock *NewEntry = new BasicBlock();
- NewEntry->getInstList().push_back(new BranchInst(&Func->front()));
+ new BranchInst(&Func->front(), NewEntry->end());
Func->getBasicBlockList().push_front(NewEntry);
AliveBlocks.insert(NewEntry); // This block is always alive!
}
@@ -353,9 +353,8 @@
// Delete the old terminator instruction...
BB->getInstList().pop_back();
const Type *RetTy = Func->getReturnType();
- Instruction *New = new ReturnInst(RetTy != Type::VoidTy ?
- Constant::getNullValue(RetTy) : 0);
- BB->getInstList().push_back(New);
+ new ReturnInst(RetTy != Type::VoidTy ? Constant::getNullValue(RetTy) :0,
+ BB->end());
}
BB->dropAllReferences();
Index: llvm/lib/Transforms/Scalar/LICM.cpp
diff -u llvm/lib/Transforms/Scalar/LICM.cpp:1.11 llvm/lib/Transforms/Scalar/LICM.cpp:1.12
--- llvm/lib/Transforms/Scalar/LICM.cpp:1.11 Thu Aug 22 17:48:36 2002
+++ llvm/lib/Transforms/Scalar/LICM.cpp Tue Sep 10 17:38:47 2002
@@ -241,10 +241,8 @@
// No loop pre-header, insert a PHI node into header to capture all of the
// incoming versions of the value.
//
- PHINode *LoopVal = new PHINode(Inst.getType(), InstName+".phi");
-
- // Insert the new PHI node into the loop header...
- Header->getInstList().push_front(LoopVal);
+ PHINode *LoopVal = new PHINode(Inst.getType(), InstName+".phi",
+ Header->begin());
// Insert cloned versions of the instruction into all of the loop preds.
for (unsigned i = 0, e = LoopPreds.size(); i != e; ++i) {
Index: llvm/lib/Transforms/Scalar/LowerAllocations.cpp
diff -u llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.30 llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.31
--- llvm/lib/Transforms/Scalar/LowerAllocations.cpp:1.30 Thu Aug 8 14:00:34 2002
+++ llvm/lib/Transforms/Scalar/LowerAllocations.cpp Tue Sep 10 17:38:47 2002
@@ -87,8 +87,6 @@
// Loop over all of the instructions, looking for malloc or free instructions
for (BasicBlock::iterator I = BB.begin(), E = BB.end(); I != E; ++I) {
if (MallocInst *MI = dyn_cast<MallocInst>(&*I)) {
- BBIL.remove(I); // remove the malloc instr...
-
const Type *AllocTy = MI->getType()->getElementType();
// Get the number of bytes to be allocated for one element of the
@@ -101,39 +99,32 @@
MallocArg = MI->getOperand(0); // Operand * 1 = Operand
} else if (MI->getNumOperands()) {
// Multiply it by the array size if neccesary...
- MallocArg = BinaryOperator::create(Instruction::Mul,MI->getOperand(0),
- MallocArg);
- I = ++BBIL.insert(I, cast<Instruction>(MallocArg));
+ MallocArg = BinaryOperator::create(Instruction::Mul, MI->getOperand(0),
+ MallocArg, "", I);
}
// Create the call to Malloc...
CallInst *MCall = new CallInst(MallocFunc,
- vector<Value*>(1, MallocArg));
- I = BBIL.insert(I, MCall);
+ vector<Value*>(1, MallocArg), "", I);
// Create a cast instruction to convert to the right type...
- CastInst *MCast = new CastInst(MCall, MI->getType());
- I = BBIL.insert(++I, MCast);
+ CastInst *MCast = new CastInst(MCall, MI->getType(), "", I);
// Replace all uses of the old malloc inst with the cast inst
MI->replaceAllUsesWith(MCast);
- delete MI; // Delete the malloc inst
+ I = --BBIL.erase(I); // remove and delete the malloc instr...
Changed = true;
++NumLowered;
} else if (FreeInst *FI = dyn_cast<FreeInst>(&*I)) {
- BBIL.remove(I);
-
// Cast the argument to free into a ubyte*...
CastInst *MCast = new CastInst(FI->getOperand(0),
- PointerType::get(Type::UByteTy));
- I = ++BBIL.insert(I, MCast);
+ PointerType::get(Type::UByteTy), "", I);
// Insert a call to the free function...
- CallInst *FCall = new CallInst(FreeFunc, vector<Value*>(1, MCast));
- I = BBIL.insert(I, FCall);
+ CallInst *FCall = new CallInst(FreeFunc, vector<Value*>(1, MCast), "", I);
// Delete the old free instruction
- delete FI;
+ I = --BBIL.erase(I);
Changed = true;
++NumLowered;
}
Index: llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp
diff -u llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.6 llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.7
--- llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp:1.6 Thu Aug 8 14:01:26 2002
+++ llvm/lib/Transforms/Scalar/PiNodeInsertion.cpp Tue Sep 10 17:38:47 2002
@@ -148,13 +148,8 @@
// Create the Pi node...
Value *Pi = Rep;
- if (Rep == 0) {
- PHINode *Phi = new PHINode(V->getType(), V->getName() + ".pi");
-
- // Insert the Pi node in the successor basic block...
- Succ->getInstList().push_front(Phi);
- Pi = Phi;
- }
+ if (Rep == 0) // Insert the Pi node in the successor basic block...
+ Pi = new PHINode(V->getType(), V->getName() + ".pi", Succ->begin());
// Loop over all of the uses of V, replacing ones that the Pi node
// dominates with references to the Pi node itself.
Index: llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp
diff -u llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.29 llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.30
--- llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp:1.29 Thu Aug 22 18:36:48 2002
+++ llvm/lib/Transforms/Scalar/PromoteMemoryToRegister.cpp Tue Sep 10 17:38:47 2002
@@ -196,14 +196,12 @@
// If the BB already has a phi node added for the i'th alloca then we're done!
if (BBPNs[AllocaNo]) return false;
- // Create a PhiNode using the dereferenced type...
+ // Create a PhiNode using the dereferenced type... and add the phi-node to the
+ // BasicBlock
PHINode *PN = new PHINode(Allocas[AllocaNo]->getAllocatedType(),
- Allocas[AllocaNo]->getName()+".mem2reg");
+ Allocas[AllocaNo]->getName()+".mem2reg",
+ BB->begin());
BBPNs[AllocaNo] = PN;
-
- // Add the phi-node to the basic-block
- BB->getInstList().push_front(PN);
-
PhiNodes[AllocaNo].push_back(BB);
return true;
}
Index: llvm/lib/Transforms/Scalar/RaiseAllocations.cpp
diff -u llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.9 llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.10
--- llvm/lib/Transforms/Scalar/RaiseAllocations.cpp:1.9 Fri Jul 26 16:12:41 2002
+++ llvm/lib/Transforms/Scalar/RaiseAllocations.cpp Tue Sep 10 17:38:47 2002
@@ -108,7 +108,7 @@
bool Changed = false;
BasicBlock::InstListType &BIL = BB.getInstList();
- for (BasicBlock::iterator BI = BB.begin(); BI != BB.end();) {
+ for (BasicBlock::iterator BI = BB.begin(); BI != BB.end(); ++BI) {
Instruction *I = BI;
if (CallInst *CI = dyn_cast<CallInst>(I)) {
@@ -118,19 +118,14 @@
// If no prototype was provided for malloc, we may need to cast the
// source size.
- if (Source->getType() != Type::UIntTy) {
- CastInst *New = new CastInst(Source, Type::UIntTy, "MallocAmtCast");
- BI = ++BIL.insert(BI, New);
- Source = New;
- }
+ if (Source->getType() != Type::UIntTy)
+ Source = new CastInst(Source, Type::UIntTy, "MallocAmtCast", BI);
- MallocInst *MallocI = new MallocInst(PtrSByte, Source, CI->getName());
-
- CI->setName("");
- ReplaceInstWithInst(BIL, BI, MallocI);
+ std::string Name(CI->getName()); CI->setName("");
+ BI = new MallocInst(PtrSByte, Source, Name, BI);
+ BIL.erase(I);
Changed = true;
++NumRaised;
- continue; // Skip the ++BI
} else if (CI->getCalledValue() == FreeFunc) { // Replace call to free?
// If no prototype was provided for free, we may need to cast the
// source pointer. This should be really uncommon, but it's neccesary
@@ -138,21 +133,15 @@
// free((long)ptr);
//
Value *Source = CI->getOperand(1);
- if (!isa<PointerType>(Source->getType())) {
- CastInst *New = new CastInst(Source, PointerType::get(Type::SByteTy),
- "FreePtrCast");
- BI = ++BIL.insert(BI, New);
- Source = New;
- }
-
- ReplaceInstWithInst(BIL, BI, new FreeInst(Source));
+ if (!isa<PointerType>(Source->getType()))
+ Source = new CastInst(Source, PointerType::get(Type::SByteTy),
+ "FreePtrCast", BI);
+ BI = new FreeInst(Source, BI);
+ BIL.erase(I);
Changed = true;
- continue; // Skip the ++BI
++NumRaised;
}
}
-
- ++BI;
}
return Changed;
More information about the llvm-commits
mailing list