8145754: PhaseIdealLoop::is_scaled_iv_plus_offset() does not match AddI

Is_scaled_iv_plus_offset() should handle AddI nodes with scaled iv as second input.

Reviewed-by: kvn
This commit is contained in:
Tobias Hartmann 2015-12-21 10:14:26 +01:00
parent dde534535b
commit 60da2fdb6f

View File

@ -1911,6 +1911,12 @@ bool PhaseIdealLoop::is_scaled_iv_plus_offset(Node* exp, Node* iv, int* p_scale,
} }
return true; 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()) { if (exp->in(2)->is_Con()) {
Node* offset2 = NULL; Node* offset2 = NULL;
if (depth < 2 && if (depth < 2 &&