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 |