diff options
author | Richard Biener <rguenther@suse.de> | 2022-03-25 08:43:45 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-05-04 13:58:04 +0200 |
commit | 3ae5cbff1ad958ddefc12010bf7e32a47741d331 (patch) | |
tree | 9e0878f6c65bdc8addc0fdb87a0cacbb3196e5c5 /gcc/cp/constexpr.cc | |
parent | 8afcd148103b0467126483151b6fb5ac68920e72 (diff) | |
download | gcc-3ae5cbff1ad958ddefc12010bf7e32a47741d331.zip gcc-3ae5cbff1ad958ddefc12010bf7e32a47741d331.tar.gz gcc-3ae5cbff1ad958ddefc12010bf7e32a47741d331.tar.bz2 |
Fold more vector constants early
In PR105049 we had
return VIEW_CONVERT_EXPR<U>( VEC_PERM_EXPR < {<<< Unknown tree: compound_literal_expr
V D.1984 = { 0 }; >>>, { 0 }} , {<<< Unknown tree: compound_literal_expr
V D.1985 = { 0 }; >>>, { 0 }} , { 0, 0 } > & {(short int) SAVE_EXPR <c>, (short int) SAVE_EXPR <c>});
where we gimplify the init CTORs to
_1 = {{ 0 }, { 0 }};
_2 = {{ 0 }, { 0 }};
instead of to vector constants. The following makes sure to simplify the
CTORs to VECTOR_CSTs during gimplification by re-ordering the simplification
to after CTOR flag recomputation and gimplification of the elements.
2022-03-25 Richard Biener <rguenther@suse.de>
* gimplify.cc (gimplify_init_constructor): First gimplify,
then simplify the result to a VECTOR_CST.
Diffstat (limited to 'gcc/cp/constexpr.cc')
0 files changed, 0 insertions, 0 deletions