1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00

Skip over srcvalue nodes when generating ISEL code.

llvm-svn: 24704
This commit is contained in:
Evan Cheng 2005-12-14 02:21:57 +00:00
parent 8abe109550
commit 81f4683257

View File

@ -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() != "