ghc panic: RegAlloc.Liveness.computeLivenss
I have some code where ghc consistently panics with
RegAlloc.Liveness.computeLivenss
SCCs aren't in reverse dependent order
bad blockId c1kek
The only reference I can find to that block in the dumped output is here:
REC
c1kej:
movq $block{v c1keo}_info,(%rbp)
movsd 7(%rbx),%vSSE_s1ivM
movsd 15(%rbx),%vSSE_s1ivN
movq 96(%rbp),%rbx
movsd %vSSE_s1ivN,88(%rbp)
movsd %vSSE_s1ivM,96(%rbp)
testq $7,%rbx
jne _c1keo
jmp _c1kep
c1kpo:
movq $block{v c1kej}_info,(%rbp)
movq %vI_s1it5,%rbx
movq $0,120(%rbp)
testq $7,%rbx
jne _c1kej
jmp _c1kek,
There doesn't appear to be any reference to c1kpo either.
Unfortunately I don't yet have a test case I can provide; I'll keep working on that. Building with -dcore-lint and -dcmm-lint don't show any extra errors.
This is with ghc-7.8.2 using NCG.
Trac metadata
| Trac field | Value |
|---|---|
| Version | 7.8.2 |
| Type | Bug |
| TypeOfFailure | OtherFailure |
| Priority | normal |
| Resolution | Unresolved |
| Component | Compiler |
| Test case | |
| Differential revisions | |
| BlockedBy | |
| Related | |
| Blocking | |
| CC | |
| Operating system | |
| Architecture |