]> gcc.gnu.org Git - gcc.git/commit
ipa-split: Don't split returns_twice functions [PR106923]
authorJakub Jelinek <jakub@redhat.com>
Tue, 7 Feb 2023 09:34:45 +0000 (10:34 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 7 Feb 2023 09:34:45 +0000 (10:34 +0100)
commit5321d53279a60ee589a3c9779beb46503f9fc49f
tree1343400a88bd35eddf8f98020f273e635bcbe567
parentcad2412cc84518195fceb2db31e82e6df7e5a2c2
ipa-split: Don't split returns_twice functions [PR106923]

As discussed in the PR, returns_twice functions are rare/special beasts
that need special treatment in the cfg, and inside of their bodies
we don't know which part actually works the weird returns twice way
(either in the fork/vfork sense, or in the setjmp) and aren't updating
ab edges to reflect that.

I think easiest is just to never split these, like we already never
split noreturn or malloc functions.

2023-02-07  Jakub Jelinek  <jakub@redhat.com>

PR tree-optimization/106923
* ipa-split.cc (execute_split_functions): Don't split returns_twice
functions.

* gcc.dg/pr106923.c: New test.
gcc/ipa-split.cc
gcc/testsuite/gcc.dg/pr106923.c [new file with mode: 0644]
This page took 0.078415 seconds and 6 git commands to generate.