diff --git a/lib/Transforms/Scalar/InstructionCombining.cpp b/lib/Transforms/Scalar/InstructionCombining.cpp index 66fbe1482d9..ccc4a9cc864 100644 --- a/lib/Transforms/Scalar/InstructionCombining.cpp +++ b/lib/Transforms/Scalar/InstructionCombining.cpp @@ -3552,8 +3552,7 @@ Instruction *InstCombiner::MatchBSwap(BinaryOperator &I) { FnName = "llvm.bswap.i64"; else assert(0 && "Unknown integer type!"); - Function *F = M->getOrInsertFunction(FnName, I.getType(), I.getType(), NULL); - + Constant *F = M->getOrInsertFunction(FnName, I.getType(), I.getType(), NULL); return new CallInst(F, V); } @@ -6953,7 +6952,7 @@ Instruction *InstCombiner::visitCallInst(CallInst &CI) { Name = "llvm.memcpy.i32"; else Name = "llvm.memcpy.i64"; - Function *MemCpy = M->getOrInsertFunction(Name, + Constant *MemCpy = M->getOrInsertFunction(Name, CI.getCalledFunction()->getFunctionType()); CI.setOperand(0, MemCpy); Changed = true; diff --git a/lib/Transforms/Scalar/LowerGC.cpp b/lib/Transforms/Scalar/LowerGC.cpp index e0d6933821f..fa06bd0dfcb 100644 --- a/lib/Transforms/Scalar/LowerGC.cpp +++ b/lib/Transforms/Scalar/LowerGC.cpp @@ -37,7 +37,7 @@ namespace { /// GCRead/GCWrite - These are the functions provided by the garbage /// collector for read/write barriers. - Function *GCRead, *GCWrite; + Constant *GCRead, *GCWrite; /// RootChain - This is the global linked-list that contains the chain of GC /// roots.