Skip to content
Snippets Groups Projects
  1. Aug 29, 2019
  2. Aug 18, 2017
    • erwan's avatar
      Do dep-loop checking before removing alias, otherwise some variables disappear ! · b13c9efb
      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)
      b13c9efb
  3. Jul 04, 2017
    • erwan's avatar
      More work on the -eeb option. · a6fab49a
      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
      a6fab49a
  4. Jun 20, 2017
  5. Sep 05, 2016
  6. May 31, 2016
  7. Jan 14, 2016
  8. Jun 23, 2015
  9. Jun 17, 2015
  10. Mar 03, 2015
  11. Feb 27, 2015
  12. 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
  13. Oct 09, 2014
    • Erwan Jahier's avatar
      -ec: fix bug a introduced 8 commits ago · 244b252d
      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.
      244b252d
  14. Oct 02, 2014
  15. Aug 14, 2014
  16. Jul 04, 2014
  17. Jun 26, 2014
    • Erwan Jahier's avatar
      Reject user defined polymorphic node. · 716f0d5b
      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.
      716f0d5b
  18. Jun 12, 2014
  19. Jun 03, 2013
  20. Apr 26, 2013
  21. Apr 25, 2013
  22. Apr 24, 2013
  23. 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
  24. Apr 10, 2013
  25. Mar 19, 2013
  26. Feb 04, 2013
  27. Jan 19, 2013
  28. Jan 18, 2013
  29. Jan 16, 2013
  30. Jan 14, 2013
  31. Jan 11, 2013
  32. Dec 20, 2012
  33. Dec 18, 2012
  34. Dec 13, 2012
    • Erwan Jahier's avatar
      Documentation et renommage des modules. · 65dfa567
      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
      65dfa567
  35. Aug 10, 2012
    • Pascal Raymond's avatar
      gros menage : · fbd5b3bc
      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)
      fbd5b3bc
  36. Aug 03, 2012
  37. Jul 13, 2012
    • Pascal Raymond's avatar
      Menage dans les val_exp : · 0934086d
      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
      0934086d
Loading