Let each target specific isel provide routine to check if a chain producing node is foldable by another.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@29335 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/utils/TableGen/DAGISelEmitter.cpp b/utils/TableGen/DAGISelEmitter.cpp
index 8a62ed8..c194c47 100644
--- a/utils/TableGen/DAGISelEmitter.cpp
+++ b/utils/TableGen/DAGISelEmitter.cpp
@@ -2280,14 +2280,8 @@
               PInfo.hasProperty(SDNodeInfo::SDNPHasChain) ||
               PInfo.hasProperty(SDNodeInfo::SDNPInFlag) ||
               PInfo.hasProperty(SDNodeInfo::SDNPOptInFlag))
-            if (PInfo.getNumOperands() > 1) {
-              emitCheck("!isNonImmUse(" + ParentName + ".Val, " + RootName +
-                        ".Val)");
-            } else {
-              emitCheck("(" + ParentName + ".getNumOperands() == 1 || !" +
-                        "isNonImmUse(" + ParentName + ".Val, " + RootName +
-                        ".Val))");
-            }
+            emitCheck("IsFoldableBy(" + RootName + ".Val, " + ParentName +
+                      ".Val)");
         }
       }