aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--utils/TableGen/DAGISelEmitter.cpp11
1 files changed, 8 insertions, 3 deletions
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 872f08cc3b..a50827e735 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -2006,9 +2006,14 @@ public:
PInfo.hasProperty(SDNodeInfo::SDNPHasChain) ||
PInfo.hasProperty(SDNodeInfo::SDNPInFlag) ||
PInfo.hasProperty(SDNodeInfo::SDNPOptInFlag))
- emitCheck("(" + ParentName + ".getNumOperands() == 1 || !" +
- "isNonImmUse(" + ParentName + ".Val, " + RootName +
- ".Val))");
+ if (PInfo.getNumOperands() > 1) {
+ emitCheck("!isNonImmUse(" + ParentName + ".Val, " + RootName +
+ ".Val)");
+ } else {
+ emitCheck("(" + ParentName + ".getNumOperands() == 1 || !" +
+ "isNonImmUse(" + ParentName + ".Val, " + RootName +
+ ".Val))");
+ }
}
}