- May 05, 2022
- Aug 29, 2019
-
-
erwan authored
Remove a lot of warnings (considered as errors by dune).
-
- Aug 22, 2017
-
-
erwan authored
It was also the case in L2lRemovingAlias, but the bug in L2lExpandNode was happening before.
-
- Aug 18, 2017
-
-
erwan authored
And it is now done only by Lic2soc (L2lCheckLoops is not used anymore) Also, during this change, I was bitten again by the « "__" versus "::" in ident names » problem again. The core of this problem is due to the fact that I use LicDump both for (1) dealing with internal ident names (2) generating lustre files Because of (2), ident names may depend on the ec or the v4 option. hence, internal names were sometimes translated with "__" instead of "::". To (try to) fix that, I've added a boolean flag to all "to_string" functions that states whether the function is used for internal purposes, or for generating lustre files. It was quite a boring change, that triggered other problems, that I've fixed in this (too long) commit : - -esa should force -en, otherwise bad things happen (-esa is used for -ec anyway) - in -esa mode, #/nor inputs tuples of bool, not arrays - fix the list of predi op that returns a type different that its arg (SocPredef)
-
- Jul 04, 2017
-
-
erwan authored
To do that, I have created a new dedicated module L2lExpandEnum, that actually also deals with -eei (which was probably wrong, even if I have not counter-exemple). Use 1-hot encoding instead of log-encoding I've fixed a bug in L2lExpandArrays that occurs on equation such as some_bool = (some_array1 = some_array2); Also, I've rewritten Lv6Compile for more readability Remove duplicated code when using SocMap.find and co
-
- Jun 20, 2017
-
-
erwan authored
Otherwise, strange things sometimes happen.
-
- Apr 24, 2017
-
-
erwan authored
Also, use rdbg instead of lurettetop to run the test.
-
- Jan 10, 2017
-
-
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 30, 2016
-
-
Erwan Jahier authored
-
- Aug 26, 2016
-
-
Erwan Jahier authored
-
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);
-
- Feb 03, 2016
-
-
Erwan Jahier authored
by - remove duplication (add a profile_info function ine Lv6Verbose - be more efficient (computing Sys.time only when necessary - control the time-profiling printing via the -dbg flag "profile", and not the verbosity level
-
Erwan Jahier authored
I was re-implementing an inneficient topological sort there (using a linear list instead of logarithmic map). I win 1s on tri.ec (~8000 locals).
-
- Jan 14, 2016
-
-
Erwan Jahier authored
Ditto for Misc and Compile
-
- Sep 23, 2015
-
-
Erwan Jahier authored
Also, do not set the seed when comparing compilers.
-
- Jul 10, 2015
-
-
Erwan Jahier authored
More precisely, issuing an "exit 2" is not enough for the should_work proc in test/site.exp to state that the test fails. That fix revealed a certain number of bad programs. Some were not really wrong ; there were just not respecting the naming convention used to automated the test (i.e., main node name = file name). It also releaved a real bug due to the fact that type instanciatiation is not propagated during model instanciatiation, where creates a loop between (Lic2soc.process_node and Lic2soc.soc_of_node). Indeed it searches in the soc the table for an abstract profile.
-
Mamadou Ndiaye authored
-
- Jul 06, 2015
-
-
Pascal Raymond authored
* la syntaxe est changee pour l'accepter * la stucture IdSolver (compil "lazy") contient maintenant "all_srcs" qui permet d'acceder si besoin a n'importe quelle info source, notamment les params statiques des noeuds identifies par "Pack::name"
-
- Jul 01, 2015
-
-
Mamadou Ndiaye authored
-
- Mar 03, 2015
-
-
Erwan Jahier authored
-
Erwan Jahier authored
Indeed, having two different mechanisms is bad. In the end, I've kept mine (and not the one of Pascal), because the it was depending on LicPrg.t, which was creating a circular dep (which could of course be fixed, but I am lazy).
-
- Feb 27, 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!).
-
- 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.
-
- Oct 02, 2014
-
-
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.
-
- Sep 04, 2014
-
-
Erwan Jahier authored
-
- Aug 14, 2014
-
-
Erwan Jahier authored
-
- Jul 07, 2014
-
-
Erwan Jahier authored
-
- Jun 12, 2014
-
-
Erwan Jahier authored
Also do not crash if the soc contains reference to extern types.
-
- May 30, 2014
-
-
Erwan Jahier authored
It generates C code that compile on at least one example.
-
- Jan 22, 2014
-
-
Erwan Jahier authored
More specifically, replace @ by rev_append and flatten+map by fold_left. On a file that has 11000 equations (normal.ec), I win a factor 4: 60s -> 15s
-
- Dec 11, 2013
-
-
Erwan Jahier authored
The main difference is that I use a map instead of list to store visited nodes. The compilation time of normal.ec is divided by 2!! (35s->15s) We do not really see the difference in the time of the non-reg tests since the execution of normal.ec still exceeds the 10s timeouts.
-
- May 28, 2013
-
-
Erwan Jahier authored
The test now runs in 150s (versus 417s) [...] for some reasons, i cannot reproduce the 150s !!!
-
- 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 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.
-