Changes in directory llvm/lib/Transforms/Utils:
InlineFunction.cpp updated: 1.48 -> 1.49 --- Log message: prepare for adjustment to getOrInsertFunction method --- Diffs of the changes: (+8 -6) InlineFunction.cpp | 14 ++++++++------ 1 files changed, 8 insertions(+), 6 deletions(-) Index: llvm/lib/Transforms/Utils/InlineFunction.cpp diff -u llvm/lib/Transforms/Utils/InlineFunction.cpp:1.48 llvm/lib/Transforms/Utils/InlineFunction.cpp:1.49 --- llvm/lib/Transforms/Utils/InlineFunction.cpp:1.48 Sat Dec 30 23:48:39 2006 +++ llvm/lib/Transforms/Utils/InlineFunction.cpp Sun Jan 7 01:54:34 2007 @@ -274,19 +274,21 @@ // 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]; } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits