diff options
author | Chris Lattner <sabre@nondot.org> | 2006-10-13 21:21:17 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-10-13 21:21:17 +0000 |
commit | c50e2bcdf7bff1f9681ab80e52691f274950fab5 (patch) | |
tree | bc8e26b1331effc24f84c0464bc51126f411272e /lib/Target/PowerPC/PPCInstrInfo.h | |
parent | 8b2794aeff151be8cdbd44786c1d0f94f8f2e427 (diff) | |
download | external_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.h | 13 |
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!"); |