Commit graph

606 commits

Author SHA1 Message Date
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
Cédric Pasteur
96054a67b6 Correct order for indices in array declaration
In C, the order in the declaration of variables
is the same as for access
2011-05-24 11:16:27 +02:00
Léonard Gérard
aea82e79b0 col<100 2011-05-21 15:38:09 +02:00
Cédric Pasteur
72892a9d82 Fixed missing case in Obc_mapfold 2011-05-16 17:30:48 +02:00
Adrien Guatto
36d93a411d Fix generated C code calling between(). 2011-05-12 16:32:52 +02:00
Adrien Guatto
a15276f053 Compile with proper include to pervasives.h. 2011-05-12 16:32:52 +02:00
Gwenal Delaval
acad16b98a Graphical simulator hepts
Added graphical simulator hepts

Added option -hepts to the compiler: this option formats the output of the simulation loop
to fit with hepts (currently working only on C target code). Typically, suppresses all
"decoration" output, like input or output names, and prints output on single lines.

Currently not implemented in hepts: array types.

Usage: to simulate the node Modulename.f:

heptc -target c -s f -hepts modulename.ept
gcc modulename_c/*.c -o ./f_sim
hepts -mod Modulename -node f -exec ./f_sim
2011-05-12 10:08:13 +02:00
Gwenal Delaval
bf4d80c5a3 Correction of Mls_compare for new AST 2011-05-11 14:25:45 +02:00
Leonard Gerard
a9aa794b18 Reset optim 2011-05-10 20:52:32 +02:00
Leonard Gerard
75b7ceab5a Allows easy debugging printing of Envs. 2011-05-10 20:29:01 +02:00
Leonard Gerard
1d390848fe real good switch fix.
The order switch then reset was wrong, since some reset reset slower inner blocks and equations, to have reset correct after switch it would have been necessary to sample the reset condition correctly (use r when c) using the level_ck... anyway the order seems now irrelevant considering code size.
2011-05-10 20:28:39 +02:00
Leonard Gerard
09b5e8e54a Rerefixfix switch vd_env 2011-05-10 17:22:24 +02:00
Gwenal Delaval
da648254d8 Added type string to pervasives, with string constants in AST 2011-05-10 17:07:17 +02:00
Gwenaël Delaval
a1be8130ce Inline pass re-activated 2011-05-10 17:07:16 +02:00
Cédric Pasteur
568dfc59fd Fixed generation of includes in C
The module names must be uncapitalized in includes
2011-05-09 09:50:18 +02:00
Cédric Pasteur
2a9c72154c Fixed renaming of var_dec in Switch
Instead of creating new var_decs for renamed variables,
just copy the one from the original var to 
avoid losing other information
2011-05-05 17:57:57 +02:00
Cédric Pasteur
0256b571f7 Added pervasives C header
It only defines the between function for now
2011-05-03 13:35:13 +02:00
Cédric Pasteur
c8055cd1ff Fixed bugs with static records in C generation 2011-05-03 13:21:27 +02:00
Cédric Pasteur
b47dc918ec Fixed bug with loading modules
Do not forget to remember loaded modules
2011-05-02 14:27:42 +02:00
Cédric Pasteur
fd347cb4e4 Fix generation of bounds check expression 2011-05-02 11:24:12 +02:00
Cédric Pasteur
f110727568 Better fix for Normalize_mem
We have to modify the var_dec and arg as they may
have other fields that need to be kept
2011-05-02 11:20:37 +02:00
Léonard Gérard
d2eeeee73f fix reset. 2011-04-29 16:24:08 +02:00
Cédric Pasteur
a533b0b3f4 Proper fix for init of outputs with last 2011-04-29 15:21:12 +02:00
Cédric Pasteur
29d3c75d55 Proper fix for the problem of scoping of Svar 2011-04-29 15:21:12 +02:00
Cédric Pasteur
59c8106e46 Also use idents for Ewhen in Heptagon 2011-04-29 15:21:12 +02:00