aboutsummaryrefslogtreecommitdiff
path: root/libcpp/files.c
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2019-09-05 07:50:07 +0000
committerRichard Sandiford <rsandifo@gcc.gnu.org>2019-09-05 07:50:07 +0000
commit359f25f8e224cb398a732d2e7b499d6e8385a007 (patch)
tree5109160ca8dba4f4958a7f6f70770e84d87df17d /libcpp/files.c
parentefd9a01b59eec33ff0bbba585a6e92c5a0234ed4 (diff)
downloadgcc-359f25f8e224cb398a732d2e7b499d6e8385a007.zip
gcc-359f25f8e224cb398a732d2e7b499d6e8385a007.tar.gz
gcc-359f25f8e224cb398a732d2e7b499d6e8385a007.tar.bz2
Force IFN_LOAD/STORE_LANES operands to be memory (PR91577)
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. 2019-09-05 Richard Sandiford <richard.sandiford@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. From-SVN: r275399
Diffstat (limited to 'libcpp/files.c')
0 files changed, 0 insertions, 0 deletions