src/hotspot/share/opto/reg_split.cpp
changeset 53752 e44c436f2447
parent 51078 fc6cfe40e32a
child 59081 95a99e617f28
equal deleted inserted replaced
53751:22c78a512937 53752:e44c436f2447
  1190         if( !n->rematerialize() &&
  1190         if( !n->rematerialize() &&
  1191             (((dmask.is_bound(ireg) || (!is_vect && dmask.is_misaligned_pair())) &&
  1191             (((dmask.is_bound(ireg) || (!is_vect && dmask.is_misaligned_pair())) &&
  1192               (deflrg._direct_conflict || deflrg._must_spill)) ||
  1192               (deflrg._direct_conflict || deflrg._must_spill)) ||
  1193              // Check for LRG being up in a register and we are inside a high
  1193              // Check for LRG being up in a register and we are inside a high
  1194              // pressure area.  Spill it down immediately.
  1194              // pressure area.  Spill it down immediately.
  1195              (defup && is_high_pressure(b,&deflrg,insidx))) ) {
  1195              (defup && is_high_pressure(b,&deflrg,insidx) && !n->is_SpillCopy())) ) {
  1196           assert( !n->rematerialize(), "" );
  1196           assert( !n->rematerialize(), "" );
  1197           assert( !n->is_SpillCopy(), "" );
       
  1198           // Do a split at the def site.
  1197           // Do a split at the def site.
  1199           maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx );
  1198           maxlrg = split_DEF( n, b, insidx, maxlrg, Reachblock, debug_defs, splits, slidx );
  1200           // If it wasn't split bail
  1199           // If it wasn't split bail
  1201           if (!maxlrg) {
  1200           if (!maxlrg) {
  1202             return 0;
  1201             return 0;