diff options
| author | Chris Lattner <sabre@nondot.org> | 2007-01-07 07:54:34 +0000 |
|---|---|---|
| committer | Chris Lattner <sabre@nondot.org> | 2007-01-07 07:54:34 +0000 |
| commit | d97f1936bb9dd04347684b1d957045032e26ef72 (patch) | |
| tree | 39751a67f180358acd33a6c151c29a06840fb7ef /llvm/lib | |
| parent | b800b3921c86cba2d870ffc8daffc30492255ef3 (diff) | |
| download | bcm5719-llvm-d97f1936bb9dd04347684b1d957045032e26ef72.tar.gz bcm5719-llvm-d97f1936bb9dd04347684b1d957045032e26ef72.zip | |
prepare for adjustment to getOrInsertFunction method
llvm-svn: 32985
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/Transforms/Utils/InlineFunction.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/llvm/lib/Transforms/Utils/InlineFunction.cpp b/llvm/lib/Transforms/Utils/InlineFunction.cpp index c49cc75ffba..83cdfb80c12 100644 --- a/llvm/lib/Transforms/Utils/InlineFunction.cpp +++ b/llvm/lib/Transforms/Utils/InlineFunction.cpp @@ -274,19 +274,21 @@ bool llvm::InlineFunction(CallSite CS, CallGraph *CG) { // code with llvm.stacksave/llvm.stackrestore intrinsics. if (InlinedFunctionInfo.ContainsDynamicAllocas) { Module *M = Caller->getParent(); - const Type *SBytePtr = PointerType::get(Type::Int8Ty); + const Type *BytePtr = PointerType::get(Type::Int8Ty); // Get the two intrinsics we care about. - Function *StackSave, *StackRestore; - StackSave = M->getOrInsertFunction("llvm.stacksave", SBytePtr, NULL); + Constant *StackSave, *StackRestore; + StackSave = M->getOrInsertFunction("llvm.stacksave", BytePtr, NULL); StackRestore = M->getOrInsertFunction("llvm.stackrestore", Type::VoidTy, - SBytePtr, NULL); + BytePtr, NULL); // If we are preserving the callgraph, add edges to the stacksave/restore // functions for the calls we insert. CallGraphNode *StackSaveCGN = 0, *StackRestoreCGN = 0, *CallerNode = 0; if (CG) { - StackSaveCGN = CG->getOrInsertFunction(StackSave); - StackRestoreCGN = CG->getOrInsertFunction(StackRestore); + // We know that StackSave/StackRestore are Function*'s, because they are + // intrinsics which must have the right types. + StackSaveCGN = CG->getOrInsertFunction(cast<Function>(StackSave)); + StackRestoreCGN = CG->getOrInsertFunction(cast<Function>(StackRestore)); CallerNode = (*CG)[Caller]; } |

