diff options
| author | Chris Lattner <sabre@nondot.org> | 2002-09-10 22:38:47 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2002-09-10 22:38:47 +0000 |
| commit | a239e6879d111e50457970a35013f6abedfa7e5c (patch) | |
| tree | 6a4cd5b5d5cec8561c7af0a717462e493544aa73 /llvm/lib/Transforms/Scalar/LowerAllocations.cpp | |
| parent | 97ff99cdf92b3223ce50bad024301588bd93466a (diff) | |
| download | bcm5719-llvm-a239e6879d111e50457970a35013f6abedfa7e5c.tar.gz bcm5719-llvm-a239e6879d111e50457970a35013f6abedfa7e5c.zip | |
Clean up code due to auto-insert constructors
llvm-svn: 3665
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LowerAllocations.cpp')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LowerAllocations.cpp | 25 |
1 files changed, 8 insertions, 17 deletions
diff --git a/llvm/lib/Transforms/Scalar/LowerAllocations.cpp b/llvm/lib/Transforms/Scalar/LowerAllocations.cpp index bdb4f9c491d..001028eb21a 100644 --- a/llvm/lib/Transforms/Scalar/LowerAllocations.cpp +++ b/llvm/lib/Transforms/Scalar/LowerAllocations.cpp @@ -87,8 +87,6 @@ bool LowerAllocations::runOnBasicBlock(BasicBlock &BB) { // 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 @@ bool LowerAllocations::runOnBasicBlock(BasicBlock &BB) { 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; } |

