[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