diff options
author | Dan Gohman <gohman@apple.com> | 2009-11-11 19:49:34 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2009-11-11 19:49:34 +0000 |
commit | 412a3b90d1f4f1ad42c6c0e7e4e596f7ab688cb7 (patch) | |
tree | 0b9f3fd2d8b9f8e079cf0b90f3ecfb0164576f75 /lib/CodeGen/BranchFolding.h | |
parent | 2210c0bea83aa8a8585d793a1f63e8c01b65be38 (diff) | |
download | llvm-412a3b90d1f4f1ad42c6c0e7e4e596f7ab688cb7.tar.gz llvm-412a3b90d1f4f1ad42c6c0e7e4e596f7ab688cb7.tar.bz2 llvm-412a3b90d1f4f1ad42c6c0e7e4e596f7ab688cb7.tar.xz |
Check in the changes to this file too.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86873 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/CodeGen/BranchFolding.h')
-rw-r--r-- | lib/CodeGen/BranchFolding.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lib/CodeGen/BranchFolding.h b/lib/CodeGen/BranchFolding.h index 9763e3339a..f1ebc4fefb 100644 --- a/lib/CodeGen/BranchFolding.h +++ b/lib/CodeGen/BranchFolding.h @@ -44,18 +44,24 @@ namespace llvm { RegScavenger *RS; bool TailMergeBlocks(MachineFunction &MF); - bool TryMergeBlocks(MachineBasicBlock* SuccBB, - MachineBasicBlock* PredBB); + bool TryTailMergeBlocks(MachineBasicBlock* SuccBB, + MachineBasicBlock* PredBB); void ReplaceTailWithBranchTo(MachineBasicBlock::iterator OldInst, MachineBasicBlock *NewDest); MachineBasicBlock *SplitMBBAt(MachineBasicBlock &CurMBB, MachineBasicBlock::iterator BBI1); - unsigned ComputeSameTails(unsigned CurHash, unsigned minCommonTailLength); + unsigned ComputeSameTails(unsigned CurHash, unsigned minCommonTailLength, + MachineBasicBlock *SuccBB, + MachineBasicBlock *PredBB); void RemoveBlocksWithHash(unsigned CurHash, MachineBasicBlock* SuccBB, MachineBasicBlock* PredBB); unsigned CreateCommonTailOnlyBlock(MachineBasicBlock *&PredBB, unsigned maxCommonTailLength); + bool TailDuplicate(MachineBasicBlock *TailBB, + bool PrevFallsThrough, + MachineFunction &MF); + bool OptimizeBranches(MachineFunction &MF); bool OptimizeBlock(MachineBasicBlock *MBB); void RemoveDeadBlock(MachineBasicBlock *MBB); |