aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-if-conv.c
diff options
context:
space:
mode:
authorThomas Preud'homme <thomas.preudhomme@arm.com>2014-06-18 10:43:50 +0000
committerThomas Preud'homme <thopre01@gcc.gnu.org>2014-06-18 10:43:50 +0000
commita31d2741d47917d740c6129aed4fa327b628adff (patch)
treee8d3e1567ee299b39a8ee648fa069544453c5308 /gcc/tree-if-conv.c
parenta0f37b26c5b459cc601ad226a6e4a13b45f5e454 (diff)
downloadgcc-a31d2741d47917d740c6129aed4fa327b628adff.zip
gcc-a31d2741d47917d740c6129aed4fa327b628adff.tar.gz
gcc-a31d2741d47917d740c6129aed4fa327b628adff.tar.bz2
re PR tree-optimization/61517 (wrong code at -Os and above on x86_64-linux-gnu)
2014-06-18 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ PR tree-optimization/61517 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Adapt to return a stmt whose rhs's first tree is the source expression instead of the expression itself. (find_bswap_or_nop): Likewise. (bsap_replace): Rename stmt in cur_stmt. Pass gsi by value and src as a gimple stmt whose rhs's first tree is the source. In the memory source case, move the stmt to be replaced close to one of the original load to avoid the problem of a store between the load and the stmt's original location. (pass_optimize_bswap::execute): Adapt to change in bswap_replace's signature. gcc/testsuite/ * gcc.c-torture/execute/bswap-2.c (incorrect_read_le32): New. (incorrect_read_be32): Likewise. (main): Call incorrect_read_* to test stmt replacement is made by bswap at the right place. * gcc.c-torture/execute/pr61517.c: New test. From-SVN: r211778
Diffstat (limited to 'gcc/tree-if-conv.c')
0 files changed, 0 insertions, 0 deletions