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