Commit graph

749 commits

Author SHA1 Message Date
Cédric Pasteur
6e2e2a9f47 Fixed bug in interference computation
To know the variables read by an equation, we should
only look at the clock of variables. Otherwise, 
there could be a problem for node calls that 
define new clocks.
2012-02-09 11:48:36 +01:00
Cédric Pasteur
7866321089 Fixed bug in interference 2012-02-09 11:06:28 +01:00
Adrien Guatto
f43fcb78f6 Only inline integer extvalues when unrolling 2012-02-08 18:31:51 +01:00
Adrien Guatto
ec0274cc82 C backend: do not inline consts by default. 2012-02-08 17:49:21 +01:00
Adrien Guatto
fa09d86dc1 Unrolling in C backend. 2012-02-08 17:47:28 +01:00
Adrien Guatto
76ae2f4518 Loop unrolling. 2012-02-08 16:16:41 +01:00
Adrien Guatto
3aeb499cc2 Re-enable interference for enums 2012-02-08 11:13:02 +01:00
Cédric Pasteur
f66c9045df Special case for merge in the scheduling
For merge equations, the generated code will be 
on a different rate than the activation clock of
the equation.
2012-02-01 11:19:25 +01:00
Adrien Guatto
1cb4b1154b Memory allocation: do not share enums (and thus clocks). 2012-01-30 17:48:47 +01:00
Adrien Guatto
946a1f8228 Inline extvalues: do not inline array literals. 2012-01-30 16:37:42 +01:00
Adrien Guatto
1910e7f868 Static exp evaluation: missing +. and -. 2012-01-26 13:42:03 +01:00
Adrien Guatto
84ca123361 Extvalue inlining: rogue debug message. 2012-01-26 13:23:01 +01:00
Adrien Guatto
964f6ca605 Extvalue inlining: fix point computation 2012-01-26 13:21:17 +01:00
Adrien Guatto
a7e3f4a973 Added test for clocking in automata 2012-01-25 18:13:43 +01:00
Adrien Guatto
53de6cd915 Bug fix in extvalue inlining 2012-01-25 16:11:22 +01:00
Adrien Guatto
bca8664d2f Tomato: do not forget eq_base_ck when reconstructing 2012-01-25 13:19:09 +01:00
Adrien Guatto
998b3b0b89 Generate C89 2012-01-25 12:42:14 +01:00
Cédric Pasteur
2f993a602c Fixed base clock in code generation
Put the base clock inside the equation where it 
belongs.
2012-01-25 09:34:58 +01:00
Cédric Pasteur
db5f55b221 Fixed when of stateful exp with memalloc
As the expression inside the when will be called 
on a faster rhythm, we have to make sure not to
share it with a variable on the slow clock.
We do this by creating a new equation for the 
stateful exp.
2012-01-25 09:33:08 +01:00
Cédric Pasteur
3f80f844c7 Schedule with clocks first
First optimize clocks and then look at life ranges
2012-01-24 15:33:54 +01:00
Cédric Pasteur
06e997e0c8 Fix for -mall
Do not share memories and outputs if they are not
arrays, as it might make the register allocation
by the C compiler less efficient.
2012-01-24 10:29:05 +01:00
Cédric Pasteur
b1bd6dbd57 Compare clock repr
Not sure this is necessary but it doesn't hurt to 
check twice.
2012-01-23 16:03:01 +01:00
Cédric Pasteur
2b59ec754a Fix for memories with no uses
Add a fake use to make sure they interfere with
other memories and outputs
2012-01-23 16:02:34 +01:00
Adrien Guatto
cad8a0149f Option to perform type inference on all types 2012-01-23 13:36:24 +01:00
Léonard Gérard
0aad3ac466 eclipse stuff 2011-12-15 20:02:38 +01:00
Léonard Gérard
c75236b688 miscs 2011-12-12 12:06:46 +01:00
Léonard Gérard
da3147151d Better check signature error message 2011-12-12 11:30:18 +01:00
Léonard Gérard
f0cbbccc2a unsafe in minils node 2011-12-12 11:27:18 +01:00
Léonard Gérard
b86555e013 global env misc 2011-12-12 11:08:47 +01:00
Léonard Gérard
24c394d2cb pretty print clocks with links. 2011-12-12 11:01:46 +01:00
Léonard Gérard
ba5f336a6f Fix antidependance calculation 2011-12-12 11:01:22 +01:00
Cédric Pasteur
80fbe6be5f Fixed linear typing of printf 2011-12-12 10:36:24 +01:00
Cédric Pasteur
54cde301f6 C code generation for printf 2011-12-12 10:36:24 +01:00
Cédric Pasteur
2fc0435393 Added simple printf
Typing and clocking done
2011-12-12 10:36:24 +01:00
Adrien Guatto
0f71dbe145 Bitwise or. 2011-12-06 17:46:35 +01:00
Adrien Guatto
8d772e20e2 Bitwise and. 2011-12-06 15:44:21 +01:00
Adrien Guatto
1ec15b9409 Bitwise operators on integers. 2011-12-06 15:44:21 +01:00
Adrien Guatto
8c6926c5bd TOMATO was confused about having several empty patterns in the equations
of a node.

He should be better now.
2011-12-06 15:44:21 +01:00
Léonard Gérard
fe1f02402b Test to watch sampling of returned stateful exps. 2011-12-06 15:44:20 +01:00
Cédric Pasteur
f76667e042 Second part of the fix 2011-12-06 15:44:20 +01:00
Léonard Gérard
2b9d3828b1 debut de la correction du when.
test :

node f(c :bool) returns (out :int)
let
  out = (0 fby 1) when c
tel


et

node f(x :int) returns (out : int)
let
  out = 0 fby x
tel

node g(c :bool) returns (out :int)
let
  out = f(0) when c
tel
2011-12-06 15:44:20 +01:00
Adrien Guatto
5097c62449 C backend: put memory of the main node in a global variable. 2011-12-05 10:18:50 +01:00
Cédric Pasteur
add09fe465 Fixed complexity of control optimization 2011-11-29 13:34:50 +01:00
Léonard Gérard
45fbd18fe8 Fix automaton initialization. 2011-11-28 15:12:27 +01:00
Léonard Gérard
d5f72c278c mls2obc bug fix
y = (if then else) when c
ou bien
y = f() when c
ne compilait pas.
2011-11-28 15:12:22 +01:00
Léonard Gérard
5be7a6acc2 java main void return handling 2011-11-25 18:56:15 +01:00
Léonard Gérard
05750352f8 pat_ty ne semble pas fiable. Voir t19.ept 2011-11-25 18:55:12 +01:00
Cédric Pasteur
3369f6dffc Don't forget to optimise control recursively 2011-11-24 16:10:14 +01:00
Adrien Guatto
1b73f3444e Clock before dumping .epci 2011-11-24 11:41:11 +01:00
Léonard Gérard
57f7da94c2 Deal with const ref in Java. 2011-11-21 11:42:26 +01:00