This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [aarch64] PR target/91386 Use copy_rtx to avoid modifying original insns in peep2 pattern


On 09/08/2019 17:15, Richard Earnshaw (lists) wrote:
PR target/91386 is a situation where a peephole2 pattern substitution
is discarded late because the selected instructions contain
frame-related notes that we cannot redistribute (because the pattern
has more than one insn in the output).  Unfortunately, the original
insns were being modified during the generation, so after the undo we
are left with corrupt RTL.

We avoid this by ensuring that the modifications are always made on a
copy, so that the original insns are never changed.

     PR target/91386
     * config/aarch64/aarch64.c (aarch64_gen_adjusted_ldpstp): Use copy_rtx
     to preserve the contents of the original insns.

Committed to trunk.

And now backported to gcc-9.

R.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]