aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-data-ref.c
diff options
context:
space:
mode:
authorIlya Leoshkevich <iii@linux.ibm.com>2021-01-15 00:14:56 +0100
committerIlya Leoshkevich <iii@linux.ibm.com>2021-01-21 22:48:47 +0100
commitefb6bc55a93a1b8a719e0dab344c0a21344a67a9 (patch)
tree2dfe597bcf21dafb47d0ea95e64e812f4e74c4e9 /gcc/tree-data-ref.c
parentf645da0e4ab9438dfd0c047c710c7ec6a7d6d8f3 (diff)
downloadgcc-efb6bc55a93a1b8a719e0dab344c0a21344a67a9.zip
gcc-efb6bc55a93a1b8a719e0dab344c0a21344a67a9.tar.gz
gcc-efb6bc55a93a1b8a719e0dab344c0a21344a67a9.tar.bz2
fwprop: Allow (subreg (mem)) simplifications
Suppose we have: (set (reg/v:TF 63) (mem/c:TF (reg/v:DI 62))) (set (reg:FPRX2 66) (subreg:FPRX2 (reg/v:TF 63) 0)) It is clearly profitable to propagate the first insn into the second one and get: (set (reg:FPRX2 66) (mem/c:FPRX2 (reg/v:DI 62))) fwprop actually manages to perform this, but doesn't think the result is worth it, which results in unnecessary store/load sequences on s390. Improve the situation by classifying SUBREG -> MEM changes as profitable. gcc/ChangeLog: 2021-01-15 Ilya Leoshkevich <iii@linux.ibm.com> * fwprop.c (fwprop_propagation::classify_result): Allow (subreg (mem)) simplifications.
Diffstat (limited to 'gcc/tree-data-ref.c')
0 files changed, 0 insertions, 0 deletions