diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2022-10-17 18:56:24 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2022-10-17 20:55:27 +0200 |
commit | c9b840db504d15db01f06fe1fec38282dbafee07 (patch) | |
tree | eca2aeb73939c25899b7d8ca8f6e8726c52eaca0 /libgcc | |
parent | d45af5c2eb1ba1e48449d8f3c5b4e3994a956f92 (diff) | |
download | gcc-c9b840db504d15db01f06fe1fec38282dbafee07.zip gcc-c9b840db504d15db01f06fe1fec38282dbafee07.tar.gz gcc-c9b840db504d15db01f06fe1fec38282dbafee07.tar.bz2 |
Make sure exported range for SSA post-dominates the DEF in set_global_ranges_from_unreachable_edges.
The problem here is that we're exporting a range for an SSA range that
happens on the other side of a __builtin_unreachable, but the SSA does
not post-dominate the definition point. This is causing ivcanon to
unroll things incorrectly.
This was a snafu when converting the code from evrp.
PR tree-optimization/107293
gcc/ChangeLog:
* tree-ssa-dom.cc
(dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
Check that condition post-dominates the definition point.
gcc/testsuite/ChangeLog:
* gcc.dg/tree-ssa/pr107293.c: New test.
Diffstat (limited to 'libgcc')
0 files changed, 0 insertions, 0 deletions