aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/constexpr.cc
diff options
context:
space:
mode:
authorRichard Sandiford <richard.sandiford@arm.com>2023-03-02 16:39:50 +0000
committerRichard Sandiford <richard.sandiford@arm.com>2023-03-02 16:39:50 +0000
commit076d309e36c682176e9f85dc8593e6f2c9e6e75f (patch)
treec49d151b052b7ca152dd38b20b3927d5fe2def20 /gcc/cp/constexpr.cc
parent71afd0628419c5d670701cb35bc9860380c7d9fb (diff)
downloadgcc-076d309e36c682176e9f85dc8593e6f2c9e6e75f.zip
gcc-076d309e36c682176e9f85dc8593e6f2c9e6e75f.tar.gz
gcc-076d309e36c682176e9f85dc8593e6f2c9e6e75f.tar.bz2
vect: Don't apply masks to operations on invariants [PR108979]
The loop body in the testcase contains an operation on invariants. SLP detects this and can hoist/schedule the operation outside of the loop. However, after the fix for PR96373, we would try to apply a loop mask to this operation, even though the mask is defined in the loop. The patch does what Richi suggested in the PR: suppress the masking for externs and constants. gcc/ PR tree-optimization/108979 * tree-vect-stmts.cc (vectorizable_operation): Don't mask operations on invariants. gcc/testsuite/ PR tree-optimization/108979 * gfortran.dg/vect/pr108979.f90: New test.
Diffstat (limited to 'gcc/cp/constexpr.cc')
0 files changed, 0 insertions, 0 deletions