summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/SelectionDAG
diff options
context:
space:
mode:
authorScott Linder <scott@scottlinder.com>2018-06-04 20:19:45 +0000
committerScott Linder <scott@scottlinder.com>2018-06-04 20:19:45 +0000
commitba81d7f1ebfd30bf354390f8656211041d53c176 (patch)
tree10ac959c817486675955defd11eefb96022f9c38 /llvm/lib/CodeGen/SelectionDAG
parent643102dfce721f81debc983b3dd447998c662892 (diff)
downloadbcm5719-llvm-ba81d7f1ebfd30bf354390f8656211041d53c176.tar.gz
bcm5719-llvm-ba81d7f1ebfd30bf354390f8656211041d53c176.zip
[CodeGen] Always update divergence in SelectionDAG::UpdateNodeOperands
Some overloads failed to update divergence. Differential Revision: https://reviews.llvm.org/D47148 llvm-svn: 333947
Diffstat (limited to 'llvm/lib/CodeGen/SelectionDAG')
-rw-r--r--llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
index 39fd95e7d2c..9dac51f33cd 100644
--- a/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
@@ -6880,6 +6880,7 @@ SDNode *SelectionDAG::UpdateNodeOperands(SDNode *N, SDValue Op) {
// Now we update the operands.
N->OperandList[0].set(Op);
+ updateDivergence(N);
// If this gets put into a CSE map, add it.
if (InsertPos) CSEMap.InsertNode(N, InsertPos);
return N;
@@ -6959,6 +6960,7 @@ UpdateNodeOperands(SDNode *N, ArrayRef<SDValue> Ops) {
if (N->OperandList[i] != Ops[i])
N->OperandList[i].set(Ops[i]);
+ updateDivergence(N);
// If this gets put into a CSE map, add it.
if (InsertPos) CSEMap.InsertNode(N, InsertPos);
return N;
OpenPOWER on IntegriCloud