[GHC] #14219: Include source location information in -ddump-rule-rewrites
GHC
ghc-devs at haskell.org
Tue Sep 12 03:20:02 UTC 2017
#14219: Include source location information in -ddump-rule-rewrites
-------------------------------------+-------------------------------------
Reporter: harendra | Owner: (none)
Type: feature | Status: new
request |
Priority: normal | Milestone:
Component: Compiler | Version: 8.2.1
(Debugging) |
Keywords: | Operating System: Unknown/Multiple
Architecture: | Type of failure: Debugging
Unknown/Multiple | information is incorrect
Test Case: | Blocked By:
Blocking: | Related Tickets:
Differential Rev(s): | Wiki Page:
-------------------------------------+-------------------------------------
Inlining is one of the most common and powerful optimizations and it
interacts with rewrite-rules which is also common the libraries including
base. When debugging a performance problem we are interacting with the
rewrite-rules written by others hidden somewhere in some library that we
are using. When I use the `-ddump-rule-rewrites` option I get an output
like this:
{{{
Rule fired
Rule: Class op >>=
Module: (BUILTIN)
Before: GHC.Base.>>= TyArg GHC.Types.IO ValArg GHC.Base.$fMonadIO
After: GHC.Base.$fMonadIO1
}}}
This does not say where exactly this rule is defined in the source. It is
sort of ok if this is my code I would perhaps know where this rule is. But
when it is in some dependency that I am using it is hard to find.
It will be really helpful if the source location information can be
provided in this dump information, so that one can go and examine the
source.
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/14219>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list