935 Commits (58086190eb03163873ce007fdce0441f6af0acb7)
 

Author SHA1 Message Date
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