Displaying 3 results from an estimated 3 matches for "phiscev".
2012 Dec 10
3
[LLVMdev] [PATCH] Teaching ScalarEvolution to handle IV=add(zext(trunc(IV)), Step)
...SCEVAddRecExpr>(Accum)->getLoop() == L)) {
SCEV::NoWrapFlags Flags = SCEV::FlagAnyWrap;
@@ -3071,11 +3091,40 @@ const SCEV *ScalarEvolution::createNodeForPHI(PHINode *PN) {
}
const SCEV *StartVal = getSCEV(StartValueV);
- const SCEV *PHISCEV = getAddRecExpr(StartVal, Accum, L, Flags);
+ const SCEV *PHISCEV;
+ if (zext && trunc) {
+ // We have an induction variable 'iv' of the form:
+ // iv=add(zext(trunc(iv)), Accum)
+ // The basic strategy is to t...
2017 Apr 14
2
Separate LoopVectorize LLVM pass
Hello.
I am trying to create my own LoopVectorize.cpp pass as a separate pass from the LLVM
trunk, as described in http://llvm.org/docs/CMake.html#embedding-llvm-in-your-project. Did
anybody try something like this?
I added close to the end of the .cpp file:
/* this line seems to be required - it allows to run this pass
as an embedded pass by giving opt -my-loop-vectorize
2018 May 10
2
LLVM SCEV isAddRecNeverPoison and strength reduction
+CC llvm-dev
On Tue, May 8, 2018 at 2:34 AM, Gal Zohar <Gal.Zohar at ceva-dsp.com> wrote:
> I noticed that SCEV, when trying to perform strength reduction, doesn’t use
> the ability to prove an induction variable does not signed/unsigned wrap due
> to infinite loops.
>
> Is there an easy way to use the isAddRecNeverPoison function when
> determining if strength reduction