]> git.ipfire.org Git - thirdparty/gcc.git/commit
middle-end/108786 - add bitmap_clear_first_set_bit
authorRichard Biener <rguenther@suse.de>
Tue, 14 Feb 2023 15:36:03 +0000 (16:36 +0100)
committerRichard Biener <rguenther@suse.de>
Tue, 18 Apr 2023 14:45:02 +0000 (16:45 +0200)
commitf548ece7abc0a0c81dd049e9f8b480ff2c38e18b
treeecc07baa36fc1db623123d0630409e2d4fcec4b7
parent2b53ac39bce7f6696332a8374205182a72ef2cb7
middle-end/108786 - add bitmap_clear_first_set_bit

This adds bitmap_clear_first_set_bit and uses it where previously
bitmap_clear_bit followed bitmap_first_set_bit.  The advantage
is speeding up the search and avoiding to clobber ->current.

PR middle-end/108786
* bitmap.h (bitmap_clear_first_set_bit): New.
* bitmap.cc (bitmap_first_set_bit_worker): Rename from
bitmap_first_set_bit and add optional clearing of the bit.
(bitmap_first_set_bit): Wrap bitmap_first_set_bit_worker.
(bitmap_clear_first_set_bit): Likewise.
* df-core.cc (df_worklist_dataflow_doublequeue): Use
bitmap_clear_first_set_bit.
* graphite-scop-detection.cc (scop_detection::merge_sese):
Likewise.
* sanopt.cc (sanitize_asan_mark_unpoison): Likewise.
(sanitize_asan_mark_poison): Likewise.
* tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Likewise.
* tree-into-ssa.cc (rewrite_blocks): Likewise.
* tree-ssa-dce.cc (simple_dce_from_worklist): Likewise.
* tree-ssa-sccvn.cc (do_rpo_vn_1): Likewise.
gcc/bitmap.cc
gcc/bitmap.h
gcc/df-core.cc
gcc/graphite-scop-detection.cc
gcc/sanopt.cc
gcc/tree-cfgcleanup.cc
gcc/tree-into-ssa.cc
gcc/tree-ssa-dce.cc
gcc/tree-ssa-sccvn.cc