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);