[sac-user] With-Loop

Carl A Joslin caj at sac-home.org
Mon Aug 30 19:37:16 CEST 2010

See below:


On 30/08/10 18:21, Salem Reyen wrote:
>     Hi,
>     I found there is a syntactic difference of with-loop in BNF and in
>     the demo program.  I am asking if anyone could help by providing me
>     a more uptodate BNF syntax for with-loop.  Thanks.
I can not think of any complete bnf for the new version of the with
loop, there are plenty of abridged versions in the papers we have
published however.
>     Salem
>     P.S.  Does SaC perform any loop optimization on for-loop and
>     while-loop and dose it translate "simple" for-loop patterns into
>     with-loop?
There are some optimizations performed on for do and while loops.  SaC
however does not convert for do or while loops to with loops

Below is a full list of optimizations that are/can be performed by
Sac2C.  Note the ones that are not enabled by default are less stable.

     (A leading * identifies optimization enabled by default.)

      * ls      loop scalarization
      * dcr     dead code removal
      * cf      constant folding
      * lir     loop invariant removal
      * inl     function inlining
      * lur     loop unrolling
      * wlur    with-loop unrolling
      * prfunr  prf unrolling
        lus     loop unswitching
      * cse     common subexpression elimination
      * dfr     dead function removal
        wlt     with-loop transformation
      * wlf     with-loop folding
        awlf    algebraic with-loop folding
      * ive     index vector elimination (requires -dosaa)
        wlflt   withloop flattening
        ae      array elimination
      * dl      distributive law
      * rco     reference count optimization
      * uip     update-in-place analysis
      * dr      data reuse
      * ipc     in-place computation
        tsi     with-loop tile size inference
        tsp     with-loop tile size pragmas
      * wlpg    with-loop partition generation
      * cp      constant propagation
      * vp      variable propagation
      * srf     static reuse / static free
        pr      partial reuse
      * phm     private heap management
      * aps     arena preselection (requires -dophm)
      * dpa     descriptor preallocation (requires -dophm)
      * msca    memory size cache adjustment (requires -dophm)
        ap      array padding
        apl     array placement
      * wls     with-loop scalarization
      * as      arithmetic simplification
      * al      associative law
      * etc     typeconv elimination
        sp      selection propagation
      * wlsimp  with-loop simplification
      * cwle    copy with-loop elimination
        wlfs    with-loop fusion
      * lro     loop reuse optimization
      * tup     type upgrade
        sisi    signature simplification
      * sde     subtraction / division elimination
      * wlprop  with-loop propagation
      * saa     use symbolic array attributes
      * cyc     run optimization cycle
      * scyc    run stabilization cycle
      * saacyc  run saa cycle
        wllo    run with-loop lock optimization
        rw3     MUTC remove with3 loops
      * ms      MUTC move syncs
      * uw3     MUTC unroll with3 loops
        expar   CUDA expand parallel region
        scuf    CUDA split cuda fold withloop
        shr     CUDA shared memory reuse
      * memopt  CUDA minimize memory tranfers
        slpt    CUDA split partition
      * cts     converting comparisons into subtractions
      * ucts    eliminating subtractions in comparisons

> _______________________________________________
> sac-user mailing list
> sac-user at sac-home.org
> http://lists.sac-home.org/mailman/listinfo.cgi/sac-user

More information about the sac-user mailing list