diff --git a/lib/Transforms/InstCombine/InstructionCombining.cpp b/lib/Transforms/InstCombine/InstructionCombining.cpp index 07793ac6b5f..c5124bf7b28 100644 --- a/lib/Transforms/InstCombine/InstructionCombining.cpp +++ b/lib/Transforms/InstCombine/InstructionCombining.cpp @@ -1169,14 +1169,11 @@ Instruction *InstCombiner::visitMalloc(Instruction &MI) { } if (InvokeInst *II = dyn_cast(&MI)) { - // Replace invoke with a NOOP intrinsic to maintain the original CFG + // Replace invoke with a NOP intrinsic to maintain the original CFG Module *M = II->getParent()->getParent()->getParent(); - IntegerType *Ty = IntegerType::get(II->getContext(), 8); - ConstantInt *CI = ConstantInt::get(Ty, 0); - Value *Args[] = {CI, CI}; - Function *F = Intrinsic::getDeclaration(M, Intrinsic::expect, Ty); - InvokeInst::Create(F, II->getNormalDest(), II->getUnwindDest(), Args, - "dummy", II->getParent()); + Function *F = Intrinsic::getDeclaration(M, Intrinsic::donothing); + InvokeInst::Create(F, II->getNormalDest(), II->getUnwindDest(), + ArrayRef(), "", II->getParent()); } return EraseInstFromFunction(MI); } diff --git a/test/Transforms/InstCombine/objsize-64.ll b/test/Transforms/InstCombine/objsize-64.ll index 7a39f461948..4993063d1cc 100644 --- a/test/Transforms/InstCombine/objsize-64.ll +++ b/test/Transforms/InstCombine/objsize-64.ll @@ -19,7 +19,7 @@ define i64 @f1() { ; CHECK: @f2 define i64 @f2() nounwind uwtable ssp { entry: -; CHECK: invoke i8 @llvm.expect.i8(i8 0, i8 0) +; CHECK: invoke void @llvm.donothing() %call = invoke noalias i8* @_Znwm(i64 13) to label %invoke.cont unwind label %lpad