aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Target/PowerPC/PPCInstrInfo.h
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-10-13 21:21:17 +0000
committerChris Lattner <sabre@nondot.org>2006-10-13 21:21:17 +0000
commitc50e2bcdf7bff1f9681ab80e52691f274950fab5 (patch)
treebc8e26b1331effc24f84c0464bc51126f411272e /lib/Target/PowerPC/PPCInstrInfo.h
parent8b2794aeff151be8cdbd44786c1d0f94f8f2e427 (diff)
downloadexternal_llvm-c50e2bcdf7bff1f9681ab80e52691f274950fab5.zip
external_llvm-c50e2bcdf7bff1f9681ab80e52691f274950fab5.tar.gz
external_llvm-c50e2bcdf7bff1f9681ab80e52691f274950fab5.tar.bz2
implement branch inspection/modification methods.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30946 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/PowerPC/PPCInstrInfo.h')
-rw-r--r--lib/Target/PowerPC/PPCInstrInfo.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/lib/Target/PowerPC/PPCInstrInfo.h b/lib/Target/PowerPC/PPCInstrInfo.h
index eecc1bc..265e1e7 100644
--- a/lib/Target/PowerPC/PPCInstrInfo.h
+++ b/lib/Target/PowerPC/PPCInstrInfo.h
@@ -94,6 +94,19 @@ public:
virtual void insertNoop(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MI) const;
+
+ // Branch analysis.
+ virtual bool AnalyzeBranch(MachineBasicBlock &MBB, MachineBasicBlock *&TBB,
+ MachineBasicBlock *&FBB,
+ std::vector<MachineOperand> &Cond) const;
+ virtual void RemoveBranch(MachineBasicBlock &MBB) const;
+ virtual void InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
+ MachineBasicBlock *FBB,
+ const std::vector<MachineOperand> &Cond) const;
+ virtual bool ReverseBranchCondition(std::vector<MachineOperand> &Cond) const;
+
+
+
static unsigned invertPPCBranchOpcode(unsigned Opcode) {
switch (Opcode) {
default: assert(0 && "Unknown PPC branch opcode!");