tock-mirror/backends
Adam Sampson 6debf9292f Rework Traversal, and convert all passes to use it.
This changes the Traversal API to the one that I've been working on in
the Polyplate branch, but implemented in terms of Data. The
performance isn't as good as the Polyplate version, but the code is a
lot simpler because it doesn't need all the type constraints (and it
doesn't make GHC struggle).

This also reworks all the passes in Tock to use the new API, including
those that previously used makeGeneric (which I've now removed) or
everywhereM. Most of the passes are simpler because of this, and I
suspect it's fixed a few subtle bugs resulting from missing recursion
in makeGeneric code.

I haven't yet profiled this, but subjectively it seems about the same
as the old Traversal (and thus faster for all the passes that didn't
yet use it).
2008-05-25 20:13:57 +00:00
..
AnalyseAsm.hs Fix some broken Haddock. 2008-05-25 18:49:15 +00:00
AnalyseAsmTest.hs In AnalyseAsm, ignore labels that contain "." anywhere. 2008-04-06 15:31:28 +00:00
BackendPasses.hs Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
BackendPassesTest.hs Renamed ndType to ndSpecType, as per Trac ticket #59 2008-05-21 13:38:51 +00:00
GenerateC.hs GenerateC doesn't need Text.Regex any more. 2008-05-25 18:42:18 +00:00
GenerateCBased.hs Fixed some unused module import warnings, now that PassM is not build of monad transformers 2008-03-10 17:19:45 +00:00
GenerateCPPCSP.hs Rework Traversal, and convert all passes to use it. 2008-05-25 20:13:57 +00:00
GenerateCTest.hs Changed to a state monad for warnings, and added a runPassM function to remove duplicate code for running passes 2008-04-03 12:21:59 +00:00
TLP.hs Changed the TLP and PrettyShow modules to use CSMR instead of CSM 2008-02-08 11:29:09 +00:00