diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-04-24 21:02:21 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2007-04-24 21:02:21 +0000 |
commit | 1965dd3a1f621d899e250ddc84d0d83ba1ada69a (patch) | |
tree | b759a6f1e6fa2ef7f2526805e022dc7441d222d9 | |
parent | 438d798f1231f01c92211c76df1cc3b4cf6904a4 (diff) | |
download | gcc-1965dd3a1f621d899e250ddc84d0d83ba1ada69a.zip gcc-1965dd3a1f621d899e250ddc84d0d83ba1ada69a.tar.gz gcc-1965dd3a1f621d899e250ddc84d0d83ba1ada69a.tar.bz2 |
* flow.c (elim_reg_cond): Handle a comparison of a subreg.
From-SVN: r124122
-rw-r--r-- | gcc/ChangeLog | 9 | ||||
-rw-r--r-- | gcc/flow.c | 8 |
2 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index e744b9f..0826135 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,10 +1,15 @@ +2007-04-24 Ian Lance Taylor <iant@google.com> + + * flow.c (elim_reg_cond): Handle a comparison of a subreg. + 2007-04-24 Simon Martin <simartin@users.sourceforge.net> PR diagnostic/25923 * tree-pass.h (TDF_DIAGNOSTIC): New dump control to specify that a diagnostic message is being built. - * tree-pretty-print.c (dump_generic_node): Only write the formatted text - into BUFFER's stream if we are not building a diagnostic message. + * tree-pretty-print.c (dump_generic_node): Only write the + formatted text into BUFFER's stream if we are not building a + diagnostic message. * toplev.c (default_tree_printer): Pass TDF_DIAGNOSTIC to dump_generic_node. * Makefile.in (toplev.o): Depend on tree-pass.h. @@ -3437,7 +3437,13 @@ elim_reg_cond (rtx x, unsigned int regno) if (COMPARISON_P (x)) { - if (REGNO (XEXP (x, 0)) == regno) + rtx reg; + + reg = XEXP (x, 0); + if (GET_CODE (reg) == SUBREG) + reg = SUBREG_REG (reg); + gcc_assert (REG_P (reg)); + if (REGNO (reg) == regno) return const0_rtx; return x; } |