Changes in directory llvm/include/llvm/Target:
TargetInstrInfo.h updated: 1.130 -> 1.131 --- Log message: Replace CanBeDuplicated() with a M_NOT_DUPLICABLE bit. --- Diffs of the changes: (+20 -16) TargetInstrInfo.h | 36 ++++++++++++++++++++---------------- 1 files changed, 20 insertions(+), 16 deletions(-) Index: llvm/include/llvm/Target/TargetInstrInfo.h diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.130 llvm/include/llvm/Target/TargetInstrInfo.h:1.131 --- llvm/include/llvm/Target/TargetInstrInfo.h:1.130 Fri Jun 15 16:13:54 2007 +++ llvm/include/llvm/Target/TargetInstrInfo.h Mon Jun 18 20:21:41 2007 @@ -86,6 +86,10 @@ // register and / or registers that are used to predicate instructions. const unsigned M_CLOBBERS_PRED = 1 << 14; +// M_NOT_DUPLICABLE - Set if this instruction cannot be safely duplicated. +// (e.g. instructions with unique labels attached). +const unsigned M_NOT_DUPLICABLE = 1 << 15; + // Machine operand flags // M_LOOK_UP_PTR_REG_CLASS - Set if this operand is a pointer value and it // requires a callback to look up its register class. @@ -211,15 +215,6 @@ return get(Opcode).Flags & M_RET_FLAG; } - bool isPredicable(MachineOpCode Opcode) const { - return get(Opcode).Flags & M_PREDICABLE; - } - bool clobbersPredicate(MachineOpCode Opcode) const { - return get(Opcode).Flags & M_CLOBBERS_PRED; - } - bool isReMaterializable(MachineOpCode Opcode) const { - return get(Opcode).Flags & M_REMATERIALIZIBLE; - } bool isCommutableInstr(MachineOpCode Opcode) const { return get(Opcode).Flags & M_COMMUTABLE; } @@ -265,6 +260,22 @@ return get(Opcode).Flags & M_VARIABLE_OPS; } + bool isPredicable(MachineOpCode Opcode) const { + return get(Opcode).Flags & M_PREDICABLE; + } + + bool isReMaterializable(MachineOpCode Opcode) const { + return get(Opcode).Flags & M_REMATERIALIZIBLE; + } + + bool clobbersPredicate(MachineOpCode Opcode) const { + return get(Opcode).Flags & M_CLOBBERS_PRED; + } + + bool isNotDuplicable(MachineOpCode Opcode) const { + return get(Opcode).Flags & M_NOT_DUPLICABLE; + } + /// getOperandConstraint - Returns the value of the specific constraint if /// it is set. Returns -1 if it is not set. int getOperandConstraint(MachineOpCode Opcode, unsigned OpNum, @@ -415,13 +426,6 @@ return false; } - /// CanBeDuplicated - Returns true if the instruction can be duplicated - /// without causing unforseenable side-effect (e.g. instructions with unique - /// labels attached). - virtual bool CanBeDuplicated(const MachineInstr *MI) const { - return false; - } - /// isUnpredicatedTerminator - Returns true if the instruction is a /// terminator instruction that has not been predicated. virtual bool isUnpredicatedTerminator(const MachineInstr *MI) const; _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits