Skip to content
Snippets Groups Projects
  1. Jan 29, 2016
  2. Jan 28, 2016
  3. Jan 22, 2015
  4. Jan 21, 2015
    • Erwan Jahier's avatar
      Check node declaration wrt safety and memory. · b29c70ff
      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!).
      b29c70ff
    • 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
  5. Jan 20, 2015
  6. 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
  7. Jan 14, 2015
    • Erwan Jahier's avatar
      Fix a bug when using -esa -en -2c on programs with assert · 79e85ff2
      Erwan Jahier authored
      Report by willie (cf mail of 8/10/2014 to get the file)
      
      file:/tmp/modes3x2.lus
      
      lus2lic -esa -en -2c /tmp/modes3x2.lus -n modes3x2
      
      But it gives an error of:
      Error. in file "/mnt/A/wsept/modes3x2_pre_orig_lus2lic_en_esa/modes3x2.lus",
      line 74, col 8 to 8, token '#': only one operator per equation is allowed
      (v04_0, v04_1).
      
      Which is the line:
      assert #(on_off, toggle);
      
      -----------------------------------------------------------------
      
      Actually, refuse programs that uses "#" or "nor" run with -esa and
      -2c|-exec
      
      That means that willie program is now rejected.
      
      Nevertheless, that change migth fix some other programs (that uses
      arrays, and used with -esa and -exec or -2c).
      79e85ff2
  8. 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
  9. Dec 08, 2014
  10. Nov 17, 2014
  11. Oct 09, 2014
  12. Oct 07, 2014
    • Erwan Jahier's avatar
      lic2soc: factorize some Soc.gao tests · 55efeade
      Erwan Jahier authored
      For the time being, we simple try to factorise out the test of
      consecutive gao that holds on the same clock.
      
      ps : also fix a pb (infinite loop in SortActions.topo_sort)
      introduced in the previous change that, for a strange reason
      (Makefile issue), was not catched by the test (almost all test were
      failing !!).
      
      pps : it actually seems to break quite a lot of test, but its my test
      script that wrong ! since version 527 (we are 534), the compiler used
      to perform the test in the tmp dirs is not upadated ! (well it is,
      but on the wrong machine...).
      
      I commit this change still as it introduces no more test failures.
      55efeade
  13. Oct 06, 2014
  14. Oct 03, 2014
  15. Mar 26, 2014
  16. Mar 25, 2014
  17. Feb 24, 2014
  18. Feb 20, 2014
  19. Jan 23, 2014
  20. Jan 22, 2014
  21. 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
  22. Dec 10, 2013
  23. Dec 06, 2013
  24. Dec 04, 2013
  25. Nov 29, 2013
  26. Nov 28, 2013
Loading