[source]

compiler/cmm/BlockId.hs

Note [Unique BlockId]

[note link]

Although a ‘BlockId’ is a local label, for reasons of implementation, ‘BlockId’s must be unique within an entire compilation unit. The reason is that each local label is mapped to an assembly-language label, and in most assembly languages allow, a label is visible throughout the entire compilation unit in which it appears.