[llvm-commits] CVS: llvm/utils/TableGen/CodeGenInstruction.h CodeGenTarget.cpp InstrInfoEmitter.cpp

Dan Gohman djg at cray.com
Mon Jun 25 17:48:48 PDT 2007



Changes in directory llvm/utils/TableGen:

CodeGenInstruction.h updated: 1.30 -> 1.31
CodeGenTarget.cpp updated: 1.94 -> 1.95
InstrInfoEmitter.cpp updated: 1.62 -> 1.63
---
Log message:

Revert the earlier change that removed the M_REMATERIALIZABLE machine
instruction flag, and use the flag along with a virtual member function
hook for targets to override if there are instructions that are only
trivially rematerializable with specific operands (i.e. constant pool
loads).


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

 CodeGenInstruction.h |    1 +
 CodeGenTarget.cpp    |    1 +
 InstrInfoEmitter.cpp |    1 +
 3 files changed, 3 insertions(+)


Index: llvm/utils/TableGen/CodeGenInstruction.h
diff -u llvm/utils/TableGen/CodeGenInstruction.h:1.30 llvm/utils/TableGen/CodeGenInstruction.h:1.31
--- llvm/utils/TableGen/CodeGenInstruction.h:1.30	Mon Jun 18 20:48:05 2007
+++ llvm/utils/TableGen/CodeGenInstruction.h	Mon Jun 25 19:48:07 2007
@@ -91,6 +91,7 @@
     bool isConvertibleToThreeAddress;
     bool isCommutable;
     bool isTerminator;
+    bool isReMaterializable;
     bool hasDelaySlot;
     bool usesCustomDAGSchedInserter;
     bool hasVariableNumberOfOperands;


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.94 llvm/utils/TableGen/CodeGenTarget.cpp:1.95
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.94	Mon Jun 18 20:48:05 2007
+++ llvm/utils/TableGen/CodeGenTarget.cpp	Mon Jun 25 19:48:07 2007
@@ -365,6 +365,7 @@
   isConvertibleToThreeAddress = R->getValueAsBit("isConvertibleToThreeAddress");
   isCommutable = R->getValueAsBit("isCommutable");
   isTerminator = R->getValueAsBit("isTerminator");
+  isReMaterializable = R->getValueAsBit("isReMaterializable");
   hasDelaySlot = R->getValueAsBit("hasDelaySlot");
   usesCustomDAGSchedInserter = R->getValueAsBit("usesCustomDAGSchedInserter");
   hasCtrlDep   = R->getValueAsBit("hasCtrlDep");


Index: llvm/utils/TableGen/InstrInfoEmitter.cpp
diff -u llvm/utils/TableGen/InstrInfoEmitter.cpp:1.62 llvm/utils/TableGen/InstrInfoEmitter.cpp:1.63
--- llvm/utils/TableGen/InstrInfoEmitter.cpp:1.62	Mon Jun 18 20:48:05 2007
+++ llvm/utils/TableGen/InstrInfoEmitter.cpp	Mon Jun 25 19:48:07 2007
@@ -240,6 +240,7 @@
   if (Inst.isConvertibleToThreeAddress) OS << "|M_CONVERTIBLE_TO_3_ADDR";
   if (Inst.isCommutable) OS << "|M_COMMUTABLE";
   if (Inst.isTerminator) OS << "|M_TERMINATOR_FLAG";
+  if (Inst.isReMaterializable) OS << "|M_REMATERIALIZIBLE";
   if (Inst.clobbersPred) OS << "|M_CLOBBERS_PRED";
   if (Inst.isNotDuplicable) OS << "|M_NOT_DUPLICABLE";
   if (Inst.usesCustomDAGSchedInserter)






More information about the llvm-commits mailing list