aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-sink.c
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2017-11-13 11:26:13 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2017-11-13 11:26:13 +0100
commita6fbd15424044457d5c283e5fd2d0d1bb0dcfbb6 (patch)
treec4644b84d36195da7ac02fcc2c2a4ac621c3a29f /gcc/tree-ssa-sink.c
parenta1b5dd18ae7e335058f2f096b54a251b19eb9d2d (diff)
downloadgcc-a6fbd15424044457d5c283e5fd2d0d1bb0dcfbb6.zip
gcc-a6fbd15424044457d5c283e5fd2d0d1bb0dcfbb6.tar.gz
gcc-a6fbd15424044457d5c283e5fd2d0d1bb0dcfbb6.tar.bz2
re PR tree-optimization/78821 (GCC7: Copying whole 32 bits structure field by field not optimised into copying whole 32 bits at once)
PR tree-optimization/78821 * gimple-ssa-store-merging.c (compatible_load_p): Don't require that bit_not_p is the same. (imm_store_chain_info::coalesce_immediate_stores): Likewise. (split_group): Count precisely bit_not_p bits in each statement. (invert_op): New function. (imm_store_chain_info::output_merged_store): Use invert_op to emit BIT_XOR_EXPR with a xor_mask instead of BIT_NOT_EXPR if some but not all orig_stores have BIT_NOT_EXPR in the corresponding spots. * gcc.dg/store_merging_15.c: New test. From-SVN: r254679
Diffstat (limited to 'gcc/tree-ssa-sink.c')
0 files changed, 0 insertions, 0 deletions