Cédric Pasteur
36bfa81b17
Fix for memalloc
...
Take the simplified versions of types (i.e.
with constants instantiated) to check the
equality of types
2012-09-14 16:08:26 +02:00
Cédric Pasteur
96e233b64c
Fix for tuples of consts used as args
2012-09-14 15:42:49 +02:00
Gwenal Delaval
9334b73ef1
Naive abstraction for sigali
2012-08-08 18:16:33 +02:00
Gwenal Delaval
b199de202b
Removed '~>' in clock prints
...
'~>' (representing links between clock variables)
are printed when -fti option is on.
2012-08-08 18:14:05 +02:00
Gwenal Delaval
b60ee4b91d
Bug correction in Completion pass
...
Completion pass: do not propagate defnames to
other equations
(see test test_option_flatten_t4 : flatten t4, compile C target code)
2012-08-06 12:04:39 +02:00
Gwenal Delaval
857dccd0b2
Corrected Boolean pass
...
e_level_ck correctly translated
Hept_clocking on stateless functions
2012-08-02 17:24:30 +02:00
Gwenal Delaval
41fccc66fb
Bugs corrections
...
- callgraph: add idents used for instantiated nodes
- cgen : added Idents.enter_node
- cmain : removed error when simulated node does not exist (existence
of simulated node was tested for every program, comprising loaded ones)
2012-08-01 17:08:58 +02:00
Gwenal Delaval
b858f0e987
Reads and writes of records in main simulation
2012-07-31 16:58:22 +02:00
Gwenal Delaval
ccab6f7aad
Normalization of record consts
...
Normalization of records as constant to ease the compilation:
f({ x = e })
->
v = { x = e };
f(v)
2012-07-31 16:58:22 +02:00
Gwenaël Delaval
ccc07cc7b9
Unalias missing in obc translation
2012-07-31 15:22:38 +02:00
Gwenaël Delaval
35bea85bf7
Boolean: no transformation on inputs/outputs
...
Only translate local variables, so as to not
modify node interfaces.
2012-07-26 01:45:38 +02:00
Gwenaël Delaval
72b1bd8de3
Typo in error message
2012-07-26 01:33:32 +02:00
Gwenaël Delaval
90dda27a3a
Bug correction in Schedule_interf
...
Bug due to the fact that a variable can be "defined" and "read"
(in scheduling sense) by the same equation, without being a memory:
e.g., a clock defined as the result of a node application, together
with another result on this same clock.
Bug correction: basically removed the "assert false" on killed_vars,
decr_uses; do not count as "use" the self reads.
2012-07-26 01:29:22 +02:00
Gwenal Delaval
5ed07e1e5a
Removed systematic qual. of infix op as pervasives
...
Bug: every infix operator was systematically qualified
as pervasive.
2012-07-24 17:09:51 +02:00
Gwenal Delaval
70cb94d0bd
Unroll correction
...
Order of statement was incorrect
2012-07-23 17:35:20 +02:00
Gwenal Delaval
7e90dccc0a
Cleared java simulation output
2012-07-16 11:37:50 +02:00
Gwenaël Delaval
a15e17c02d
Cleared simulation output
2012-07-16 00:58:40 +02:00
Gwenaël Delaval
e103d60c26
Removed eprintf in schedule_interf
...
eprintf -> Interference.print_debug
2012-07-14 14:31:46 +02:00
Cédric Pasteur
84e502d7a9
Made val optional for functions
...
external val node f is a little bit too long
2012-07-04 17:26:38 +02:00
Gwenaël Delaval
bf03077cd9
Correct output toward hepts
2012-06-29 02:01:49 +02:00
Gwenaël Delaval
ef00823cf7
Added Marc as co-author
2012-06-29 01:43:15 +02:00
Gwenaël Delaval
c080ad6cf3
Controller call only when controllables
...
Avoid built of dummy empty controllers
2012-06-29 01:41:13 +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
5e1dad630b
Force fby to be scheduled at the end
2012-06-20 17:09:30 +02:00
Cédric Pasteur
7a10ba028a
Fixed disjoint clock computation
2012-06-20 17:09:17 +02:00
Cédric Pasteur
ffeb81f529
Use idents instead of ivars in scheduling
2012-06-20 16:33:06 +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
Cédric Pasteur
ee7d60120b
Fixed bug in translation to minils
2012-06-19 15:56:54 +02:00
Cédric Pasteur
ed2c08315b
Should be affinity, not copy
2012-06-19 09:33:27 +02:00
Gwenal Delaval
502c5e446f
Makefile correction (install target)
...
Makefile correction: install target for simulator
2012-06-13 15:13:53 +02:00
Gwenal Delaval
352bad4735
Correction of Inline pass
...
- correction of Hept_mapfold : inclusion of mapfold for b_defnames (blocks)
- Inlining : deep replacement of idents
2012-06-13 15:06:05 +02:00
Gwenal Delaval
cf22ba3989
Optional block in contracts
...
Optional let...tel block in contracts
Sink state in sigali
2012-06-07 17:48:31 +02:00
Gwenal Delaval
2bd31db883
Causality and scheduling with contracts
...
Correction of the causality analysis and scheduling (with interference)
to take contracts into account.
2012-06-07 15:27:07 +02:00
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).
2012-06-06 15:59:08 +02:00
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.
2012-06-06 15:55:23 +02:00
Gwenal Delaval
bb0bc8bfe5
Added local assume/guarantee
...
Added local assume/guarantee in contracts.
No syntax associated to these local asume/guarantee: internal use only.
2012-05-29 14:14:46 +02:00
Adrien Guatto
8153bc4eb5
Fixed Tomato: did not reconstruct internal clocks of extvalues
2012-03-30 14:47:47 +02:00
Léonard Gérard
61e14546df
Interf scheduling tries harder with arrays
2012-03-19 17:45:06 +01:00
Adrien Guatto
fc1edf91f0
OOPS forgot compiler_timings
2012-03-07 17:51:06 +01:00
Adrien Guatto
834e16cad5
Fix: replace opt with native in build system
2012-03-07 17:48:30 +01:00
Adrien Guatto
e05f3732a0
Timing framework.
2012-03-07 17:48:08 +01:00
Adrien Guatto
f09792485e
Hept2mls: fixed missing enter_node
2012-03-07 17:48:08 +01:00
Adrien Guatto
9640acb3a4
More efficient ident handling.
2012-03-07 17:48:08 +01:00
Adrien Guatto
6870ea62c9
Inlining: fix issue with nesting of blocks.
2012-03-07 17:48:08 +01:00
Adrien Guatto
3e8e54f42b
Perform inlining before causality/init analysis.
2012-03-07 17:48:08 +01:00
Adrien Guatto
44d3a639e5
Internal error for unknown clocks.
2012-03-02 17:12:30 +01:00
Adrien Guatto
3b0ebf2dbf
print_ident: use the function from Idents
2012-03-02 17:12:30 +01:00
Adrien Guatto
557d00f501
Inlining: do not forget when, merge or last.
2012-03-02 17:12:30 +01:00
Adrien Guatto
ba1b134640
Static evaluation of modulo.
2012-03-02 14:11:19 +01:00
Adrien Guatto
699b3c68e9
Tomato: bug fix, node inputs were not properly considered different.
2012-03-01 14:46:33 +01:00