[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineInstr.h MachineInstrBuilder.h
Chris Lattner
lattner at cs.uiuc.edu
Thu May 4 11:16:17 PDT 2006
Changes in directory llvm/include/llvm/CodeGen:
MachineInstr.h updated: 1.177 -> 1.178
MachineInstrBuilder.h updated: 1.35 -> 1.36
---
Log message:
Remove and simplify some more machineinstr/machineoperand stuff.
---
Diffs of the changes: (+10 -44)
MachineInstr.h | 30 +++++-------------------------
MachineInstrBuilder.h | 24 +++++-------------------
2 files changed, 10 insertions(+), 44 deletions(-)
Index: llvm/include/llvm/CodeGen/MachineInstr.h
diff -u llvm/include/llvm/CodeGen/MachineInstr.h:1.177 llvm/include/llvm/CodeGen/MachineInstr.h:1.178
--- llvm/include/llvm/CodeGen/MachineInstr.h:1.177 Thu May 4 13:05:42 2006
+++ llvm/include/llvm/CodeGen/MachineInstr.h Thu May 4 13:16:01 2006
@@ -261,23 +261,8 @@
//===----------------------------------------------------------------------===//
-// class MachineInstr
-//
-// Purpose:
-// Representation of each machine instruction.
-//
-// MachineOpCode must be an enum, defined separately for each target.
-// E.g., It is defined in SparcInstructionSelection.h for the SPARC.
-//
-// There are 2 kinds of operands:
-//
-// (1) Explicit operands of the machine instruction in vector operands[]
-//
-// (2) "Implicit operands" are values implicitly used or defined by the
-// machine instruction, such as arguments to a CALL, return value of
-// a CALL (if any), and return value of a RETURN.
-//===----------------------------------------------------------------------===//
-
+/// MachineInstr - Representation of each machine instruction.
+///
class MachineInstr {
short Opcode; // the opcode
std::vector<MachineOperand> operands; // the operands
@@ -287,9 +272,7 @@
// OperandComplete - Return true if it's illegal to add a new operand
bool OperandsComplete() const;
- //Constructor used by clone() method
MachineInstr(const MachineInstr&);
-
void operator=(const MachineInstr&); // DO NOT IMPLEMENT
// Intrusive list support
@@ -297,12 +280,9 @@
friend struct ilist_traits<MachineInstr>;
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. Eventually, the "resizing" ctors will be phased out.
- ///
- MachineInstr(short Opcode, unsigned numOperands, bool XX, bool YY);
+ /// MachineInstr ctor - This constructor reserve's space for numOperand
+ /// operands.
+ MachineInstr(short Opcode, unsigned numOperands);
/// 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
Index: llvm/include/llvm/CodeGen/MachineInstrBuilder.h
diff -u llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.35 llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.36
--- llvm/include/llvm/CodeGen/MachineInstrBuilder.h:1.35 Thu May 4 13:05:43 2006
+++ llvm/include/llvm/CodeGen/MachineInstrBuilder.h Thu May 4 13:16:01 2006
@@ -47,20 +47,6 @@
return *this;
}
- /// addZImm - Add a new zero extended immediate operand...
- ///
- const MachineInstrBuilder &addZImm(unsigned Val) const {
- MI->addImmOperand(Val);
- return *this;
- }
-
- /// addImm64 - Add a new 64-bit immediate operand...
- ///
- const MachineInstrBuilder &addImm64(uint64_t Val) const {
- MI->addImmOperand(Val);
- return *this;
- }
-
const MachineInstrBuilder &addMBB(MachineBasicBlock *MBB) const {
MI->addMachineBasicBlockOperand(MBB);
return *this;
@@ -99,7 +85,7 @@
/// allow for memory efficient representation of machine instructions.
///
inline MachineInstrBuilder BuildMI(int Opcode, unsigned NumOperands) {
- return MachineInstrBuilder(new MachineInstr(Opcode, NumOperands, true, true));
+ return MachineInstrBuilder(new MachineInstr(Opcode, NumOperands));
}
/// BuildMI - This version of the builder sets up the first operand as a
@@ -110,8 +96,8 @@
int Opcode, unsigned NumOperands,
unsigned DestReg,
MachineOperand::UseType useType = MachineOperand::Def) {
- return MachineInstrBuilder(new MachineInstr(Opcode, NumOperands+1,
- true, true)).addReg(DestReg, useType);
+ return MachineInstrBuilder(new MachineInstr(Opcode, NumOperands+1))
+ .addReg(DestReg, useType);
}
/// BuildMI - This version of the builder inserts the newly-built
@@ -124,7 +110,7 @@
MachineBasicBlock::iterator I,
int Opcode, unsigned NumOperands,
unsigned DestReg) {
- MachineInstr *MI = new MachineInstr(Opcode, NumOperands+1, true, true);
+ MachineInstr *MI = new MachineInstr(Opcode, NumOperands+1);
BB.insert(I, MI);
return MachineInstrBuilder(MI).addReg(DestReg, MachineOperand::Def);
}
@@ -136,7 +122,7 @@
inline MachineInstrBuilder BuildMI(MachineBasicBlock &BB,
MachineBasicBlock::iterator I,
int Opcode, unsigned NumOperands) {
- MachineInstr *MI = new MachineInstr(Opcode, NumOperands, true, true);
+ MachineInstr *MI = new MachineInstr(Opcode, NumOperands);
BB.insert(I, MI);
return MachineInstrBuilder(MI);
}
More information about the llvm-commits
mailing list