diff options
author | Richard Biener <rguenther@suse.de> | 2022-12-12 17:52:46 +0100 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-12-13 11:39:59 +0100 |
commit | b4fddbe9592e9feb37ce567d90af822b75995531 (patch) | |
tree | 5cbc84750383eabbde9eb34c8255518c28ff865f /gcc/rust/backend/rust-tree.cc | |
parent | 0a43f7b1a73c8e3b9cefffe430274d0a3d6d3291 (diff) | |
download | gcc-b4fddbe9592e9feb37ce567d90af822b75995531.zip gcc-b4fddbe9592e9feb37ce567d90af822b75995531.tar.gz gcc-b4fddbe9592e9feb37ce567d90af822b75995531.tar.bz2 |
tree-optimization/108076 - if-conversion and forced labels
When doing if-conversion we simply throw away labels without checking
whether they are possibly targets of non-local gotos or have their
address taken. The following rectifies this and refuses to if-convert
such loops.
PR tree-optimization/108076
* tree-if-conv.cc (if_convertible_loop_p_1): Reject blocks
with non-local or forced labels that we later remove
labels from.
* gcc.dg/torture/pr108076.c: New testcase.
Diffstat (limited to 'gcc/rust/backend/rust-tree.cc')
0 files changed, 0 insertions, 0 deletions