More PRE compile-time optimizations
authorRichard Biener <rguenther@suse.de>
Thu, 12 Nov 2020 14:05:03 +0000 (15:05 +0100)
committerRichard Biener <rguenther@suse.de>
Thu, 12 Nov 2020 14:08:43 +0000 (15:08 +0100)
commit896db49a442a15a1fa1f641cd0385da1ba1794e3
treefbbdbc6276cb75d899d8eefbefbd25ec59a48166
parentcb808c583de59ea568fd240144cd9db07272f45e
More PRE compile-time optimizations

This fixes a bug in bitmap_list_view which could end up with
a NULL head->current which makes followup searches fail.  Oops.

It also further optimizes the PRE DFS walk by removing useless
stuff and special-casing bitmaps with just one element for
EXECUTE_IF_AND_IN_BITMAP which makes a quite big difference.

2020-11-12  Richard Biener  <rguenther@suse.de>

* bitmap.c (bitmap_list_view): Restore head->current.
* tree-ssa-pre.c (pre_expr_DFS): Elide expr_visited bitmap.
Special-case value expression bitmaps with one element.
(bitmap_find_leader): Likewise.
(sorted_array_from_bitmap_set): Elide expr_visited bitmap.
gcc/bitmap.c
gcc/tree-ssa-pre.c