mirror of
https://github.com/RPCSX/llvm.git
synced 2025-01-19 10:53:55 +00:00
cache result of operator*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108150 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
be4d10d7fa
commit
a9b8338bfa
@ -525,17 +525,20 @@ bool InstCombiner::SimplifyStoreAtEndOfBlock(StoreInst &SI) {
|
||||
// Determine whether Dest has exactly two predecessors and, if so, compute
|
||||
// the other predecessor.
|
||||
pred_iterator PI = pred_begin(DestBB);
|
||||
BasicBlock *P = *PI;
|
||||
BasicBlock *OtherBB = 0;
|
||||
if (*PI != StoreBB)
|
||||
OtherBB = *PI;
|
||||
++PI;
|
||||
if (PI == pred_end(DestBB))
|
||||
|
||||
if (P != StoreBB)
|
||||
OtherBB = P;
|
||||
|
||||
if (++PI == pred_end(DestBB))
|
||||
return false;
|
||||
|
||||
if (*PI != StoreBB) {
|
||||
P = *PI;
|
||||
if (P != StoreBB) {
|
||||
if (OtherBB)
|
||||
return false;
|
||||
OtherBB = *PI;
|
||||
OtherBB = P;
|
||||
}
|
||||
if (++PI != pred_end(DestBB))
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user