diff options
| author | Rafael Espindola <rafael.espindola@gmail.com> | 2011-06-22 04:01:58 +0000 |
|---|---|---|
| committer | Rafael Espindola <rafael.espindola@gmail.com> | 2011-06-22 04:01:58 +0000 |
| commit | 0850f709de2e31cd8f147f571a66efb89a482daa (patch) | |
| tree | a586baf5f68de63bac25e5f751ef193fbdc2fdde /llvm/lib | |
| parent | 336c2869fb5b8eb00c1d1e82a605dcc1e599879b (diff) | |
| download | bcm5719-llvm-0850f709de2e31cd8f147f571a66efb89a482daa.tar.gz bcm5719-llvm-0850f709de2e31cd8f147f571a66efb89a482daa.zip | |
Reenable the optimization added in 133415, but change the definition of a "simple" bb to
be one with only one unconditional branch and no phis. Duplicating the phis in this case
is possible, but requeres liveness analysis or breaking edges.
llvm-svn: 133607
Diffstat (limited to 'llvm/lib')
| -rw-r--r-- | llvm/lib/CodeGen/TailDuplication.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/TailDuplication.cpp b/llvm/lib/CodeGen/TailDuplication.cpp index d16369a4ca6..6e832d99ef9 100644 --- a/llvm/lib/CodeGen/TailDuplication.cpp +++ b/llvm/lib/CodeGen/TailDuplication.cpp @@ -568,9 +568,9 @@ bool TailDuplicatePass::isSimpleBB(MachineBasicBlock *TailBB) { if (TailBB->succ_size() != 1) return false; - MachineBasicBlock::iterator I = TailBB->getFirstNonPHI(); + MachineBasicBlock::iterator I = TailBB->begin(); MachineBasicBlock::iterator E = TailBB->end(); - while (I->isDebugValue() && I != E) + while (I != E && I->isDebugValue()) ++I; if (I == E) return true; @@ -712,7 +712,7 @@ TailDuplicatePass::TailDuplicate(MachineBasicBlock *TailBB, MachineFunction &MF, DenseSet<unsigned> UsedByPhi; getRegsUsedByPHIs(*TailBB, &UsedByPhi); - if (0 && isSimpleBB(TailBB)) + if (isSimpleBB(TailBB)) return duplicateSimpleBB(TailBB, TDBBs, UsedByPhi, Copies); // Iterate through all the unique predecessors and tail-duplicate this |

