r242090 - /branches/ARM/sve-branch/gcc/alias.c

rsandifo@gcc.gnu.org rsandifo@gcc.gnu.org
Fri Nov 11 16:57:00 GMT 2016


Author: rsandifo
Date: Fri Nov 11 16:57:50 2016
New Revision: 242090

URL: https://gcc.gnu.org/viewcvs?rev=242090&root=gcc&view=rev
Log:
Use simplify_gen_binary in canon_rtx

After simplifying the operands of a PLUS, canon_rtx checked only
for cases in which one of the simplified operands was a constant,
falling back to gen_rtx_PLUS otherwise.  This left the PLUS in a
non-canonical order if one of the simplified operands was
(plus (reg R1) (const_int X)); we'd end up with:

   (plus (plus (reg R1) (const_int Y)) (reg R2))

rather than:

   (plus (plus (reg R1) (reg R2)) (const_int Y))

Fixing this exposed new DSE opportunities on spu-elf in
gcc.c-torture/execute/builtins/strcat-chk.c but otherwise
it doesn't seem to have much practical effect.

Modified:
    branches/ARM/sve-branch/gcc/alias.c



More information about the Gcc-cvs mailing list