https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116899

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Similarly to the other BB, enable_ranger -> gimple_ranger -> ranger_cache does
1000      m_workback.create (0);
1001      m_workback.safe_grow_cleared (last_basic_block_for_fn (cfun));
1002      m_workback.truncate (0);
(which seems just weird, I'd expect m_workback.create (last_basic_block_for_fn
(cfun));
Creating a large vector, filling it with zeros and then immediately truncating
is just a waste of time) and then just uses m_workback.quick_push.  That works
only if no new basic blocks are created, which the gimple-lower-bitint creates
a lot (split_block in tons of places, even manual create_basic_block).

Reply via email to