[PATCH] Fixup PR69291 fix

Richard Biener rguenther@suse.de
Tue Feb 16 10:50:00 GMT 2016


Bootstrapped and tested on x86_64-unknown-linux-gnu, applied.

Richard.

2016-02-16  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/69291
	* ifcvt.c (noce_try_store_flag_constants): Re-instantiate
	noce_operand_ok check.

Index: gcc/ifcvt.c
===================================================================
--- gcc/ifcvt.c	(revision 233443)
+++ gcc/ifcvt.c	(working copy)
@@ -1277,7 +1277,8 @@ noce_try_store_flag_constants (struct no
       /* Allow expressions that are not using the result or plain
          registers where we handle overlap below.  */
       && (REG_P (XEXP (a, 0))
-	  || ! reg_overlap_mentioned_p (if_info->x, XEXP (a, 0)))
+	  || (noce_operand_ok (XEXP (a, 0))
+	      && ! reg_overlap_mentioned_p (if_info->x, XEXP (a, 0))))
       && if_info->branch_cost >= 2)
     {
       common = XEXP (a, 0);



More information about the Gcc-patches mailing list