aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>2002-05-17 15:46:22 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-05-17 15:46:22 -0700
commit1f8c3c5b318baaed878810dcdcc0a715ca8d2b7e (patch)
treec5ae8480d92cfb9bbf49e92a25cde20346423a8b /gcc
parent4664f4c40f8ff0d762f9655297fddcb9a885f3fc (diff)
downloadgcc-1f8c3c5b318baaed878810dcdcc0a715ca8d2b7e.zip
gcc-1f8c3c5b318baaed878810dcdcc0a715ca8d2b7e.tar.gz
gcc-1f8c3c5b318baaed878810dcdcc0a715ca8d2b7e.tar.bz2
expr.c (init_expr_once): Don't use start/end_sequence.
* 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. From-SVN: r53572
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/expr.c9
-rw-r--r--gcc/toplev.c2
3 files changed, 11 insertions, 7 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a104bad..58d851b 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 0b741c6..bc0b225 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 9fb8813..83cdc57 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);