During code generation we might change/add basic blocks so keeping a
list of them is fairly easy to break. Nested parallel regions were
enough. The new scheme does recompute the list of blocks to be outlined
once it is needed. We also need to keep track of the alloca insertion
point (which we already communicate via the callback to the user) as we
place allocas as well.