[GHC] #15901: Assert and record that code generation requires distinct uiques for let-binders
GHC
ghc-devs at haskell.org
Thu Nov 15 17:13:05 UTC 2018
#15901: Assert and record that code generation requires distinct uiques for let-
binders
-------------------------------------+-------------------------------------
Reporter: sgraf | Owner: (none)
Type: task | Status: new
Priority: normal | Milestone: ⊥
Component: Compiler | Version: 8.6.2
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: None/Unknown
Unknown/Multiple |
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Simon writes in [https://ghc.haskell.org/trac/ghc/ticket/15754#comment:10
#15754]:
Another invariant that the code generator needs is (I believe) that every
let-binder has a distinct unique. We can't re-use the same unique, even
in a different scope, let alone shadowing.
Why? Because (I believe) that the code generator uses these uniques to
generate unique top level labels for the entry code and info table for the
closure.
Now, it's probably the case that they are unique anyway; but we should
either
* Write this down as a invariant of STG, or
* Establish this invariant in the immediately-before-codegen pass that
gets the free vars right, or
* Not assume it in the code generator
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/15901>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list