search for: accessfunction

Displaying 14 results from an estimated 14 matches for "accessfunction".

2011 Nov 19
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...functions for arrays"), > + cl::Hidden, cl::init(false)); > + > //===----------------------------------------------------------------------===// > // Statistics. > > @@ -236,7 +241,9 @@ > BasePointer = dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFunction)); > > if (!BasePointer) > + { > INVALID(AffFunc, "No base pointer"); > + } This change is unneeded and unrelated. > > BaseValue = BasePointer->getValue(); > > @@ -245,8 +252,9 @@ > > AccessFunction = SE->getMinusSCEV(AccessFunct...
2011 Nov 18
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...at you realized I added MayWrite exactly for this >> case. >> >>>>> +         Functions.push_back(std::make_pair(IRAccess(Type, >>>>> + >>>>>  BasePointer->getValue(), >>>>> +                                                  AccessFunction, Size, >>>>> false), >>>>> +&Inst)); >>>>> +      } >>>>> +    } >>>>>    } >>>>> >>>>>    if (Functions.empty()) >>> >>> Yeah, there are quite a few stylistic problems act...
2011 Nov 20
2
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...          cl::Hidden, cl::init(false)); >> + >> >>  //===----------------------------------------------------------------------===// >>  // Statistics. >> >> @@ -236,7 +241,9 @@ >>    BasePointer = >> dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFunction)); >> >>    if (!BasePointer) >> +  { >>      INVALID(AffFunc, "No base pointer"); >> +  } > > This change is unneeded and unrelated. > >> >>    BaseValue = BasePointer->getValue(); >> >> @@ -245,8 +252,9 @@ >> >&g...
2011 Nov 14
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...> bool ScopDetection::isValidMemoryAccess(Instruction&Inst, > DetectionContext&Context) const { > Value *Ptr = getPointerOperand(Inst); > @@ -236,8 +254,12 @@ > BasePointer = dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFunction)); > > if (!BasePointer) > - INVALID(AffFunc, "No base pointer"); > - > + { > +// INVALID(AffFunc, "No base pointer"); > + BaseValue = (Value*) GetBaseValue(AccessFunction); > + } > + else > + { > BaseValue = BasePointer->...
2011 Nov 14
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...ion::isValidMemoryAccess(Instruction&Inst, >>                                          DetectionContext&Context) const { >>    Value *Ptr = getPointerOperand(Inst); >> @@ -236,8 +254,12 @@ >>    BasePointer = >> dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFunction)); >> >>    if (!BasePointer) >> -    INVALID(AffFunc, "No base pointer"); >> - >> +  { >> +//    INVALID(AffFunc, "No base pointer"); >> +    BaseValue = (Value*) GetBaseValue(AccessFunction); >> +  } >> +  else >> +  ...
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
2011 Nov 21
0
[LLVMdev] How to get ELF section virtual starting address from MCSymbolRefExpr?
...? ? ? ? ? cl::Hidden, cl::init(false)); >> + >> >> ?//===----------------------------------------------------------------------===// >> ?// Statistics. >> >> @@ -236,7 +241,9 @@ >> ? ?BasePointer = >> dyn_cast<SCEVUnknown>(SE->getPointerBase(AccessFunction)); >> >> ? ?if (!BasePointer) >> + ?{ >> ? ? ?INVALID(AffFunc, "No base pointer"); >> + ?} > > This change is unneeded and unrelated. > >> >> ? ?BaseValue = BasePointer->getValue(); >> >> @@ -245,8 +252,9 @@ >> >&g...
2018 Sep 19
2
Regarding Dependence distance dump
On Wed, Sep 19, 2018 at 4:58 AM Venkataramanan Kumar < venkataramanan.kumar.llvm at gmail.com> wrote: > Hi, > > I tired to see when this behavior changed in LLVM. > It seems to start from. > --snip-- > commit 95e5d37d5868ebde2302bc302c1e0af407c5646d > Author: Sebastian Pop <sebpop at gmail.com> > Date: Tue Mar 6 21:55:59 2018 +0000 > > DA: remove
2013 Jul 16
1
[LLVMdev] Analysis of polly-detect overhead in oggenc
...de. For example, for oggen*8.ll, the compile time is reduced from 40.5261 ( 51.2%) to 5.8813s (15.9%) with this patch file. On top of your patch, I have removed from ScopDetection.cpp all printing of LLVM values, like this: - INVALID(AffFunc, "Non affine access function: " << *AccessFunction); + INVALID(AffFunc, "Non affine access function: "); there are a good dozen or so of these pretty printing. With these changes the compile time spent in ScopDetection drops dramatically to almost 0: here is the longest running one in the compilation of an Android stack: 2.1900 (...
2011 Nov 14
2
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...I'll get it fixed. Wonderful. Very cool that you realized I added MayWrite exactly for this case. >>> + Functions.push_back(std::make_pair(IRAccess(Type, >>> + >>> BasePointer->getValue(), >>> + AccessFunction, Size, >>> false), >>> +&Inst)); >>> + } >>> + } >>> } >>> >>> if (Functions.empty()) > > Yeah, there are quite a few stylistic problems actually, my bad!! I'll > get all the style problems fixed as fast...
2011 Nov 15
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...Wonderful. Very cool that you realized I added MayWrite exactly for this > case. > >>>> +         Functions.push_back(std::make_pair(IRAccess(Type, >>>> + >>>>  BasePointer->getValue(), >>>> +                                                  AccessFunction, Size, >>>> false), >>>> +&Inst)); >>>> +      } >>>> +    } >>>>    } >>>> >>>>    if (Functions.empty()) >> >> Yeah, there are quite a few stylistic problems actually, my bad!! I'll >> ge...
2011 Nov 18
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...MayWrite exactly for this >>> case. >>> >>>>>> +         Functions.push_back(std::make_pair(IRAccess(Type, >>>>>> + >>>>>>  BasePointer->getValue(), >>>>>> +                                                  AccessFunction, Size, >>>>>> false), >>>>>> +&Inst)); >>>>>> +      } >>>>>> +    } >>>>>>    } >>>>>> >>>>>>    if (Functions.empty()) >>>> >>>> Yeah, there ar...
2013 Jul 14
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
I have found that the extremely expensive compile-time overhead comes from the string buffer operation for "INVALID" MACRO in the polly-detect pass. Attached is a hack patch file that simply remove the string buffer operation. This patch file can significantly reduce compile-time overhead when compiling big source code. For example, for oggen*8.ll, the compile time is reduced from
2013 Jul 14
5
[LLVMdev] Analysis of polly-detect overhead in oggenc
At 2013-07-14 13:20:42,"Tobias Grosser" <tobias at grosser.es> wrote: >On 07/13/2013 09:18 PM, Star Tan wrote: >> >> >> At 2013-07-14 02:30:07,"Tobias Grosser" <tobias at grosser.es> wrote: >>> On 07/13/2013 10:13 AM, Star Tan wrote: >>>> Hi Tobias, >>> >>> Hi Star, >[...] >>> Before we write a