OSDN Git Service

[AMDGPU] Fix for DAGCombiner infinite loop in OCLtst
authorAlexander Timofeev <Alexander.Timofeev@amd.com>
Wed, 14 Mar 2018 09:48:51 +0000 (09:48 +0000)
committerAlexander Timofeev <Alexander.Timofeev@amd.com>
Wed, 14 Mar 2018 09:48:51 +0000 (09:48 +0000)
Differential revision: https://reviews.llvm.org/D44417

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@327488 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAGNodes.h

index a2bead3..557d939 100644 (file)
@@ -1194,7 +1194,8 @@ public:
   /// encoding of the volatile flag, as well as bits used by subclasses. This
   /// function should only be used to compute a FoldingSetNodeID value.
   /// The HasDebugValue bit is masked out because CSE map needs to match
-  /// nodes with debug info with nodes without debug info.
+  /// nodes with debug info with nodes without debug info. Same is about
+  /// isDivergent bit.
   unsigned getRawSubclassData() const {
     uint16_t Data;
     union {
@@ -1203,6 +1204,7 @@ public:
     };
     memcpy(&RawSDNodeBits, &this->RawSDNodeBits, sizeof(this->RawSDNodeBits));
     SDNodeBits.HasDebugValue = 0;
+    SDNodeBits.IsDivergent = false;
     memcpy(&Data, &RawSDNodeBits, sizeof(RawSDNodeBits));
     return Data;
   }