Mercurial > hg > graal-compiler
comparison src/share/vm/opto/loopTransform.cpp @ 39:76256d272075
6667612: (Escape Analysis) disable loop cloning if it has a scalar replaceable allocation
Summary: Cloning an allocation will not allow scalar replacement since memory operations could not be associated with one allocation.
Reviewed-by: rasbold
author | kvn |
---|---|
date | Thu, 06 Mar 2008 10:53:33 -0800 |
parents | a61af66fc99e |
children | ba764ed4b6f2 |
comparison
equal
deleted
inserted
replaced
38:b789bcaf2dd9 | 39:76256d272075 |
---|---|
1712 | 1712 |
1713 | 1713 |
1714 // Gate unrolling, RCE and peeling efforts. | 1714 // Gate unrolling, RCE and peeling efforts. |
1715 if( !_child && // If not an inner loop, do not split | 1715 if( !_child && // If not an inner loop, do not split |
1716 !_irreducible && | 1716 !_irreducible && |
1717 _allow_optimizations && | |
1717 !tail()->is_top() ) { // Also ignore the occasional dead backedge | 1718 !tail()->is_top() ) { // Also ignore the occasional dead backedge |
1718 if (!_has_call) { | 1719 if (!_has_call) { |
1719 iteration_split_impl( phase, old_new ); | 1720 iteration_split_impl( phase, old_new ); |
1720 } else if (policy_unswitching(phase)) { | 1721 } else if (policy_unswitching(phase)) { |
1721 phase->do_unswitching(this, old_new); | 1722 phase->do_unswitching(this, old_new); |