mirror of
https://github.com/openjdk/jdk.git
synced 2026-07-16 05:59:06 +00:00
8022993: Convert MAX_UNROLL constant to LoopMaxUnroll C2 flag
Replace MAX_UNROLL constant with new C2 LoopMaxUnroll flag. Reviewed-by: roland
This commit is contained in:
parent
ed4b026105
commit
20f7d1a82a
@ -179,6 +179,9 @@
|
||||
product_pd(intx, LoopUnrollLimit, \
|
||||
"Unroll loop bodies with node count less than this") \
|
||||
\
|
||||
product(intx, LoopMaxUnroll, 16, \
|
||||
"Maximum number of unrolls for main loop") \
|
||||
\
|
||||
product(intx, LoopUnrollMin, 4, \
|
||||
"Minimum number of unroll loop bodies before checking progress" \
|
||||
"of rounds of unroll,optimize,..") \
|
||||
|
||||
@ -624,8 +624,6 @@ bool IdealLoopTree::policy_maximally_unroll( PhaseIdealLoop *phase ) const {
|
||||
}
|
||||
|
||||
|
||||
#define MAX_UNROLL 16 // maximum number of unrolls for main loop
|
||||
|
||||
//------------------------------policy_unroll----------------------------------
|
||||
// Return TRUE or FALSE if the loop should be unrolled or not. Unroll if
|
||||
// the loop is a CountedLoop and the body is small enough.
|
||||
@ -642,7 +640,7 @@ bool IdealLoopTree::policy_unroll( PhaseIdealLoop *phase ) const {
|
||||
if (cl->trip_count() <= (uint)(cl->is_normal_loop() ? 2 : 1)) return false;
|
||||
|
||||
int future_unroll_ct = cl->unrolled_count() * 2;
|
||||
if (future_unroll_ct > MAX_UNROLL) return false;
|
||||
if (future_unroll_ct > LoopMaxUnroll) return false;
|
||||
|
||||
// Check for initial stride being a small enough constant
|
||||
if (abs(cl->stride_con()) > (1<<2)*future_unroll_ct) return false;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user