summaryrefslogtreecommitdiffstats
path: root/llvm/utils
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2005-12-14 02:21:57 +0000
committerEvan Cheng <evan.cheng@apple.com>2005-12-14 02:21:57 +0000
commit6a31777c8e7a64bb1fb9a96a25b1d7417fdb42c6 (patch)
treeb7a6a144689ecc33ba65acfeb3b86335b964f548 /llvm/utils
parent683d8515b1f5ba71cf15250f9268306018404226 (diff)
downloadbcm5719-llvm-6a31777c8e7a64bb1fb9a96a25b1d7417fdb42c6.tar.gz
bcm5719-llvm-6a31777c8e7a64bb1fb9a96a25b1d7417fdb42c6.zip
Skip over srcvalue nodes when generating ISEL code.
llvm-svn: 24704
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/DAGISelEmitter.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/llvm/utils/TableGen/DAGISelEmitter.cpp b/llvm/utils/TableGen/DAGISelEmitter.cpp
index de74ac13a41..eca9ad11cef 100644
--- a/llvm/utils/TableGen/DAGISelEmitter.cpp
+++ b/llvm/utils/TableGen/DAGISelEmitter.cpp
@@ -485,7 +485,7 @@ static unsigned char getIntrinsicType(Record *R, bool NotRegisters,
return MVT::Other;
} else if (R->isSubClassOf("ComplexPattern")) {
return TP.getDAGISelEmitter().getComplexPattern(R).getValueType();
- } else if (R->getName() == "node") {
+ } else if (R->getName() == "node" || R->getName() == "srcvalue") {
// Placeholder.
return MVT::isUnknown;
}
@@ -973,6 +973,10 @@ static bool HandleUse(TreePattern *I, TreePatternNode *Pat,
Rec = Pat->getOperator();
}
+ // SRCVALUE nodes are ignored.
+ if (Rec->getName() == "srcvalue")
+ return false;
+
TreePatternNode *&Slot = InstInputs[Pat->getName()];
if (!Slot) {
Slot = Pat;
@@ -1832,6 +1836,8 @@ public:
}
} else if (LeafRec->isSubClassOf("ComplexPattern")) {
// Handle complex pattern. Nothing to do here.
+ } else if (LeafRec->getName() == "srcvalue") {
+ // Place holder for SRCVALUE nodes. Nothing to do here.
} else if (LeafRec->isSubClassOf("ValueType")) {
// Make sure this is the specified value type.
OS << " if (cast<VTSDNode>(" << RootName << OpNo << ")->getVT() != "
OpenPOWER on IntegriCloud