diff options
author | Jeff Law <law@gcc.gnu.org> | 1998-11-25 03:31:24 -0700 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 1998-11-25 03:31:24 -0700 |
commit | f1db357664e1d61d7bdeed3ccc3785a3717ad33d (patch) | |
tree | d0cecb570037e9dbf06589bd204c4fdd20ab6057 /gcc/emit-rtl.c | |
parent | 6edfbe4c583ba93e988738ff72e9240796a8a357 (diff) | |
download | gcc-f1db357664e1d61d7bdeed3ccc3785a3717ad33d.zip gcc-f1db357664e1d61d7bdeed3ccc3785a3717ad33d.tar.gz gcc-f1db357664e1d61d7bdeed3ccc3785a3717ad33d.tar.bz2 |
toplev.c (no_new_pseudos): Define.
* toplev.c (no_new_pseudos): Define.
(rest_of_compilation): Set no_new_pseudos as needed.
* emit-rtl.c (gen_reg_rtx): Abort if we try to create a new pseudo
if no_new_pseudos is set.
* rtl.h (no_new_pseudos): Declare it.
* reload1.c (reload): Update comments.
* md.texi: Corresponding changes.
* reload1.c (reg_used_in_insn): Renamed from reg_used_by_pseudo.
(choose_reload_regs): Rename it here as well. When computing it,
also merge in used hardregs.
From-SVN: r23855
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r-- | gcc/emit-rtl.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c index a8bbfe4..9a19de1 100644 --- a/gcc/emit-rtl.c +++ b/gcc/emit-rtl.c @@ -505,11 +505,9 @@ gen_reg_rtx (mode) { register rtx val; - /* Don't let anything called by or after reload create new registers - (actually, registers can't be created after flow, but this is a good - approximation). */ - - if (reload_in_progress || reload_completed) + /* Don't let anything called after initial flow analysis create new + registers. */ + if (no_new_pseudos) abort (); if (GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT |