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: [PATCH] Fix PR69291, RTL if-conversion bug


On 02/10/2016 02:35 PM, Richard Biener wrote:

Index: gcc/ifcvt.c
===================================================================
--- gcc/ifcvt.c (revision 233262)
+++ gcc/ifcvt.c (working copy)
@@ -1274,7 +1274,8 @@ noce_try_store_flag_constants (struct no
        && CONST_INT_P (XEXP (a, 1))
        && CONST_INT_P (XEXP (b, 1))
        && rtx_equal_p (XEXP (a, 0), XEXP (b, 0))
-      && noce_operand_ok (XEXP (a, 0))
+      && (REG_P (XEXP (a, 0))
+         || ! reg_mentioned_p (if_info->x, XEXP (a, 0)))

I guess that would also work. Could maybe use a brief comment.


Bernd


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