Commit graph

29 commits

Author SHA1 Message Date
Léonard Gérard
b49c37f7bf Add ways to declare unsafe functions + unsafe fix 2011-11-21 03:26:26 +01:00
Cédric Pasteur
04b8853a1d Added a new reinit operator
It has type:
reinit: t at r * t -> t at r

It can be used to put a constant value in a 
location.
2011-10-17 15:28:04 +02:00
Cédric Pasteur
0f403e3694 Fix for wrong number of expected args 2011-10-17 10:17:18 +02:00
Cédric Pasteur
902cbaf7a1 Fixed error with memalloc and const value with when 2011-10-04 14:34:44 +02:00
Cédric Pasteur
81947eca40 Made linearity field not optional
This helped solve a few bugs with linear types,
for instance when using automata.
The intermediate code is not well-typed (wrt to
linear types only), after the encoding of automata.
2011-09-07 17:51:31 +02:00
Cédric Pasteur
7d95b95ed7 Merge branch 'memalloc' into decade
Conflicts:
	compiler/global/signature.ml
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/hept_printer.ml
	compiler/heptagon/hept_utils.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/hept_parser.mly
	compiler/heptagon/parsing/hept_parsetree.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/heptagon/transformations/switch.ml
	compiler/main/hept2mls.ml
	compiler/minils/minils.ml
	compiler/minils/mls_printer.ml
	compiler/obc/c/cgen.ml
	compiler/obc/control.ml
	compiler/utilities/misc.mli
2011-07-21 08:50:45 +02:00
Cédric Pasteur
f45e30d207 Yet another special case for iterators 2011-06-07 10:49:36 +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
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
75b4fa9ddc Fixed bug in the interference of fold 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
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
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
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
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
1059329c0e Interference compiles 2011-05-25 09:12:11 +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