Commit graph

82 commits

Author SHA1 Message Date
Léonard Gérard
551b19546d Good stream downscaler v1. 2011-11-21 03:26:26 +01:00
Léonard Gérard
ee3bc4bf6f downscaled close to finished. 2011-11-18 12:33:37 +01:00
Léonard Gérard
3e64635f95 optimize the control at the end to maximize profit
Indeed, some examples showed that memory allocation could trigger a profit-full deadcode removal for the control. See Downscaler.down avec -flatten.
2011-11-03 00:43:36 +01:00
Léonard Gérard
76109b553a Add -O option to enable optims. 2011-11-02 17:23:23 +01:00
Léonard Gérard
fd40bcefcf Correct check to compile the java
Note that it is really slow compared to something like :

javac -cp ../../../lib/java */*.java

which compiles everything together instead of relaunching the compiler by hand in each subdir.
2011-11-02 16:08:54 +01:00
Léonard Gérard
5593ffdc91 small test found in my computer. 2011-11-02 08:44:58 +01:00
Cédric Pasteur
6ba0e7b2b3 Don't remove local variables in causality
A dependency between two variables can be caused 
by a local variable
2011-10-26 16:14:02 +02:00
Léonard Gérard
ffe2b23a82 new sheduler by default 2011-10-23 17:42:26 +02:00
Cédric Pasteur
72cac326a8 Fixed normalization of fby
We should normalize not only outputs but also 
other fbys to generate correct code. The test shows
a program that was compiled incorrectly.
2011-10-19 16:31:40 +02: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
1aac6f7be4 Fixed bug in unicity check in linear typing
Test case included
2011-10-07 11:59:13 +02:00
Cédric Pasteur
9427117fe1 Fixed linear typing of accumulators 2011-09-09 11:29:24 +02:00
Cédric Pasteur
08437bf448 Fixed linear typing of nested calls 2011-09-08 14:27:24 +02:00
Cédric Pasteur
7bf5f3f323 Fixed typing of iterator 2011-09-08 14:10:55 +02:00
Cédric Pasteur
2105d7ad18 Fix for linear types and automata 2011-09-08 10:45:19 +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
Gwenaël Delaval
626b6cad3f New tests
- ckannot.ept : bug with clock annotations handling in Normalize (corrected)
- threestates.ept : handling of merges in Normalize (corrected)
2011-08-04 23:47:28 +02:00
Gwenaël Delaval
c57b71b6aa Merge branch 'bzr' into decade
- Added Boolean module (enum types to boolean vectors)
- Added Hept_clocking analysis, called before Boolean
- Added z3z target from minils (sigali format)
- Bug corrections in Normalize, Normalize_mem

Conflicts:
	compiler/heptagon/analysis/typing.ml
	compiler/heptagon/heptagon.ml
	compiler/heptagon/parsing/hept_parser.mly
	compiler/heptagon/parsing/hept_parsetree.ml
	compiler/heptagon/parsing/hept_scoping.ml
	compiler/main/hept2mls.ml
	compiler/main/heptc.ml
	compiler/main/mls2seq.ml
	compiler/minils/minils.ml
	compiler/minils/transformations/normalize_mem.ml
	test/check
2011-08-04 13:37:33 +02:00
Cédric Pasteur
69a5ad8df8 Fixed code generation of n-dim static arrays
Also added some tests.
2011-07-21 11:19:07 +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
Adrien Guatto
7d9e31a83b Tomato checking in check.sh 2011-07-08 11:56:38 +02:00
Léonard Gérard
0518ecafe6 Merge branch 'multidimensional' into decade
Conflicts:
	compiler/obc/c/cgen.ml
	compiler/obc/java/java_main.ml
2011-07-08 11:36:46 +02:00
Léonard Gérard
5837f3906f Multidimensional iterators in java. 2011-06-28 17:50:42 +02:00
Léonard Gérard
9e881550a7 test iterators. 2011-06-28 17:50:42 +02:00
Léonard Gérard
b73e6502a6 resets are now without constraint. 2011-05-26 15:56:59 +02:00
Léonard Gérard
1d6feeef54 some more tests 2011-05-26 15:56:59 +02:00
Léonard Gérard
2a2b363bf7 Real asynchronous resets. 2011-05-26 15:56:59 +02:00
Léonard Gérard
96272339e4 some tests. 2011-05-26 15:56:59 +02:00
Léonard Gérard
74cc367a0e correct base_clock and signature. 2011-05-26 15:56:59 +02:00
Léonard Gérard
07e5279bff two small tests. 2011-05-26 15:56:59 +02:00
Léonard Gérard
40fcb4d73e improve syntax 2011-05-26 15:56:58 +02:00
Leonard Gerard
88497a2da3 parsing clocks. 2011-05-26 15:56:58 +02:00
Cédric Pasteur
caa149ac39 Tests for memory allocation and linear typing 2011-05-25 09:12:15 +02:00
Cédric Pasteur
285abc48bf Fixed some bugs 2011-05-25 09:12:12 +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
Adrien Guatto
b0a0100ad7 Fixed check script: we now see that our C backend isn't bug-free... 2011-04-27 10:52:07 +02:00
Gwenal Delaval
70e2ce08a2 Correction of check script 2011-04-20 12:28:38 +02:00
Gwenal Delaval
eb164f4268 More complete check script
Added options to check scrit:
test of boolean pass, deadcode, tomato
added caml compilation test
2011-04-20 12:28:37 +02:00
Léonard Gérard
46ed02416b Convolutions and pip working. 2011-03-23 16:53:01 +01:00
Cédric Pasteur
2fdf2855d3 Added a new truncated select operator
a[>e<] returns the element in the array at index
e, a[0] if e < 0 and a[n-1] if e >= n
2011-03-22 22:12:59 +01:00
Cédric Pasteur
99eeacbceb Added mapi iterator
The last argument of the iterated function is the
index of the element in the array.
2011-03-22 09:28:41 +01:00
Léonard Gérard
eb150fada8 Goal image filters 2011-03-21 22:24:37 +01:00
Léonard Gérard
36061f4518 fixed tests to the new iterator syntax.
Changed (( and )) to (< and >) since it's very common to write )) !
2011-03-21 22:24:37 +01:00
Léonard Gérard
b913edcd5e Decade alpha1
On the road to beta is the new Minils AST, for now :

* Heptagon and Obc AST changes,
* Java code generation,
* Recursives Qualnames,
* Various bug fixes,

* Added partial application for iterators,
For instance:
  ... = map<<n>> (f<<se>>)((t1, t1'))(t2, t3)
is translated to:
  for(int i =...)
    ... = f(t1, t1', t2[i], t3[i])
2011-03-21 22:24:36 +01:00
Léonard Gérard
6b720e6c23 Merge branch 'java'
Conflicts:
	.gitignore
	compiler/global/global_printer.ml
	compiler/main/mls2obc.ml
2011-03-21 22:21:00 +01:00
Léonard Gérard
b8b16a7355 blop 2011-03-21 17:41:00 +01:00
Léonard Gérard
6428ff81f0 array1 testing. 2011-03-21 17:41:00 +01:00
Léonard Gérard
cab8bb706e backport from async. 2011-03-09 00:06:36 +01:00
Léonard Gérard
159bab2a55 async constants. 2011-03-08 13:41:28 +01:00
Léonard Gérard
86f743318b Fixes and basic Java main. 2011-02-14 15:21:57 +01:00