mirror of
https://github.com/RPCSX/llvm.git
synced 2024-12-04 10:04:33 +00:00
Predicate function on the node should be matched before its childrean' matching
code. This is especially important now matching ISD::LOAD also requires a Predicate_Load call. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@30845 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
466685d41a
commit
d3eea90a9b
@ -2312,6 +2312,10 @@ public:
|
||||
}
|
||||
}
|
||||
|
||||
// If there is a node predicate for this, emit the call.
|
||||
if (!N->getPredicateFn().empty())
|
||||
emitCheck(N->getPredicateFn() + "(" + RootName + ".Val)");
|
||||
|
||||
const ComplexPattern *CP;
|
||||
for (unsigned i = 0, e = N->getNumChildren(); i != e; ++i, ++OpNo) {
|
||||
emitInit("SDOperand " + RootName + utostr(OpNo) + " = " +
|
||||
@ -2420,10 +2424,6 @@ public:
|
||||
Code += ", CPTmp" + utostr(i);
|
||||
emitCheck(Code + ")");
|
||||
}
|
||||
|
||||
// If there is a node predicate for this, emit the call.
|
||||
if (!N->getPredicateFn().empty())
|
||||
emitCheck(N->getPredicateFn() + "(" + RootName + ".Val)");
|
||||
}
|
||||
|
||||
/// EmitResultCode - Emit the action for a pattern. Now that it has matched
|
||||
|
Loading…
Reference in New Issue
Block a user