mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-14 07:09:08 +00:00
Revert last patch which causes tblgen to segfault (why, I'm not sure).
llvm-svn: 31383
This commit is contained in:
parent
8f92705113
commit
01f5071a4d
@ -2259,11 +2259,13 @@ public:
|
||||
unsigned OpNo = 0;
|
||||
bool NodeHasChain = NodeHasProperty (N, SDNPHasChain, ISE);
|
||||
bool HasChain = PatternHasProperty(N, SDNPHasChain, ISE);
|
||||
bool HasOutFlag = PatternHasProperty(N, SDNPOutFlag, ISE);
|
||||
bool EmittedUseCheck = false;
|
||||
if (HasChain) {
|
||||
if (NodeHasChain)
|
||||
OpNo = 1;
|
||||
if (!isRoot) {
|
||||
const SDNodeInfo &CInfo = ISE.getSDNodeInfo(N->getOperator());
|
||||
// Multiple uses of actual result?
|
||||
emitCheck(RootName + ".hasOneUse()");
|
||||
EmittedUseCheck = true;
|
||||
@ -2327,6 +2329,7 @@ public:
|
||||
(PatternHasProperty(N, SDNPInFlag, ISE) ||
|
||||
PatternHasProperty(N, SDNPOptInFlag, ISE) ||
|
||||
PatternHasProperty(N, SDNPOutFlag, ISE))) {
|
||||
const SDNodeInfo &CInfo = ISE.getSDNodeInfo(N->getOperator());
|
||||
if (!EmittedUseCheck) {
|
||||
// Multiple uses of actual result?
|
||||
emitCheck(RootName + ".hasOneUse()");
|
||||
@ -3315,9 +3318,10 @@ void DAGISelEmitter::EmitInstructionSelector(std::ostream &OS) {
|
||||
PatternsByOpcode[Node->getOperator()].push_back(&PatternsToMatch[i]);
|
||||
} else {
|
||||
const ComplexPattern *CP;
|
||||
if (dynamic_cast<IntInit*>(Node->getLeafValue())) {
|
||||
if (IntInit *II =
|
||||
dynamic_cast<IntInit*>(Node->getLeafValue())) {
|
||||
PatternsByOpcode[getSDNodeNamed("imm")].push_back(&PatternsToMatch[i]);
|
||||
} else if (NodeGetComplexPattern(Node, *this)) {
|
||||
} else if ((CP = NodeGetComplexPattern(Node, *this))) {
|
||||
std::vector<Record*> OpNodes = CP->getRootNodes();
|
||||
for (unsigned j = 0, e = OpNodes.size(); j != e; j++) {
|
||||
PatternsByOpcode[OpNodes[j]]
|
||||
|
Loading…
Reference in New Issue
Block a user