+2018-11-30 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/88179
+ * lra-constraints.c (address_eliminator::address_eliminator):
+ Don't eleminate regs in illegitimate address.
+
2018-11-30 David Malcolm <dmalcolm@redhat.com>
PR preprocessor/88257
if (m_base_loc != NULL)
{
m_base_reg = *m_base_loc;
- lra_eliminate_reg_if_possible (m_base_loc);
+ /* If we have non-legitimate address which is decomposed not in
+ the way we expected, don't do elimination here. In such case
+ the address will be reloaded and elimination will be done in
+ reload insn finally. */
+ if (REG_P (m_base_reg))
+ lra_eliminate_reg_if_possible (m_base_loc);
if (m_ad->base_term2 != NULL)
*m_ad->base_term2 = *m_ad->base_term;
}
if (m_index_loc != NULL)
{
m_index_reg = *m_index_loc;
- lra_eliminate_reg_if_possible (m_index_loc);
+ if (REG_P (m_index_reg))
+ lra_eliminate_reg_if_possible (m_index_loc);
}
}