]> git.ipfire.org Git - thirdparty/gcc.git/commit
SRA: Force gimple operand in an additional corner case (PR 112822)
authorMartin Jambor <mjambor@suse.cz>
Tue, 12 Dec 2023 20:19:21 +0000 (21:19 +0100)
committerMartin Jambor <mjambor@suse.cz>
Tue, 12 Dec 2023 20:20:26 +0000 (21:20 +0100)
commitcd7d0b4cf789264cd75ab7df5df232dc58061ed7
treeae5fc5071d95a860b40ab57283ff7b91b0a53fbb
parent01cca857aa3e86a750f5df77ca6c36c0739f10f0
SRA: Force gimple operand in an additional corner case (PR 112822)

PR 112822 revealed a corner case in load_assign_lhs_subreplacements
where it creates invalid gimple: an assignment where on the LHS there
is a complex variable which however is not a gimple register because
it has partial defs and on the right hand side there is a
VIEW_CONVERT_EXPR.  This patch invokes force_gimple_operand_gsi on
such statements (like it already does when both sides of a generated
assignment have partial definitions.

gcc/ChangeLog:

2023-12-12  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/112822
* tree-sra.cc (load_assign_lhs_subreplacements): Invoke
force_gimple_operand_gsi also when LHS has partial stores and RHS is a
VIEW_CONVERT_EXPR.
gcc/tree-sra.cc