return VTs[i];
}
- /// getNumNonChainFlagVTs - Return the number of normal results that this node
- /// will have, ignoring flag and chain results.
- unsigned getNumNonChainFlagVTs() const {
- for (unsigned i = 0, e = getNumVTs(); i != e; ++i)
- if (VTs[i] == MVT::Flag || VTs[i] == MVT::Other)
- return i;
- return getNumVTs();
- }
-
unsigned getNumOperands() const { return Operands.size(); }
unsigned getOperand(unsigned i) const {
assert(i < Operands.size());
// Print the result #'s for EmitNode.
if (const EmitNodeMatcher *E = dyn_cast<EmitNodeMatcher>(EN)) {
- if (unsigned NumResults = EN->getNumNonChainFlagVTs()) {
+ if (unsigned NumResults = EN->getNumVTs()) {
OS.PadToColumn(CommentIndent) << "// Results = ";
unsigned First = E->getFirstResultSlot();
for (unsigned i = 0; i != NumResults; ++i)
MatcherPtr.reset(MP->takeNext());
return ContractNodes(MatcherPtr, CGP);
}
-
+
+ // FIXME: Handle OPC_MarkFlagResults.
+
// Turn EmitNode->CompleteMatch into MorphNodeTo if we can.
if (EmitNodeMatcher *EN = dyn_cast<EmitNodeMatcher>(N))
if (CompleteMatchMatcher *CM =
return;
}
- // FIXME: Handle OPC_MarkFlagResults.
-
// FIXME2: Kill off all the SelectionDAG::MorphNodeTo and getMachineNode
// variants.
}