aboutsummaryrefslogtreecommitdiff
path: root/gcc/reload.h
diff options
context:
space:
mode:
authorJeffrey A Law <law@cygnus.com>1998-10-27 23:19:31 +0000
committerJeff Law <law@gcc.gnu.org>1998-10-27 16:19:31 -0700
commit0304f7877c4c65d129ea00cc2964a0998b9031ce (patch)
treec70a7a8b1e67a64ee37c4cbef242efc253b9a280 /gcc/reload.h
parentbd09c530b225d9d838c63842e605aafe12a817e3 (diff)
downloadgcc-0304f7877c4c65d129ea00cc2964a0998b9031ce.zip
gcc-0304f7877c4c65d129ea00cc2964a0998b9031ce.tar.gz
gcc-0304f7877c4c65d129ea00cc2964a0998b9031ce.tar.bz2
final.c (cleanup_subreg_operands): New function.
* final.c (cleanup_subreg_operands): New function. (final_scan_insn): Use it. (alter_subreg): Clear the "used" field when we turn a SUBREG into a REG. * reload1.c (reload): Delete CLOBBER insns and also cleanup SUBREG operands when reload has finished. * reload.h (cleanup_subreg_operands): Declare.. * flow.c (life_analysis_1): No longer delete CLOBBER insns after reload. Handled in reload itself. Should fix sh, sparc and probably other problems with post-reload life pass and scheduling interactions. From-SVN: r23377
Diffstat (limited to 'gcc/reload.h')
-rw-r--r--gcc/reload.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/reload.h b/gcc/reload.h
index 5606a4e..968d312 100644
--- a/gcc/reload.h
+++ b/gcc/reload.h
@@ -339,3 +339,6 @@ extern void setup_save_areas PROTO((void));
/* Find the places where hard regs are live across calls and save them. */
extern void save_call_clobbered_regs PROTO((void));
+
+/* Replace (subreg (reg)) with the appropriate (reg) for any operands. */
+extern void cleanup_subreg_operands PROTO ((rtx));