alias.c
105 KB
-
Use simplify_gen_binary in canon_rtx · 231314e3
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. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * alias.c (canon_rtx): Use simplify_gen_binary. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242445
Richard Sandiford committed