tree-optimization/105484 - VEC_SET and EH
authorRichard Biener <rguenther@suse.de>
Thu, 5 May 2022 07:34:59 +0000 (09:34 +0200)
committerRichard Biener <rguenther@suse.de>
Fri, 6 May 2022 09:13:13 +0000 (11:13 +0200)
commitf2c2ebb9eed4fa38a3e56dad4a2339a989b11e87
tree0fe160c45357d60b268bb665f5125b2008aa9fa3
parent1b13a6e0dc2f61fc26ebfd33ee8549da45286f34
tree-optimization/105484 - VEC_SET and EH

When the IL representation of VEC_SET is marked as throwing
(unnecessarily), we need to clean that when replacing it with
the .VEC_SET internal function call which cannot throw.

2022-05-05  Richard Biener  <rguenther@suse.de>

PR tree-optimization/105484
* gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
whether the CFG changed.
(gimple_expand_vec_exprs): When the CFG changed, clean it up.

* gcc.dg/torture/pr105484.c: New testcase.

(cherry picked from commit e1a41143a2e24c65d94364fd82b165ff71a759d8)
gcc/gimple-isel.cc
gcc/testsuite/gcc.dg/torture/pr105484.c [new file with mode: 0644]