On 9/4/19 3:18 AM, Richard Sandiford wrote:
> This patch uses the workaround Richi suggested in the PR: make
> discover_nonconstant_array_refs mark the source of an IFN_LOAD_LANES
> call and the destination of an IFN_STORE_LANES call as addressable,
> so that they don't end up being REG rtxes during expansion.
> 
> I had to move the discover_nonconstant_array_refs call outside the
> currently_expanding_to_rtl block since otherwise mark_addressable
> just queues the decision for later.
> 
> Tested on aarch64-linux-gnu.  OK to install?
> 
> Richard
> 
> 
> 2019-09-04  Richard Sandiford  <richard.sandif...@arm.com>
> 
> gcc/
>       PR middle-end/91577
>       * cfgexpand.c (discover_nonconstant_array_refs): Force the source
>       of an IFN_LOAD_LANES call and the destination of an IFN_STORE_LANES
>       call to be in memory.
>       (pass_expand::execute): Call discover_nonconstant_array_refs before
>       setting currently_expanding_to_rtl.
> 
> gcc/testsuite/
>       PR middle-end/91577
>       * gfortran.dg/pr91577.f90: New test, taken from temporary_1.f90.
OK
jeff

Reply via email to