diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-17 22:46:22 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-05-17 22:46:22 +0000 |
commit | 7a5749cc5ecec8d3b41689bc1e5d6086a8f2d5da (patch) | |
tree | c5ae8480d92cfb9bbf49e92a25cde20346423a8b | |
parent | adf9e2e60bd5d73d15450f4d91658f8d9c7b1da6 (diff) | |
download | gcc-7a5749cc5ecec8d3b41689bc1e5d6086a8f2d5da.tar.gz |
* expr.c (init_expr_once): Don't use start/end_sequence.
Use rtx_alloc instead of emit_insn.
* toplev.c (lang_dependent_init): Run init_expr_once here ...
(lang_independent_init): ... not here.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@53572 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/expr.c | 9 | ||||
-rw-r--r-- | gcc/toplev.c | 2 |
3 files changed, 11 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a104bad8afc..58d851bd092 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2002-05-17 Richard Henderson <rth@redhat.com> + + * expr.c (init_expr_once): Don't use start/end_sequence. + Use rtx_alloc instead of emit_insn. + * toplev.c (lang_dependent_init): Run init_expr_once here ... + (lang_independent_init): ... not here. + 2002-05-17 Jason Thorpe <thorpej@wasabisystems.com> * config/sh/lib1funcs.asm (GLOBAL): Use __USER_LABEL_PREFIX__. diff --git a/gcc/expr.c b/gcc/expr.c index 0b741c65d03..bc0b225704b 100644 --- a/gcc/expr.c +++ b/gcc/expr.c @@ -214,16 +214,15 @@ init_expr_once () int num_clobbers; rtx mem, mem1; - start_sequence (); - /* Try indexing by frame ptr and try by stack ptr. It is known that on the Convex the stack ptr isn't a valid index. With luck, one or the other is valid on any machine. */ mem = gen_rtx_MEM (VOIDmode, stack_pointer_rtx); mem1 = gen_rtx_MEM (VOIDmode, frame_pointer_rtx); - insn = emit_insn (gen_rtx_SET (0, NULL_RTX, NULL_RTX)); - pat = PATTERN (insn); + insn = rtx_alloc (INSN); + pat = gen_rtx_SET (0, NULL_RTX, NULL_RTX); + PATTERN (insn) = pat; for (mode = VOIDmode; (int) mode < NUM_MACHINE_MODES; mode = (enum machine_mode) ((int) mode + 1)) @@ -291,8 +290,6 @@ init_expr_once () float_extend_from_mem[mode][srcmode] = true; } } - - end_sequence (); } /* This is run at the start of compiling a function. */ diff --git a/gcc/toplev.c b/gcc/toplev.c index 9fb8813191a..83cdc5799b1 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -5020,7 +5020,6 @@ lang_independent_init () provide a dummy function context for them. */ init_dummy_function_start (); init_expmed (); - init_expr_once (); if (flag_caller_saves) init_caller_save (); expand_dummy_function_end (); @@ -5051,6 +5050,7 @@ lang_dependent_init (name) front end is initialized. */ init_eh (); init_optabs (); + init_expr_once (); /* Put an entry on the input file stack for the main input file. */ push_srcloc (input_filename, 0); |