mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-07 14:33:15 +00:00
Add capability to have machine instruction autoinsert when it is created
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@4424 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
a3bbcb5b66
commit
7db458fb07
@ -15,6 +15,7 @@
|
||||
#include <vector>
|
||||
class Value;
|
||||
class Function;
|
||||
class MachineBasicBlock;
|
||||
|
||||
typedef int MachineOpCode;
|
||||
|
||||
@ -239,19 +240,26 @@ public:
|
||||
/// MachineInstr ctor - This constructor only does a _reserve_ of the
|
||||
/// operands, not a resize for them. It is expected that if you use this that
|
||||
/// you call add* methods below to fill up the operands, instead of the Set
|
||||
/// methods.
|
||||
/// methods. Eventually, the "resizing" ctors will be phased out.
|
||||
///
|
||||
MachineInstr(MachineOpCode Opcode, unsigned numOperands, bool XX, bool YY);
|
||||
|
||||
//
|
||||
// Support to rewrite a machine instruction in place: for now, simply
|
||||
// replace() and then set new operands with Set.*Operand methods below.
|
||||
//
|
||||
/// MachineInstr ctor - Work exactly the same as the ctor above, except that
|
||||
/// the MachineInstr is created and added to the end of the specified basic
|
||||
/// block.
|
||||
///
|
||||
MachineInstr(MachineBasicBlock *MBB, MachineOpCode Opcode, unsigned numOps);
|
||||
|
||||
|
||||
/// replace - Support to rewrite a machine instruction in place: for now,
|
||||
/// simply replace() and then set new operands with Set.*Operand methods
|
||||
/// below.
|
||||
///
|
||||
void replace(MachineOpCode Opcode, unsigned numOperands);
|
||||
|
||||
//
|
||||
// The opcode.
|
||||
//
|
||||
const MachineOpCode getOpcode() const { return opCode; }
|
||||
const MachineOpCode getOpCode() const { return opCode; }
|
||||
|
||||
//
|
||||
|
@ -78,11 +78,9 @@ inline MachineInstrBuilder BuildMI(MachineOpCode Opcode, unsigned NumOperands) {
|
||||
return MachineInstrBuilder(new MachineInstr(Opcode, NumOperands, true, true));
|
||||
}
|
||||
|
||||
#if 0
|
||||
inline MachineInstrBuilder BuildMI(MBasicBlock *BB, MachineOpCode Opcode,
|
||||
unsigned DestReg = 0) {
|
||||
return MachineInstrBuilder(new MachineInstr(BB, Opcode, DestReg));
|
||||
inline MachineInstrBuilder BuildMI(MachineBasicBlock *BB, MachineOpCode Opcode,
|
||||
unsigned NumOperands) {
|
||||
return MachineInstrBuilder(new MachineInstr(BB, Opcode, NumOperands));
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user