-
Enhancement
-
Resolution: Fixed
-
P4
-
16
-
b27
1- recognize the counted loop shape and build the loop nest
2- transform the inner loop into a counted loop
I propose changing this to a 3 steps process:
1- recognize the counted loop shape (transform the loop into a LongCountedLoop)
2- build the loop nest
3- transform the inner loop into a counted loop
The benefits are:
- the logic is cleaner because step 1 and 2 are now separated
- simple optimizations (loop iv type, empty loop elimination, parallel iv) can be implemented for LongCountedLoop by refactoring existing code
- relates to
-
JDK-8261308 C2: assert(inner->is_valid_counted_loop(T_INT) && inner->is_strip_mined()) failed: OuterStripMinedLoop should have been removed
- Resolved
-
JDK-8299259 C2: Div/Mod nodes without zero check could be split through iv phi of loop resulting in SIGFPE
- Resolved
-
JDK-8323972 C2 compilation fails with assert(!x->as_Loop()->is_loop_nest_inner_loop()) failed: loop was transformed
- Resolved
-
JDK-8263189 C2: assert(!had_error) failed: bad dominance
- Closed
-
JDK-8298851 C2: ConvL2I nodes should not be split through phis
- Closed
-
JDK-8336701 Wrong Output of Program Using JDK21-Release Version - 2
- Closed
-
JDK-8271203 C2: assert(iff->Opcode() == Op_If || iff->Opcode() == Op_CountedLoopEnd || iff->Opcode() == Op_RangeCheck) failed: Check this code when new subtype is added
- Resolved
-
JDK-8275854 C2: assert(stride_con != 0) failed: missed some peephole opt
- Resolved
-
JDK-8277906 Incorrect type for IV phi of long counted loops after CCP
- Resolved
-
JDK-8278790 Inner loop of long loop nest runs for too few iterations
- Resolved
-
JDK-8331575 C2: crash when ConvL2I is split thru phi at LongCountedLoop
- Resolved
-
JDK-8336702 C2 compilation fails with "all memory state should have been processed" assert
- Resolved
-
JDK-8341009 Inconsistent Output Results Under Default JIT Configuration
- Closed
-
JDK-8223051 support loops with long (64b) trip counts
- Resolved