aboutsummaryrefslogtreecommitdiff
path: root/gcc/gimple.c
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2020-08-25 10:50:48 +0100
committerRoger Sayle <roger@nextmovesoftware.com>2020-08-25 10:52:06 +0100
commita0b4e42af26a85da2698e573ac8e32fa0a5709d6 (patch)
tree596101b46ace339575d90d008a761964e7e71e1e /gcc/gimple.c
parent68e605c93d57c17f07edd50f7e1c80f9216befd2 (diff)
downloadgcc-a0b4e42af26a85da2698e573ac8e32fa0a5709d6.zip
gcc-a0b4e42af26a85da2698e573ac8e32fa0a5709d6.tar.gz
gcc-a0b4e42af26a85da2698e573ac8e32fa0a5709d6.tar.bz2
middle-end: PR tree-optimization/21137: STRIP_NOPS avoids missed optimization.
PR tree-optimization/21137 is now an old enhancement request pointing out that an optimization I added back in 2006, to optimize "((x>>31)&64) != 0" as "x < 0", doesn't fire in the presence of unanticipated type conversions. The fix is to call STRIP_NOPS at the appropriate point. 2020-08-25 Roger Sayle <roger@nextmovesoftware.com> gcc/ChangeLog PR tree-optimization/21137 * fold-const.c (fold_binary_loc) [NE_EXPR/EQ_EXPR]: Call STRIP_NOPS when checking whether to simplify ((x>>C1)&C2) != 0. gcc/testsuite/ChangeLog PR tree-optimization/21137 * gcc.dg/pr21137.c: New test.
Diffstat (limited to 'gcc/gimple.c')
0 files changed, 0 insertions, 0 deletions