X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=docs%2Fusers_guide%2Fdebugging.xml;h=6fc1413bb1af5334931128f2a2f7037f096f16e0;hb=6cec61d14a324285dbb8ce73d4c7215f1f8d6766;hp=6bda65010c86854ea5dd4dc43a53dbebf27153e4;hpb=b24311d669a707bd1d30660c640659ef6d90578c;p=ghc-hetmet.git diff --git a/docs/users_guide/debugging.xml b/docs/users_guide/debugging.xml index 6bda650..6fc1413 100644 --- a/docs/users_guide/debugging.xml +++ b/docs/users_guide/debugging.xml @@ -60,6 +60,17 @@ + : + + + + Dump Template Haskell expressions that we splice in, + and what Haskell code the expression evaluates to. + + + + + : @@ -109,8 +120,42 @@ - dumps all rewrite rules (including those generated - by the specialisation pass) + dumps all rewrite rules specified in this module; + see . + + + + + + + : + + + + dumps the names of all rules that fired in this module + + + + + + : + + + + dumps detailed information about all rules that fired in + this module + + + + + + + : + + + + dumps the output of the vectoriser. + @@ -166,8 +211,8 @@ - : - + : + worker/wrapper split output @@ -186,6 +231,16 @@ + : + + + + output of core preparation pass + + + + + : @@ -206,6 +261,26 @@ + : + + + + Print the C-- code out. + + + + + + : + + + + Dump the results of C-- to C-- optimising passes. + + + + + : @@ -239,14 +314,25 @@ + : + + + + Show the output of each run of the simplifier. Used when even + doesn't cut it. + + + + + : Show the output of each iteration of the simplifier (each run of the simplifier has a maximum - number of iterations, normally 4). Used when even - doesn't cut it. + number of iterations, normally 4). This outputs even more information + than . @@ -265,6 +351,39 @@ + + + + + Make the interface loader be *real* chatty about what it is + upto. + + + + + + + + + + Make the type checker be *real* chatty about what it is + upto. + + + + + + + + + + Make the vectoriser be *real* chatty about what it is + upto. + + + + + @@ -300,7 +419,7 @@ of output!) So: when we're really desperate: -% ghc -noC -O -ddump-simpl -dverbose-simpl -dcore-lint Foo.hs +% ghc -noC -O -ddump-simpl -dverbose-core2core -dcore-lint Foo.hs @@ -308,6 +427,38 @@ + + + + + Print out each pass name as it happens. + + + + + + + + + + Print a one-line summary of the size of the Core program + at the end of the optimisation pipeline. + + + + + + + + + + Show statistics for the usage of fast strings by the + compiler. + + + + + @@ -328,6 +479,41 @@ + + + + + Suppress the printing of uniques in debugging output. This may make + the printout ambiguous (e.g. unclear where an occurrence of 'x' is bound), but + it makes the output of two compiler runs have many fewer gratuitous differences, + so you can realistically apply diff. Once diff + has shown you where to look, you can try again without + + + + + + + + + + Suppress the printing of coercions in Core dumps to make them +shorter. + + + + + + + + + + Suppress the printing of module qualification prefixes in Core dumps to make them easier to read. + + + + + @@ -335,19 +521,23 @@ In error messages, expressions are printed to a certain “depth”, with subexpressions beyond the depth replaced by ellipses. This flag sets the - depth. + depth. Its default value is 5. - - - + + + - - Have the renamer report what imports does not - contribute. - + + Suppress any unsolicited debugging output. When GHC + has been built with the DEBUG option it + occasionally emits debug output of interest to developers. + The extra output can confuse the testing framework and + cause bogus test failures, so this flag is provided to + turn it off. + @@ -381,6 +571,16 @@ + + + : + + + + Ditto for C-- level. + + + @@ -507,28 +707,15 @@ Main.skip2{-r1L6-} = of platform-specific code that needs to be written in order to get unregisterised compilation going is usually fairly small. - - - - : - - - - Compile via vanilla ANSI C only, turning off - platform-specific optimisations. NOTE: in order to use - , you need to have a set of libraries - (including the RTS) built for unregisterised compilation. - This amounts to building GHC with way "u" enabled. - - - + Unregisterised compilation cannot be selected at + compile-time; you have to build GHC with the appropriate options + set. Consult the GHC Building Guide for details.