diff options
| author | Davide Italiano <davide@freebsd.org> | 2017-10-30 20:20:16 +0000 |
|---|---|---|
| committer | Davide Italiano <davide@freebsd.org> | 2017-10-30 20:20:16 +0000 |
| commit | 834b45129bb3e9cbaef97f1118819c523a6edc68 (patch) | |
| tree | d0ee9610b63f642b363a3ada55c902b7a84c69b9 /llvm/lib/Transforms | |
| parent | 6262fd4b0a310d3afdb1457109f9aaad9d1aa928 (diff) | |
| download | bcm5719-llvm-834b45129bb3e9cbaef97f1118819c523a6edc68.tar.gz bcm5719-llvm-834b45129bb3e9cbaef97f1118819c523a6edc68.zip | |
[NewGVN] Stop assuming PHI args ordering when looking at phi-of-ops.
It's not guaranteed. There's a bug open to sort them in predecessor
order, but it won't happen anytime soon. In the meanwhile, passes
will have to do an O(#preds) scan. Such is life.
llvm-svn: 316953
Diffstat (limited to 'llvm/lib/Transforms')
| -rw-r--r-- | llvm/lib/Transforms/Scalar/NewGVN.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Scalar/NewGVN.cpp b/llvm/lib/Transforms/Scalar/NewGVN.cpp index a7f27939b17..9ebf2d76935 100644 --- a/llvm/lib/Transforms/Scalar/NewGVN.cpp +++ b/llvm/lib/Transforms/Scalar/NewGVN.cpp @@ -2766,7 +2766,7 @@ NewGVN::makePossiblePHIOfOps(Instruction *I, Deps.insert(Op); } else if (auto *ValuePHI = RealToTemp.lookup(Op)) { if (getBlockForValue(ValuePHI) == PHIBlock) - Op = ValuePHI->getIncomingValue(PredNum); + Op = ValuePHI->getIncomingValueForBlock(PredBB); } // If we phi-translated the op, it must be safe. SafeForPHIOfOps = |

