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]
Other format: [Raw text]

[PATCH] Speed up CONSTANT_P (1.3% on bootstrap)


This one introduces a new RTL class C for constant objects, thus speeding up
CONSTANT_P.  Then it goes over all places that were checking the class
to be 'o' and converts it to use OBJECT_P, a new macro.

user time w/o  patch:     17m39s
user time with patch:     17m25s
system time in both cases: 0m48s

That's 1.3% on a bootstrap.

Ok for mainline?

Paolo

2004-01-31  Paolo Bonzini  <bonzini@gnu.org>

	* alias.c (find_symbolic_term): Use OBJECT_P.
	* combine.c (find_split_point, subst,
	combine_simplify_rtx): Likewise.
	* reload.c (find_reloads): Likewise.
	* reload1.c (gen_reload): Likewise.
	* cse.c (fold_rtx): Treat class 'C' as 'o'.
	* ra-debug.c (ra_print_rtx): Likewise.
	* rtl.def (CONST_INT, CONST_DOUBLE, CONST,
	LABEL_REF, SYMBOL_REF, HIGH): Move to class
	'C'.
	* rtl.h (OBJECT_P): New macro.
	(CONSTANT_P): Check class of rtx first.
	* rtlanal.c (commutative_operand_precedence):
	* config/ia64/ia64.h (PREFERRED_RELOAD_CLASS):
	Use OBJECT_P.
	* config/pa/pa.c (hppa_legitimize_address):
	Use OBJECT_P.

Attachment: gcc-object-p.patch
Description: Text document


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