Displaying 19 results from an estimated 19 matches for "scevaffinator".
2011 Nov 01
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...libLLVM-3.1svn.dylib 0x0000000103fabf79 _ZL13SignalHandleri + 361
2 libsystem_c.dylib 0x00007fff94c8acfa _sigtramp + 26
3 libLLVM-3.1svn.dylib 0x0000000103526810
llvm::SmallVectorTemplateCommon<llvm::SCEV
const*>::operator[](unsigned int) + 128
4 LLVMPolly.dylib 0x0000000106867af8
SCEVAffinator::getLoopDepth(llvm::Loop const*) + 72
5 LLVMPolly.dylib 0x00000001068676c7
SCEVAffinator::visitAddRecExpr(llvm::SCEVAddRecExpr const*) + 247
6 LLVMPolly.dylib 0x000000010686710b
llvm::SCEVVisitor<SCEVAffinator, isl_pw_aff*>::visit(llvm::SCEV
const*) + 283
7 LLVMPolly.dylib 0...
2011 Oct 27
2
[LLVMdev] How to make Polly ignore some non-affine memory accesses
Perfect, thank you very much :)
2011/10/26 Tobias Grosser <tobias at grosser.es>:
> On 10/24/2011 11:32 PM, Marcello Maggioni wrote:
>>
>> Strange , with --enable-shared (I use auto tool by the way ...) it gives:
>>
>> MacBook-Pro-di-Marcello:examples Kariddi$ ./compile_ex.sh
>> not_so_simple_loop
>> clang (LLVM option parsing): Unknown command line
2011 Nov 02
5
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...0103fabf79 _ZL13SignalHandleri + 361
> 2 libsystem_c.dylib 0x00007fff94c8acfa _sigtramp + 26
> 3 libLLVM-3.1svn.dylib 0x0000000103526810
> llvm::SmallVectorTemplateCommon<llvm::SCEV
> const*>::operator[](unsigned int) + 128
> 4 LLVMPolly.dylib 0x0000000106867af8
> SCEVAffinator::getLoopDepth(llvm::Loop const*) + 72
> 5 LLVMPolly.dylib 0x00000001068676c7
> SCEVAffinator::visitAddRecExpr(llvm::SCEVAddRecExpr const*) + 247
> 6 LLVMPolly.dylib 0x000000010686710b
> llvm::SCEVVisitor<SCEVAffinator, isl_pw_aff*>::visit(llvm::SCEV
> const*) + 283...
2011 Nov 19
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...=======================================================
> --- lib/Analysis/ScopInfo.cpp (revision 144978)
> +++ lib/Analysis/ScopInfo.cpp (working copy)
> @@ -311,29 +311,38 @@
> Type = Access.isRead() ? Read : Write;
> statement = Statement;
>
> - isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement, Access.getOffset());
> BaseAddr = Access.getBase();
>
> - setBaseName();
> + if (Access.isAffine()) {
>
> - // Devide the access function by the size of the elements in the array.
> - //
> - // A stride one array access in C expressed as A[i] is...
2012 May 04
0
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
...ze the sub-expressions in
SCEV in form of what you want. To construct the linear expressions,
you need to visit and analyze all sub-expressions in the SCEV, instead
of simply looking at the top-level SCEV. Maybe you could have a look
at the SCEVValidator[1], which check if a SCEV is affine, and and
SCEVAffinator[2], which build a kind of affine expression from SCEV,
all of them need to visit and analyze all sub-expressions in the SCEV.
best regards
ether
[1]http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Support/SCEVValidator.cpp?view=markup
[2]http://llvm.org/viewvc/llvm-project/polly/trunk/lib/Anal...
2011 Nov 14
1
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...- ./lib/Analysis/ScopInfo.cpp 2011-11-13 02:38:06.000000000 +0100
> +++ ../llvm2/tools/polly/./lib/Analysis/ScopInfo.cpp 2011-11-13 02:36:12.000000000 +0100
> @@ -310,9 +310,13 @@
> Type = Access.isRead() ? Read : Write;
> statement = Statement;
>
> - isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement, Access.getOffset());
> BaseAddr = Access.getBase();
>
> + if (Access.isAffine())
> + {
This should be
if (Access.isAffine()) {
> +
> + isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement, Access.getOffset());
> +
> setBaseName();
>
&...
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
...=========================
>> --- lib/Analysis/ScopInfo.cpp (revision 144978)
>> +++ lib/Analysis/ScopInfo.cpp (working copy)
>> @@ -311,29 +311,38 @@
>> Type = Access.isRead() ? Read : Write;
>> statement = Statement;
>>
>> - isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement,
>> Access.getOffset());
>> BaseAddr = Access.getBase();
>>
>> - setBaseName();
>> + if (Access.isAffine()) {
>>
>> - // Devide the access function by the size of the elements in the array.
>> - //
>> - // A stride on...
2012 May 04
3
[LLVMdev] Extending GetElementPointer, or Premature Linearization Considered Harmful
Is there any chance of replacing/extending the GEP instruction?
As noted in the GEP FAQ, GEPs don't support variable-length arrays; when
the front ends have to support VLAs, they linearize the subscript
expressions, throwing away information. The FAQ suggests that folks
interested in writing an analysis that understands array indices (I'm
thinking of dependence analysis) should be
2013 Jul 26
0
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
..., but in this case
I don't think we need to look into them. The above fix should give us
good performance and additionally also increases the precision of the
result (as isl now understands the relation between the different
parameters).
To fix this, you probably would like to look into the SCEVAffinator
class and the way parameters are handled.
Cheers,
Tobias
2011 Nov 14
0
[LLVMdev] How to make Polly ignore some non-affine memory accesses
...-11-13 02:38:06.000000000 +0100
>> +++ ../llvm2/tools/polly/./lib/Analysis/ScopInfo.cpp 2011-11-13
>> 02:36:12.000000000 +0100
>> @@ -310,9 +310,13 @@
>> Type = Access.isRead() ? Read : Write;
>> statement = Statement;
>>
>> - isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement,
>> Access.getOffset());
>> BaseAddr = Access.getBase();
>>
>> + if (Access.isAffine())
>> + {
>
> This should be
>
> if (Access.isAffine()) {
>
>
>> +
>> + isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement,...
2013 Jul 26
0
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
...don't think we need to look into them. The above fix should give us
>good performance and additionally also increases the precision of the
>result (as isl now understands the relation between the different
>parameters).
>
>To fix this, you probably would like to look into the SCEVAffinator
>class and the way parameters are handled.
>
Thank you so much. Maybe I was in the wrong direction at first -:)
Yes, you are right. I should first investigate why Polly introduces three parameters rather than just one parameter.
Best wishes,
Star Tan
-------------- next part --------------...
2013 Jul 26
6
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
Hi Sebastian,
Recently, I found the "Polly - Calculate dependences" pass would lead to significant compile-time overhead when compiling some loop-intensive source code. Tobias told me you found similar problem as follows:
http://llvm.org/bugs/show_bug.cgi?id=14240
My evaluation shows that "Polly - Calculate dependences" pass consumes 96.4% of total compile-time overhead
2011 Nov 21
0
[LLVMdev] How to get ELF section virtual starting address from MCSymbolRefExpr?
...=========================
>> --- lib/Analysis/ScopInfo.cpp ? (revision 144978)
>> +++ lib/Analysis/ScopInfo.cpp ? (working copy)
>> @@ -311,29 +311,38 @@
>> ? ?Type = Access.isRead() ? Read : Write;
>> ? ?statement = Statement;
>>
>> - ?isl_pw_aff *Affine = SCEVAffinator::getPwAff(Statement,
>> Access.getOffset());
>> ? ?BaseAddr = Access.getBase();
>>
>> - ?setBaseName();
>> + ?if (Access.isAffine()) {
>>
>> - ?// Devide the access function by the size of the elements in the array.
>> - ?//
>> - ?// A stride on...
2017 Sep 20
0
[RFC] Polly Status and Integration
...nd on isl as a back-end, they never
directly use it. Instead there is a C++ interface in-between that
encapsulates the features needed. Once our use cases are clear we can
re-implement this interface.
** For comparison, the value analysis covers parts of the ScopDetection,
all of SCEVValidator and SCEVAffinator as well as parts of ScopInfo and
ScopBuilder in Polly.
*** The memory analysis is concerned with the construction and
functionality Polly implements in the MemoryAccess class.
**** The dependence analysis is similar to Polly's DependenceInfo class
but is supposed to allow more fine-grained cont...
2017 Sep 22
2
[RFC] Polly Status and Integration
...never
> directly use it. Instead there is a C++ interface in-between that
> encapsulates the features needed. Once our use cases are clear we can
> re-implement this interface.
>
> ** For comparison, the value analysis covers parts of the ScopDetection,
> all of SCEVValidator and SCEVAffinator as well as parts of ScopInfo and
> ScopBuilder in Polly.
> *** The memory analysis is concerned with the construction and
> functionality Polly implements in the MemoryAccess class.
> **** The dependence analysis is similar to Polly's DependenceInfo class
> but is supposed to all...
2017 Sep 20
0
[RFC] Polly Status and Integration
...as a back-end, they never directly use it. Instead there is a C++ interface in-between that encapsulates the features needed. Once our use cases are clear we can re-implement this interface.
>
> ** For comparison, the value analysis covers parts of the ScopDetection, all of SCEVValidator and SCEVAffinator as well as parts of ScopInfo and ScopBuilder in Polly.
> *** The memory analysis is concerned with the construction and functionality Polly implements in the MemoryAccess class.
> **** The dependence analysis is similar to Polly's DependenceInfo class but is supposed to allow more fine-gr...
2017 Sep 25
0
[RFC] Polly Status and Integration
...use it. Instead there is a C++ interface in-between that
> >encapsulates the features needed. Once our use cases are clear we can
> >re-implement this interface.
> >
> >** For comparison, the value analysis covers parts of the ScopDetection,
> >all of SCEVValidator and SCEVAffinator as well as parts of ScopInfo and
> >ScopBuilder in Polly.
> >*** The memory analysis is concerned with the construction and
> >functionality Polly implements in the MemoryAccess class.
> >**** The dependence analysis is similar to Polly's DependenceInfo class
> >bu...
2017 Sep 01
10
[RFC] Polly Status and Integration
**
*Hi everyone,As you may know, stock LLVM does not provide the kind of
advanced loop transformations necessary to provide good performance on
many applications. LLVM's Polly project provides many of the required
capabilities, including loop transformations such as fission, fusion,
skewing, blocking/tiling, and interchange, all powered by
state-of-the-art dependence analysis. Polly also