[llvm-commits] CVS: llvm/include/llvm/Target/TargetInstrInfo.h

Evan Cheng evan.cheng at apple.com
Sun Mar 18 23:19:45 PDT 2007



Changes in directory llvm/include/llvm/Target:

TargetInstrInfo.h updated: 1.113 -> 1.114
---
Log message:

Add a TargetInstrDescriptor flag to mark an instruction as "re-materializable".
It means the instruction can be easily re-materialized at any point. e.g.
constant generation, load from constantpool.

---
Diffs of the changes:  (+7 -0)

 TargetInstrInfo.h |    7 +++++++
 1 files changed, 7 insertions(+)


Index: llvm/include/llvm/Target/TargetInstrInfo.h
diff -u llvm/include/llvm/Target/TargetInstrInfo.h:1.113 llvm/include/llvm/Target/TargetInstrInfo.h:1.114
--- llvm/include/llvm/Target/TargetInstrInfo.h:1.113	Fri Mar 16 03:41:06 2007
+++ llvm/include/llvm/Target/TargetInstrInfo.h	Mon Mar 19 01:19:16 2007
@@ -78,6 +78,10 @@
 // execution.
 const unsigned M_PREDICATED = 1 << 12;
 
+// M_REMATERIALIZIBLE - Set if this instruction can be trivally re-materialized
+// at any time, e.g. constant generation, load from constant pool.
+const unsigned M_REMATERIALIZIBLE = 1 << 13;
+
 
 // Machine operand flags
 // M_LOOK_UP_PTR_REG_CLASS - Set if this operand is a pointer value and it
@@ -207,6 +211,9 @@
   bool isPredicated(MachineOpCode Opcode) const {
     return get(Opcode).Flags & M_PREDICATED;
   }
+  bool isReMaterializable(MachineOpCode Opcode) const {
+    return get(Opcode).Flags & M_REMATERIALIZIBLE;
+  }
   bool isCommutableInstr(MachineOpCode Opcode) const {
     return get(Opcode).Flags & M_COMMUTABLE;
   }






More information about the llvm-commits mailing list