[ARC] Handle complex PIC move patterns.
authorClaudiu Zissulescu <claziss@synopsys.com>
Mon, 13 Mar 2017 12:55:38 +0000 (13:55 +0100)
committerClaudiu Zissulescu <claziss@gcc.gnu.org>
Mon, 13 Mar 2017 12:55:38 +0000 (13:55 +0100)
commit14555394f42082fd99a08df951dcc582aa85b780
treeccf1113962d544a11955c333d4a591a72daa3b44
parent16e93e4b0b1e9ab40689a755c64948b3716ad0c0
[ARC] Handle complex PIC move patterns.

fwprop step is placing in the REG_EQUIV notes constant pic unspecs
expressions.  Then, loop may use these notes for optimizations
rezulting in complex patterns that are not supported by the current
implementation.

The patch adds handling of complex PIC addresses having MINUS or UNARY
operations.

gcc/
2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>

* config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
expressions with MINUS and UNARY ops.

gcc/testsuite
2017-03-13  Claudiu Zissulescu  <claziss@synopsys.com>

* gcc.target/arc/pr9001090948.c: New file.

From-SVN: r246087
gcc/ChangeLog
gcc/config/arc/arc.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/arc/pr9001090948.c [new file with mode: 0644]