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

Preston Briggs preston.briggs at gmail.com
Fri Apr 20 14:14:07 PDT 2012


> > Here's a version of Banerjee and Wolfe's Exact SIV test:
> > https://sites.google.com/site/parallelizationforllvm/weak-siv-test
> > It assumes you've already filtered out the easy cases handled by ZIV,
> > strong SIV, etc.
> >
> > I'm not confident about my uses of APInt. If you have any comments,
> > I'd love to hear them.
>
> Are you worried about properly setting the bit lengths,

Yes, among other things. There are several inputs. Do I need to make
efforts to ensure they're all the same bit length? Is it appropriate
to do so much computation with APInts, or should I be working with
64-bit integers?

> or about loss of generality by restricting to constants? I've not thought about this
> too deeply, but are there cases where some or all of the relevant
> inputs are not constants, but yet we can still determine whether the
> expressions involving them satisfy the required inequalities? One of
> the nice things about SCEV is its ability, to some extent, to handle
> and simplify "algebraic" expressions, and if appropriate, I think we
> should use that ability.

Yes, I agree. This particular test is not very flexible about symbolic
computation (computing the GCD of non-constant inputs seems tough);
one of the advantages of the more specialized tests (Strong SIV, et
al.) is that they let us get a bit further with symbolic inputs.

I've been studying the SCEV code and have ideas about how to rework
some of the SIV tests to be a bit more flexible in this respect. I
think they'll turn out well; the SCEV package is really quite
wonderful.

Preston



More information about the llvm-dev mailing list