- 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
-
- 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.
-
- Aug 20, 2015
-
-
Erwan Jahier authored
-
- Aug 17, 2015
-
-
Erwan Jahier authored
Indeed, otherwise, in some cases, rdbg or lurette migth not realise that lus2lic exited in error.
-
- 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.
-
- 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.
-
- May 22, 2015
-
-
Erwan Jahier authored
+ the utils/lustrequiv script that tries to state that 2 nodes a equivalent or not using lesar and lurette.
-
- 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.
-
- Sep 04, 2014
-
-
Erwan Jahier authored
-
- Aug 19, 2014
-
-
Erwan Jahier authored
Indeed, for big integers, looking at |x-x'|<eps leads to false positive, because of the precision (*); it is better to to look at |1-x/x'|<eps (*) the precision (-p 6) influence the comparison, because the SUT currently sends its result via a socket and truncate the result (which is probably a bad idea). nb : the exec time explose (x3), but for an external (unknown) reason (undoing the change leads to the same exec time ~800s).
-
- Jun 10, 2014
-
-
Erwan Jahier authored
To do that, I've used the (un)expand_profile function defined in SocExec (and put the in a new module with a more neutral name: SocVar). expected passes 1116 -> 1121 unexpected failures 282 -> 277
-
- Jun 02, 2014
-
-
Erwan Jahier authored
- Generate code for most predef operators. - Generate a loop.c file (in a similar manner as ec2c -loop does)
-
- May 30, 2014
-
-
Erwan Jahier authored
It generates C code that compile on at least one example.
-
- May 12, 2014
-
-
Erwan Jahier authored
Work in progress...
-
- Mar 25, 2014
-
-
Erwan Jahier authored
cf git sha 55d3d77c470f416befd16a1b7d47f751eb2171fc of rdbg
-
- 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.
-
- Dec 10, 2013
-
-
Erwan Jahier authored
Also add support to rdbg to perform nonreg test. I do not plug yet it as it's twice slower. but most of it seems due patch_ecexe. Indeed, lus2lic -interface compile the whole program just to print the node interface. nb: it has detected a couple of existing bugs.
-
- Dec 04, 2013
-
-
Erwan Jahier authored
-
- Nov 29, 2013
-
-
Erwan Jahier authored
Fix a bug in socExec.ml (strangely untriggered before) along the way.
-
- May 28, 2013
-
-
Erwan Jahier authored
The test now runs in 150s (versus 417s) [...] for some reasons, i cannot reproduce the 150s !!!
-
- May 15, 2013
-
-
Erwan Jahier authored
Indeed, I've intentionally removed the when statements in clocked local var like this : var v:int; because the following was producing a syntax error in ecexe: var v:int when c; But Actually, the right thing to do was to generate the following: var (v:int) when c; ... nb : #FAILS=90->89
-
- May 10, 2013
-
-
Erwan Jahier authored
I though polymorphism was removed by l2lRmPoly.ml, but well, it was easy. nb : #FAILS=131->128
-
- May 06, 2013
-
-
Erwan Jahier authored
where equations such as " ok = (x=x_ref); " are translated into incorrect v' lustre when x is a structure or an array. nb : #FAILS=152->135
-
- Apr 26, 2013
-
-
Erwan Jahier authored
(to be kind with data plotters).
-
Erwan Jahier authored
-
- Apr 25, 2013
-
-
Erwan Jahier authored
-
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 23, 2013
-
-
Erwan Jahier authored
(1) equations such as (x,y,z)=[0,0,0]; were generated with -en unless -ec was specified. I've fixed that by always breaking tuples, even when global_opt.ec is false (this condition was strange anyway). (2) During node expansion, I create a fresh variable for each local var in the expanded node, but old var names were still appering in clock expression indeed, consider that example : var c:bool; x when c :bool; I was generating something equivalent to var c_fresh:bool; x_fresh when c :bool; bou... Of course, it was working because in -ec mode, I need to remove clock annotation when declaring local variables, which was hidding the problem. nb : because I've change test_lus2lic_no_node to use -lv4 instead of -ec to generate the lustre oracle, which exposes new pbs (cf above). (3) When expanding a node on the base clock with arguments on another clock, I was not propagating that information (let's keep the finger-crossed and hope the current fix is complete). nb : the number of failing test cases is the same (5 new pass, but 5 new fail!!), but it actually is a progression. Indeed, the new test failures ares due to the fact that this current change fixes a problem that expose yet another one! Actually, the newly exposed bug is not in the compliler, but in the oracle I generate via the --auto-test option ; indeed, for testing nodes which not all interface variables are one the base clock, I should generate oracle that do take them into account.
-
- Apr 22, 2013
-
-
Erwan Jahier authored
112 tests failed, and 127 passed !!
-
- Apr 17, 2013
-
-
Erwan Jahier authored
Add --gen-autotest option that generates a Lutin file and an oracle Lustre file suitable to compare the result of 2 Lustre compilers
-
- 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.
-
- Mar 19, 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).
-
- Jan 24, 2013
-
-
Erwan Jahier authored
-