Skip to content
Snippets Groups Projects
  1. Feb 03, 2016
    • Erwan Jahier's avatar
      Rationnalize the use of time-profiling printing. · 938258cf
      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
      938258cf
  2. Jan 14, 2016
  3. Sep 23, 2015
  4. Aug 20, 2015
  5. Aug 17, 2015
  6. Jul 10, 2015
    • Erwan Jahier's avatar
      The nonreg test process was missing some failures. · ccdf2a78
      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.
      ccdf2a78
  7. Jun 23, 2015
  8. May 22, 2015
  9. Feb 27, 2015
  10. Jan 19, 2015
    • Erwan Jahier's avatar
      Add a --optimize-ite/-oite option that transforms if/then/else into merge when possible. · d783b03e
      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.
      d783b03e
  11. Sep 04, 2014
  12. Aug 19, 2014
    • Erwan Jahier's avatar
      lus2lic --gen-autotest : change the strategy to compare real values en generated oracles. · f02e8b1b
      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).
      f02e8b1b
  13. Jun 10, 2014
  14. Jun 02, 2014
  15. May 30, 2014
  16. May 12, 2014
  17. Mar 25, 2014
  18. Jan 22, 2014
  19. Dec 11, 2013
    • Erwan Jahier's avatar
      Rewrite the topological sort of actions. · 612d8213
      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.
      612d8213
  20. Dec 10, 2013
  21. Dec 04, 2013
  22. Nov 29, 2013
  23. May 28, 2013
  24. May 15, 2013
    • Erwan Jahier's avatar
      Fix test the -ec mode in presence of clocked variable. · d5870c84
      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
      d5870c84
  25. May 10, 2013
  26. May 06, 2013
  27. Apr 26, 2013
  28. Apr 25, 2013
  29. Apr 24, 2013
  30. Apr 23, 2013
    • Erwan Jahier's avatar
      Fix several issues w.r.t. clocks during node expansion. · cb891dc4
      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.
      cb891dc4
  31. Apr 22, 2013
  32. Apr 17, 2013
  33. Apr 12, 2013
    • Erwan Jahier's avatar
      lus2lic is now working from ldbg and ltop. · fa71e77c
      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).
      fa71e77c
  34. Apr 10, 2013
  35. Apr 03, 2013
  36. Mar 19, 2013
  37. Feb 13, 2013
  38. Jan 24, 2013
Loading