search for: scevvalue

Displaying 3 results from an estimated 3 matches for "scevvalue".

2011 Nov 14
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...100 > @@ -145,6 +145,8 @@ > /// @return True if the call instruction is valid, false otherwise. > static bool isValidCallInst(CallInst&CI); > > + const Value *GetBaseValue(const SCEV *S) const; Why is this function needed? For me it looks like it implements the same as SCEVValue *Operand = dyn_cast<SCEVValue>(getPointerOperand()) if (!Operand) return invalid Value; return Operand->getValue(); > /// @brief Check if a memory access can be part of a Scop. > /// > /// @param Inst The instruction accessing the memory. > --- ./include/polly...
2011 Nov 14
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...   /// @return True if the call instruction is valid, false otherwise. >>    static bool isValidCallInst(CallInst&CI); >> >> +  const Value *GetBaseValue(const SCEV *S)  const; > > Why is this function needed? For me it looks like it implements > the same as > > SCEVValue *Operand = dyn_cast<SCEVValue>(getPointerOperand()) > > if (!Operand) >  return invalid Value; > > return Operand->getValue(); Mmm, about this I think that depends on the fact that I'm still quite unexperienced on the topic and fail to be "optimal" in doing so...
2011 Nov 02
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Mmm I found out a very strange behavior (to me) of the SCEV analysis of the loop bound of the external loop I posted. When in ScopDetection it gets the SCEV of the external loop bound in the "isValidLoop()" function with: const SCEV *LoopCount = SE->getBackedgeTakenCount(L); It returns a SCEVCouldNotCompute, but if I change the "if" block inside the loop from: if