aboutsummaryrefslogtreecommitdiff
path: root/gcc/match.pd
AgeCommit message (Expand)AuthorFilesLines
2021-01-14match.pd: Optimize ~(X >> Y) to ~X >> Y if ~X can be simplified [PR96688]Jakub Jelinek1-0/+12
2021-01-13match.pd: Fold (~X | C) ^ D into (X | C) ^ (~D ^ C) if (~D ^ C) can be simpli...Jakub Jelinek1-1/+11
2021-01-13tree-optimization/92645 - avoid harmful early BIT_FIELD_REF canonicalizationRichard Biener1-0/+2
2021-01-05match.pd: Improve (A / (1 << B)) -> (A >> B) optimization [PR96930]Jakub Jelinek1-2/+6
2021-01-04match.pd: Fold x == ~x to false [PR96782]Jakub Jelinek1-0/+7
2021-01-04Update copyright years.Jakub Jelinek1-1/+1
2020-12-31match.pd: Add clz(X) == 0 -> (int)X < 0 etc. simpifications [PR94802]Jakub Jelinek1-0/+33
2020-12-31match.pd: Add (-(X < 0) | 1) * X -> abs (X) etc. simplifications [PR94785]Jakub Jelinek1-0/+16
2020-12-15match.pd: Optimize X / bool_range_Y to X [PR96094]Jakub Jelinek1-4/+9
2020-12-12match.pd: Add ~(X - Y) -> ~X + Y simplification [PR96685]Jakub Jelinek1-0/+28
2020-12-06match.pd: Improve conditional_replacement for x ? 0 : -1 [PR796232]Jakub Jelinek1-0/+10
2020-12-01Optimize max/min pattern with comparisonEugene Rozenfeld1-0/+10
2020-11-30Optimize or+and+or pattern to and+orEugene Rozenfeld1-0/+5
2020-11-27tree-ssanames: Allow non-SSA_NAME arguments to get_range_infoJakub Jelinek1-36/+24
2020-11-26match.pd: Use ranges to optimize some x * y / y to x [PR97997]Jakub Jelinek1-3/+42
2020-11-26match.pd: Avoid ICE with shifts [PR97979]Jakub Jelinek1-1/+2
2020-11-24middle-end, c++: Treat shifts by negative as undefined [PR96929]Jakub Jelinek1-2/+1
2020-11-18Fix middle-end/85811: Introduce tree_expr_maybe_non_p et al.Roger Sayle1-1/+19
2020-11-18Optimize two patterns with three xorsEugene Rozenfeld1-0/+10
2020-11-05Improve overflow checkJeff Law1-6/+10
2020-11-05Simplify x >> x to 0. This fixes PR96701.Eugene Rozenfeld1-0/+5
2020-10-19[PATCH] fold x << (n % C) to x << (n & C-1) if C meets power2guojiufu1-1/+11
2020-10-09match.pd: Fix up FFS -> CTZ + 1 optimization [PR97325]Jakub Jelinek1-1/+2
2020-09-30[nvptx] Add type arg to TARGET_LIBC_HAS_FUNCTIONTom de Vries1-3/+3
2020-09-24tree-optimization/97085 - fold some trivial bool vector ?:Richard Biener1-0/+11
2020-09-15tree-optimization/94234 - add plusminus-with-convert patternFeng Xue1-0/+15
2020-09-15tree-optimization/94234 - Fold plusminus_mult expr with multi-use operandsFeng Xue1-9/+13
2020-08-25match.pd: Simplify copysign (x, -x) to -x [PR96715]Jakub Jelinek1-0/+5
2020-08-19tree-optimization/94234 - add pattern for ptr-diff on addresses with same offsetFeng Xue1-0/+3
2020-08-10Simplify X * C1 == C2 with wrapping overflowMarc Glisse1-2/+17
2020-08-07Disable some VEC_COND_EXPR transformations after vector loweringMarc Glisse1-9/+11
2020-08-05VEC_COND_EXPR optimizationsMarc Glisse1-12/+58
2020-08-04Simplify X * C1 == C2 with undefined overflowMarc Glisse1-0/+14
2020-07-28middle-end: Parity and popcount folding optimizations.Roger Sayle1-13/+39
2020-07-01match.pd: (x & y) - (x | y) - 1 -> ~(x ^ y) simplification [PR94882]Jeff Law1-0/+29
2020-06-19Fix PR94880: Failure to recognize andn patternPrzemyslaw Wirkus1-0/+5
2020-06-09match.pd: Optimize ffs comparisons against constants [PR95527]Jakub Jelinek1-0/+48
2020-06-03optimize tanh(x) / sinh (x) to 1/ cosh (x)Vitor Guidi1-0/+5
2020-05-12tree: Add vector_element_bits(_tree) [PR94980 1/3]Richard Sandiford1-1/+1
2020-05-08match.pd: A ^ ((A ^ B) & -(C cmp D)) -> (C cmp D) ? B : A simplification [PR9...Jakub Jelinek1-0/+12
2020-05-08match.pd: Canonicalize (X + (X >> (prec - 1))) ^ (X >> (prec - 1)) to abs (X)...Jakub Jelinek1-0/+9
2020-05-08match.pd: Optimize ffs of known non-zero arg into ctz + 1 [PR94956]Jakub Jelinek1-0/+10
2020-05-08match.pd: Simplify unsigned A - B - 1 >= A to B >= A [PR94913]Jakub Jelinek1-2/+9
2020-05-06match.pd: Optimize ~(~X +- Y) into (X -+ Y) [PR94921]Jakub Jelinek1-0/+8
2020-05-05match.pd: Canonicalize (x + (x << cst)) into (x * cst2) [PR94800]Jakub Jelinek1-0/+35
2020-05-05match.pd: Optimize (((type)A * B) >> prec) != 0 into __imag__ .MUL_OVERFLOW [...Jakub Jelinek1-0/+21
2020-05-04match.pd: Optimize (x < 0) != (y < 0) into (x ^ y) < 0 [PR94718]Jakub Jelinek1-0/+24
2020-05-04match.pd: Decrease number of nop conversions around bitwise ops [PR94718]Jakub Jelinek1-3/+19
2020-05-04match.pd: Move (X & C) eqne (Y & C) -> -> (X ^ Y) & C eqne 0 opt to match.pd ...Jakub Jelinek1-1/+6
2020-03-11fold undefined pointer offsettingRichard Biener1-0/+9