diff options
author | Aldy Hernandez <aldyh@redhat.com> | 2023-07-14 12:38:16 +0200 |
---|---|---|
committer | Aldy Hernandez <aldyh@redhat.com> | 2023-08-03 22:31:34 +0200 |
commit | c83528d2367b353156e27af50b63d1c14686f778 (patch) | |
tree | 189eaac1a44dfc92473531fa959f417b50517c44 /gcc/tree-cfg.cc | |
parent | 9e3fd332959930efd3cabf222afbac910507d2f3 (diff) | |
download | gcc-c83528d2367b353156e27af50b63d1c14686f778.zip gcc-c83528d2367b353156e27af50b63d1c14686f778.tar.gz gcc-c83528d2367b353156e27af50b63d1c14686f778.tar.bz2 |
Read global value/mask in IPA.
Instead of reading the known zero bits in IPA, read the value/mask
pair which is available.
There is a slight change of behavior here. I have removed the check
for SSA_NAME, as the ranger can calculate the range and value/mask for
INTEGER_CST. This simplifies the code a bit, since there's no special
casing when setting the jfunc bits. The default range for VR is
undefined, so I think it's safe just to check for undefined_p().
gcc/ChangeLog:
* ipa-prop.cc (ipa_compute_jump_functions_for_edge): Read global
value/mask.
gcc/testsuite/ChangeLog:
* g++.dg/ipa/pure-const-3.C: Move source to...
* g++.dg/ipa/pure-const-3.h: ...here, and adjust original test
accordingly.
* g++.dg/ipa/pure-const-3b.C: New.
Diffstat (limited to 'gcc/tree-cfg.cc')
0 files changed, 0 insertions, 0 deletions