diff options
author | Andrew Kaylor <andrew.kaylor@intel.com> | 2017-06-09 23:18:11 +0000 |
---|---|---|
committer | Andrew Kaylor <andrew.kaylor@intel.com> | 2017-06-09 23:18:11 +0000 |
commit | 647025f9e10e59c3fc31aeb8964f3dd16e3c0516 (patch) | |
tree | 42b222cd52b29605151e2c869aac001a7005a489 /llvm/lib/Transforms/Scalar/SCCP.cpp | |
parent | dd9627047202118037ea4347b74cfa593e2a2fe8 (diff) | |
download | bcm5719-llvm-647025f9e10e59c3fc31aeb8964f3dd16e3c0516.tar.gz bcm5719-llvm-647025f9e10e59c3fc31aeb8964f3dd16e3c0516.zip |
[InstSimplify] Don't constant fold or DCE calls that are marked nobuiltin
Differential Revision: https://reviews.llvm.org/D33737
llvm-svn: 305132
Diffstat (limited to 'llvm/lib/Transforms/Scalar/SCCP.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/SCCP.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp index 1d0e8396f6a..815492ac354 100644 --- a/llvm/lib/Transforms/Scalar/SCCP.cpp +++ b/llvm/lib/Transforms/Scalar/SCCP.cpp @@ -1117,7 +1117,7 @@ CallOverdefined: // Otherwise, if we have a single return value case, and if the function is // a declaration, maybe we can constant fold it. if (F && F->isDeclaration() && !I->getType()->isStructTy() && - canConstantFoldCallTo(F)) { + canConstantFoldCallTo(CS, F)) { SmallVector<Constant*, 8> Operands; for (CallSite::arg_iterator AI = CS.arg_begin(), E = CS.arg_end(); @@ -1137,7 +1137,7 @@ CallOverdefined: // If we can constant fold this, mark the result of the call as a // constant. - if (Constant *C = ConstantFoldCall(F, Operands, TLI)) { + if (Constant *C = ConstantFoldCall(CS, F, Operands, TLI)) { // call -> undef. if (isa<UndefValue>(C)) return; |