diff options
author | Richard Biener <rguenther@suse.de> | 2021-10-19 10:19:12 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-10-19 12:29:33 +0200 |
commit | d996799a507f9f4c379b55b004233be92fa63380 (patch) | |
tree | eca587f2c3ee0c5365f7131853eb6dd6c1f2f8bc /gcc/tree-vectorizer.h | |
parent | f98359ba9d3775319fb3181009be7d3dafe9ba15 (diff) | |
download | gcc-d996799a507f9f4c379b55b004233be92fa63380.zip gcc-d996799a507f9f4c379b55b004233be92fa63380.tar.gz gcc-d996799a507f9f4c379b55b004233be92fa63380.tar.bz2 |
tree-optimization/102827 - avoid stmts in preheader
The PR shows that when carefully crafting the runtime alias
condition in the vectorizer we might end up using defs from
the loop preheader but will end up inserting the condition
before the .LOOP_VECTORIZED call. So the following makes
sure to insert invariants before that when we versioned the
loop, preserving the invariant the vectorizer relies on.
2021-10-19 Richard Biener <rguenther@suse.de>
PR tree-optimization/102827
* tree-if-conv.c (predicate_statements): Add pe parameter
and use that edge to insert invariant stmts on.
(combine_blocks): Pass through pe.
(tree_if_conversion): Compute the edge to insert invariant
stmts on and pass it along.
* gcc.dg/pr102827.c: New testcase.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions