rs6000: Give an argument to every REG_CFA_REGISTER (PR85645)
authorSegher Boessenkool <segher@kernel.crashing.org>
Wed, 9 May 2018 12:51:00 +0000 (14:51 +0200)
committerSegher Boessenkool <segher@gcc.gnu.org>
Wed, 9 May 2018 12:51:00 +0000 (14:51 +0200)
commitcd9ba4ca3051a5ca411f9d333f2a4cc170136740
treebd1121bfb8c3e9cff91497b72d52f2269f50df7d
parent826f35d8124731d0f4f5415c84fb59d2b6adf58b
rs6000: Give an argument to every REG_CFA_REGISTER (PR85645)

The one for the prologue mflr did not have any value set, which means
use the SET that is in the insn pattern.  This works fine, except when
some late pass decides to replace the SET_SRC -- this changes the
meaning of the REG_CFA_REGISTER!  Such passes should not do these
things, but let's be more explicit here, for extra robustness.  It
could be argued that this defaulting is a design misfeature (it does
not save much space either, etc.)

PR rtl-optimization/85645
* config/rs6000/rs6000.c (rs6000_emit_prologue_components): Put a SET
in the REG_CFA_REGISTER note for LR, don't leave it empty.

From-SVN: r260077
gcc/ChangeLog
gcc/config/rs6000/rs6000.c