Displaying 13 results from an estimated 13 matches for "i_3".
Did you mean:
i3
2014 Sep 30
2
[LLVMdev] Behaviour of NVPTX intrinsic
...have written test.ll as below and ran 'opt' on it as
" opt -std-compile-opts test.ll -S -o -" . But the output shows that there
is code motion around the barrier intrinsics.
test.ll
-------
; ModuleID = 'test.bc'
define void @test(i16* %I_0, i16* %I_1, i16* %I_2, i16* %I_3, i16* %O_0) {
entry:
%T_0 = load volatile i16* %I_0
%T_1 = load volatile i16* %I_1
%T_2 = load volatile i16* %I_2
%T_3 = load volatile i16* %I_3
call void @llvm.nvvm.barrier0()
%T_5 = add i16 %T_1, %T_3
call void @llvm.nvvm.barrier0()
%T_7 = mul i16 %T_0, %T_2
%T_8 = xor i16 %T_2,...
2014 Sep 30
2
[LLVMdev] Behaviour of NVPTX intrinsic
is there any guarantee that the nvptx intrinsic "llvm.nvvm.barrier0" will
not be moved around by opt ?
In other words, can I expect all the instructions above
"llvm.nvvm.barrier0" to remain above it and those below it to remain below,
after all the opt passes are run ?
If that is not the case, is there a way to define such an intrinsic ?
Thanks.
-------------- next part
2014 Aug 21
2
[LLVMdev] Alias Analysis Semantics
...+1];
> >> }
> >
>
> This is not what it looks like in LLVM.
>
> In LLVM, it looks like this:
>
> std::vector<int> A(100);
>> int* x,y;
>>
>
>>
> x_1=GEP A, 0, 0
>>
> for(int i=0; i<100; i++) {
>>
> i_2 = phi (0, i_3)
> x_2 = phi(x_1, x_3)
> y_1 = GEP A, 0, i_2
> temp = load x_2
> store y_1, temp
> temp2 = add i_2, 1
> x_3 = GEP A, 0, temp2
> i_3 = add i_2, 1
> }
>
> As you can see, every time you redefine the value of the pointer x to a
> new value,...
2014 Aug 14
2
[LLVMdev] Alias Analysis Semantics
On Thu, Aug 14, 2014 at 6:37 AM, Daniel Berlin <dberlin at dberlin.org> wrote:
> On Wed, Aug 13, 2014 at 8:35 PM, Jeremy Salwen <jeremysalwen at gmail.com> wrote:
>> Hey Daniel,
>>
>> Thanks again for the help. I'm still a bit confused about the interface to
>> the alias analysis. It seems like we are talking about different
>> interfaces.
>
2014 Aug 21
2
[LLVMdev] Alias Analysis Semantics
...gt; >
> >
> >
> > std::vector<int> A(100);
> >
> > int* x,y;
> >
> >
> >
> >
> >
> >
> >
> >
> > x_1=GEP A, 0, 0
> >
> >
> >
> > for(int i=0; i<100; i++) {
> > i_2 = phi (0, i_3)
> > x_2 = phi(x_1, x_3)
> > y_1 = GEP A, 0, i_2
> > temp = load x_2
> > store y_1, temp
> > temp2 = add i_2, 1
> > x_3 = GEP A, 0, temp2
> > i_3 = add i_2, 1
> > }
> >
> >
> > As you can see, every time you redefine the value of the...
2011 Apr 20
4
[LLVMdev] GEP vs IntToPtr/PtrToInt
...ue the 'p' forms?
If those p_j are ptrtoint to a i_j, and the computation for i is i =
i_0 + i_1 + ... i_n, does it mean
we can take either p_j as a base pointer, and other int variables
its offset, say we take p_2 as the base pointer, and the p from i
points to
p_2 + (i_0 + i_1 + i_3 + .. i_n)
?
So in the transformation example, the result is different when we take
%196 or %193 as a base pointer.
For alias-analysis, we may say the p can point to a memory any of the
p_j points to. But if we consider memory safety, should we say p is
safe to access if p is not out-of-bound no...
2011 Apr 20
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
...gt; If those p_j are ptrtoint to a i_j, and the computation for i is i =
> i_0 + i_1 + ... i_n, does it mean
> we can take either p_j as a base pointer, and other int variables
> its offset, say we take p_2 as the base pointer, and the p from i
> points to
> p_2 + (i_0 + i_1 + i_3 + .. i_n)
> ?
>
> So in the transformation example, the result is different when we take
> %196 or %193 as a base pointer.
>
> For alias-analysis, we may say the p can point to a memory any of the
> p_j points to. But if we consider memory safety, should we say p is
> safe...
2011 Apr 20
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
...If those p_j are ptrtoint to a i_j, and the computation for i is i =
> i_0 + i_1 + ... i_n, does it mean
> we can take either p_j as a base pointer, and other int variables
> its offset, say we take p_2 as the base pointer, and the p from i
> points to
> p_2 + (i_0 + i_1 + i_3 + .. i_n)
> ?
So, in your example, if you do:
i1 = ptrtoint p1;
i2 = ptrtoint p2;
...
in = ptrtoint pn;
i = i1 + i2 ... + in;
p = inttoptr i;
..., then p can point to any memory object p1, p2, ... pn. The
reasoning is that the integer add instruction obscures which integer is
the base...
2011 Apr 20
2
[LLVMdev] GEP vs IntToPtr/PtrToInt
...ptrtoint to a i_j, and the computation for i is i =
>> i_0 + i_1 + ... i_n, does it mean
>> we can take either p_j as a base pointer, and other int variables
>> its offset, say we take p_2 as the base pointer, and the p from i
>> points to
>> p_2 + (i_0 + i_1 + i_3 + .. i_n)
>> ?
>>
>> So in the transformation example, the result is different when we take
>> %196 or %193 as a base pointer.
>>
>> For alias-analysis, we may say the p can point to a memory any of the
>> p_j points to. But if we consider memory safety, s...
2011 Apr 20
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
...and the computation for i is i =
>>> i_0 + i_1 + ... i_n, does it mean
>>> we can take either p_j as a base pointer, and other int variables
>>> its offset, say we take p_2 as the base pointer, and the p from i
>>> points to
>>> p_2 + (i_0 + i_1 + i_3 + .. i_n)
>>> ?
>>>
>>> So in the transformation example, the result is different when we take
>>> %196 or %193 as a base pointer.
>>>
>>> For alias-analysis, we may say the p can point to a memory any of the
>>> p_j points to. But if...
2011 Apr 05
0
[LLVMdev] GEP vs IntToPtr/PtrToInt
On Mon, Apr 4, 2011 at 7:10 AM, John Criswell <criswell at illinois.edu> wrote:
> On 4/4/2011 6:45 PM, Eli Friedman wrote:
>>
>> On Mon, Apr 4, 2011 at 5:02 PM, Arushi Aggarwal<arushi987 at gmail.com>
>> wrote:
>>>
>>>> Hi,
>>>> Is it correct to convert,
>>>> %196 = load i32* %195, align 8
2011 Apr 20
1
[LLVMdev] GEP vs IntToPtr/PtrToInt
...for i is i =
>>>> i_0 + i_1 + ... i_n, does it mean
>>>> we can take either p_j as a base pointer, and other int variables
>>>> its offset, say we take p_2 as the base pointer, and the p from i
>>>> points to
>>>> p_2 + (i_0 + i_1 + i_3 + .. i_n)
>>>> ?
>>>>
>>>> So in the transformation example, the result is different when we take
>>>> %196 or %193 as a base pointer.
>>>>
>>>> For alias-analysis, we may say the p can point to a memory any of the
>>>...
2011 Apr 04
2
[LLVMdev] GEP vs IntToPtr/PtrToInt
On 4/4/2011 6:45 PM, Eli Friedman wrote:
> On Mon, Apr 4, 2011 at 5:02 PM, Arushi Aggarwal<arushi987 at gmail.com> wrote:
>>
>>> Hi,
>>> Is it correct to convert,
>>> %196 = load i32* %195, align 8 ;<i32> [#uses=1]
>>> %197 = zext i32 %196 to i64 ;<i64> [#uses=1]
>>> %198 =