This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Regclass tweak 5
- To: egcs-patches at egcs dot cygnus dot com, rth at cygnus dot com
- Subject: Regclass tweak 5
- From: Jan Hubicka <hubicka at atrey dot karlin dot mff dot cuni dot cz>
- Date: Tue, 23 Nov 1999 16:02:30 +0100
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);
}