From c7926a824cfe7ee75d14440282d6d15d83dcd6f8 Mon Sep 17 00:00:00 2001 From: sayle Date: Thu, 23 Jan 2003 02:57:26 +0000 Subject: PR optimization/8423 * cse.c (fold_rtx): Only eliminate a CONSTANT_P_RTX to 1 when its argument is constant, or 0 if !flag_gcse. * simplify-rtx.c (simplify_rtx): Convert CONSTANT_P_RTX to 1 if it's argument is constant. * gcse.c (want_to_gcse_p): Ignore CONSTANT_P_RTX nodes. (hash_scan_set): Don't record CONSTANT_P_RTX expressions. (do_local_cprop): Don't propagate CONSTANT_P_RTX constants. * builtins.c (purge_builtin_constant_p): New function to force instantiation of any remaining CONSTANT_P_RTX nodes. * rtl.h (purge_builtin_constant_p): Prototype here. * toplev.c (rest_of_compilation): Invoke purge_builtin_constant_p pass after GCSE and before loop. (flag_gcse): No longer static. * flags.h (flag_gcse): Prototype here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@61642 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/rtl.h | 1 + 1 file changed, 1 insertion(+) (limited to 'gcc/rtl.h') diff --git a/gcc/rtl.h b/gcc/rtl.h index 2066b77daa0..ec448305d16 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -1346,6 +1346,7 @@ extern int ceil_log2 PARAMS ((unsigned HOST_WIDE_INT)); /* In builtins.c */ extern rtx expand_builtin_expect_jump PARAMS ((tree, rtx, rtx)); +extern void purge_builtin_constant_p PARAMS ((void)); /* In explow.c */ extern void set_stack_check_libfunc PARAMS ((rtx)); -- cgit v1.2.1