This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
match.pd: Use single_use more
- From: Marek Polacek <polacek at redhat dot com>
- To: GCC Patches <gcc-patches at gcc dot gnu dot org>, Richard Biener <rguenther at suse dot de>
- Date: Thu, 11 Jun 2015 12:00:45 +0200
- Subject: match.pd: Use single_use more
- Authentication-results: sourceware.org; auth=none
A cleanup patch to make the code more readable.
Bootstrapped/regtested on x86_64-linux, ok for trunk?
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