diff options
| author | Florian Hahn <flo@fhahn.com> | 2019-07-26 22:14:08 +0000 |
|---|---|---|
| committer | Florian Hahn <flo@fhahn.com> | 2019-07-26 22:14:08 +0000 |
| commit | d89f6cb29900d0d97e5316742a33144ff8a4de8a (patch) | |
| tree | a13546111c5293ba73c06d7caab07a67d278e809 | |
| parent | 95ed4c38353509bb3e930ccdde37369c8136a331 (diff) | |
| download | bcm5719-llvm-d89f6cb29900d0d97e5316742a33144ff8a4de8a.tar.gz bcm5719-llvm-d89f6cb29900d0d97e5316742a33144ff8a4de8a.zip | |
Revert [IPSCCP] Add assertion to surface cases where we zap returns with overdefined users.
This reverts r366998 (git commit 5354c83ece00690b4dbfa47925f8f5a8f33f1d9e)
This breaks a linux kernel build and we have reproducer to investigate.
llvm-svn: 367160
| -rw-r--r-- | llvm/lib/Transforms/Scalar/SCCP.cpp | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/llvm/lib/Transforms/Scalar/SCCP.cpp b/llvm/lib/Transforms/Scalar/SCCP.cpp index 6396115129e..4093e50ce89 100644 --- a/llvm/lib/Transforms/Scalar/SCCP.cpp +++ b/llvm/lib/Transforms/Scalar/SCCP.cpp @@ -1924,21 +1924,6 @@ static void findReturnsToZap(Function &F, return; } - assert( - all_of(F.users(), - [&Solver](User *U) { - if (isa<Instruction>(U) && - !Solver.isBlockExecutable(cast<Instruction>(U)->getParent())) - return false; - if (U->getType()->isStructTy()) { - return all_of( - Solver.getStructLatticeValueFor(U), - [](const LatticeVal &LV) { return !LV.isOverdefined(); }); - } - return !Solver.getLatticeValueFor(U).isOverdefined(); - }) && - "We can only zap functions where all live users have a concrete value"); - for (BasicBlock &BB : F) { if (CallInst *CI = BB.getTerminatingMustTailCall()) { LLVM_DEBUG(dbgs() << "Can't zap return of the block due to present " |

