[llvm-commits] CVS: llvm/include/llvm/CodeGen/MachineInstr.h
Chris Lattner
lattner at cs.uiuc.edu
Tue Dec 24 23:01:03 PST 2002
Changes in directory llvm/include/llvm/CodeGen:
MachineInstr.h updated: 1.92 -> 1.93
---
Log message:
(null)
---
Diffs of the changes:
Index: llvm/include/llvm/CodeGen/MachineInstr.h
diff -u llvm/include/llvm/CodeGen/MachineInstr.h:1.92 llvm/include/llvm/CodeGen/MachineInstr.h:1.93
--- llvm/include/llvm/CodeGen/MachineInstr.h:1.92 Sun Dec 15 16:05:02 2002
+++ llvm/include/llvm/CodeGen/MachineInstr.h Tue Dec 24 23:00:49 2002
@@ -80,6 +80,7 @@
MO_UnextendedImmed,
MO_PCRelativeDisp,
MO_MachineBasicBlock, // MachineBasicBlock reference
+ MO_FrameIndex, // Abstract Stack Frame Index
};
private:
@@ -182,28 +183,27 @@
bool isImmediate() const {
return opType == MO_SignExtendedImmed || opType == MO_UnextendedImmed;
}
+ bool isFrameIndex() const { return opType == MO_FrameIndex; }
- inline Value* getVRegValue () const {
+ Value* getVRegValue() const {
assert(opType == MO_VirtualRegister || opType == MO_CCRegister ||
- opType == MO_PCRelativeDisp);
+ isPCRelativeDisp());
return value;
}
- inline Value* getVRegValueOrNull() const {
+ Value* getVRegValueOrNull() const {
return (opType == MO_VirtualRegister || opType == MO_CCRegister ||
- opType == MO_PCRelativeDisp)? value : NULL;
+ isPCRelativeDisp()) ? value : NULL;
}
- inline int getMachineRegNum() const {
+ int getMachineRegNum() const {
assert(opType == MO_MachineRegister);
return regNum;
}
- inline int64_t getImmedValue () const {
- assert(isImmediate());
- return immedVal;
- }
+ int64_t getImmedValue() const { assert(isImmediate()); return immedVal; }
MachineBasicBlock *getMachineBasicBlock() const {
assert(isMachineBasicBlock() && "Can't get MBB in non-MBB operand!");
return MBB;
}
+ unsigned getFrameIndex() const { assert(isFrameIndex()); return immedVal; }
bool opIsUse () const { return (flags & USEDEFMASK) == 0; }
bool opIsDef () const { return flags & DEFFLAG; }
@@ -214,20 +214,20 @@
bool opLoBits64 () const { return flags & LOFLAG64; }
// used to check if a machine register has been allocated to this operand
- inline bool hasAllocatedReg() const {
+ bool hasAllocatedReg() const {
return (regNum >= 0 &&
(opType == MO_VirtualRegister || opType == MO_CCRegister ||
opType == MO_MachineRegister));
}
// used to get the reg number if when one is allocated
- inline int getAllocatedRegNum() const {
+ int getAllocatedRegNum() const {
assert(opType == MO_VirtualRegister || opType == MO_CCRegister ||
opType == MO_MachineRegister);
return regNum;
}
- inline unsigned getReg() const {
+ unsigned getReg() const {
assert(hasAllocatedReg() && "Cannot call MachineOperand::getReg()!");
return regNum;
}
@@ -509,6 +509,14 @@
assert(!OperandsComplete() &&
"Trying to add an operand to a machine instr that is already done!");
operands.push_back(MachineOperand(MBB));
+ }
+
+ /// addFrameIndexOperand - Add an abstract frame index to the instruction
+ ///
+ void addFrameIndexOperand(unsigned Idx) {
+ assert(!OperandsComplete() &&
+ "Trying to add an operand to a machine instr that is already done!");
+ operands.push_back(MachineOperand(Idx, MachineOperand::MO_FrameIndex));
}
unsigned substituteValue(const Value* oldVal, Value* newVal,
More information about the llvm-commits
mailing list