aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2023-08-24 09:32:54 +0200
committerRichard Biener <rguenther@suse.de>2023-08-24 15:10:28 +0200
commitabf915193fbf725bb359e6936e10dcc282eb94cc (patch)
tree461abf0be17e149d479237d195c99c3a19fe7087 /gcc/fortran
parent0c78240fd7d519fc27ca822f66a92f85edf43f70 (diff)
downloadgcc-abf915193fbf725bb359e6936e10dcc282eb94cc.zip
gcc-abf915193fbf725bb359e6936e10dcc282eb94cc.tar.gz
gcc-abf915193fbf725bb359e6936e10dcc282eb94cc.tar.bz2
tree-optimization/111123 - indirect clobbers thrown away too early
The testcase in the PR shows that late uninit diagnostic relies on indirect clobbers in CTORs but we throw those away in the fab pass which is too early. The reasoning was they were supposed to keep SSA names live but that's no longer the case since DCE doesn't treat them as keeping SSA uses live. The following instead removes them before out-of-SSA coalescing which is the thing that's still affected by them. PR tree-optimization/111123 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Do not remove indirect clobbers here ... * tree-outof-ssa.cc (rewrite_out_of_ssa): ... but here. (remove_indirect_clobbers): New function. * g++.dg/warn/Wuninitialized-pr111123-1.C: New testcase.
Diffstat (limited to 'gcc/fortran')
0 files changed, 0 insertions, 0 deletions