From c683966cddf22d69689f3b6e1db8b7419e958390 Mon Sep 17 00:00:00 2001 From: Alexander Timofeev Date: Wed, 14 Mar 2018 09:48:51 +0000 Subject: [PATCH] [AMDGPU] Fix for DAGCombiner infinite loop in OCLtst Differential revision: https://reviews.llvm.org/D44417 llvm-svn: 327488 --- llvm/include/llvm/CodeGen/SelectionDAGNodes.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h index a2bead3..557d939 100644 --- a/llvm/include/llvm/CodeGen/SelectionDAGNodes.h +++ b/llvm/include/llvm/CodeGen/SelectionDAGNodes.h @@ -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; } -- 2.7.4