This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: RFA: DSE replace_read revisited
http://gcc.gnu.org/ml/gcc-patches/2007-10/msg01667.html
Do you think it's OK
Except for using gen_lowpart_no_emit instead of gen_lowpart_common, yes.
BTW, do you know the circumstances under which you get a subreg/s/v? It
seems like dead code to me and the attached patch bootstraps.
, and safe enough under the circumstances?
Probably, though a small C test case would help judging its importance, too.
Paolo
Index: gcc-test/peak-gcc-src/gcc/rtl.h
===================================================================
--- gcc-test/peak-gcc-src/gcc/rtl.h (revision 129768)
+++ gcc-test/peak-gcc-src/gcc/rtl.h (working copy)
@@ -1085,7 +1085,7 @@ extern bool truncated_to_mode (enum mach
do { \
rtx const _rtx = RTL_FLAG_CHECK1("SUBREG_PROMOTED_UNSIGNED_SET", (RTX), SUBREG); \
if ((VAL) < 0) \
- _rtx->volatil = 1; \
+ gcc_unreachable (); \
else { \
_rtx->volatil = 0; \
_rtx->unchanging = (VAL); \
@@ -1093,7 +1093,7 @@ do { \
} while (0)
#define SUBREG_PROMOTED_UNSIGNED_P(RTX) \
((RTL_FLAG_CHECK1("SUBREG_PROMOTED_UNSIGNED_P", (RTX), SUBREG)->volatil) \
- ? -1 : (RTX)->unchanging)
+ ? (gcc_unreachable(), -1) : (RTX)->unchanging)
/* Access various components of an ASM_OPERANDS rtx. */