[GHC] #7814: panic in PPC NCG

GHC cvs-ghc at haskell.org
Mon Apr 8 00:49:02 CEST 2013


#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



More information about the ghc-tickets mailing list