This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Regclass tweak 5


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]