Not checking for intrinsics which do not have a chain operand.
authorEvan Cheng <evan.cheng@apple.com>
Fri, 25 Apr 2008 08:55:28 +0000 (08:55 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 25 Apr 2008 08:55:28 +0000 (08:55 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50260 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelDAGToDAG.cpp

index 1ca1e311449f43fc525867bf4a9e63af911db5f7..8286cd05a035a59442c686007504a1938b4d9e01 100644 (file)
@@ -255,11 +255,12 @@ static void findNonImmUse(SDNode *Use, SDNode* Def, SDNode *ImmedUse,
       continue;
     if (N == Def) {
       if (Use == ImmedUse)
-        continue; // We are not looking for immediate use.
+        continue;  // We are not looking for immediate use.
       if (Use == Root) {
+        // Must be a chain reading node where it is possible to reach its own
+        // chain operand through a path started from another operand.
         assert(Use->getOpcode() == ISD::STORE ||
                Use->getOpcode() == X86ISD::CMP ||
-               Use->getOpcode() == ISD::INTRINSIC_WO_CHAIN ||
                Use->getOpcode() == ISD::INTRINSIC_W_CHAIN ||
                Use->getOpcode() == ISD::INTRINSIC_VOID);
         continue;