Cédric Pasteur
|
f45e30d207
|
Yet another special case for iterators
|
2011-06-07 10:49:36 +02:00 |
|
Cédric Pasteur
|
f0f67dacf4
|
Raise an error when using linear type without memalloc
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
a48981f72c
|
Fix memalloc_apply
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
192572ea67
|
This should fix some bugs in causality
This should all be rewritten anyway
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
90be09f259
|
Give correct linearity to generate vars
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
d39e883e08
|
Filter outputs removed by memalloc
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
de3a61557b
|
Improvements on Schedule_Interf
Only take into account optimized types.
Reuse code from Interference to compute uses.
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
840f6672df
|
Fixed linear typing of const tuples
|
2011-05-25 09:12:16 +02:00 |
|
Cédric Pasteur
|
b7ba8e7913
|
Remove useless case
As targeting is only done for linear variables,
this case is already dealt with by
coalesce_linear_vars
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
d1a68c5df3
|
Missing file
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
75b4fa9ddc
|
Fixed bug in the interference of fold
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
1ea4290f9e
|
Added scheduler that tries to minimize interferences
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
a2c2a3a619
|
Fixed typing of if then else
First try as T * at r * T -> at r and then as
T * T * at r
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
caa149ac39
|
Tests for memory allocation and linear typing
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
c70861b874
|
Small fixes
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
90648f61ff
|
Fixed linear typing of automata
Each state must be typed in the global environment
and then the accumulator must be joined.
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
ebf8b354bd
|
Fixed conflict in parsing with split
|
2011-05-25 09:12:15 +02:00 |
|
Cédric Pasteur
|
2b2cba8e2d
|
Added split operator
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
9686e2db01
|
Oops, forgot to recurse on the pattern of Acall
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
db8c87ff07
|
Fix generation of bounds check expression
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
28b9eaa203
|
Fixed problems with types
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
c3d47f4d4b
|
Fixed error in computation of targeting
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
6f32564ad5
|
Added a sepecial case to deal with iterators
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
41d2a1e3cb
|
Added check for unicity of init
|
2011-05-25 09:12:14 +02:00 |
|
Cédric Pasteur
|
6332ac7a10
|
Added init construct
It is part of a pattern, eg:
(init<<r>> x, y, init<<r2>>) = f()
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
d5218ff91c
|
Causality check for linear types
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
0728f3dae7
|
More work on code generation
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
822e87605b
|
One step closer to code generation with memalloc
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
3f29e8623d
|
Interaction between linear typing and memalloc
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
cf34234ed5
|
Fixed linear typing of iterators
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
ec18040cf4
|
Linear typing
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
6c9d9e90d1
|
Linearity annotations in the AST
|
2011-05-25 09:12:13 +02:00 |
|
Cédric Pasteur
|
0b9dc1fc01
|
Correct fix
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
7d2b1e5865
|
Fixed bug in disjoint clock
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
285abc48bf
|
Fixed some bugs
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
dec8cb69c8
|
Fixed bug in computation of live vars
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
68e1fe1ee8
|
Always check if a var should be optimized
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
66386ddca2
|
Fixed some bugs
|
2011-05-25 09:12:12 +02:00 |
|
Cédric Pasteur
|
c994e58e06
|
Fixed bug in listing colors
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
032fe693ef
|
Deadcode removal pass
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
448c163181
|
Dsatur coloring algorithm
It is not completely generic, as we need to know
the difference between affinity and interference
edges.
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
3f9918b570
|
Added memory alloc application pass
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
a7015a9bf4
|
Fix for interference
Works on a simple program
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
9a7f9254d2
|
Added memalloc pass to the compiler
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
1059329c0e
|
Interference compiles
|
2011-05-25 09:12:11 +02:00 |
|
Cédric Pasteur
|
197e24b73e
|
Rename Graph to Sgraph
The Graph module name is already used
in OCamlGraph
|
2011-05-25 09:12:10 +02:00 |
|
Cédric Pasteur
|
7787428f34
|
Compile fixes
|
2011-05-25 09:12:10 +02:00 |
|
Cédric Pasteur
|
3ee0e5e7b4
|
First version of interference.ml
|
2011-05-25 09:12:10 +02:00 |
|
Cédric Pasteur
|
e9316bbf1b
|
Interference graph ported to OCamlGraph
|
2011-05-25 09:12:10 +02:00 |
|
Léonard Gérard
|
d7553b9db0
|
Fix static_scoping with locally defined types.
|
2011-05-24 18:33:05 +02:00 |
|