Gwenaël Delaval
ef536f412d
Added option -nosink (CS optimisation)
...
The -nosink option suppress the sink state of sigali equations.
This optimizes the controller synthesis, but work only
when the synthesis objective instantaneoulsy depends only
on the current state (and not on current inputs).
2012-11-23 12:23:17 +01:00
Guillaume Baudart
355998bab3
Fix printf typing
2012-10-31 15:59:26 +01:00
Gwenaël Delaval
ef00823cf7
Added Marc as co-author
2012-06-29 01:43:15 +02:00
Gwenaël Delaval
58086190eb
Headers and license file for GPL
...
Headers for every source file (excluding examples), mentioning
authors, copyright and license (GPL)
COPYING file with GPLv3 content.
2012-06-27 18:14:29 +02:00
Cédric Pasteur
8815a2cd03
Better handling of clocks in memalloc
...
- We can do a better allocation if we take into
account 'when' in extvalues
(test/good/memalloc_clocks.ept shows the
improvement)
- Fixed a bug with memalloc on records: if we
translate:
o = { a with .f = u }
to
o = a; o.f = u
then we cannot share u and o.f
2012-06-20 09:17:13 +02:00
Adrien Guatto
8153bc4eb5
Fixed Tomato: did not reconstruct internal clocks of extvalues
2012-03-30 14:47:47 +02:00
Adrien Guatto
fc1edf91f0
OOPS forgot compiler_timings
2012-03-07 17:51:06 +01:00
Adrien Guatto
e05f3732a0
Timing framework.
2012-03-07 17:48:08 +01:00
Adrien Guatto
76ae2f4518
Loop unrolling.
2012-02-08 16:16:41 +01:00
Adrien Guatto
cad8a0149f
Option to perform type inference on all types
2012-01-23 13: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
Léonard Gérard
fdab1ac55c
Strict-SSA option to switch array encoding.
2011-11-21 03:26:26 +01:00
Léonard Gérard
ca711274c0
Remove infusion from the default optima options.
2011-11-18 12:33:37 +01:00
Léonard Gérard
be28156de9
Add a simplify pass to Obc
2011-11-18 12:32:37 +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
33021aaa90
Print stateful in heptagon.
...
Conflicts:
compiler/heptagon/hept_printer.ml
2011-11-02 13:15:33 +01:00
Léonard Gérard
ffe2b23a82
new sheduler by default
2011-10-23 17:42:26 +02:00
Cédric Pasteur
4f9a91eebd
Fixed dependency issue with linear splits
2011-10-17 15:25:52 +02:00
Léonard Gérard
ef4478e37e
removed some stupid warnings.
2011-10-14 13:33:34 +02:00
Cédric Pasteur
4d912e9349
Added more options for memalloc
...
There is now three options for memory allocation:
- -only-linear activates only the linear
annotations (with typing and code generation)
- -only-memalloc does only memory allocation
- -memalloc does both
When linear typing is not activated, linearity
annotations are ignored (the signature in the .epi
does not contain the annotations)
2011-09-09 16:05:44 +02:00
Cédric Pasteur
29a6721121
Fix for dep when using linear types and automata
2011-09-07 17:27:58 +02:00
Cédric Pasteur
caa43f163f
Added dependency from a read to a linear read
...
This got lost along the way when porting memalloc
to the new branch
2011-09-07 14:14:59 +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
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
d1c2789574
Tomato: properly handle n-ary functions.
2011-07-08 11:56:38 +02:00
Adrien Guatto
3c5bb4e8b7
Tomato working with clocks and when.
2011-07-08 11:56:37 +02:00
Adrien Guatto
891174d73c
All-new and fresh tomato!
...
Not working ATM:
* tuples
* when
2011-07-08 11:56:37 +02:00
Léonard Gérard
c5fbcbe765
removing white spaces
2011-06-28 17:50:42 +02:00
Brice Gelineau
c70d34ec06
Preliminary version of multidimensional iterators.
2011-06-28 17:50:42 +02:00
Léonard Gérard
2a2b363bf7
Real asynchronous resets.
2011-05-26 15:56:59 +02:00
Cédric Pasteur
1ea4290f9e
Added scheduler that tries to minimize interferences
2011-05-25 09:12:15 +02:00
Cédric Pasteur
90648f61ff
Fixed linear typing of automata
...
Each state must be typed in the global environment
and then the accumulator must be joined.
2011-05-25 09:12:15 +02:00
Cédric Pasteur
3f29e8623d
Interaction between linear typing and memalloc
2011-05-25 09:12:13 +02:00
Cédric Pasteur
dec8cb69c8
Fixed bug in computation of live vars
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
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
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
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
9e41fcf71f
Current Boolean pass for Heptagon
2011-05-05 11:54:38 +02:00
Léonard Gérard
219c4dbf8d
cosmetic
2011-04-29 15:04:47 +02:00
Gwenal Delaval
4e267d82c6
Boolean transformation pass (translate every enumeration type to boolean tuples)
2011-04-20 12:28:37 +02:00
Cédric Pasteur
57bc9f210b
Added a generic onfiguration for backends
...
Each backend gives a function used to
enable/disable passes, executed before the
beginning of the compilation
2011-04-14 13:53:30 +02:00