mirror of
https://github.com/RPCS3/llvm.git
synced 2024-12-11 13:44:28 +00:00
make the new isel's interpreter loop call the generated
CheckComplexPattern function. Though it is logically const, I don't have the fortitude to clean up all the targets now, and it not being const doesn't block anything. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@96426 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
5be6e5990b
commit
bd12fe8b69
@ -319,13 +319,11 @@ SDNode *SelectCodeCommon(SDNode *NodeToMatch, const unsigned char *MatcherTable,
|
|||||||
case OPC_CheckPredicate:
|
case OPC_CheckPredicate:
|
||||||
if (!CheckNodePredicate(N.getNode(), MatcherTable[MatcherIndex++])) break;
|
if (!CheckNodePredicate(N.getNode(), MatcherTable[MatcherIndex++])) break;
|
||||||
continue;
|
continue;
|
||||||
case OPC_CheckComplexPat: {
|
case OPC_CheckComplexPat:
|
||||||
unsigned PatNo = MatcherTable[MatcherIndex++];
|
if (!CheckComplexPattern(NodeToMatch, N,
|
||||||
(void)PatNo;
|
MatcherTable[MatcherIndex++], RecordedNodes))
|
||||||
// FIXME: CHECK IT.
|
break;
|
||||||
continue;
|
continue;
|
||||||
}
|
|
||||||
|
|
||||||
case OPC_CheckOpcode:
|
case OPC_CheckOpcode:
|
||||||
if (N->getOpcode() != MatcherTable[MatcherIndex++]) break;
|
if (N->getOpcode() != MatcherTable[MatcherIndex++]) break;
|
||||||
continue;
|
continue;
|
||||||
|
@ -131,6 +131,12 @@ protected:
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual bool CheckComplexPattern(SDNode *Root, SDValue N, unsigned PatternNo,
|
||||||
|
SmallVectorImpl<SDValue> &Result) {
|
||||||
|
assert(0 && "Tblgen should generate the implementation of this!");
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
// Calls to these functions are generated by tblgen.
|
// Calls to these functions are generated by tblgen.
|
||||||
SDNode *Select_INLINEASM(SDNode *N);
|
SDNode *Select_INLINEASM(SDNode *N);
|
||||||
SDNode *Select_UNDEF(SDNode *N);
|
SDNode *Select_UNDEF(SDNode *N);
|
||||||
|
Loading…
Reference in New Issue
Block a user