Commit graph

682 commits

Author SHA1 Message Date
Léonard Gérard
2a6dab836a Add alias to obc vd. 2011-11-18 12:32:37 +01:00
Léonard Gérard
fa956a00ad Remarques pour Control 2011-11-18 12:32:37 +01:00
Léonard Gérard
5a263b0cbd Fix signature printing. 2011-11-18 12:32:37 +01:00
Léonard Gérard
4e3c58bb40 Allow symbolic static_exp eval. 2011-11-18 12:32:36 +01:00
Léonard Gérard
bdd85f5f81 mapfold over var_ident. 2011-11-18 12:32:36 +01:00
Léonard Gérard
d5858d6dd2 Optimize static evaluation
It greatly reduce the amount of constraints kept.
Indeed, all the constraints : x = x, x /y = x/y, etc
were kept when x and y were local params.
2011-11-18 12:32:36 +01:00
Cédric Pasteur
cf1e79efc8 Type signature of all nodes 2011-11-18 10:03:54 +01:00
Cédric Pasteur
1a28ed96e8 Improvement for normalize memories
Only create necessary copies (for outputs
and recursive registers).
2011-11-16 16:07:36 +01:00
Cédric Pasteur
8644982593 Fixed some bugs in the configure
Check that ocamlc and ocamlfind point to the
same stdlib dir.
2011-11-14 10:52:28 +01:00
Adrien Guatto
1a9dc17618 Fixed clocking annotations.
1. Transmit annotations to extvaluese in Hept2mls.

2. Handle a pre-existing w_ck when clocking extvalues.
2011-11-10 15:36:54 +01:00
Léonard Gérard
0222d11b2d Do not introduce useless variable in [reset every] 2011-11-03 00:46:13 +01:00
Léonard Gérard
dfc0077859 permits to use = instead of returns 2011-11-03 00:46:04 +01:00
Léonard Gérard
abdf93c8c2 inlining corrected 2011-11-03 00:45:43 +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
17598a3206 Correct inlining, which was aliasing clocks. 2011-11-03 00:41:29 +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
919eaa72e1 Fix floating point printing. 2011-11-02 16:08:51 +01:00
Léonard Gérard
50487f9296 Fix java main to deal with unit return type. 2011-11-02 16:07:19 +01:00
Léonard Gérard
04263a126b Correct small bug in java initialized arrays. 2011-11-02 16:04:47 +01:00
Léonard Gérard
33021aaa90 Print stateful in heptagon.
Conflicts:

	compiler/heptagon/hept_printer.ml
2011-11-02 13:15:33 +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
f4aafa10d6 Added a build system for Heptagon
./configure 
make
make install
2011-10-20 18:06:41 +02:00
Léonard Gérard
81ad14ab7b changed interf_schedule to use clocks correctly 2011-10-20 16:52:50 +02:00
Cédric Pasteur
21433f6416 Only do one copy for two recursive registers 2011-10-20 09:16:51 +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
a31715ecde Proper fix for causality
This time it should work in all cases
2011-10-18 09:51:35 +02:00
Cédric Pasteur
85be1252b0 Another try to fix causality of linear ifs 2011-10-17 18:10:38 +02:00
Adrien Guatto
1ec97d187b Adapted minimization to reinit. 2011-10-17 15:43:55 +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
4f9a91eebd Fixed dependency issue with linear splits 2011-10-17 15:25:52 +02:00
Cédric Pasteur
e2d4d33d97 Fixed linear typing with args that are tuples 2011-10-17 11:52:36 +02:00
Cédric Pasteur
c2ab607195 Fix for causality when using linear types 2011-10-17 11:47:45 +02:00
Cédric Pasteur
6fefd551b1 Fixed typing of iterators in some cases
If a variable is already used linearly before,
do not reuse it linearly
2011-10-17 11:46:47 +02:00
Cédric Pasteur
0f403e3694 Fix for wrong number of expected args 2011-10-17 10:17:18 +02:00
Léonard Gérard
ef4478e37e removed some stupid warnings. 2011-10-14 13:33:34 +02:00
Adrien Guatto
ee2f5ca443 Tomato: simplification + update signature via modules.
test/good/linear_init.ept now compiles.
2011-10-10 17:01:08 +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
Adrien Guatto
3269a04052 Do not inline linear extended values. 2011-10-06 16:18:48 +02:00
Adrien Guatto
30089e7d0f Fixed extvalue inlining w.r.t. linear copy 2011-10-05 17:44:01 +02:00
Cédric Pasteur
175c8e34ff Fixed control fusion 2011-10-05 10:49:51 +02:00
Adrien Guatto
d0ed09c3e5 Ext-value inlining pass. 2011-10-04 15:14:02 +02:00
Cédric Pasteur
902cbaf7a1 Fixed error with memalloc and const value with when 2011-10-04 14:34:44 +02:00
Adrien Guatto
2fb27770b8 Fixed iterator minimization bug. 2011-10-03 10:54:50 +02:00
Cédric Pasteur
80f24b747c Updated comments 2011-09-26 10:19:48 +02:00
Cédric Pasteur
36c1c7252e Fixed memalloc application with fields 2011-09-15 16:55:17 +02:00
Cédric Pasteur
1231afdbb1 Fixed inlining
Inlining is now recursive.
2011-09-15 13:28:41 +02:00
Cédric Pasteur
26ad2739dd Inlined version of mission control 2011-09-15 11:23:16 +02:00
Cédric Pasteur
da3660c08c Tweaked the printer to generate correct code
There is still a big problem with priority
of operators
2011-09-15 11:10:39 +02:00
Cédric Pasteur
339feaa747 Ignore unknown nodes (instead of crashing) 2011-09-14 15:55:29 +02:00