- Aug 29, 2019
-
-
erwan authored
Remove a lot of warnings (considered as errors by dune).
-
- 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
-
- 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.
-
- May 31, 2016
-
-
Erwan Jahier authored
-
- Jan 14, 2016
-
-
Erwan Jahier authored
Ditto for Misc and Compile
-
- Jun 23, 2015
-
-
Erwan Jahier authored
(which breaks lurettetop) nb : Mamadou's change broke some tests (18->53). Empty body is generated for nodes that have one eq. I'll fix that later.
-
- Jun 17, 2015
-
-
Mamadou Ndiaye authored
-kcg: evaluates types enum and struct correctly. -kcg: evaluates const correctly.
-
- Mar 03, 2015
-
-
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 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 09, 2014
-
-
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.
-
- 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.
-
- Aug 14, 2014
-
-
Erwan Jahier authored
-
- Jul 04, 2014
-
-
Erwan Jahier authored
# of unexpected failures 101->109 but actually, some new test passes causes several other failing test to be tried, so it is not really a regression.
-
- Jun 26, 2014
-
-
Erwan Jahier authored
For instance, node toto = map<<Lustre::if, N>>(x, a, b); is rejected. The problem with this change is that we now also reject equations such as res = map<<+, N>>(x, a, b); which could be avoided. Probably L2lRmPoly does its job partially.
-
- Jun 12, 2014
-
-
Erwan Jahier authored
Also do not crash if the soc contains reference to extern types.
-
- Jun 03, 2013
-
-
Erwan Jahier authored
nb: test run on trieves, not triglav that is down, so the time is meaningless
-
- Apr 26, 2013
-
-
Erwan Jahier authored
(to be kind with data plotters).
-
- Apr 25, 2013
-
-
Erwan Jahier authored
Actually it does not fix any test, but I feel it is a (slight) progress, so I commit it... Well, to be fair, one objective progress is that I can now compile the test suite with the -np option.
-
- Apr 24, 2013
-
-
Erwan Jahier authored
-
- 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.
-
- Mar 19, 2013
-
-
Erwan Jahier authored
-
- 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!
-
- Jan 19, 2013
-
-
Erwan Jahier authored
-
- Jan 18, 2013
-
-
Erwan Jahier authored
Plug back the enums expansion (-ee, --expand-enums) that translates enum types using extern consts and types.
-
- Jan 16, 2013
-
-
Erwan Jahier authored
-
Erwan Jahier authored
on programs containing equations such as : b3, b4, b5, b6 = (three_outputs(two_outputs(b1,b2),true), false); because TUPLES where not correctly inlined (i.e., "...= n((x,y),z)" instead of "...=n(x,y,z)"
-
- Jan 14, 2013
-
-
Erwan Jahier authored
-
- Jan 11, 2013
-
-
Erwan Jahier authored
Also do not print type and const declarations with -ec.
-
Erwan Jahier authored
-
- Dec 20, 2012
-
-
Erwan Jahier authored
Also call L2lCheckOutputs.check_node for all compiled nodes at the end of all the l2l transfo.
-
Erwan Jahier authored
-
- Dec 18, 2012
-
-
Erwan Jahier authored
-
- Dec 13, 2012
-
-
Erwan Jahier authored
nb: les tests ne passent toujours bien sur. * Partie lus -> AST predef.ml -> srcPredef.ml syntaxTreeCore.ml -> astCore.ml syntaxTree.ml -> astV6.ml syntaxTreeDump.mli-> astV6Dump.mli * Partie Ast -> Ast solveIdent.mli -> astRecognizePredef.mli syntaxTab.mli -> astTab.mli symbolTab.mli -> astTabSymbol.mli * Partie AST -> lic (static evaluation) eff.ml -> lic.ml getEff.mli -> ast2lic.mli lazyCompiler.mli -> licTab.mli builtIn.ml -> licMetaOp.ml predefEval*.ml -> licEval*.ml name.mli -> licName.mli * Partie Lic -> Lic uniqueOutput.mli -> l2lCheckOutputs.mli structArrayExpand.mli -> l2lExpandArrays.mli nodesExpand.mli -> l2lExpandNodes.mli doNoPoly.ml -> l2lRmPoly.ml doAliasTypes.ml -> l2lAliasType.ml doSplit.ml -> l2lSplit.ml
-
- Aug 10, 2012
-
-
Pascal Raymond authored
- plus de macros prefefinies (e.g. FILL, BOOLRED etc...) (remplacé par la notion de BuiltIn) - split.ml adapté et remanié pour rentrer dans le moule source to source (voir DoSplit)
-
- Aug 03, 2012
-
-
Pascal Raymond authored
-
- Jul 13, 2012
-
-
Pascal Raymond authored
IDENT remplacé par VAR_REF/CONST_REF - plus de node_exp dans les CALL, juste une ref (node_key) - reste a faire pareil pour les NodeStaticArgEff
-