tree-optimization/99863 - clear vector CTOR TREE_SIDE_EFFECTS
authorRichard Biener <rguenther@suse.de>
Thu, 1 Apr 2021 09:51:33 +0000 (11:51 +0200)
committerRichard Biener <rguenther@suse.de>
Thu, 1 Apr 2021 10:46:48 +0000 (12:46 +0200)
commit512429a885e87bef51057a001681b7d8d106e807
treead579aca5221f75c56ff39e1cb6f4d3eafd68349
parent3064fc21aa29d8e04b23c0b52dc4f67de1da6b2f
tree-optimization/99863 - clear vector CTOR TREE_SIDE_EFFECTS

When we gimplify a vector CTOR the original CONSTRUCTOR tree remains
but we fail to recompute flags such as TREE_SIDE_EFFECTS.  This causes
later GENERIC folding of them in vector lowering to give up since
the match.pd machinery is careful about TREE_SIDE_EFFECTS.

Fixing this makes vector lowering produce much less garbage and
thus following the IL for PR99793 easier.

2021-04-01  Richard Biener  <rguenther@suse.de>

PR tree-optimization/99863
* gimplify.c (gimplify_init_constructor): Recompute vector
constructor flags.
gcc/gimplify.c