Skip to content
Snippets Groups Projects
  1. Feb 13, 2015
    • Erwan Jahier's avatar
      soc2c: fix a bug occuring when copying arrays with memcpy(). · fffd1850
      Erwan Jahier authored
      Indeed, in order to copy an array, I used to generate something like
      
         memcpy(out, in, sizeof(in));
      
      but if 'out' and 'in' are arrays, and if 'in' is an argument of a function,
      sizeof() considers it as a pointer, not an array !!!!
      
      note that if 'in' is a local var, sizeof(in) works fine.
      
      To fix it, I use the type of the dest (instead of the id) as argument of sizeof.
      
      nb : The pb never occured before, as in the heap mode only the ctx is
      passed a args of step functions.
      fffd1850
  2. Feb 12, 2015
  3. Feb 09, 2015
  4. Jan 27, 2015
  5. 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
  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. Nov 17, 2014
  8. Sep 04, 2014
  9. Sep 03, 2014
  10. Sep 01, 2014
  11. Aug 27, 2014
  12. Aug 26, 2014
  13. Aug 22, 2014
  14. 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
  15. 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
  16. Aug 07, 2014
    • Erwan Jahier's avatar
      Fix the behavior of condact in the -exec mode. · 213188b1
      Erwan Jahier authored
      Indeed, once the activation condition has been true, and when it is
      false it wax returning the default value instead of the previous one.
      
      # of expected passes 		1512 -> 1519
      # of unexpected failures	84 -> 78
      213188b1
    • Erwan Jahier's avatar
      non-reg tests: try to remove tests that fail for bad reasons. · 5c16363d
      Erwan Jahier authored
      For instance, do not launch tests that perform result comparison (via
      lurette) on files that contains extern nodes (as they cannot be
      executed) or package.  Package do not work because appending the
      tested lustre file with the generated oracle as I do is wrong in
      presence of package.
      
      Moreover, my current test process is not able to test programs which
      main node IOs are not all on the base clock. I have fixed this by
      patching the examples.
      
      # of expected passes 		1508 -> 1512
      # of unexpected failures	130 -> 84
      5c16363d
  17. Jul 11, 2014
  18. Jul 09, 2014
  19. Jul 04, 2014
  20. Jun 27, 2014
  21. 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
  22. Jun 24, 2014
  23. Jun 23, 2014
  24. Jun 20, 2014
  25. Jun 19, 2014
    • Erwan Jahier's avatar
      Soc2c: Fix 2 bugs in the C code generation. · 9253be2f
      Erwan Jahier authored
      The first one in Soc2cIdent.type_to_short_string when enum and int were both
      translated by "i" ; as a consequence, some different soc ctx get the same name.
      
      The second one was due to the fact that car ident in gao switches were
      printed incorrectly (missing "ctx->" or "node_no_mem_ctx.").
      
      nb:  unexpected failures 162-> 149
      9253be2f
  26. Jun 18, 2014
  27. Jun 13, 2014
  28. Jun 12, 2014
  29. May 30, 2014
  30. May 21, 2014
Loading