Skip to content
Snippets Groups Projects
  1. Mar 09, 2017
  2. Jan 09, 2017
  3. Nov 30, 2016
  4. Sep 20, 2016
    • Erwan Jahier's avatar
      -2cw7: generate C annotations (as comments) for Lesar/w7 · aa6d74b5
      Erwan Jahier authored
      so that w7/lesar can help otawa/ilp to prune path in the binary.
      
      nb : not working on the convertible example:
       - sometimes the module name still appear in the ident (enums)
       - clocks are not well supported by Lesar actually. More thinking is necessary.
      aa6d74b5
  5. Sep 13, 2016
  6. Sep 09, 2016
  7. Sep 05, 2016
  8. Aug 26, 2016
  9. Jun 01, 2016
  10. May 31, 2016
  11. May 27, 2016
  12. Jan 14, 2016
  13. Jul 01, 2015
  14. Feb 27, 2015
  15. Jan 21, 2015
    • Erwan Jahier's avatar
      Fix a couple of bugs in the -oite option. · 6af23f41
      Erwan Jahier authored
      - predef Lustre op were declared as memoryful.
      - expr like "if true then ..." were badly translated
      - The clock and types of some expressions created by L2lOptimIte had
        a bad arity (in presence of tuples)
      - in order to perform the -oite optim, also check that each branch is safe.
      6af23f41
  16. 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
  17. Jan 07, 2015
    • Erwan Jahier's avatar
      Merge does not generate soc anymore ! · fcf73b92
      Erwan Jahier authored
      Also fix a bug in Lic2soc.make_e2a_elt where some deps and some
      actions were lost. Actually, this bug ought to be triggered only with
      nested calls. So this affects only programs executed via the
      -knc/-keep-nested-calls option. and -2c is not supposed to work in
      conjunction with -knc ! Hence this fix does not fix anything. But
      still it fixes potentially future code if I (or someone else) decide
      to handle nested calls in the lic one day.
      fcf73b92
  18. Nov 17, 2014
  19. Sep 02, 2014
    • Erwan Jahier's avatar
      -ei (and thus -ec): Fix a bug when translating condact. · 5ee67626
      Erwan Jahier authored
      The translation was faithfull to the comment, but the comment was wrong :
      in order to translate a condact, we need clocks (when) !
      
      node condact_toto(i0:bool; i1:int; i2:int) returns (o0:int) = Lustre::condact<<toto, 0>>;
      
      is now translated into:
      
      condact_toto(i0:bool; i1:int; i2:int) returns (o0:int)
      let
        o0 = if i0 then current(toto(i1 when i0, i2 when i0) ) else (0 fby o0);
      tel
      5ee67626
  20. Aug 26, 2014
  21. Aug 14, 2014
    • Erwan Jahier's avatar
      lic2soc: fix the translation of the current operator into SOC. · d3061085
      Erwan Jahier authored
      nb : the -exec mode was working because I did not use the generated soc,
      which was completely wrong.
      
      Note that to do that, I have modified the CURRENT variant of
      Lic.val_exp, to attach it the clock the current holds on. Indeed, the
      clock is mandatory to generated correct code...
      
      In an ideal world, this clock information may have explicitely been
      set by the user ("current(clk_of_X,X)" instead of "current(X)"), but
      for historical reason, it is not the case.
      
      Hence, this information is added as soon as it is available, namely,
      during clock checking.
      d3061085
  22. Jun 04, 2013
  23. May 21, 2013
  24. Apr 26, 2013
  25. 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
  26. Apr 10, 2013
  27. Apr 04, 2013
    • Erwan Jahier's avatar
      The -exec mode now supports the merge statement. · 1ca66bc0
      Erwan Jahier authored
      In order to do that, I've generalised the type of merge : now the clock
      argument can be any expression. Some assert false still prevent its use,
      but it should be easy to get rid of them (I'll do that latter).
      1ca66bc0
  28. Apr 03, 2013
  29. Mar 27, 2013
    • Erwan Jahier's avatar
      Rework the type of Lic expressions w.r.t. predef expressions. · 28f47082
      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.
      28f47082
  30. Mar 25, 2013
  31. Mar 19, 2013
  32. Mar 05, 2013
  33. Feb 25, 2013
  34. Feb 20, 2013
  35. Feb 13, 2013
  36. Feb 07, 2013
  37. Feb 06, 2013
  38. Feb 04, 2013
Loading