- 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)
-
- Jan 02, 2017
-
-
Erwan Jahier authored
-
- Dec 22, 2016
-
-
Erwan Jahier authored
with recursive clock depende ncies.
-
- 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 13, 2016
-
-
Erwan Jahier authored
Because otherwise, V4 ec tools behaves strangely.
-
- 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.
-
- May 27, 2016
-
-
Erwan Jahier authored
('::' vs '__') soc2c -2cw7: use mkff+fixffx+arm.looploc to fix extern lib calls.
-
- 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
-
- 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"
-
- 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!).
-
- Sep 04, 2014
-
-
Erwan Jahier authored
-
- Oct 23, 2013
-
-
Erwan Jahier authored
Timothy Bourke (trigerred where the clock of some args are some other args and when the names of variables are shared between the caller and the callee). The problem is in UnifyClock.f or (in evalClock.ml) ; the current change in evalClock.ml fixes the pb in Tim's program, but I suspect it is still buggy.
-
- May 17, 2013
-
-
Erwan Jahier authored
-
- 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 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).
-
- 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 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 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 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!
-
- Feb 01, 2013
-
-
Erwan Jahier authored
-
- Jan 31, 2013
-
-
Erwan Jahier authored
nb : do not work for lv4/ec mode
-
- Jan 24, 2013
-
-
Erwan Jahier authored
-
- Jan 16, 2013
-
-
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)"
-
- Dec 20, 2012
-
-
Erwan Jahier authored
Also call L2lCheckOutputs.check_node for all compiled nodes at the end of all the l2l transfo.
-
- Dec 13, 2012
-
-
Erwan Jahier authored
-
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
-