Symbolic tags for simplifier phases
authorRoman Leshchinskiy <rl@cse.unsw.edu.au>
Mon, 11 Feb 2008 03:23:50 +0000 (03:23 +0000)
committerRoman Leshchinskiy <rl@cse.unsw.edu.au>
Mon, 11 Feb 2008 03:23:50 +0000 (03:23 +0000)
commita33ae68ab331a16fbb6e7d6931d1c38bd8f37a85
tree29a2ccfff68fe86c4f23b782b84c1007ec6a9c5d
parentb4229ab662b6d87b1477bafa85d2db46e5a9a152
Symbolic tags for simplifier phases

Every simplifier phase can have an arbitrary number of tags and multiple
phases can share the same tags. The tags can be used as arguments to
-ddump-simpl-phases to specify which phases are to be dumped.
For instance, -ddump-simpl-phases=main will dump the output of phases 2, 1 and
0 of the initial simplifier run (they all share the "main" tag) while
-ddump-simpl-phases=main:0 will dump only the output of phase 0 of that run.

At the moment, the supported tags are:

  main                 The main, staged simplifier run (before strictness)
  post-worker-wrapper  After the w/w split
  post-liberate-case   After LiberateCase
  final                Final clean-up run

The names are somewhat arbitrary and will change in the future.
compiler/main/DynFlags.hs
compiler/simplCore/SimplCore.lhs
compiler/simplCore/SimplUtils.lhs