mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 17:14:41 +02:00
6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation. Reviewed-by: rasbold
This commit is contained in:
parent
bf7f5e1887
commit
277c3322f6
6 changed files with 20 additions and 3 deletions
|
@ -1714,6 +1714,7 @@ void IdealLoopTree::iteration_split( PhaseIdealLoop *phase, Node_List &old_new )
|
|||
// Gate unrolling, RCE and peeling efforts.
|
||||
if( !_child && // If not an inner loop, do not split
|
||||
!_irreducible &&
|
||||
_allow_optimizations &&
|
||||
!tail()->is_top() ) { // Also ignore the occasional dead backedge
|
||||
if (!_has_call) {
|
||||
iteration_split_impl( phase, old_new );
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue