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

Chris Lattner sabre at nondot.org
Mon Nov 6 13:45:56 PST 2006



Changes in directory llvm/utils/TableGen:

CodeGenInstruction.h updated: 1.21 -> 1.22
CodeGenTarget.cpp updated: 1.73 -> 1.74
InstrInfoEmitter.cpp updated: 1.47 -> 1.48
---
Log message:

recognize ppc's blr instruction as predicated


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

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


Index: llvm/utils/TableGen/CodeGenInstruction.h
diff -u llvm/utils/TableGen/CodeGenInstruction.h:1.21 llvm/utils/TableGen/CodeGenInstruction.h:1.22
--- llvm/utils/TableGen/CodeGenInstruction.h:1.21	Sun Nov  5 13:31:28 2006
+++ llvm/utils/TableGen/CodeGenInstruction.h	Mon Nov  6 15:44:53 2006
@@ -87,6 +87,7 @@
     bool isLoad;
     bool isStore;
     bool isTwoAddress;
+    bool isPredicated;
     bool isConvertibleToThreeAddress;
     bool isCommutable;
     bool isTerminator;


Index: llvm/utils/TableGen/CodeGenTarget.cpp
diff -u llvm/utils/TableGen/CodeGenTarget.cpp:1.73 llvm/utils/TableGen/CodeGenTarget.cpp:1.74
--- llvm/utils/TableGen/CodeGenTarget.cpp:1.73	Sat Nov  4 03:40:23 2006
+++ llvm/utils/TableGen/CodeGenTarget.cpp	Mon Nov  6 15:44:54 2006
@@ -335,6 +335,7 @@
   isLoad       = R->getValueAsBit("isLoad");
   isStore      = R->getValueAsBit("isStore");
   isTwoAddress = R->getValueAsBit("isTwoAddress");
+  isPredicated = false;   // set below.
   isConvertibleToThreeAddress = R->getValueAsBit("isConvertibleToThreeAddress");
   isCommutable = R->getValueAsBit("isCommutable");
   isTerminator = R->getValueAsBit("isTerminator");
@@ -381,6 +382,7 @@
       if (unsigned NumArgs = MIOpInfo->getNumArgs())
         NumOps = NumArgs;
 
+      isPredicated |= Rec->isSubClassOf("PredicateOperand");
     } else if (Rec->getName() == "variable_ops") {
       hasVariableNumberOfOperands = true;
       continue;


Index: llvm/utils/TableGen/InstrInfoEmitter.cpp
diff -u llvm/utils/TableGen/InstrInfoEmitter.cpp:1.47 llvm/utils/TableGen/InstrInfoEmitter.cpp:1.48
--- llvm/utils/TableGen/InstrInfoEmitter.cpp:1.47	Sat Nov  4 03:40:23 2006
+++ llvm/utils/TableGen/InstrInfoEmitter.cpp	Mon Nov  6 15:44:54 2006
@@ -225,6 +225,7 @@
   if (Inst.isLoad)       OS << "|M_LOAD_FLAG";
   if (Inst.isStore || isStore) OS << "|M_STORE_FLAG";
   if (Inst.isTwoAddress) OS << "|M_2_ADDR_FLAG";
+  if (Inst.isPredicated) OS << "|M_PREDICATED";
   if (Inst.isConvertibleToThreeAddress) OS << "|M_CONVERTIBLE_TO_3_ADDR";
   if (Inst.isCommutable) OS << "|M_COMMUTABLE";
   if (Inst.isTerminator) OS << "|M_TERMINATOR_FLAG";






More information about the llvm-commits mailing list