mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-14 11:32:34 +00:00
implement uncond branch insertion for the branch folding pass
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31159 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
0476b28525
commit
11533e2236
@ -46,3 +46,10 @@ bool IA64InstrInfo::isMoveInstr(const MachineInstr& MI,
|
||||
// move instruction
|
||||
}
|
||||
|
||||
void IA64InstrInfo::InsertBranch(MachineBasicBlock &MBB,MachineBasicBlock *TBB,
|
||||
MachineBasicBlock *FBB,
|
||||
const std::vector<MachineOperand> &Cond)const {
|
||||
// Can only insert uncond branches so far.
|
||||
assert(Cond.empty() && !FBB && TBB && "Can only handle uncond branches!");
|
||||
BuildMI(&MBB, IA64::BRL_NOTCALL, 1).addMBB(TBB);
|
||||
}
|
@ -19,11 +19,7 @@
|
||||
|
||||
namespace llvm {
|
||||
|
||||
/// IA64II - This namespace holds all of the target specific flags that
|
||||
/// instruction info tracks.
|
||||
/// FIXME: now gone!
|
||||
|
||||
class IA64InstrInfo : public TargetInstrInfo {
|
||||
class IA64InstrInfo : public TargetInstrInfo {
|
||||
const IA64RegisterInfo RI;
|
||||
public:
|
||||
IA64InstrInfo();
|
||||
@ -41,6 +37,9 @@ public:
|
||||
virtual bool isMoveInstr(const MachineInstr& MI,
|
||||
unsigned& sourceReg,
|
||||
unsigned& destReg) const;
|
||||
virtual void InsertBranch(MachineBasicBlock &MBB, MachineBasicBlock *TBB,
|
||||
MachineBasicBlock *FBB,
|
||||
const std::vector<MachineOperand> &Cond) const;
|
||||
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user