diff mbox

[PATCH[2/n] Remove GENERIC stmt combining from SCCVN

Message ID alpine.LSU.2.11.1506260946510.26650@zhemvz.fhfr.qr
State New
Headers show

Commit Message

Richard Biener June 26, 2015, 7:47 a.m. UTC
On Thu, 25 Jun 2015, Richard Biener wrote:

> 
> This shows up in gcc.dg/tree-ssa/reassoc-13.c where the 'reassoc:'
> case in fold_binary happily handles floats if flag_associative_math.
> Thus here, too.
> 
> Bootstrap & regtest ongoing on x86_64-unknown-linux-gnu.

Applied with the additional

        * gfortran.dg/reassoc_3.f90: Adjust.



> Richard.
> 
> 2015-06-25  Richard Biener  <rguenther@suse.de>
> 
> 	* match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
> 
> Index: gcc/match.pd
> ===================================================================
> --- gcc/match.pd	(revision 224893)
> +++ gcc/match.pd	(working copy)
> @@ -561,9 +578,10 @@ (define_operator_list swapped_tcc_compar
>         && !TYPE_OVERFLOW_SANITIZED (type))
>     (convert @1)))
>  
> - /* We can't reassociate floating-point or fixed-point plus or minus
> -    because of saturation to +-Inf.  */
> - (if (!FLOAT_TYPE_P (type) && !FIXED_POINT_TYPE_P (type))
> + /* We can't reassociate floating-point unless -fassociative-math
> +    or fixed-point plus or minus because of saturation to +-Inf.  */
> + (if ((!FLOAT_TYPE_P (type) || flag_associative_math)
> +      && !FIXED_POINT_TYPE_P (type))
>  
>    /* Match patterns that allow contracting a plus-minus pair
>       irrespective of overflow issues.  */
> 
>
diff mbox

Patch

Index: gcc/testsuite/gfortran.dg/reassoc_3.f90
===================================================================
--- gcc/testsuite/gfortran.dg/reassoc_3.f90     (revision 224938)
+++ gcc/testsuite/gfortran.dg/reassoc_3.f90     (working copy)
@@ -14,5 +14,4 @@  function test(a)
 end
 
 ! { dg-final { scan-tree-dump "b = 5" "original" } }
-! { dg-final { scan-tree-dump "c_. = .a" "optimized" } }
-! { dg-final { scan-tree-dump "return c_.;" "optimized" } }
+! { dg-final { scan-tree-dump-times " = " 1 "optimized" } }