Displaying 16 results from an estimated 16 matches for "afffunc".
2013 Jul 21
2
[LLVMdev] Analysis of polly-detect overhead in oggenc
...INVALID(CFG, "Non branch instruction terminates BB: " + BB.getName());
> would be converted into:
> LastFailure = "Non branch instruction terminates BB: " + BB.getName().str();
>
>
> Second, it simplifies some complex operations like:
> INVALID(AffFunc,
> "Non affine branch in BB '" << BB.getName() << "' with LHS: "
> << *LHS << " and RHS: " << *RHS);
> into:
> LastFailure = "Non affine branch in BB...
2013 Jul 22
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
...Non branch instruction terminates BB: " + BB.getName());
>> would be converted into:
>> LastFailure = "Non branch instruction terminates BB: " + BB.getName().str();
>>
>>
>> Second, it simplifies some complex operations like:
>> INVALID(AffFunc,
>> "Non affine branch in BB '" << BB.getName() << "' with LHS: "
>> << *LHS << " and RHS: " << *RHS);
>> into:
>> LastFailure = "Non aff...
2013 Jul 22
2
[LLVMdev] Analysis of polly-detect overhead in oggenc
...minates BB: " + BB.getName());
>>> would be converted into:
>>> LastFailure = "Non branch instruction terminates BB: " + BB.getName().str();
>>>
>>>
>>> Second, it simplifies some complex operations like:
>>> INVALID(AffFunc,
>>> "Non affine branch in BB '" << BB.getName() << "' with LHS: "
>>> << *LHS << " and RHS: " << *RHS);
>>> into:
>>> LastFail...
2013 Jul 16
1
[LLVMdev] Analysis of polly-detect overhead in oggenc
...ly reduce compile-time overhead when compiling big source code. 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
longe...
2011 Nov 14
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...> 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->getValue();
I don't see a need for any change here. Both...
2013 Jul 22
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
...getName());
>>>> would be converted into:
>>>> LastFailure = "Non branch instruction terminates BB: " + BB.getName().str();
>>>>
>>>>
>>>> Second, it simplifies some complex operations like:
>>>> INVALID(AffFunc,
>>>> "Non affine branch in BB '" << BB.getName() << "' with LHS: "
>>>> << *LHS << " and RHS: " << *RHS);
>>>> into:
>>>>...
2011 Nov 19
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...> +
> //===----------------------------------------------------------------------===//
> // 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(AccessFunction, BasePointer);
>
> - if (!isAffineExpr(&Context.CurRegion...
2013 Jul 21
0
[LLVMdev] Analysis of polly-detect overhead in oggenc
.... For example, code like this:
INVALID(CFG, "Non branch instruction terminates BB: " + BB.getName());
would be converted into:
LastFailure = "Non branch instruction terminates BB: " + BB.getName().str();
Second, it simplifies some complex operations like:
INVALID(AffFunc,
"Non affine branch in BB '" << BB.getName() << "' with LHS: "
<< *LHS << " and RHS: " << *RHS);
into:
LastFailure = "Non affine branch in BB: " + BB.getName()...
2011 Nov 14
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
... 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->getValue();
>
> I don...
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
2013 Jul 14
3
[LLVMdev] Analysis of polly-detect overhead in oggenc
On 07/14/2013 08:05 AM, Star Tan wrote:
> 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
2011 Nov 18
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
2011/11/15 Marcello Maggioni <hayarms at gmail.com>:
> 2011/11/14 Tobias Grosser <tobias at grosser.es>:
>> On 11/14/2011 02:45 PM, Marcello Maggioni wrote:
>>>
>>> 2011/11/14 Tobias Grosser<tobias at grosser.es>:
>>>>
>>>> On 11/14/2011 01:24 AM, Marcello Maggioni wrote:
>>>>>
>>>>> Hi Tobias.
2011 Nov 20
2
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...-----------------------------------------------------===//
>> // 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(AccessFunction, BasePointer);
>>
>...
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
2011 Nov 21
0
[LLVMdev] How to get ELF section virtual starting address from MCSymbolRefExpr?
...-----------------------------------------------------===//
>> ?// 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(AccessFunction, BasePointer);
>>
>...