aboutsummaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorJeff Law <law@gcc.gnu.org>1998-11-25 03:31:24 -0700
committerJeff Law <law@gcc.gnu.org>1998-11-25 03:31:24 -0700
commitf1db357664e1d61d7bdeed3ccc3785a3717ad33d (patch)
treed0cecb570037e9dbf06589bd204c4fdd20ab6057 /gcc/emit-rtl.c
parent6edfbe4c583ba93e988738ff72e9240796a8a357 (diff)
downloadgcc-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.c8
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