public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r11-7949] tree-optimization/99863 - clear vector CTOR TREE_SIDE_EFFECTS
@ 2021-04-01 10:47 Richard Biener
  0 siblings, 0 replies; only message in thread
From: Richard Biener @ 2021-04-01 10:47 UTC (permalink / raw)
  To: gcc-cvs

https://gcc.gnu.org/g:512429a885e87bef51057a001681b7d8d106e807

commit r11-7949-g512429a885e87bef51057a001681b7d8d106e807
Author: Richard Biener <rguenther@suse.de>
Date:   Thu Apr 1 11:51:33 2021 +0200

    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.

Diff:
---
 gcc/gimplify.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/gimplify.c b/gcc/gimplify.c
index 6da66985ad6..1f417a52702 100644
--- a/gcc/gimplify.c
+++ b/gcc/gimplify.c
@@ -5231,6 +5231,7 @@ gimplify_init_constructor (tree *expr_p, gimple_seq *pre_p, gimple_seq *post_p,
 						       TREE_TYPE (ce->value)))
 	      TREE_STATIC (ctor) = 0;
 	  }
+	recompute_constructor_flags (ctor);
 	if (!is_gimple_reg (TREE_OPERAND (*expr_p, 0)))
 	  TREE_OPERAND (*expr_p, 1) = get_formal_tmp_var (ctor, pre_p);
       }


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-04-01 10:47 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-01 10:47 [gcc r11-7949] tree-optimization/99863 - clear vector CTOR TREE_SIDE_EFFECTS Richard Biener

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).