summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2007-01-07 07:54:34 +0000
committerChris Lattner <sabre@nondot.org>2007-01-07 07:54:34 +0000
commitd97f1936bb9dd04347684b1d957045032e26ef72 (patch)
tree39751a67f180358acd33a6c151c29a06840fb7ef /llvm/lib
parentb800b3921c86cba2d870ffc8daffc30492255ef3 (diff)
downloadbcm5719-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.cpp14
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];
}
OpenPOWER on IntegriCloud