Don't refer to blocks in debug info when -g1
ClosedPublic

Authored by niteria on Mar 11 2018, 7:45 PM.

Details

Summary

-g1 removes block information, but it turns out that procs can
refer to block information through parents.
Note [Splitting DebugBlocks] explains the parentage relationship.

Test Plan
  • ./validate
  • added a new test

Diff Detail

Repository
rGHC Glasgow Haskell Compiler
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
niteria created this revision.Mar 11 2018, 7:45 PM
niteria added inline comments.Mar 11 2018, 8:36 PM
compiler/nativeGen/Dwarf.hs
191

So it turns out that not only LocalBlockLabel _ causes problems here, but also IdLabel _ _ BlockInfoTable.
Perhaps not . externallyVisibleCLabel is a better predicate? I'm not familiar enough with this.
It seems to do the trick, but maybe it's overly broad.

I think @bgamari needs to look at this, I'm not familiar with what's going on here.

bgamari requested changes to this revision.Mar 19 2018, 2:15 PM
bgamari added inline comments.
compiler/nativeGen/Dwarf.hs
191

Yes, I think not . externallyVisibleCLabel is a bit easier to follow and ought to work. Could you try this?

This revision now requires changes to proceed.Mar 19 2018, 2:15 PM
niteria updated this revision to Diff 15804.Mar 21 2018, 5:58 AM

broader condition

This revision is now accepted and ready to land.Mar 25 2018, 10:57 AM
This revision was automatically updated to reflect the committed changes.