match.pd: Use single_use more
Richard Biener
rguenther@suse.de
Thu Jun 11 10:38:00 GMT 2015
On Thu, 11 Jun 2015, Marek Polacek wrote:
> A cleanup patch to make the code more readable.
>
> Bootstrapped/regtested on x86_64-linux, ok for trunk?
Ok.
Thanks,
Richard.
> 2015-06-11 Marek Polacek <polacek@redhat.com>
>
> * match.pd: Use single_use throughout.
>
> diff --git gcc/match.pd gcc/match.pd
> index 48358a8..33fa717 100644
> --- gcc/match.pd
> +++ gcc/match.pd
> @@ -301,7 +301,7 @@ along with GCC; see the file COPYING3. If not see
> /* x + (x & 1) -> (x + 1) & ~1 */
> (simplify
> (plus:c @0 (bit_and@2 @0 integer_onep@1))
> - (if (TREE_CODE (@2) != SSA_NAME || has_single_use (@2))
> + (if (single_use (@2))
> (bit_and (plus @0 @1) (bit_not @1))))
>
> /* x & ~(x & y) -> x & ~y */
> @@ -309,7 +309,7 @@ along with GCC; see the file COPYING3. If not see
> (for bitop (bit_and bit_ior)
> (simplify
> (bitop:c @0 (bit_not (bitop:c@2 @0 @1)))
> - (if (TREE_CODE (@2) != SSA_NAME || has_single_use (@2))
> + (if (single_use (@2))
> (bitop @0 (bit_not @1)))))
>
> /* (x | y) & ~x -> y & ~x */
> @@ -449,15 +449,14 @@ along with GCC; see the file COPYING3. If not see
> /* (x & ~m) | (y & m) -> ((x ^ y) & m) ^ x */
> (simplify
> (bit_ior:c (bit_and:c@3 @0 (bit_not @2)) (bit_and:c@4 @1 @2))
> - (if ((TREE_CODE (@3) != SSA_NAME || has_single_use (@3))
> - && (TREE_CODE (@4) != SSA_NAME || has_single_use (@4)))
> + (if (single_use (@3) && single_use (@4))
> (bit_xor (bit_and (bit_xor @0 @1) @2) @0)))
>
>
> /* Associate (p +p off1) +p off2 as (p +p (off1 + off2)). */
> (simplify
> (pointer_plus (pointer_plus@2 @0 @1) @3)
> - (if (TREE_CODE (@2) != SSA_NAME || has_single_use (@2))
> + (if (single_use (@2))
> (pointer_plus @0 (plus @1 @3))))
>
> /* Pattern match
>
> Marek
>
>
--
Richard Biener <rguenther@suse.de>
SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Dilip Upmanyu, Graham Norton, HRB 21284 (AG Nuernberg)
More information about the Gcc-patches
mailing list