[LLVMdev] SIV tests in LoopDependence Analysis, Sanjoy's patch

Nick Lewycky nicholas at mxc.ca
Mon May 14 17:06:27 PDT 2012


Preston Briggs wrote:
> On Sat, Apr 21, 2012 at 6:08 AM, Sanjoy Das
> <sanjoy at playingwithpointers.com <mailto:sanjoy at playingwithpointers.com>>
> wrote:
>  >
>  > Sorry for having been quiet for so long, I have my university exams
>  > going on, and will be able to contribute only after the coming Friday.
>
> Gents,
>
> While you've been fooling around with exams, I have been focused with
> laser-like intensity, or something...
> Here are new versions of 4 SIV tests:
>
>   * the Strong SIV test:
>     https://sites.google.com/site/parallelizationforllvm/strong-siv-test
>   * the Weak-Zero SIV test:
>     https://sites.google.com/site/parallelizationforllvm/weak-zero-siv-test
>   * the Weak-Crossing SIV test:
>     https://sites.google.com/site/parallelizationforllvm/weak-crossing-siv-test
>   * the Exact SIV test:
>     https://sites.google.com/site/parallelizationforllvm/weak-siv-test
>
> and our first MIV test:
>
>   * the RDIV test:
>     https://sites.google.com/site/parallelizationforllvm/rdiv-test
>
> If you have any thoughts about this code, I'd be very interested in
> hearing them.

One issue: don't use floating-point in LLVM. We want LLVM to behave the 
same on different computers, and practically that means avoiding floats. 
This code:

     double TMUL = BM.sdiv(G).roundToDouble(true);
     if (TMUL > 0) {
       TL = fmax(TL, (-X).roundToDouble(true) / TMUL);

from the RDIV test is not okay. You can use APFloat if you like, that's 
our soft-coded float library that produces reproducible results.

Nick

> I'm going to take a break from working on these low-level tests and
> spend some time working top-down on the high-level structure of the
> Delta Test (finding coupled subscripts, etc).
>
> Preston
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu         http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev




More information about the llvm-dev mailing list