aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/sem_util.adb
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2014-06-11 10:04:33 +0000
committerThomas Preud'homme <thopre01@gcc.gnu.org>2014-06-11 10:04:33 +0000
commit698ff10718696a7533db4364b0d736237ff73a7d (patch)
treee4a6086c454b66fc830408f29d3b4b15429e5b21 /gcc/ada/sem_util.adb
parent1d02d8b8cb41501b5904705dc764f7c8a8788f45 (diff)
downloadgcc-698ff10718696a7533db4364b0d736237ff73a7d.zip
gcc-698ff10718696a7533db4364b0d736237ff73a7d.tar.gz
gcc-698ff10718696a7533db4364b0d736237ff73a7d.tar.bz2
re PR tree-optimization/61306 (wrong code at -Os and above on x86_64-linux-gnu)
2014-06-11 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR tree-optimization/61306 * tree-ssa-math-opts.c (struct symbolic_number): Store type of expression instead of its size. (do_shift_rotate): Adapt to change in struct symbolic_number. Return false to prevent optimization when the result is unpredictable due to arithmetic right shift of signed type with highest byte is set. (verify_symbolic_number_p): Adapt to change in struct symbolic_number. (init_symbolic_number): Likewise. (find_bswap_or_nop_1): Likewise. Return NULL to prevent optimization when the result is unpredictable due to sign extension. gcc/testsuite/ * gcc.c-torture/execute/pr61306-1.c: New test. * gcc.c-torture/execute/pr61306-2.c: Likewise. * gcc.c-torture/execute/pr61306-3.c: Likewise. From-SVN: r211444
Diffstat (limited to 'gcc/ada/sem_util.adb')
0 files changed, 0 insertions, 0 deletions