aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-cfg.cc
diff options
context:
space:
mode:
authorAldy Hernandez <aldyh@redhat.com>2023-06-29 11:27:49 +0200
committerAldy Hernandez <aldyh@redhat.com>2023-07-12 18:21:29 +0200
commit602e824eec30a7c6792b8b27d61c40f1c1a2714c (patch)
tree523bbcde95a826173c3cfbab1d4292e3fe337d40 /gcc/tree-cfg.cc
parent14b10ff30ad58265c5acd495c3b0e56563571b0c (diff)
downloadgcc-602e824eec30a7c6792b8b27d61c40f1c1a2714c.zip
gcc-602e824eec30a7c6792b8b27d61c40f1c1a2714c.tar.gz
gcc-602e824eec30a7c6792b8b27d61c40f1c1a2714c.tar.bz2
[range-op] Enable value/mask propagation in range-op.
Throw the switch in range-ops to make full use of the value/mask information instead of only the nonzero bits. This will cause most of the operators implemented in range-ops to use the value/mask information calculated by CCP's bit_value_binop() function which range-ops uses. This opens up more optimization opportunities. In follow-up patches I will change the global range setter (set_range_info) to be able to save the value/mask pair, and make both CCP and IPA be able to save the known ones bit info, instead of throwing it away. gcc/ChangeLog: * range-op.cc (irange_to_masked_value): Remove. (update_known_bitmask): Update irange value/mask pair instead of only updating nonzero bits. gcc/testsuite/ChangeLog: * gcc.dg/pr83073.c: Adjust testcase.
Diffstat (limited to 'gcc/tree-cfg.cc')
0 files changed, 0 insertions, 0 deletions