Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in / Register
  • GHC GHC
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 5,245
    • Issues 5,245
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
  • Merge requests 564
    • Merge requests 564
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
    • Test Cases
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Code review
    • Insights
    • Issue
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • Glasgow Haskell CompilerGlasgow Haskell Compiler
  • GHCGHC
  • Issues
  • #17609
Closed
Open
Issue created Dec 27, 2019 by Ben Gamari@bgamari🐢Maintainer

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
Assignee
Assign to
Time tracking