
#7814: panic in PPC NCG --------------------------------+------------------------------------------- Reporter: heisenbug | Owner: heisenbug Type: bug | Status: new Priority: normal | Component: Compiler Version: 7.7 | Keywords: Os: Unknown/Multiple | Architecture: powerpc Failure: Building GHC failed | Blockedby: Blocking: | Related: --------------------------------+------------------------------------------- Comment(by heisenbug): Replying to [comment:4 heisenbug]: I made the same dump with Darwin/x86 (with splitting hacked out) {{{ ==================== Liveness annotations added ==================== stg_sel_0_upd_entry() // [R1] { [(cb, stg_sel_0_upd_info: const 0; const 23;), (ce, block_ce_info: const 0; const 32;)] # firstId = Just cb # liveVRegsOnEntry = Just [(cb, []), (ce, []), (cj, [(cc, %vI_cc)]), (cl, [(cc, %vI_cc), (nt, %vI_nt)]), (cn, [(cf, %vI_cf), (nt, %vI_nt)]), (co, [(cf, %vI_cf), (nt, %vI_nt)])] # liveSlotsOnEntry = fromList [] } [NONREC cb: call 1f 1: popl %vI_nt # born: %vI_nt movl %esi,%vI_cc # born: %vI_cc leal -12(%ebp),%vI_ns # born: %vI_ns cmpl 220(%ebx),%vI_ns # r_dying: %vI_ns jb _cj jmp _cl # r_dying: %vI_cc %vI_nt , NONREC ce: call 1f 1: popl %vI_nt # born: %vI_nt addl $12,%ebp movl %esi,%vI_cf # born: %vI_cf jmp _co # r_dying: %vI_cf %vI_nt , NONREC cj: movl %vI_cc,%esi # r_dying: %vI_cc jmp *-8(%ebx) , NONREC cl: movl Lstg_upd_frame_info$non_lazy_ptr-(1b)+0(%vI_nt),%vI_nu # born: %vI_nu movl %vI_nu,-8(%ebp) # r_dying: %vI_nu movl %vI_cc,-4(%ebp) movl 8(%vI_cc),%vI_cf # born: %vI_cf # r_dying: %vI_cc testl $3,%vI_cf jne _co jmp _cn # r_dying: %vI_cf %vI_nt , NONREC cn: movl %vI_nt,%vI_nw # born: %vI_nw # r_dying: %vI_nt addl $block_ce_info-(1b)+0,%vI_nw movl %vI_nw,-12(%ebp) # r_dying: %vI_nw movl %vI_cf,%esi addl $-12,%ebp jmp *(%vI_cf) # r_dying: %vI_cf , NONREC co: movl %vI_cf,%vI_ny # born: %vI_ny # r_dying: %vI_cf andl $-4,%vI_ny movl 4(%vI_ny),%esi # r_dying: %vI_ny addl $-8,%ebp jmp *Lstg_ap_0_fast$non_lazy_ptr-(1b)+0(%vI_nt) # r_dying: %vI_nt ] } }}} Notice how `liveVRegsOnEntry (ce, [])` is empty. I would expect the same thing for PPC too. -- Ticket URL: http://hackage.haskell.org/trac/ghc/ticket/7814#comment:9 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler