summaryrefslogtreecommitdiff
path: root/gcc/function.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 16:32:45 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-10 16:32:45 +0000
commit0c7f52420edf408f531d6a18f952440eaf74a05f (patch)
treeb6731a46c8b99043d03fbda9812dc896be80aba5 /gcc/function.c
parent06662b367c12ed91cdc69c699dfb4c927f5f8543 (diff)
downloadgcc-0c7f52420edf408f531d6a18f952440eaf74a05f.tar.gz
* alias.c (static_reg_base_value): New to hold RTL for
items allocated once per function for the aliasing code. (init_alias_once_per_function): Initialize static_reg_base_value. (init_alias_analysis): Avoid throw-away allocations of RTL by using pre-computed values in static_reg_base_value. * function.c (prepare_function_start): Call init_alias_once_per_function appropriately. * rtl.h (init_alias_once_per_function): Declare. * caller-save (init_caller_save): Restructure slightly to avoid lots of silly RTL generation. * expr.c (init_expr_once): Likewise. * reload1.c (reload_cse_regs_1): Allocate throw-away register RTL object here. Pass it into children. (reload_cse_simplify_operands): Use passed-in register RTL object. (reload_cse_simplify): Pass through throw-away register RTL object. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54442 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/function.c')
-rw-r--r--gcc/function.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/function.c b/gcc/function.c
index d1f4e89d5c2..96c25636261 100644
--- a/gcc/function.c
+++ b/gcc/function.c
@@ -6208,6 +6208,9 @@ prepare_function_start ()
/* Initialize the RTL mechanism. */
init_emit ();
+ /* Do per-function initialization of the alias analyzer. */
+ init_alias_once_per_function ();
+
/* Initialize the queue of pending postincrement and postdecrements,
and some other info in expr.c. */
init_expr ();