On Oct 30, 2024, Richard Biener <richard.guent...@gmail.com> wrote: > As you are only doing bitmap_set_bit/bitmap_bit_p consider doing
> bitmap_tree_view (used); Ah, nice, I didn't know about this alternate representation. Thanks. > But we don't have any artificial limit on the number of stmts in the > middle block, right? Yeah, and I really expect that the count of SSA defs referenced by the combined condition to be very low. Only one file in an all-languages bootstrap needs a third bit in USED for the cond, and no file uses more than 4 bits in USED for all defs that might need moving. OTOH, this one file in gm2 combines (_1 & _2) [!= 0] and (_1 & _3) into ((_2 | _3) & _1), and I suspect the _3 def that needs moving could be arbitrarily complex. I suppose there should be add some limit on how many stmts to move to enable a combined cond, either a static limit, or some dynamic limit based on costs and probabilities of moving vs remaining stmts. -- Alexandre Oliva, happy hacker https://FSFLA.org/blogs/lxo/ Free Software Activist GNU Toolchain Engineer More tolerance and less prejudice are key for inclusion and diversity Excluding neuro-others for not behaving ""normal"" is *not* inclusive