Re: ‘gimple_match_range_of_expr ’ was not declared in this scope
Sam James via Gcc <[email protected]> Sun, 05 Jul 2026 00:49:03 +0100
| Newsgroups | gmane.comp.gcc.devel |
|---|---|
| Organization | Gentoo |
| Message-ID | <[email protected]> |
Kael Andrew Franco via Gcc <[email protected]> writes: > While working on PR126085, i keep running into this problem: > > ‘gimple_match_range_of_expr’ was not declared in this scope. > This is giving me headache, what is the problem since I can't figure it out? > > git diff: > > diff --git a/gcc/match.pd b/gcc/match.pd > index 7da15cc4cdc..2caf9139a39 100644 > --- a/gcc/match.pd > +++ b/gcc/match.pd > @@ -3804,10 +3804,10 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > (if (rescode == rcmp) > (rcmp @0 @1))))))))) > > -/* (type)([0,1]@a != 0) -> (type)a > - (type)([0,1]@a == 1) -> (type)a > - (type)([0,1]@a == 0) -> a ^ 1 > - (type)([0,1]@a != 1) -> a ^ 1. */ > +/* (type)([CST,CST + 1]@a != CST) -> (type)(a - CST) > + (type)([CST - 1,CST]@a == CST) -> (type)(a - (CST - 1)) > + (type)([CST,CST + 1]@a == CST) -> (a - CST) ^ 1 > + (type)([CST - 1,CST]@a != CST) -> (a - (CST - 1)) ^ 1. */ > (for eqne (eq ne) > (simplify > (convert (eqne zero_one_valued_p@0 INTEGER_CST@1)) > @@ -3819,6 +3819,23 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT) > there is no type change. */ > (if (types_match (type, TREE_TYPE (@0))) > (bit_xor @0 { build_one_cst (type); } )))))) > +#ifdef GIMPLE You want #if GIMPLE instead. See genmatch: cpp_define (r, gimple ? "GIMPLE=1" : "GENERIC=1"); cpp_define (r, gimple ? "GENERIC=0" : "GIMPLE=0"); Yes, there's already one oher #ifdef GIMPLE in there but it's wrong too and should be fixed. > +(for eqne (eq ne) > + (simplify > + (convert (eqne @0 INTEGER_CST@1)) > + (with { > + int_range_max vr0; > + int cond = 0; > + if (gimple_match_range_of_expr (vr0, @0)) > + cond = 1; > + } > + (if (cond == 2) > + @0 > + ) > + ) > +) > +) > +#endif > > /* ((a ^ b) & c) cmp d || a != b --> (0 cmp d || a != b). */ > (for cmp (simple_comparison) sam
signature.asc
(application/pgp-signature, 418 B)
-----BEGIN PGP SIGNATURE----- iQEBBAEWCgCpFiEEJaa7iN2bdkxrVUHCc4QJ9SDfkZAFAmpJm+8bFIAAAAAABAAO bWFudTIsMi41KzEuMTIsMiwyXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25z Lm9wZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQyNUE2QkI4OEREOUI3NjRDNkI1NTQx QzI3Mzg0MDlGNTIwREY5MTkwDxxzYW1AZ2VudG9vLm9yZwAKCRBzhAn1IN+RkKAc AP9DclcfmORVYiNBkqEpKqnS+D7vFqgpHeKw0xL5ItMTdwEA8gm9IrH2MdQjXkT/ MVvVtUn8X6aUcKATNZbuqo0tIgk= =jAlZ -----END PGP SIGNATURE-----