Skip to content
Snippets Groups Projects
  1. Apr 10, 2015
  2. Feb 24, 2015
  3. Feb 23, 2015
    • Erwan Jahier's avatar
      --2c--stack: fix a bug in code generated for array concat. · 5f3d50f1
      Erwan Jahier authored
      Now all the tests that were ok in the heap mode are also ok in the
      stack mode !
      
      However the code generated for programs that use fillred and co is weird.
      
      For instance, in should_work.pipeline.lus, in
      fillred_oneStep_pipe_10_step, accu_in is used both as an input and an
      output, which seems wrong in the stack mode as no copy is performed.
      
      Is it working by chance ?
      5f3d50f1
  4. Feb 13, 2015
    • Erwan Jahier's avatar
      --2c--stack: fix a bug in code generated for array concat. · f5802db0
      Erwan Jahier authored
      Now all the tests that were ok in the heap mode are also ok in the
      stack mode !
      
      However the code generated by fillred and co is weird.
      
      For instance, in should_work.pipeline.lus, in
      fillred_oneStep_pipe_10_step, accu_in is used both as an input and an
      output, which seems wrong in the stack mode as no copy is performed.
      
      Is it working by chance ?
      f5802db0
    • 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
  5. Feb 09, 2015
  6. 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
  7. 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
  8. Oct 09, 2014
  9. Oct 03, 2014
  10. Aug 22, 2014
  11. Aug 14, 2014
    • Erwan Jahier's avatar
      fd23885a
    • 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
  12. Jul 01, 2014
    • Erwan Jahier's avatar
      Soc2c: inline ITE soc, to make things simpler. · a4df5e5e
      Erwan Jahier authored
      Indeed, ite are polymorphic, and thus inventing names during soc
      instanciation is error-prone, ugly, innefficient, and increase the
      code size.
      
      Moreover, using C ite to translate them online (ie, without going
      trough a soc) is straigforward
      
      # of unexpected failures	104->101.
      a4df5e5e
  13. Jun 24, 2014
  14. Jun 23, 2014
  15. Jun 20, 2014
  16. Jun 19, 2014
  17. Jun 18, 2014
  18. Jun 13, 2014
  19. Jun 12, 2014
  20. Jun 02, 2014
Loading