Skip to content

Commit d7dad50

Browse files
committed
8334544: C2: wrong control assigned in PhaseIdealLoop::clone_assertion_predicate_for_unswitched_loops()
Reviewed-by: chagedorn, thartmann
1 parent ff30240 commit d7dad50

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/hotspot/share/opto/loopPredicate.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -373,7 +373,7 @@ IfProjNode* PhaseIdealLoop::clone_assertion_predicate_for_unswitched_loops(IfNod
373373
ParsePredicateSuccessProj* parse_predicate_proj) {
374374
TemplateAssertionPredicateExpression template_assertion_predicate_expression(
375375
template_assertion_predicate->in(1)->as_Opaque4());
376-
Opaque4Node* cloned_opaque4_node = template_assertion_predicate_expression.clone(parse_predicate_proj, this);
376+
Opaque4Node* cloned_opaque4_node = template_assertion_predicate_expression.clone(parse_predicate_proj->in(0)->in(0), this);
377377
IfProjNode* if_proj = create_new_if_for_predicate(parse_predicate_proj, nullptr, reason, template_assertion_predicate->Opcode(), false);
378378
_igvn.replace_input_of(if_proj->in(0), 1, cloned_opaque4_node);
379379
_igvn.replace_input_of(parse_predicate_proj->in(0), 0, if_proj);

0 commit comments

Comments
 (0)