diff options
author | DJ Delorie <dj@redhat.com> | 2012-08-09 20:45:29 -0400 |
---|---|---|
committer | DJ Delorie <dj@gcc.gnu.org> | 2012-08-09 20:45:29 -0400 |
commit | 1c6b1021266dc25184a1bcb381a255debe57dd68 (patch) | |
tree | 425717510a60f82cd8827e87b1a2e662e4741d27 /gcc | |
parent | 23459cbecdf506d5b96981a4dbfdb3bcda051689 (diff) | |
download | gcc-1c6b1021266dc25184a1bcb381a255debe57dd68.zip gcc-1c6b1021266dc25184a1bcb381a255debe57dd68.tar.gz gcc-1c6b1021266dc25184a1bcb381a255debe57dd68.tar.bz2 |
rl78.c (rl78_alloc_physical_registers): Check for SET before extracting SET_SRC.
* config/rl78/rl78.c (rl78_alloc_physical_registers): Check for
SET before extracting SET_SRC.
(rl78_remove_unused_sets): Check for REG before extractnig REGNO.
From-SVN: r190278
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/rl78/rl78.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b73c690..e978842 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2012-08-09 DJ Delorie <dj@redhat.com> + + * config/rl78/rl78.c (rl78_alloc_physical_registers): Check for + SET before extracting SET_SRC. + (rl78_remove_unused_sets): Check for REG before extractnig REGNO. + 2012-08-09 Oleg Endo <olegendo@gcc.gnu.org> PR target/54089 diff --git a/gcc/config/rl78/rl78.c b/gcc/config/rl78/rl78.c index 0bb48be..990c1bb 100644 --- a/gcc/config/rl78/rl78.c +++ b/gcc/config/rl78/rl78.c @@ -2217,7 +2217,8 @@ rl78_alloc_physical_registers (void) && GET_CODE (PATTERN (insn)) != CALL) continue; - if (GET_CODE (SET_SRC (PATTERN (insn))) == ASM_OPERANDS) + if (GET_CODE (PATTERN (insn)) == SET + && GET_CODE (SET_SRC (PATTERN (insn))) == ASM_OPERANDS) continue; valloc_method = get_attr_valloc (insn); @@ -2644,7 +2645,7 @@ rl78_remove_unused_sets (void) dest = SET_DEST (insn); - if (REGNO (dest) > 23) + if (GET_CODE (dest) != REG || REGNO (dest) > 23) continue; if (find_regno_note (insn, REG_UNUSED, REGNO (dest))) |