8145754: PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI
Summary: is_scaled_iv_plus_offset() should handle AddI nodes with scaled iv as second input.
Reviewed-by: kvn
--- a/hotspot/src/share/vm/opto/loopTransform.cpp Sat Dec 19 19:06:02 2015 +0100
+++ b/hotspot/src/share/vm/opto/loopTransform.cpp Mon Dec 21 10:14:26 2015 +0100
@@ -1911,6 +1911,12 @@
}
return true;
}
+ if (is_scaled_iv(exp->in(2), iv, p_scale)) {
+ if (p_offset != NULL) {
+ *p_offset = exp->in(1);
+ }
+ return true;
+ }
if (exp->in(2)->is_Con()) {
Node* offset2 = NULL;
if (depth < 2 &&