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 | 34eeb4e9837061933067182f53b4ed714e528c58 (patch) | |
| tree | df485a309c5b88aa715f5691525bd42080e940cb /llvm/lib/CodeGen | |
| parent | 64b5d0f46849f74fac5f853bb335de29cf2e1b83 (diff) | |
| download | bcm5719-llvm-34eeb4e9837061933067182f53b4ed714e528c58.tar.gz bcm5719-llvm-34eeb4e9837061933067182f53b4ed714e528c58.zip | |
Check in the changes to this file too.
llvm-svn: 86873
Diffstat (limited to 'llvm/lib/CodeGen')
| -rw-r--r-- | llvm/lib/CodeGen/BranchFolding.h | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/llvm/lib/CodeGen/BranchFolding.h b/llvm/lib/CodeGen/BranchFolding.h index 9763e3339a2..f1ebc4fefb6 100644 --- a/llvm/lib/CodeGen/BranchFolding.h +++ b/llvm/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); |

