diff options
author | Richard Biener <rguenther@suse.de> | 2023-05-18 13:52:29 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-05-23 11:57:38 +0200 |
commit | 9e2017ae6ac788d3e36999bb0f0d20ea0f62c20e (patch) | |
tree | 30722baa73dea236a8c3909efd8bae2dd225fe2b /gcc/c/c-decl.cc | |
parent | 758d916cb7bc93a41cc69d0d7e9b3873355d7b5b (diff) | |
download | gcc-9e2017ae6ac788d3e36999bb0f0d20ea0f62c20e.zip gcc-9e2017ae6ac788d3e36999bb0f0d20ea0f62c20e.tar.gz gcc-9e2017ae6ac788d3e36999bb0f0d20ea0f62c20e.tar.bz2 |
tree-optimization/109849 - missed code hoisting
The following fixes code hoisting to properly consider ANTIC_OUT instead
of ANTIC_IN. That's a bit expensive to re-compute but since we no
longer iterate we're doing this only once per BB which should be
acceptable. This avoids missing hoistings to the end of blocks where
something in the block clobbers the hoisted value.
PR tree-optimization/109849
* tree-ssa-pre.cc (do_hoist_insertion): Compute ANTIC_OUT
and use that to determine what to hoist.
* gcc.dg/tree-ssa/ssa-hoist-8.c: New testcase.
Diffstat (limited to 'gcc/c/c-decl.cc')
0 files changed, 0 insertions, 0 deletions