diff options
author | Alexandre Oliva <aoliva@redhat.com> | 2018-02-28 05:25:34 +0000 |
---|---|---|
committer | Alexandre Oliva <aoliva@gcc.gnu.org> | 2018-02-28 05:25:34 +0000 |
commit | 408e89356c698a8dd3731f38b1f6d9f01212fa34 (patch) | |
tree | 40df4cf8fec16353d624d51f5666f0b4d39adef8 /gcc/graphite-scop-detection.c | |
parent | 8cda97ab52eae061d34167a1f786b43a21e7521b (diff) | |
download | gcc-408e89356c698a8dd3731f38b1f6d9f01212fa34.zip gcc-408e89356c698a8dd3731f38b1f6d9f01212fa34.tar.gz gcc-408e89356c698a8dd3731f38b1f6d9f01212fa34.tar.bz2 |
[PR81611] turn inc-and-use-of-dead-orig into auto-inc
When the addressing modes available on the machine don't allow offsets
in addresses, odds are that post-increments will be represented in
trees and RTL as:
y <= x + 1
... *(x) ...
x <= y
so deal with it by turning such RTL as:
(set y (plus x n))
... (mem x) ...
without intervening uses of y into
(set y x)
... (mem (post_add y n)) ...
so as to create auto-inc addresses that we'd otherwise miss.
for gcc/ChangeLog
PR rtl-optimization/81611
* auto-inc-dec.c (attempt_change): Move dead note from
mem_insn if it's the next use of regno
(find_address): Take address use of reg holding
non-incremented value. Add parm to limit search to the named
reg only.
(merge_in_block): Attempt to use a mem insn that is the next
use of the original regno.
From-SVN: r258053
Diffstat (limited to 'gcc/graphite-scop-detection.c')
0 files changed, 0 insertions, 0 deletions