- Mar 09, 2017
-
-
erwan authored
-
- Jan 09, 2017
-
-
Erwan Jahier authored
which was not even compiling...
-
- Nov 30, 2016
-
-
Erwan Jahier authored
nb : i have changed the var name in the generated nodes, which was a bad idea (=painful to get it rigth again).
-
- Sep 20, 2016
-
-
Erwan Jahier authored
so that w7/lesar can help otawa/ilp to prune path in the binary. nb : not working on the convertible example: - sometimes the module name still appear in the ident (enums) - clocks are not well supported by Lesar actually. More thinking is necessary.
-
- Sep 13, 2016
-
-
Erwan Jahier authored
Because otherwise, V4 ec tools behaves strangely.
-
- Sep 09, 2016
-
-
Erwan Jahier authored
-
- Sep 05, 2016
-
-
Erwan Jahier authored
The bug was appearing a node was called on a non base clock that was existing in the called nodes (name clash). Typically, it occurs on recursive node called on some non-trivial clocks. Also, use maps instead of list to hold the substitution between params and args.
-
- Aug 26, 2016
-
-
Erwan Jahier authored
and replace enumerated clock in the var_info even if it does not appear in a val_exp. nb : luciole-rif is now in the rdbg repo.
-
- Jun 01, 2016
-
-
Erwan Jahier authored
More precisely, transforms equations of the form y = x when Toto(c); into x when Toto_c ; Toto_c=Toto(c);
-
- May 31, 2016
-
-
Erwan Jahier authored
-
- May 27, 2016
-
-
Erwan Jahier authored
('::' vs '__') soc2c -2cw7: use mkff+fixffx+arm.looploc to fix extern lib calls.
-
- Jan 14, 2016
-
-
Erwan Jahier authored
Ditto for Misc and Compile
-
- Jul 01, 2015
-
-
Mamadou Ndiaye authored
-
- Feb 27, 2015
-
-
Erwan Jahier authored
-
- Jan 21, 2015
-
-
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 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 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.
-
- Nov 17, 2014
-
-
Erwan Jahier authored
-
- 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
-
- Aug 26, 2014
-
-
Erwan Jahier authored
-
- Aug 14, 2014
-
-
Erwan Jahier authored
nb : the -exec mode was working because I did not use the generated soc, which was completely wrong. Note that to do that, I have modified the CURRENT variant of Lic.val_exp, to attach it the clock the current holds on. Indeed, the clock is mandatory to generated correct code... In an ideal world, this clock information may have explicitely been set by the user ("current(clk_of_X,X)" instead of "current(X)"), but for historical reason, it is not the case. Hence, this information is added as soon as it is available, namely, during clock checking.
-
- Jun 04, 2013
-
-
Erwan Jahier authored
More precisely, it was always returning the default value when the activation condition was false instead of returning "dft_val fby out".
-
- May 21, 2013
-
-
Erwan Jahier authored
nb : #FAILS=84->81
-
- Apr 26, 2013
-
-
Erwan Jahier authored
(to be kind with data plotters).
-
- Apr 12, 2013
-
-
Erwan Jahier authored
As far as ldbg is concerned, it only traces the toplevel node, at call event. Note that I needed to rename quite a lot of modules to avoid name clashes between lus2lic.a and ltop. I've also merged the Verbose module with the one of Lutin so that they can be shared (there were sharing 95% already).
-
- Apr 10, 2013
-
-
Erwan Jahier authored
Also Merge the Global and the MainArg module as they were (bizzarely) both handling command args options.
-
- Apr 04, 2013
-
-
Erwan Jahier authored
In order to do that, I've generalised the type of merge : now the clock argument can be any expression. Some assert false still prevent its use, but it should be easy to get rid of them (I'll do that latter).
-
- Apr 03, 2013
-
-
Erwan Jahier authored
nb : programs do run, but I did not check that they run correctly... Also fix a regression introduced in the previous change where incorrect ec code was generated for diese.
-
- Mar 27, 2013
-
-
Erwan Jahier authored
1) At the Lic level, there's no reason to distinguish betwenn node calls, and predef node calls. Indeed it makes things simpler and more homogeneous afterwards. 2) int strings are only converted when necessary (constant evaluation). 3) const are handled directly under Lic.by_pos_op instead of being under PREDEF_CALL, which make things easier and more logical.
-
- Mar 25, 2013
-
-
Erwan Jahier authored
-
- Mar 19, 2013
-
-
Erwan Jahier authored
-
- Mar 05, 2013
-
-
Erwan Jahier authored
Can be tried unsing the -exec option. currently only working with trivial programs manipulating equalities (wires) and predef operators (no pre, ->, arrays, and node calls).
-
- Feb 25, 2013
-
-
Erwan Jahier authored
Indeed, the data structure in output of the lis2loc parser was very similar to Lic.t/LicPrg.t. Hence, this shunt. At this stage it compiles, but it's untested and does not work.
-
- Feb 20, 2013
-
-
Erwan Jahier authored
-
- Feb 13, 2013
-
-
Erwan Jahier authored
BTW, put everything that concerns node environement into the new IdSolver module (from the Lic module).
-
- Feb 07, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Indeed, part of licDump was done in lic, but that part should not depend in the compil option.
-
- Feb 06, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Pascal prepared « the field » for that change.
-
- Feb 04, 2013
-
-
Erwan Jahier authored
The only culprit was the one in unifyClock.ml::249, but I've lazyfied most of the non-trivial verbose call. The 2 remaining unresolved testq that were timeout-ing now pass in a few ms... The whole non-reg test time has been divided by more than 2!
-