aboutsummaryrefslogtreecommitdiff
path: root/gcc/flow.c
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2006-12-20 16:25:00 +0000
committerJoseph Myers <jsm28@gcc.gnu.org>2006-12-20 16:25:00 +0000
commitf1f4e530a59db86e577e9e83871626c782e33585 (patch)
treee5723b345a12a4d1072befdb9b246a6a0ddc5270 /gcc/flow.c
parentee8c1b05d53213625231c9df895501823b19d44c (diff)
downloadgcc-f1f4e530a59db86e577e9e83871626c782e33585.zip
gcc-f1f4e530a59db86e577e9e83871626c782e33585.tar.gz
gcc-f1f4e530a59db86e577e9e83871626c782e33585.tar.bz2
rtlanal.c (struct subreg_info, [...]): New.
* rtlanal.c (struct subreg_info, subreg_get_info, subreg_nregs): New. (subreg_regno_offset, subreg_offset_representable_p): Change to wrappers about subreg_get_info. (refers_to_regno_p, reg_overlap_mentioned_p): Use subreg_nregs. * rtl.h (subreg_nregs): Declare. * doc/tm.texi (HARD_REGNO_NREGS_HAS_PADDING): Update to refer to subreg_get_info. * caller-save.c (mark_set_regs, add_stored_regs): Use subreg_nregs. * df-scan.c (df_ref_record): Use subreg_nregs. * flow.c (mark_set_1): Use subreg_nregs. * postreload.c (move2add_note_store): Use subreg_nregs. * reload.c (decompose, refers_to_regno_for_reload_p, reg_overlap_mentioned_for_reload_p): Use subreg_nregs. * resource.c (update_live_status, mark_referenced_resources, mark_set_resources): Use subreg_nregs. From-SVN: r120076
Diffstat (limited to 'gcc/flow.c')
-rw-r--r--gcc/flow.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/gcc/flow.c b/gcc/flow.c
index 2b5d303..1da935b 100644
--- a/gcc/flow.c
+++ b/gcc/flow.c
@@ -2791,8 +2791,7 @@ mark_set_1 (struct propagate_block_info *pbi, enum rtx_code code, rtx reg, rtx c
regno_first += subreg_regno_offset (regno_first, inner_mode,
SUBREG_BYTE (reg),
outer_mode);
- regno_last = (regno_first
- + hard_regno_nregs[regno_first][outer_mode] - 1);
+ regno_last = regno_first + subreg_nregs (reg) - 1;
/* Since we've just adjusted the register number ranges, make
sure REG matches. Otherwise some_was_live will be clear