Regclass tweak 5

Jan Hubicka hubicka@atrey.karlin.mff.cuni.cz
Tue Nov 23 07:02:00 GMT 1999


Hi
With this one, the target macro for tunning costs and minor tweaks to i386.h I get
now consistent speedups in all benchmarks I've tested (byte, our benchmark suite and
XaoS) after my prioritizing changes.

Tue Nov 23 16:01:24 MET 1999  Jan Hubicka  <hubicka@freesoft.cz>

	* regclass.c (scan_one_insn): Do not process single registers as address
	operands.

*** regclass.c.old	Tue Nov 23 15:42:12 1999
--- regclass.c	Tue Nov 23 15:58:28 1999
*************** scan_one_insn (insn, pass)
*** 1595,1601 ****
        if (GET_CODE (recog_data.operand[i]) == MEM)
  	record_address_regs (XEXP (recog_data.operand[i], 0),
  			     BASE_REG_CLASS, loop_cost * 2);
!       else if (constraints[i][0] == 'p')
  	record_address_regs (recog_data.operand[i],
  			     BASE_REG_CLASS, loop_cost * 2);
      }
--- 1595,1603 ----
        if (GET_CODE (recog_data.operand[i]) == MEM)
  	record_address_regs (XEXP (recog_data.operand[i], 0),
  			     BASE_REG_CLASS, loop_cost * 2);
!       /* Do process the registers, because these will be handled later by
! 	 record_reg_classes.  */
!       else if (constraints[i][0] == 'p' && !REG_P (recog_data.operand[i]))
  	record_address_regs (recog_data.operand[i],
  			     BASE_REG_CLASS, loop_cost * 2);
      }


More information about the Gcc-patches mailing list