This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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.  */
 

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]