30 lines
895 B
Diff
30 lines
895 B
Diff
From 466cb0f1a98c7b93e47e6056c460b6ec81864e3b Mon Sep 17 00:00:00 2001
|
|
Date: Tue, 12 May 2020 10:08:51 +0000
|
|
Subject: [PATCH] fix IfNode's bugs
|
|
|
|
Summary: <C2>: fix wrong use of transform function
|
|
LLT:
|
|
Bug url: NA
|
|
---
|
|
src/hotspot/share/opto/ifnode.cpp | 3 +++
|
|
1 file changed, 3 insertions(+)
|
|
|
|
diff --git a/src/hotspot/share/opto/ifnode.cpp b/src/hotspot/share/opto/ifnode.cpp
|
|
index 6f87d7c..a856200 100644
|
|
--- a/src/hotspot/share/opto/ifnode.cpp
|
|
+++ b/src/hotspot/share/opto/ifnode.cpp
|
|
@@ -1398,7 +1398,10 @@ Node* IfNode::Ideal(PhaseGVN *phase, bool can_reshape) {
|
|
if (in(0) == NULL) return NULL; // Dead loop?
|
|
|
|
PhaseIterGVN *igvn = phase->is_IterGVN();
|
|
+ bool delay_state = igvn->delay_transform();
|
|
+ igvn->set_delay_transform(true);
|
|
Node* result = fold_compares(igvn);
|
|
+ igvn->set_delay_transform(delay_state);
|
|
if (result != NULL) {
|
|
return result;
|
|
}
|
|
--
|
|
1.8.3.1
|
|
|