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.
12 years ago
Cédric Pasteur
5e1dad630b
Force fby to be scheduled at the end
12 years ago
Cédric Pasteur
7a10ba028a
Fixed disjoint clock computation
12 years ago
Cédric Pasteur
ffeb81f529
Use idents instead of ivars in scheduling
12 years ago
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
12 years ago
Cédric Pasteur
ee7d60120b
Fixed bug in translation to minils
12 years ago
Cédric Pasteur
ed2c08315b
Should be affinity, not copy
12 years ago
Gwenal Delaval
d36e988fb9
User manual: first version
12 years ago
Gwenal Delaval
502c5e446f
Makefile correction (install target)
...
Makefile correction: install target for simulator
12 years ago
Gwenal Delaval
352bad4735
Correction of Inline pass
...
- correction of Hept_mapfold : inclusion of mapfold for b_defnames (blocks)
- Inlining : deep replacement of idents
12 years ago
Gwenal Delaval
cf22ba3989
Optional block in contracts
...
Optional let...tel block in contracts
Sink state in sigali
12 years ago
Gwenal Delaval
2bd31db883
Causality and scheduling with contracts
...
Correction of the causality analysis and scheduling (with interference)
to take contracts into account.
12 years ago
Gwenal Delaval
2956002f85
Correction and simplification of the sigali pass
...
Added a "Contracts" pass, after inlining, taking care of the
contracts of the nodes called in the body of a node. This pass
"inlines" the code and assume/guarantee parts of these subcontracts.
The "Sigali" pass both generates the sigali ("z3z") code and add the call to
the controller (which is a node generated further by the sigali tool).
Therefore this pass has been included into the mls compiler, and removed
from the targets (a "z3z" dummy target has been kept for backward compatibility
reasons).
12 years ago
Gwenal Delaval
1e46c2a73c
Makefile : removed target "all" from target "install"
...
On some systems, the targets "all" and "install" must be
made with different rights. Then "all" cannot be a dependendy of
"install", especially since ocamlbuild try to read/modify some
files even if there is no compilation to perform.
12 years ago
Gwenal Delaval
bb0bc8bfe5
Added local assume/guarantee
...
Added local assume/guarantee in contracts.
No syntax associated to these local asume/guarantee: internal use only.
12 years ago
Adrien Guatto
8153bc4eb5
Fixed Tomato: did not reconstruct internal clocks of extvalues
12 years ago
Léonard Gérard
61e14546df
Interf scheduling tries harder with arrays
12 years ago
Adrien Guatto
fc1edf91f0
OOPS forgot compiler_timings
12 years ago
Adrien Guatto
834e16cad5
Fix: replace opt with native in build system
12 years ago
Adrien Guatto
e05f3732a0
Timing framework.
12 years ago
Adrien Guatto
f09792485e
Hept2mls: fixed missing enter_node
12 years ago
Adrien Guatto
9640acb3a4
More efficient ident handling.
12 years ago
Adrien Guatto
6870ea62c9
Inlining: fix issue with nesting of blocks.
12 years ago
Adrien Guatto
3e8e54f42b
Perform inlining before causality/init analysis.
12 years ago
Adrien Guatto
44d3a639e5
Internal error for unknown clocks.
12 years ago
Adrien Guatto
3b0ebf2dbf
print_ident: use the function from Idents
12 years ago
Adrien Guatto
557d00f501
Inlining: do not forget when, merge or last.
12 years ago
Adrien Guatto
ba1b134640
Static evaluation of modulo.
12 years ago
Adrien Guatto
699b3c68e9
Tomato: bug fix, node inputs were not properly considered different.
12 years ago
Léonard Gérard
8a78bc7d7d
Add [external] in the signatures. fix callgraph acordingly.
12 years ago
Léonard Gérard
c1b8e47ffb
Fixed escape of string in java
12 years ago
Adrien Guatto
070d2eab55
Revert "Changed linear typing for merge."
...
This reverts commit 0abb050a23
.
12 years ago
Adrien Guatto
fc08800be6
Improved Emacs mode
12 years ago
Adrien Guatto
b00eab153c
heptc script: compile C code in addition to Java.
12 years ago
Adrien Guatto
6afb0a4f52
Heptagon mode for GNU/Emacs.
12 years ago
Adrien Guatto
5ac3a7f028
Redisable interference of scalars during scheduling
12 years ago
Adrien Guatto
0abb050a23
Changed linear typing for merge.
...
The new rule accepts that some branches of a linearly typed merge have linear
type Top, provided that at least one has type "lin". E.g.:
node f(x : int at r) returns (o : int at r)
var ck : bool;
let
ck = true;
o = merge ck (x whenot ck) 0;
tel
is now deemed valid.
12 years ago
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.
12 years ago
Cédric Pasteur
7866321089
Fixed bug in interference
12 years ago
Adrien Guatto
f43fcb78f6
Only inline integer extvalues when unrolling
12 years ago
Adrien Guatto
ec0274cc82
C backend: do not inline consts by default.
12 years ago
Adrien Guatto
fa09d86dc1
Unrolling in C backend.
12 years ago
Adrien Guatto
76ae2f4518
Loop unrolling.
12 years ago
Adrien Guatto
3aeb499cc2
Re-enable interference for enums
12 years ago
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.
13 years ago
Adrien Guatto
1cb4b1154b
Memory allocation: do not share enums (and thus clocks).
13 years ago
Adrien Guatto
946a1f8228
Inline extvalues: do not inline array literals.
13 years ago
Adrien Guatto
1910e7f868
Static exp evaluation: missing +. and -.
13 years ago
Adrien Guatto
84ca123361
Extvalue inlining: rogue debug message.
13 years ago
Adrien Guatto
964f6ca605
Extvalue inlining: fix point computation
13 years ago