8357951: Remove the IdealLoopTree* loop parameter from PhaseIdealLoop::loop_iv_phi

Reviewed-by: thartmann, mhaessig
This commit is contained in:
Benoît Maillard 2025-06-06 08:16:15 +00:00 committed by Tobias Hartmann
parent bb2611ad43
commit d1b788005b
3 changed files with 10 additions and 10 deletions

View File

@ -458,7 +458,7 @@ Node* PhaseIdealLoop::loop_iv_incr(Node* incr, Node* x, IdealLoopTree* loop, Nod
return incr;
}
Node* PhaseIdealLoop::loop_iv_stride(Node* incr, IdealLoopTree* loop, Node*& xphi) {
Node* PhaseIdealLoop::loop_iv_stride(Node* incr, Node*& xphi) {
assert(incr->Opcode() == Op_AddI || incr->Opcode() == Op_AddL, "caller resp.");
// Get merge point
xphi = incr->in(1);
@ -474,7 +474,7 @@ Node* PhaseIdealLoop::loop_iv_stride(Node* incr, IdealLoopTree* loop, Node*& xph
return stride;
}
PhiNode* PhaseIdealLoop::loop_iv_phi(Node* xphi, Node* phi_incr, Node* x, IdealLoopTree* loop) {
PhiNode* PhaseIdealLoop::loop_iv_phi(Node* xphi, Node* phi_incr, Node* x) {
if (!xphi->is_Phi()) {
return nullptr; // Too much math on the trip counter
}
@ -1481,11 +1481,11 @@ void PhaseIdealLoop::check_counted_loop_shape(IdealLoopTree* loop, Node* x, Basi
assert(incr != nullptr && incr->Opcode() == Op_Add(bt), "no incr");
Node* xphi = nullptr;
Node* stride = loop_iv_stride(incr, loop, xphi);
Node* stride = loop_iv_stride(incr, xphi);
assert(stride != nullptr, "no stride");
PhiNode* phi = loop_iv_phi(xphi, phi_incr, x, loop);
PhiNode* phi = loop_iv_phi(xphi, phi_incr, x);
assert(phi != nullptr && phi->in(LoopNode::LoopBackControl) == incr, "No phi");
@ -1650,7 +1650,7 @@ bool PhaseIdealLoop::is_counted_loop(Node* x, IdealLoopTree*&loop, BasicType iv_
assert(incr->Opcode() == Op_Add(iv_bt), "wrong increment code");
Node* xphi = nullptr;
Node* stride = loop_iv_stride(incr, loop, xphi);
Node* stride = loop_iv_stride(incr, xphi);
if (stride == nullptr) {
return false;
@ -1664,7 +1664,7 @@ bool PhaseIdealLoop::is_counted_loop(Node* x, IdealLoopTree*&loop, BasicType iv_
jlong stride_con = stride->get_integer_as_long(iv_bt);
assert(stride_con != 0, "missed some peephole opt");
PhiNode* phi = loop_iv_phi(xphi, phi_incr, x, loop);
PhiNode* phi = loop_iv_phi(xphi, phi_incr, x);
if (phi == nullptr ||
(trunc1 == nullptr && phi->in(LoopNode::LoopBackControl) != incr) ||

View File

@ -1280,8 +1280,8 @@ public:
Node* loop_exit_control(Node* x, IdealLoopTree* loop);
Node* loop_exit_test(Node* back_control, IdealLoopTree* loop, Node*& incr, Node*& limit, BoolTest::mask& bt, float& cl_prob);
Node* loop_iv_incr(Node* incr, Node* x, IdealLoopTree* loop, Node*& phi_incr);
Node* loop_iv_stride(Node* incr, IdealLoopTree* loop, Node*& xphi);
PhiNode* loop_iv_phi(Node* xphi, Node* phi_incr, Node* x, IdealLoopTree* loop);
Node* loop_iv_stride(Node* incr, Node*& xphi);
PhiNode* loop_iv_phi(Node* xphi, Node* phi_incr, Node* x);
bool is_counted_loop(Node* x, IdealLoopTree*&loop, BasicType iv_bt);

View File

@ -4271,13 +4271,13 @@ bool PhaseIdealLoop::duplicate_loop_backedge(IdealLoopTree *loop, Node_List &old
}
assert(in->Opcode() == Op_AddI, "wrong increment code");
Node* xphi = nullptr;
Node* stride = loop_iv_stride(in, loop, xphi);
Node* stride = loop_iv_stride(in, xphi);
if (stride == nullptr) {
continue;
}
PhiNode* phi = loop_iv_phi(xphi, nullptr, head, loop);
PhiNode* phi = loop_iv_phi(xphi, nullptr, head);
if (phi == nullptr ||
(trunc1 == nullptr && phi->in(LoopNode::LoopBackControl) != incr) ||
(trunc1 != nullptr && phi->in(LoopNode::LoopBackControl) != trunc1)) {