diff options
| author | Evan Cheng <evan.cheng@apple.com> | 2005-12-14 02:21:57 +0000 |
|---|---|---|
| committer | Evan Cheng <evan.cheng@apple.com> | 2005-12-14 02:21:57 +0000 |
| commit | 6a31777c8e7a64bb1fb9a96a25b1d7417fdb42c6 (patch) | |
| tree | b7a6a144689ecc33ba65acfeb3b86335b964f548 /llvm/utils | |
| parent | 683d8515b1f5ba71cf15250f9268306018404226 (diff) | |
| download | bcm5719-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.cpp | 8 |
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() != " |

