diff options
author | Richard Biener <rguenther@suse.de> | 2021-04-13 12:05:53 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2021-04-13 14:30:57 +0200 |
commit | f9810422f6768b914aabfcbffe64f535bdd18452 (patch) | |
tree | 96b2f7b6ee006f585366f93b6726acf97a5fe776 /gcc/ada/gcc-interface/trans.c | |
parent | 0851ac6df0596df1e3b640e58094cf94ebb790b8 (diff) | |
download | gcc-f9810422f6768b914aabfcbffe64f535bdd18452.zip gcc-f9810422f6768b914aabfcbffe64f535bdd18452.tar.gz gcc-f9810422f6768b914aabfcbffe64f535bdd18452.tar.bz2 |
tree-optimization/100053 - fix predication in VN
This avoids doing optimistic dominance queries involving
non-executable backedges when validating recorded predicated values
in VN because we have no way to force re-evaluating validity when
optimistically not executable edges become executable later.
2021-04-13 Richard Biener <rguenther@suse.de>
PR tree-optimization/100053
* tree-ssa-sccvn.c (vn_nary_op_get_predicated_value): Do
not use optimistic dominance queries for backedges to validate
predicated values.
(dominated_by_p_w_unex): Add parameter to ignore executable
state on backedges.
(rpo_elim::eliminate_avail): Adjust.
* gcc.dg/torture/pr100053.c: New testcase.
* gcc.dg/tree-ssa/ssa-fre-93.c: Likewise.
Diffstat (limited to 'gcc/ada/gcc-interface/trans.c')
0 files changed, 0 insertions, 0 deletions