@@ -703,6 +703,9 @@ void PhaseIdealLoop::do_peeling(IdealLoopTree *loop, Node_List &old_new) {
703
703
}
704
704
#endif
705
705
LoopNode* head = loop->_head ->as_Loop ();
706
+
707
+ C->print_method (PHASE_BEFORE_LOOP_PEELING, 4 , head);
708
+
706
709
bool counted_loop = head->is_CountedLoop ();
707
710
if (counted_loop) {
708
711
CountedLoopNode *cl = head->as_CountedLoop ();
@@ -795,6 +798,8 @@ void PhaseIdealLoop::do_peeling(IdealLoopTree *loop, Node_List &old_new) {
795
798
peeled_dom_test_elim (loop,old_new);
796
799
797
800
loop->record_for_igvn ();
801
+
802
+ C->print_method (PHASE_AFTER_LOOP_PEELING, 4 , new_head);
798
803
}
799
804
800
805
// ------------------------------policy_maximally_unroll------------------------
@@ -1629,6 +1634,8 @@ void PhaseIdealLoop::insert_pre_post_loops(IdealLoopTree *loop, Node_List &old_n
1629
1634
CountedLoopEndNode *main_end = main_head->loopexit ();
1630
1635
assert (main_end->outcnt () == 2 , " 1 true, 1 false path only" );
1631
1636
1637
+ C->print_method (PHASE_BEFORE_PRE_MAIN_POST, 4 , main_head);
1638
+
1632
1639
Node *pre_header= main_head->in (LoopNode::EntryControl);
1633
1640
Node *init = main_head->init_trip ();
1634
1641
Node *incr = main_end ->incr ();
@@ -1825,6 +1832,8 @@ void PhaseIdealLoop::insert_pre_post_loops(IdealLoopTree *loop, Node_List &old_n
1825
1832
// finds some, but we _know_ they are all useless.
1826
1833
peeled_dom_test_elim (loop,old_new);
1827
1834
loop->record_for_igvn ();
1835
+
1836
+ C->print_method (PHASE_AFTER_PRE_MAIN_POST, 4 , main_head);
1828
1837
}
1829
1838
1830
1839
// ------------------------------insert_vector_post_loop------------------------
@@ -2127,6 +2136,9 @@ void PhaseIdealLoop::do_unroll(IdealLoopTree *loop, Node_List &old_new, bool adj
2127
2136
assert (LoopUnrollLimit, " " );
2128
2137
CountedLoopNode *loop_head = loop->_head ->as_CountedLoop ();
2129
2138
CountedLoopEndNode *loop_end = loop_head->loopexit ();
2139
+
2140
+ C->print_method (PHASE_BEFORE_LOOP_UNROLLING, 4 , loop_head);
2141
+
2130
2142
#ifndef PRODUCT
2131
2143
if (PrintOpto && VerifyLoopOptimizations) {
2132
2144
tty->print (" Unrolling " );
@@ -2374,6 +2386,8 @@ void PhaseIdealLoop::do_unroll(IdealLoopTree *loop, Node_List &old_new, bool adj
2374
2386
}
2375
2387
}
2376
2388
#endif
2389
+
2390
+ C->print_method (PHASE_AFTER_LOOP_UNROLLING, 4 , clone_head);
2377
2391
}
2378
2392
2379
2393
// ------------------------------do_maximally_unroll----------------------------
@@ -3003,6 +3017,8 @@ void PhaseIdealLoop::do_range_check(IdealLoopTree *loop, Node_List &old_new) {
3003
3017
// stride_con and scale_con can be negative which will flip about the
3004
3018
// sense of the test.
3005
3019
3020
+ C->print_method (PHASE_BEFORE_RANGE_CHECK_ELIMINATION, 4 , iff);
3021
+
3006
3022
// Perform the limit computations in jlong to avoid overflow
3007
3023
jlong lscale_con = scale_con;
3008
3024
Node* int_offset = offset;
@@ -3103,6 +3119,9 @@ void PhaseIdealLoop::do_range_check(IdealLoopTree *loop, Node_List &old_new) {
3103
3119
--imax;
3104
3120
}
3105
3121
}
3122
+
3123
+ C->print_method (PHASE_AFTER_RANGE_CHECK_ELIMINATION, 4 , cl);
3124
+
3106
3125
} // End of is IF
3107
3126
}
3108
3127
if (loop_entry != cl->skip_strip_mined ()->in (LoopNode::EntryControl)) {
1 commit comments
openjdk-notifier[bot] commentedon Dec 8, 2023
Review
Issues