equal
deleted
inserted
replaced
2395 // Keep loop predicates and perform optimizations with them |
2395 // Keep loop predicates and perform optimizations with them |
2396 // until no more loop optimizations could be done. |
2396 // until no more loop optimizations could be done. |
2397 // After that switch predicates off and do more loop optimizations. |
2397 // After that switch predicates off and do more loop optimizations. |
2398 if (!C->major_progress() && (C->predicate_count() > 0)) { |
2398 if (!C->major_progress() && (C->predicate_count() > 0)) { |
2399 C->cleanup_loop_predicates(_igvn); |
2399 C->cleanup_loop_predicates(_igvn); |
2400 #ifndef PRODUCT |
|
2401 if (TraceLoopOpts) { |
2400 if (TraceLoopOpts) { |
2402 tty->print_cr("PredicatesOff"); |
2401 tty->print_cr("PredicatesOff"); |
2403 } |
2402 } |
2404 #endif |
|
2405 C->set_major_progress(); |
2403 C->set_major_progress(); |
2406 } |
2404 } |
2407 |
2405 |
2408 // Convert scalar to superword operations at the end of all loop opts. |
2406 // Convert scalar to superword operations at the end of all loop opts. |
2409 if (UseSuperWord && C->has_loops() && !C->major_progress()) { |
2407 if (UseSuperWord && C->has_loops() && !C->major_progress()) { |