diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-02-13 02:10:56 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-02-13 02:10:56 +0000 |
| commit | a06a8fd2d74963d410e652e4450e289123a699b4 (patch) | |
| tree | efad08528b5430e30bf72615fd0189d8a004902c /llvm/lib/Transforms/Scalar | |
| parent | 4d8861efaaf796acbad0dc9f33e1e064418cb6c5 (diff) | |
| download | bcm5719-llvm-a06a8fd2d74963d410e652e4450e289123a699b4.tar.gz bcm5719-llvm-a06a8fd2d74963d410e652e4450e289123a699b4.zip | |
Eliminate use of ctors that take vectors.
llvm-svn: 34219
Diffstat (limited to 'llvm/lib/Transforms/Scalar')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/ADCE.cpp | 5 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Scalar/InstructionCombining.cpp | 4 | ||||
| -rw-r--r-- | llvm/lib/Transforms/Scalar/LowerGC.cpp | 6 |
3 files changed, 8 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/ADCE.cpp b/llvm/lib/Transforms/Scalar/ADCE.cpp index 20e4367033b..3946f5707cd 100644 --- a/llvm/lib/Transforms/Scalar/ADCE.cpp +++ b/llvm/lib/Transforms/Scalar/ADCE.cpp @@ -25,6 +25,7 @@ #include "llvm/Transforms/Utils/UnifyFunctionExitNodes.h" #include "llvm/Support/Debug.h" #include "llvm/ADT/DepthFirstIterator.h" +#include "llvm/ADT/SmallVector.h" #include "llvm/ADT/Statistic.h" #include "llvm/ADT/STLExtras.h" #include "llvm/Support/Compiler.h" @@ -188,8 +189,8 @@ bool ADCE::doADCE() { if (AA.onlyReadsMemory(F)) { // The function cannot unwind. Convert it to a call with a branch // after it to the normal destination. - std::vector<Value*> Args(II->op_begin()+3, II->op_end()); - CallInst *NewCall = new CallInst(F, Args, "", II); + SmallVector<Value*, 8> Args(II->op_begin()+3, II->op_end()); + CallInst *NewCall = new CallInst(F, &Args[0], Args.size(), "", II); NewCall->takeName(II); NewCall->setCallingConv(II->getCallingConv()); II->replaceAllUsesWith(NewCall); diff --git a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp index 556c054a994..5782260dace 100644 --- a/llvm/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/llvm/lib/Transforms/Scalar/InstructionCombining.cpp @@ -7352,10 +7352,10 @@ bool InstCombiner::transformConstExprCastCall(CallSite CS) { Instruction *NC; if (InvokeInst *II = dyn_cast<InvokeInst>(Caller)) { NC = new InvokeInst(Callee, II->getNormalDest(), II->getUnwindDest(), - Args, Caller->getName(), Caller); + &Args[0], Args.size(), Caller->getName(), Caller); cast<InvokeInst>(II)->setCallingConv(II->getCallingConv()); } else { - NC = new CallInst(Callee, Args, Caller->getName(), Caller); + NC = new CallInst(Callee, &Args[0], Args.size(), Caller->getName(), Caller); if (cast<CallInst>(Caller)->isTailCall()) cast<CallInst>(NC)->setTailCall(); cast<CallInst>(NC)->setCallingConv(cast<CallInst>(Caller)->getCallingConv()); diff --git a/llvm/lib/Transforms/Scalar/LowerGC.cpp b/llvm/lib/Transforms/Scalar/LowerGC.cpp index 20636d45a28..c10849e297f 100644 --- a/llvm/lib/Transforms/Scalar/LowerGC.cpp +++ b/llvm/lib/Transforms/Scalar/LowerGC.cpp @@ -314,10 +314,10 @@ bool LowerGC::runOnFunction(Function &F) { NewBB->getInstList().remove(CI); // Create a new invoke instruction. + std::vector<Value*> Args(CI->op_begin()+1, CI->op_end()); + Value *II = new InvokeInst(CI->getCalledValue(), NewBB, Cleanup, - std::vector<Value*>(CI->op_begin()+1, - CI->op_end()), - CI->getName(), CBB); + &Args[0], Args.size(), CI->getName(), CBB); CI->replaceAllUsesWith(II); delete CI; } |

