diff options
author | Richard Biener <rguenther@suse.de> | 2022-09-06 11:56:04 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2022-09-06 13:41:18 +0200 |
commit | 12f0783111067b68673284665a886cdd0c8f55c3 (patch) | |
tree | ca88b345502522d3648ae64bc1db08f3bb52f2fe /gcc/tree-vectorizer.h | |
parent | 190c644c06369766aa2537851ddbf83b1231b65b (diff) | |
download | gcc-12f0783111067b68673284665a886cdd0c8f55c3.zip gcc-12f0783111067b68673284665a886cdd0c8f55c3.tar.gz gcc-12f0783111067b68673284665a886cdd0c8f55c3.tar.bz2 |
Fix use predicate computation for uninit analysis
In uninit analysis we try to prove that a use is always properly guarded
so it is never reached when the used value is not initialized. This
fails to be conservative when during the computation of the use
predicate components of the || .. || .. chain are dropped so we have
to detect this case and fall back to the conservative computation.
* gimple-predicate-analysis.cc (compute_control_dep_chain):
Add output flag to indicate whether we possibly have dropped
any chains. Return whether the info is complete from the
wrapping overload.
(uninit_analysis::init_use_preds): Adjust accordingly, with
a workaround for PR106754.
(uninit_analysis::init_from_phi_def): Properly guard the
case where we complete an empty chain.
Diffstat (limited to 'gcc/tree-vectorizer.h')
0 files changed, 0 insertions, 0 deletions