search for: readaccess

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

Did you mean: badaccess
2013 Jul 29
0
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
On 07/29/2013 09:15 AM, Sven Verdoolaege wrote: > On Mon, Jul 29, 2013 at 07:37:14AM -0700, Tobias Grosser wrote: >> On 07/29/2013 03:18 AM, Sven Verdoolaege wrote: >>> On Sun, Jul 28, 2013 at 04:42:25PM -0700, Tobias Grosser wrote: >>>> Sven: In terms of making the behaviour of isl easier to understand, >>>> it may make sense to fail/assert in case
2013 Jul 31
1
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
...d2.preheader> p1: {2,+,128}<%for.cond2.preheader> p2: {4,+,128}<%for.cond2.preheader> Statements { Stmt_for_body6 Domain := [p_0, p_1, p_2] -> { Stmt_for_body6[i0] : i0 >= 0 and i0 <= 7 }; Scattering := [p_0, p_1, p_2] -> { Stmt_for_body6[i0] -> scattering[0, i0, 0] }; ReadAccess := [p_0, p_1, p_2] -> { Stmt_for_body6[i0] -> MemRef_input[o0] : 2o0 = p_0 + 16i0 }; ReadAccess := [p_0, p_1, p_2] -> { Stmt_for_body6[i0] -> MemRef_input[o0] : 2o0 = p_1 + 16i0 }; MustWriteAccess := [p_0, p_1, p_2] -> { Stmt_for_body6[i0] -> MemRef_input[o0] : 2o0 = p_0 + 16i0 };...
2013 Aug 16
0
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
On 08/16/2013 02:42 AM, Star Tan wrote: > At 2013-08-16 12:44:02,"Tobias Grosser" <tobias at grosser.es> wrote: >> Hi, >> >> I tried to reproduce your findings, but could not do so. > > > Sorry, I did not put all code in my previous email because the code seems a little too long and complicated. > You can refer to the detailed C code and LLVM IR
2013 Aug 08
2
[LLVMdev] [Polly] Summary of some expensive compiler passes, especially PollyDependence
...))) for (i = 20;i > 0;i -= 2) { x[ 4] ^= R(x[ 0]+x[12], 7); x[ 8] ^= R(x[ 4]+x[ 0], 9); x[12] ^= R(x[ 8]+x[ 4],13); x[ 0] ^= R(x[12]+x[ 8],18); .... x[14] ^= R(x[13]+x[12],13); x[15] ^= R(x[14]+x[13],18); } which would be translated into a serial of affine functions: ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[12] }; ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[4] }; MustWriteAccess := { Stmt_for_body5[i0] -> MemRef_x[4] }; ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[0] }; ... Consequently, the PollyDependence pass w...
2013 Aug 17
2
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
...d and i4 >= 0 and i4 <= -1 + cond.reload and i5 >= 0 and i5 <= -1 + cond.reload and cond.reload >= 1 }; Scattering := [cond.reload] -> { Stmt_for_body16[i0, i1, i2, i3, i4, i5] -> scattering[0, i0, 0, i1, 0, i2, 0, i3, 0, i4, 0, i5, 0] }; ReadAccess := [cond.reload] -> { Stmt_for_body16[i0, i1, i2, i3, i4, i5] -> MemRef_X[0] }; MustWriteAccess := [cond.reload] -> { Stmt_for_body16[i0, i1, i2, i3, i4, i5] -> MemRef_X[0] }; } Similarly, the scops result for "X[0]=0" would...
2013 Aug 08
0
[LLVMdev] [Polly] Summary of some expensive compiler passes, especially PollyDependence
...x[ 4] ^= R(x[ 0]+x[12], 7); x[ 8] ^= R(x[ 4]+x[ 0], 9); > x[12] ^= R(x[ 8]+x[ 4],13); x[ 0] ^= R(x[12]+x[ 8],18); > .... > x[14] ^= R(x[13]+x[12],13); x[15] ^= R(x[14]+x[13],18); > } > which would be translated into a serial of affine functions: > ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[12] }; > ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[4] }; > MustWriteAccess := { Stmt_for_body5[i0] -> MemRef_x[4] }; > ReadAccess := { Stmt_for_body5[i0] -> MemRef_x[0] }; > ... > Consequentl...
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
2013 Aug 16
2
[LLVMdev] [Polly] Analysis of extra compile-time overhead for simple nested loops
At 2013-08-16 12:44:02,"Tobias Grosser" <tobias at grosser.es> wrote: >Hi, > >I tried to reproduce your findings, but could not do so. Sorry, I did not put all code in my previous email because the code seems a little too long and complicated. You can refer to the detailed C code and LLVM IR code on http://llvm.org/bugs/show_bug.cgi?id=16843 There are four attachments
2013 Jan 02
0
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
...cloned_ Domain := { Stmt__12_cloned_[i0, i1, i2] : i0 >= 0 and i0 <= 63 and i1 >= 0 and i1 <= 63 and i2 >= 0 and i2 <= 63 }; Scattering := { Stmt__12_cloned_[i0, i1, i2] -> scattering[0, i0, 0, i1, 0, i2, 0] }; ReadAccess := { Stmt__12_cloned_[i0, i1, i2] -> NULL[o0] : o0 >= 47246749696 + 16384i0 + 256i1 + 4i2 and o0 <= 47246749699 + 16384i0 + 256i1 + 4i2 }; ReadAccess := { Stmt__12_cloned_[i0, i1, i2] -> NULL[o0] : o0 >= 47247802368 + 16384i0 + 256i1 + 4i2...
2013 Jan 02
2
[LLVMdev] [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?
On 01/01/2013 02:45 PM, Duncan Sands wrote: > Hi Dmitry, > >> >> In our compiler we use a modified version LLVM Polly, which is very >> sensitive to >> proper code generation. Among the number of limitations, the loop region >> (enclosed by phi node on induction variable and branch) is required to >> be free >> of additional memory-dependent
2013 Jul 28
0
[LLVMdev] [Polly] Analysis of the expensive compile-time overhead of Polly Dependence pass
...;%for.cond2.preheader> > Statements { > Stmt_for_body6 > Domain := > { Stmt_for_body6[i0] : i0 >= 0 and i0 <= 7 }; > Scattering := > { Stmt_for_body6[i0] -> scattering[0, i0, 0] }; > ReadAccess := > [p_0] -> { Stmt_for_body6[i0] -> MemRef_input[o0] : 2o0 = p_0 + 16i0 }; > ReadAccess := > [p_0] -> { Stmt_for_body6[i0] -> MemRef_input[o0] : 2o0 = 2 + p_0 + 16i0 }; > MustWriteAccess := > [...
2013 Aug 09
2
[LLVMdev] [Polly] Summary of some expensive compiler passes, especially PollyDependence
...[12], 7);  x[ 8] ^= R(x[ 4]+x[ 0], 9); >>      x[12] ^= R(x[ 8]+x[ 4],13);  x[ 0] ^= R(x[12]+x[ 8],18); >>      .... >>      x[14] ^= R(x[13]+x[12],13);  x[15] ^= R(x[14]+x[13],18); >>    } >> which would be translated into a serial of affine functions: >>        ReadAccess :=    { Stmt_for_body5[i0] -> MemRef_x[12] }; >>        ReadAccess :=    { Stmt_for_body5[i0] -> MemRef_x[4] }; >>        MustWriteAccess :=    { Stmt_for_body5[i0] -> MemRef_x[4] }; >>        ReadAccess :=    { Stmt_for_body5[i0] -> MemRef_x[0] }; >>        ......
2013 Jan 04
4
[LLVMdev] [Polly] Aliasing problems escalation (WAS: Re: [DragonEgg] [Polly] Should we expect DragonEgg to produce identical LLVM IR for identical GIMPLE?)
...> { Stmt__12_cloned_[i0, i1, i2] : i0 >= 0 and i0 <= 63 and > i1 >= 0 and i1 <= 63 and i2 >= 0 and i2 <= 63 }; > Scattering := > { Stmt__12_cloned_[i0, i1, i2] -> scattering[0, i0, 0, i1, > 0, i2, 0] }; > ReadAccess := > { Stmt__12_cloned_[i0, i1, i2] -> NULL[o0] : o0 >= > 47246749696 + 16384i0 + 256i1 + 4i2 and o0 <= 47246749699 + 16384i0 + 256i1 > + 4i2 }; > ReadAccess := > { Stmt__12_cloned_[i0, i1, i2] -> NULL[o0] : o0 >= > 472478...
2015 Sep 23
4
Find loops in LLVM bytecode
Hi, I want to find simple loops in LLVM bytecode, and extract the basic information of the loop. For example: for (i=0; i<1000; i++) sum += i; I want to extract the bound [0, 1000), the loop variable "i" and the loop body (sum += i). What should I do? I read the LLVM API document, and find some useful classes like "Loop", "LoopInfo". But I do