- Jan 26, 2015
-
-
Erwan Jahier authored
By chance (or for other reasons), the resulting code was correct.
-
- Jan 22, 2015
-
-
Erwan Jahier authored
-
- Jan 21, 2015
-
-
Erwan Jahier authored
More precisely, a node that has memory ougth to be declared using "node", and using "function" otherwise. Moreover, a node that performs side-effects (i.e., if it calls an extern node that performs side effects) ougth to be declared as "unsafe". Safe/unsafe mismatches raise an error. Memory mismatches raise an error in one way (a "function" that uses memory), and a warning in the other way (a "node" that uses no memory). Also fix some errors done when transmitting the unsafe flag (well, it's the first time I use it!).
-
Erwan Jahier authored
- predef Lustre op were declared as memoryful. - expr like "if true then ..." were badly translated - The clock and types of some expressions created by L2lOptimIte had a bad arity (in presence of tuples) - in order to perform the -oite optim, also check that each branch is safe.
-
- Jan 20, 2015
-
-
Erwan Jahier authored
Currently no integrity check is performed (i.e., check that each node that uses an unsafe node is itself declared as unsafe).
-
- Jan 19, 2015
-
-
Erwan Jahier authored
Indeed it is possible when each branch of the ite updates no memory. This is done in the new L2lOptimIte module. For the time being, it does detect when the node has no memory. It only looks at the declaration: nodes have memory, and not functions. I should infer that information and raise warnings or errors if what I infer is not compatible with waht is declared (will come later). Also split ActionsDep into ActionsDep and Action. Also fix a bug in L2lsplit where deeply nested (>2) merge were not splitted.
-
- Jan 14, 2015
-
-
Erwan Jahier authored
Report by willie (cf mail of 8/10/2014 to get the file) file:/tmp/modes3x2.lus lus2lic -esa -en -2c /tmp/modes3x2.lus -n modes3x2 But it gives an error of: Error. in file "/mnt/A/wsept/modes3x2_pre_orig_lus2lic_en_esa/modes3x2.lus", line 74, col 8 to 8, token '#': only one operator per equation is allowed (v04_0, v04_1). Which is the line: assert #(on_off, toggle); ----------------------------------------------------------------- Actually, refuse programs that uses "#" or "nor" run with -esa and -2c|-exec That means that willie program is now rejected. Nevertheless, that change migth fix some other programs (that uses arrays, and used with -esa and -exec or -2c).
-
- Jan 07, 2015
-
-
Erwan Jahier authored
Also fix a bug in Lic2soc.make_e2a_elt where some deps and some actions were lost. Actually, this bug ought to be triggered only with nested calls. So this affects only programs executed via the -knc/-keep-nested-calls option. and -2c is not supposed to work in conjunction with -knc ! Hence this fix does not fix anything. But still it fixes potentially future code if I (or someone else) decide to handle nested calls in the lic one day.
-
- Dec 12, 2014
-
-
Erwan Jahier authored
-
- Dec 08, 2014
-
-
Erwan Jahier authored
Merge branch 'master' of git+ssh://scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/git/lustre/lus2lic # Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
-
Erwan Jahier authored
-
Erwan Jahier authored
-
- Nov 17, 2014
-
-
Erwan Jahier authored
-
Erwan Jahier authored
-
- Oct 09, 2014
-
-
Erwan Jahier authored
Basically, I've missed some substitutions in Merge and in clocks. This one was spotted by willie.
-
Erwan Jahier authored
-
Erwan Jahier authored
More precisely, it was introduced here ea40dfa0 when addind the -enc option. Indeed, in -ec, since them I've decided to only output the main node. Hence when no main is specified, one was taken at random. But it the chosen nide is a predef one, no code is generated ! To fix this, I now chose a user def node.
-
Erwan Jahier authored
More precisely, it was introduced here 6c7bc562 bug1: Soc2cGenAssign.f was calling Soc2cIdent.type_to_short_string, which was generating bad idents (ie, containing "::"). bug2 : some _assign_array_types macro def were missing. to be continued...
-
- Oct 07, 2014
-
-
Erwan Jahier authored
For the time being, we simple try to factorise out the test of consecutive gao that holds on the same clock. ps : also fix a pb (infinite loop in SortActions.topo_sort) introduced in the previous change that, for a strange reason (Makefile issue), was not catched by the test (almost all test were failing !!). pps : it actually seems to break quite a lot of test, but its my test script that wrong ! since version 527 (we are 534), the compiler used to perform the test in the tmp dirs is not upadated ! (well it is, but on the wrong machine...). I commit this change still as it introduces no more test failures.
-
- Oct 06, 2014
-
-
Erwan Jahier authored
Indeed, computing the dependencies and choosing an order for actions (that may optimize test openning in the near futurea) are 2 different things.
-
- Oct 03, 2014
-
-
Erwan Jahier authored
i.e., by providing a default macro definition that uses memcpy() (versus generating a nop function).
-
Erwan Jahier authored
As suggested by Willie, it allows it to be specialized when it is called more than once.
-
Erwan Jahier authored
The rationale is to prepare the work for a future --2s-stack option.
-
- Oct 02, 2014
-
-
Erwan Jahier authored
Also provide a default version of those macros using memcpy.
-
Erwan Jahier authored
that expands the call of the specified node (can be used for several nodes). Remove the previous --do_not-expand-nodes <string> Also, the L2lExpandNodes pass now deletes the expanded nodes from the current LicPrg.t.
-
- Oct 01, 2014
-
-
Erwan Jahier authored
Add an option --to-c-dont-inline-predef to get the previous behavior.
-
- Sep 29, 2014
-
-
Erwan Jahier authored
I've just switched to ocaml 4.02, and it works only on carlit because of GLIC 2.14 is not installed on other machine. also, add some missing files.
-
- Sep 09, 2014
-
-
Erwan Jahier authored
-
- Sep 05, 2014
-
-
Erwan Jahier authored
Indeed, the shift from pave to bauges changes its behavior.
-
- Sep 04, 2014
-
-
Erwan Jahier authored
-
- Sep 03, 2014
-
-
Erwan Jahier authored
I know they fail, but I'll fix that latter. Also disable tests that involves ecxexe with files that contain 'merge'. indeed the -ec backend is not the priority.
-
Erwan Jahier authored
nb: bad timings is due to NFS and pavé that is dying.
-
Erwan Jahier authored
to behave as scanf("%d") (the function that perform this job is actually in rdbg-plugin so that it is shared with lutin and rdbg)
-
- Sep 02, 2014
-
-
Erwan Jahier authored
The translation was faithfull to the comment, but the comment was wrong : in order to translate a condact, we need clocks (when) ! node condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) = Lustre::condact<<toto, 0>>; is now translated into: condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) let o0 = if i0 then current(toto(i1 when i0, i2 when i0) ) else (0 fby o0); tel
-
- Sep 01, 2014
-
-
Erwan Jahier authored
is the clock of the quicker clock among its inputs, not among its output !
-
- Aug 27, 2014
-
-
Erwan Jahier authored
-
- Aug 26, 2014
-
-
Erwan Jahier authored
-
Erwan Jahier authored
To acheive that, I gave a diffretent name to each created executable (vs a.out) to avoids races.
-
- Aug 25, 2014
-
-
Erwan Jahier authored
generation has been stopped in the middle of the process because of an error in order to avoid to run test that will fail for sure.
-
- Aug 22, 2014
-
-
Erwan Jahier authored
-