Fix a bug in the "expect" intrinsic lowering.
llvm-svn: 134566
diff --git a/llvm/lib/Transforms/Utils/LowerExpectIntrinsic.cpp b/llvm/lib/Transforms/Utils/LowerExpectIntrinsic.cpp
index fd94c84..563f7f4 100644
--- a/llvm/lib/Transforms/Utils/LowerExpectIntrinsic.cpp
+++ b/llvm/lib/Transforms/Utils/LowerExpectIntrinsic.cpp
@@ -145,8 +145,11 @@
continue;
Function *Fn = CI->getCalledFunction();
- if (Fn && Fn->getIntrinsicID() == Intrinsic::expect)
+ if (Fn && Fn->getIntrinsicID() == Intrinsic::expect) {
+ Value *Exp = CI->getArgOperand(0);
+ CI->replaceAllUsesWith(Exp);
CI->eraseFromParent();
+ }
}
}