summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen
diff options
context:
space:
mode:
authorDan Gohman <gohman@apple.com>2009-11-11 19:49:34 +0000
committerDan Gohman <gohman@apple.com>2009-11-11 19:49:34 +0000
commit34eeb4e9837061933067182f53b4ed714e528c58 (patch)
treedf485a309c5b88aa715f5691525bd42080e940cb /llvm/lib/CodeGen
parent64b5d0f46849f74fac5f853bb335de29cf2e1b83 (diff)
downloadbcm5719-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.h12
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);
OpenPOWER on IntegriCloud