You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently BlockAddresses store both the Function and the BasicBlock
they reference, and the BlockAddress is part of the use list of
both the Function and BasicBlock.
This is quite awkward, because this is not really a use of the
function itself (and walks of function uses generally skip block
addresses for that reason). This also has weird implications
on function RAUW (as that will replace the function in block
addresses in a way that generally doesn't make sense), and
causes other peculiar issues, like the ability to have multiple
block addresses for one block (with different functions).
Instead, I believe it makes more sense to specify only the basic
block and let the function be implied by the BB parent. This
does mean that we may have block addresses without a function
(if the BB is not inserted), but this should only happen during
IR construction.
0 commit comments