Neil Brown
8f767ff0d4
Made all the imports of Data.Generics have an import list
...
This makes sure that we catch all leftover instances of using SYB to do generic operations that we should be using Polyplate for instead. Most modules should only import Data, and possibly Typeable.
2009-04-09 15:36:37 +00:00
Neil Brown
e61a23855a
Fixed all the conflicts while merging into the Polyplate branch
2009-04-09 11:01:39 +00:00
Neil Brown
4672675ba8
Removed the GenericUtils module, now that everything uses Polyplate instead
2009-01-12 18:03:41 +00:00
Neil Brown
1d500b46ae
Moved the SYB-based route stuff back into FlowUtils, and trimmed down the export list of GenericUtils
2008-12-15 10:36:48 +00:00
Neil Brown
a0c58ae836
Adjusted all the remaining modules in the transformations directory to work with the new Pass system
2008-12-14 18:30:02 +00:00
Neil Brown
adf046a30e
Fixed the implicit mobility module (it was only broken for Rain anyway)
2009-04-08 12:15:11 +00:00
Neil Brown
dbf886996a
Removed various bits of old code relating to the old sizes mechanism
2009-03-31 10:50:04 +00:00
Neil Brown
45b22472c3
Changed the rest of tock to reflect the changes to the Is constructor
2009-03-24 23:57:24 +00:00
Neil Brown
f5ce1c8f89
Added the code to mobilise arrays inside protocols
2009-03-20 11:26:54 +00:00
Neil Brown
65875f523f
Added mobile cloning rather than using dereferencing to copy mobiles
2009-03-19 16:47:31 +00:00
Neil Brown
2e99bcfc5e
Added the mobilisation of process parameters, but I think I need to clone, not dereference
2009-03-19 15:45:49 +00:00
Neil Brown
8abd09758c
Fixed the implicit mobility module to mobilise arrays inside channels
2009-03-19 15:23:56 +00:00
Neil Brown
26824883d6
Changed the implicit mobility to only look at mobile variables, and recorded what future use is causing a copy decision
2009-03-19 14:00:59 +00:00
Neil Brown
823592bd1d
Added some passes to mobilise non-mobile arrays
2009-02-27 17:12:08 +00:00
Neil Brown
2a15f4ef5f
Filled in all the gaps such that the CheckTest tests now run (including some debug output, for now)
...
One of the tests fails at the moment because the specification node has two entries associated with it in the flowgraph. One is the scope-in and one is the scope-out. I think the analysis is currently picking the scope-out node and looking beyond that, where -- surprise, surprise -- the variable is not used again. So I need some easy way of telling the flow analyses which of the two nodes I want to start from, in this case and other ones where I also add two nodes related to the same point in the AST.
2008-11-12 16:54:00 +00:00
Neil Brown
dc030acabe
Changed the FlowGraph stuff to use the new Route type (that includes identifiers) rather than the bare functions as it used to
2008-11-10 14:01:30 +00:00
Neil Brown
73d1bdc711
Fixed the flow algorithms to discard nodes that should not feature (e.g. nodes with no onward path in backward data flow)
2008-09-11 21:46:03 +00:00
Neil Brown
7e0bc775bf
Changed the writtenVars entry of Vars to be a map from variables to (assigned-from) expressions
...
The expressions are optional (wrapped in a Maybe type)
2008-06-05 20:30:44 +00:00
Neil Brown
936382a3ca
Renamed labelFunctions to labelUsageFunctions, to make it clearer what the functions are for
2008-06-05 20:16:02 +00:00
Neil Brown
21329287e2
Fixed a problem with GHC 6.6 and the new pass mechanism by removing all the dollars that were confusing the type-checker
2008-06-03 16:16:26 +00:00
Neil Brown
0adbdda126
Moved all the pass information about the Rain passes into their definition (rather than the pass list at the top)
...
As part of this patch, I have also introduced a helper function that fiddles the type system for those passes that must run at the top-level (i.e. on A.AST) rather than on any Data t. They will give an error if not applied at the top-level.
2008-06-02 12:51:14 +00:00
Neil Brown
5301b83148
Added code to actually make the implicit mobility decisions take effect in the tree
2008-06-01 19:28:22 +00:00
Neil Brown
600ce667cb
Refactored the code for making and printing out the move/copy decisions in the ImplicitMobility module
2008-05-30 18:28:40 +00:00
Neil Brown
947f252e66
Corrected the implicit mobility so that it now works properly on the Rain move testcase
2008-05-30 17:29:21 +00:00
Neil Brown
a5fca4816b
Added the beginnings of support for implicit mobility for Rain (just printing out the decisions for now)
2008-05-30 17:16:10 +00:00