aboutsummaryrefslogtreecommitdiff
path: root/libgcc
diff options
context:
space:
mode:
authorAndrew Pinski <apinski@marvell.com>2021-06-05 21:25:58 -0700
committerAndrew Pinski <apinski@marvell.com>2021-06-09 12:19:43 -0700
commitd4faa36e7540c573c5dc17850bcd938d0900b2e9 (patch)
treeaf39bfd8f989e69c6500ca2c01ee2d140994db8a /libgcc
parent87e1eecaa0d96c46eab948960904fee618f926c4 (diff)
downloadgcc-d4faa36e7540c573c5dc17850bcd938d0900b2e9.zip
gcc-d4faa36e7540c573c5dc17850bcd938d0900b2e9.tar.gz
gcc-d4faa36e7540c573c5dc17850bcd938d0900b2e9.tar.bz2
Fix PR 100925: Limit some a?CST1:CST2 optimizations to intergal types only
The problem here is with offset (and pointer) types is we produce a negative expression when this optimization hits. It is easier to disable this optimization for all non-integeral types instead of finding an integer type which is the same precission as the type to do the negative expression on it. OK? Bootstrapped and tested on x86_64-linux-gnu with no regressions. gcc/ChangeLog: PR tree-optimization/100925 * match.pd (a ? CST1 : CST2): Limit transformations that would produce a negative to integeral types only. Change !POINTER_TYPE_P to INTEGRAL_TYPE_P also. gcc/testsuite/ChangeLog: * g++.dg/torture/pr100925.C: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions