r127991 - in /trunk/gcc: ChangeLog optabs.c

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Aug 31 14:10:00 GMT 2007


Author: rsandifo
Date: Fri Aug 31 14:10:35 2007
New Revision: 127991

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=127991
Log:
gcc/
	* optabs.c (shift_optab_p, commutative_optab_p): New functions,
	split out from expand_binop.
	(avoid_expensive_constant): New function.
	(expand_binop_directly): Remove commutative_op argument and
	call cummutative_optab_p instead.  Do not change op0 or op1
	when swapping xop0 and xop1.  Apply avoid_expensive_constant
	to each argument after potential swapping.  Enforce the
	canonical order of commutative operands.
	(expand_binop): Use shift_optab_p and commutative_optab_p.
	Update the calls to expand_binop_directly.  Only force constants
	into registers when widening an operation.  Only swap operands
	once a direct expansion has been rejected.
	(expand_twoval_binop): Only force constants into registers when
	using a direct expansion.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/optabs.c



More information about the Gcc-cvs mailing list