1. 14 Nov, 2018 1 commit
  2. 19 Sep, 2018 1 commit
  3. 21 Mar, 2017 1 commit
  4. 07 Aug, 2015 1 commit
  5. 26 Jun, 2015 1 commit
  6. 25 Jun, 2015 1 commit
    • Thomas Macht's avatar
      Fixed "warning: assuming signed overflow does not occur when assuming · 682b8b93
      Thomas Macht authored
      that (X - c) > X is always false [-Wstrict-overflow]" when compiling
      stdlib with type checks enabled.
      Distributed memory backend:
       - Introduced DSM distribution variant
       - Got broadcasts working.
       - Added option to enable trace output for a specific rank only. 
       - Improved tracing.
       - Extended heap manager tracing.
      682b8b93
  7. 16 Jun, 2015 1 commit
  8. 08 Jun, 2015 1 commit
    • Thomas Macht's avatar
      Changes: · 5f4a6529
      Thomas Macht authored
       - Implemented runtime checks.
       - Added support for primitive modarray functions 
       - Implemented profiling.
       - Improved tracing.
       - Arrays of all types are supported now.
       - Fixed bug in tracing reads from distributed arrays.
       - Fixed bug when calculating the distribution of an array with dim0
      size = 0.
       - Updated options for distmem backend.
       - Added compiler phase to identify functions with side effects.
       - Distmem backend: added phase to identify distributable arrays.
       - Introduced execution modes for distmem backend to prevent nodes from
      getting out of sync and as a first step to support for nested
      with-loops.
       - Fixed bugs related to mirror/descriptor variables for DIS-variables
      
      Status:
       - All basic tests are working, embar.sac is not yet working.
      5f4a6529
  9. 17 Jun, 2014 1 commit
  10. 27 Mar, 2014 2 commits
    • Artem Shinkarov's avatar
      DBUG_ASSERT in the production compiler. · 793eff8c
      Artem Shinkarov authored
      Enabling DBUG_ASSERT expansion in the production compiler as well as
      in the development one.
      793eff8c
    • Artem Shinkarov's avatar
      DBUG_UNREACHABLE macro to replace DBUG_ASSERT (<false-expr> cases · 491595f3
      Artem Shinkarov authored
      We introduce DBUG_UNREACHABLE macro to mark the places in the code
      that must not happen.  We produce an error message stating that we
      hit such a place in the code.
      
          * debug.[ch]:    DBUG_UNREACHABLE macro defined for both DBUG_OFF
                           and !DBUG_OFF cases.
      
                           exit_function was moved outside of !DBUG_OFF
                           region.
      
          * ctinfo.[ch]:   Removed CTIterminateCompilationSilient in favour
                           of existing CTIexit and replaced occurences.
      
          * main.c         Adjusted comments to match doxygen style, set
                           exit_function unconditionally to DBUG_OFF.
      491595f3
  11. 13 Sep, 2013 1 commit
    • Artem Shinkarov's avatar
      SIMD selection and multiplication. · cbc918e3
      Artem Shinkarov authored and Artem Shinkarov's avatar Artem Shinkarov committed
      Currently sel operation returns a scalar value, which is useless in case
      of vector operations.  So _simd_sel_VxA_ (vec_len, idx, array)
      acts similarly to sel, and accepts the same arguments, but it then
      selects VEC_LEN elements starting from ARRAY[IDX].
      
      Simd multiplication is very similar to the addition:
              _mul_SMxSM_ (vec_len, a, b)
      cbc918e3
  12. 17 Oct, 2012 1 commit
    • Artem Shinkarov's avatar
      First adjustment of the C icm generation. · 325721f8
      Artem Shinkarov authored
      The goal is to make C icm expansion more simple and readable.
      
              * Replace fprintf(gobal.outfile with `out` and `indout`
                mainly for aesthetic purposes.  Function `indout` is
                indented out, and is expanded to {INDENT; out (...)}.
      
              * Reorganize ICM templates like COND1, FOR_LOOP, etc
                to avoid statement passing as macro-parameters.  Instead
                every template consists of _BEGIN and _END part, like
                for example:
                      FOR_LOOP_BEGIN ("int SAC_i = 0; SAC_i < 3; SAC_i++")
                              // Do something here
                      FOR_LOOP_END ();
      325721f8
  13. 17 Aug, 2011 1 commit
  14. 03 Jul, 2011 1 commit
  15. 27 May, 2011 1 commit
  16. 13 Jun, 2010 1 commit
    • Robert Bernecky's avatar
      · 2ea46bc7
      Robert Bernecky authored
      Mostly, changes for AWLF:
      
      1. Inserted wlbscnf call before SAACYC
      
      2. Implemented cube-slicing in AWLF.
         (Currently disabled, but code is there. The slicing is not
         performed properly in cases where the index vector axes
         are permuted or duplicated, such as in transpose (j,i) or major
         axis selection (i,i).
      
      3. Killed FLATG before SAACYC.
      
      4. Introduced PRFUNR extensions for extrema propagation, post-Loch Ness.
         We now unroll vector_based guards into scalar-based guards.
      
      5. Made extrema N_avis sons, rather than attributes.
         This corrected a fair number of mystery crashes.
      
      6. We now propagate extrema, minima and maxima, independently.
      
      7. Insert SAA AVIS_SHAPE/DIM information within SAACYC now.
         Previously, this was performed only before SAACYC, and each
         optimization was responsible for maintaining SHAPE/DIM
         information itself.
      
      8. Optimizer maintenance of SAA information (item 7) deleted with 
         #ifdef statements, for the nonce, on the assumption that
         item 7 will do the job now.
      
      9.  Introduced CF optimizations for guards.
      
      10. Introduced CF optimizations for extrema.
      
      11. Introduced symbiotic expressions using sacprelude functions
          for AWLF intersect computations.
      
      12. Moved stabilization cycle after SAACYC.
          Placement of this, and of traversals within SAACYC,
          should be vetted.
      
      13. Introduced VP into SCYC to make IVESPLIT work again.
      
      14. Introduced LS into SAACYC, to address Bug#697. See Bugs #709, #710.
      
      15. Introduced scalar constraint/guard functions, for post-Loch Ness AWLF.
      
      16. Fixed WLSIMP AVIS_SSAASSIGN bug.
      
      17. IVE changed to flatten idx2offset and/or vect2offset nodes. This
          was required to make TC/CF, etc., at the end of phase 11 work
          properly. VP/CP at end of phase 11.
      
      18. Added include for globals.h to prepare_inlining.c, to correct
          compilation error.
      
      Known problems:
      
       - Many rbe-induced warnings during compilation, which I will fix up
         soon. 
       - LIR failure still causing severe performance losses. sah has this
         in hand.
       - AS failures cause AWLF to fail on relatively simple codes, e.g.,
         gauss.sac in awlf test suite.
         Since AS no longer exists, this is not surprising. I will
         attempt its revival, since symbolic CF can not do the job
         unless operands are shuffled.
       - I am of the opinion that stdlib take() and perhaps drop()
         generate bad code for negative take counts. That causes
         sac/apex/UTThornBoolean/UTThornBoolean.sac to crash when compiled
         with -ecc, with an error message that is correct, but which
         requires the user to be able to read IL in order to isolate.
       - I would appreciate code review/inspection of any/all of these
         documents. In particular, anything labeled FIXME should be
         checked.
       - -check c will fail for some newly introduced scalar guards. 
         There is something wrong memory/alloc.c for these guards,
         and the module does not offer any guidance on writing code
         for new primitives.
       - ct_prf.c: fails to completely typecheck some new guards,
         I think. Same problem as with -check c: no docn in code.
      
      2ea46bc7
  17. 03 Sep, 2007 1 commit
  18. 22 Aug, 2007 1 commit
  19. 07 Aug, 2007 1 commit
  20. 12 Jul, 2007 1 commit
  21. 11 Jul, 2007 1 commit
    • Clemens Grelck's avatar
      Added new prf modarray_AxVxA in addition to modarray_AxVxS. · 4223d696
      Clemens Grelck authored
      This will be needed to fix bug 386 (WLUR).
      Added new prfs idx_modarray_AxSxS and idx_modarray_AxSxA to
      reflect changes in modarray and to have a clear separation between
      scalar valued and array valued modarrays in the code generation.
      Stripped dead prf switches out of compile, makedimexpr and makeshapeexr
      after they have been replaced by proper function tables.
      4223d696
  22. 23 Jun, 2007 1 commit
  23. 20 Jun, 2007 2 commits
  24. 05 Feb, 2007 2 commits
  25. 29 Jan, 2007 1 commit
  26. 29 Sep, 2006 1 commit
  27. 11 Jul, 2006 1 commit
  28. 27 Oct, 2005 1 commit
  29. 09 Aug, 2005 1 commit
  30. 29 Jun, 2005 1 commit
  31. 28 Jun, 2005 1 commit
  32. 25 Nov, 2004 1 commit
  33. 24 Nov, 2004 1 commit
  34. 27 Sep, 2004 1 commit
    • Kai Trojahner's avatar
      replaced ICMCompileND_SET__SHAPE_arr( to_NT, 1, shp); · e7487c8b
      Kai Trojahner authored
      with     ICMCompileND_SET__SHAPE_arr( to_NT, to_dim, shp);
      in ND_PRF_SEL__SHAPE_id, ND_PRF_SEL__SHAPE_arr, ND_PRF_IDX_SEL__SHAPE
      This should fix bug #62, but it would be interesting to know why there
      was 1 instead of to_dim in the first place.
      e7487c8b
  35. 10 Mar, 2004 1 commit
  36. 19 Oct, 2003 2 commits