When an indirect call is inliend, the introduced
operations that guard that direct call have debug
information copied from the original call. This
yields incorrect values for conditionally the
generated blocks. Here we copy the weights directly
from the profile to the BlockWeights map and then
ignore the operations in those blocks.
The added test has a more realistic profile to
illustrate the changes.
It is better to understand it with a comment.