summaryrefslogtreecommitdiff
path: root/gcc/emit-rtl.c
diff options
context:
space:
mode:
authorlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-16 19:31:01 +0000
committerlaw <law@138bc75d-0d04-0410-961f-82ee72b054a4>2002-06-16 19:31:01 +0000
commit32b53d838c88b027e03b878187a8e309d5eb12ba (patch)
tree102580f2d5e7788ed7a5e7e98d0859ccc4f667a8 /gcc/emit-rtl.c
parent07ebd0918cf25bb1c655059560f0e61c126ce554 (diff)
downloadgcc-32b53d838c88b027e03b878187a8e309d5eb12ba.tar.gz
* emit-rtl.c (gen_rtx_REG): Temporarily turn off automatic
sharing of hard registers. * toplev.c (rest_of_compilation): Remove redundant conditional. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@54672 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/emit-rtl.c')
-rw-r--r--gcc/emit-rtl.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/emit-rtl.c b/gcc/emit-rtl.c
index 5186c854dc3..225b8c89332 100644
--- a/gcc/emit-rtl.c
+++ b/gcc/emit-rtl.c
@@ -533,14 +533,21 @@ gen_rtx_REG (mode, regno)
return stack_pointer_rtx;
}
+#if 0
/* If the per-function register table has been set up, try to re-use
- an existing entry in that table to avoid useless generation of RTL. */
+ an existing entry in that table to avoid useless generation of RTL.
+
+ This code is disabled for now until we can fix the various backends
+ which depend on having non-shared hard registers in some cases. Long
+ term we want to re-enable this code as it can significantly cut down
+ on the amount of useless RTL that gets generated. */
if (cfun
&& cfun->emit
&& regno_reg_rtx
&& regno < FIRST_PSEUDO_REGISTER
&& reg_raw_mode[regno] == mode)
return regno_reg_rtx[regno];
+#endif
return gen_raw_REG (mode, regno);
}