Skip to content

DWARF DIEs are extremely verbose

The DIEs produced by GHC are much larger than necessary.

.L$wadvance_r4Sp_info_die:                  
  .byte 2                                   
  .asciz "advance"                          
  .asciz "r4Sp_info"                        
  .byte 0                                   
  .quad $wadvance_r4Sp_info                 
  .quad .L$wadvance_r4Sp_info_end           
  .byte 1                                   
  .byte 156                                 
.Lc55F_die:                                 
  .byte 5                                   
  .asciz "_c55F"                            
  .quad _c55F                               
  .quad .Lc55F_end                          
  .byte 6                                   
  .asciz "nofib/shootout/n-body/Main.hs"    
  .long 64                                  
  .short 1                                  
  .long 88                                  
  .short 19                                 
  .byte 6                                   
  .asciz "nofib/shootout/n-body/Main.hs"    
  .long 88                                  
  .short 12                                 
  .long 88                                  
  .short 19                                 
  .byte 6                                   
  .asciz "nofib/shootout/n-body/Main.hs"    
  .long 136                                 
  .short 1                                  
  .long 136                                 
  .short 17                                 
  .byte 6                                   
  .asciz "nofib/shootout/n-body/Main.hs"    
  .long 142                                 
  .short 1                                  
  .long 142                                 
  .short 32                                 
  .byte 6                                   

Specifically, the source filename string is repeated for every DIE. I'm pretty sure there is a way to encode this rather into the debug strings section.

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information