Lines Matching refs:lrg

442 static void lower_pressure( LRG *lrg, uint where, Block *b, uint *pressure, uint *hrp_index ) {
443 if (lrg->mask().is_UP() && lrg->mask_size()) {
444 if (lrg->_is_float || lrg->_is_vector) {
445 pressure[1] -= lrg->reg_pressure();
455 } else if( lrg->mask().overlap(*Matcher::idealreg2regmask[Op_RegI]) ) {
456 pressure[0] -= lrg->reg_pressure();
523 LRG &lrg = lrgs(lidx);
524 lrg._area += cost;
526 if (lrg.mask().is_UP() && lrg.mask_size()) {
527 if (lrg._is_float || lrg._is_vector) { // Count float pressure
528 pressure[1] += lrg.reg_pressure();
535 pressure[0] += lrg.reg_pressure();
692 LRG &lrg = lrgs(l);
695 if( lrg._must_spill ) continue;
697 RegMask old = lrg.mask();
698 uint old_size = lrg.mask_size();
702 assert(!lrg._is_vector || !lrg._fat_proj, "sanity");
703 if (lrg.num_regs() > 1 && !lrg._fat_proj) {
706 r2mask.smear_to_sets(lrg.num_regs());
708 lrg.SUBTRACT( r2mask );
709 lrg.compute_set_mask_size();
711 lrg.SUBTRACT( rmask );
712 lrg.compute_set_mask_size();
714 if( lrg.mask().Member(r_reg) ) {
715 lrg.Remove(r_reg);
716 lrg.set_mask_size(lrg.mask().is_AllStack() ? 65535:old_size-1);
720 if( lrg.not_free() ) {
723 lrg.set_mask( old );
724 lrg.set_mask_size(old_size);
726 lrg._must_spill = 1;
727 lrg.set_reg(OptoReg::Name(LRG::SPILL_REG));
758 LRG &lrg = lrgs(x);
763 lrg._cost += (def->rematerialize() ? b->_freq : (b->_freq + b->_freq));
767 lrg._area += cost;
769 if (lrg.mask().is_UP() && lrg.mask_size()) {
770 if (lrg._is_float || lrg._is_vector) {
771 pressure[1] += lrg.reg_pressure();
776 } else if( lrg.mask().overlap(*Matcher::idealreg2regmask[Op_RegI]) ) {
777 pressure[0] += lrg.reg_pressure();
787 assert(!(lrg._area < 0.0), "negative spill area" );