Displaying 20 results from an estimated 20 matches for "venkataramanan".
2020 Sep 01
3
Vectorization of math function failed?
Hi,
> On Sep 1, 2020, at 10:26, Venkataramanan Kumar via llvm-dev <llvm-dev at lists.llvm.org> wrote:
>
> Hi Alexandre,
>
> On Tue, 1 Sep, 2020, 2:21 pm Alexandre Bique, <bique.alexandre at gmail.com <mailto:bique.alexandre at gmail.com>> wrote:
> On Tue, Sep 1, 2020 at 9:07 AM Venkataramanan Kumar
> <ve...
2020 Sep 15
2
Vectorization of math function failed?
Hi Venkat.,
Did you make progress with libmvec?
Is there a chance that it lands into clang 11?
Regards,
Alexandre Bique
On Tue, Sep 1, 2020 at 11:50 AM Venkataramanan Kumar
<venkataramanan.kumar.llvm at gmail.com> wrote:
>
> Hi Florian,
>
> On Tue, 1 Sep, 2020, 3:11 pm Florian Hahn, <florian_hahn at apple.com> wrote:
>>
>> Hi,
>>
>> On Sep 1, 2020, at 10:26, Venkataramanan Kumar via llvm-dev <llvm-dev at lists.l...
2020 Sep 01
2
Vectorization of math function failed?
On Tue, Sep 1, 2020 at 9:07 AM Venkataramanan Kumar
<venkataramanan.kumar.llvm at gmail.com> wrote:
> Hi Alexandre,
Hi Venkataramanan,
> I am not sure if we can generate vector calls to GlibC libmvec.
Is the support for libmvec on the roadmap? If not how to add it?
> ./clang --autocomplete=-fveclib=
This is amazing, thank y...
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...
2019 Nov 15
2
TBAA question
What are you querying the alias analysis on in the above example - between
the load and store?
How are you creating your MemoryLocation for those too?
On Fri, Nov 15, 2019 at 6:03 AM Venkataramanan Kumar via llvm-dev <
llvm-dev at lists.llvm.org> wrote:
> Can someone please clarify me on this?
>
>
>
> On Wed, 13 Nov 2019 at 22:25, Venkataramanan Kumar <
> venkataramanan.kumar.llvm at gmail.com> wrote:
>
>> Hi,
>>
>> I have the following LLV...
2018 Sep 18
2
Regarding Dependence distance dump
Hi,
For the below test case, I need the dependence distance between the array
references "a[j][i]" and "a[j-1][i-2]".
--Snip--
int a[5][5];
int b[10];
void test()
{
for (int j=1;j<5;j++)
for (int i=2;i<5;i++)
{
a[j][i] = 3.0;
b[i]= a[j-1][i-2] ;
}
}
--Snip-
2019 Nov 13
2
TBAA question
Hi,
I have the following LLVM IR.
----Snip---
%1 = getelementptr inbounds %struct._X, %struct._X* %0, i64 0, i32 3
%2 = load %struct._X*, %struct._X** %1, align 8, !tbaa !10
....
.....
.......
%3 = bitcast %struct._Y** %1 to i8**
store i8* null, i8** %3, align 8, !tbaa !9
!9 = !{!7, !7, i64 0}
!7 = !{!"omnipotent char", !8, i64 0}
!8 = !{!"Simple C/C++ TBAA"}
----Snip----
2019 Nov 28
2
Question on TBAA and optimization
TBAA Question.
Please consider the following test case.
---Snip--
struct B {
int b1;
int b2;
};
struct C {
int b1;
};
struct A {
int a1;
struct C SC;
int a2;
};
int foo1(struct A * Aptr, struct B* Bptr)
{
int *a = &Aptr->SC.b1;
*a=10;
Bptr->b1 = 11;
return *a;
}
int foo2(struct A * Aptr, struct B* Bptr)
{
Aptr->SC.b1=10;
Bptr->b1 = 11;
return
2019 Jul 08
4
Question on Aliasing and invariant load hoisting
Hi,
I have the below test case.
--snip--
struct st {
int a;
int b;
};
int * ptr;
int x,y;
void bar(int *x);
void foo() {
struct st obj;
bar(&obj.b);
if(x)
obj.a =x;
else
obj.a =y;
for (int i=0; i<obj.a;i++)
ptr[i]=i;
}
--snip--
LLVM IR produced at -O3 is shown below.
ref: https://godbolt.org/z/WPlmfr
--Snip--
%8 = getelementptr inbounds %struct.st,
2019 Apr 04
3
EuroLLVM Numerics info
Hi Micheal,
Thanks for the blog post. Just like to point out few things that I thought
is related to FP Numerics.
LLVM could do some additional transformation with "sqrt" and "division"
under fast math on X86 like 1/sqrt(x)* 1/sqrt(x) to 1/x. These are long
latency instructions and could get benefit if enabled under unsafe math.
Also are we considering doing such FP
2020 Sep 01
2
Vectorization of math function failed?
I've tried to do:
clang++ -O3 -march=native -mtune=native \
-Rpass=loop-vectorize,slp-vectorize
-Rpass-missed=loop-vectorize,slp-vectorize
-Rpass-analysis=loop-vectorize,slp-vectorize \
-ffast-math -ffp-model=fast -ffp-exception-behavior=ignore -ffp-contract=fast \
-c -o vec.o vec.cc
But I've got no feedback.
--
Alexandre Bique
2018 Jul 02
8
[RFC][VECLIB] how should we legalize VECLIB calls?
...hat question needs to be answered by someone else.
>
>
>
> Adding Michael and Hal.
>
>
>
>
>
> *From:*Sanjay Patel [mailto:spatel at rotateright.com]
> *Sent:* Monday, July 02, 2018 11:49 AM
> *To:* Saito, Hideki <hideki.saito at intel.com>
> *Cc:* Venkataramanan Kumar <venkataramanan.kumar.llvm at gmail.com>;
> llvm-dev at lists.llvm.org; Masten, Matt <matt.masten at intel.com>;
> dccitaliano at gmail.com
> *Subject:* Re: [llvm-dev] [RFC][VECLIB] how should we legalize VECLIB
> calls?
>
>
>
> It may not be a full solut...
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
...at *a, int i);
>
>
>
> …
>
>
>
> #pragma omp simd
>
> for(i) { // this loop could be vectorized with VF that’s
> wider than widest available vector function for foo().
> …
> foo(a, i)
> …
>
> }
>
>
>
> *From:* Venkataramanan Kumar [mailto:venkataramanan.kumar.llvm at gmail.com]
> *Sent:* Sunday, July 01, 2018 11:38 PM
> *To:* Sanjay Patel <spatel at rotateright.com>
> *Cc:* Saito, Hideki <hideki.saito at intel.com>; llvm-dev at lists.llvm.org;
> Masten, Matt <matt.masten at intel.com>; dcc...
2018 May 30
0
Help on finding Base GEP
You can run SCEV which will see through bitcasts and GEPs, so it should
give an expression of the form (base + offset) on the pointer of the load.
Cheers
siddharth
On Wed 30 May, 2018, 16:30 Venkataramanan Kumar via llvm-dev, <
llvm-dev at lists.llvm.org> wrote:
> Hi,
>
> Below is the snippet of LLVM IR code generated by Flang
>
> ---snip--
> %3 = getelementptr i64, i64* %"a$sd", i64 11, !dbg !16
> %4 = bitcast i64* %3 to i32*, !dbg !16
> %5 = load i32,...
2018 May 30
2
Help on finding Base GEP
Hi,
Below is the snippet of LLVM IR code generated by Flang
---snip--
%3 = getelementptr i64, i64* %"a$sd", i64 11, !dbg !16
%4 = bitcast i64* %3 to i32*, !dbg !16
%5 = load i32, i32* %4, align 4, !dbg !16, !tbaa !22
---snip--
My requirement is for any such LoadInst (example: %5), I want to check if
its base GEP (i.e. %3) loads at particular offset (11) from its
corresponding
2018 May 30
1
Help on finding Base GEP
...ion to subtract the expression for
the base descriptor from the expression for the loaded pointer and see
if the result is a SCEVConstant.
Also, you might find GetPointerBaseWithConstantOffset (in
ValueTracking.h) useful.
-Hal
>
> Cheers
> siddharth
>
> On Wed 30 May, 2018, 16:30 Venkataramanan Kumar via llvm-dev,
> <llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
>
> Hi,
>
> Below is the snippet of LLVM IR code generated by Flang
>
> ---snip--
> %3 = getelementptr i64, i64* %"a$sd", i64 11, !dbg !1...
2020 Jun 19
2
Aliasing and forwarding optimization
----Snip--
struct st1{
int a;
};
struct st2{
int b;
};
struct st {
struct st1 obj1;
struct st2 obj2;
}Obj;
int test1(struct st1 * ptr1 , struct st2 * ptr2, struct st2 *ptr3) {
ptr1->a = 10;
*ptr3 = *ptr2;
return ptr1->a;
}
--Snip---
For the above case GCC is able to store forward the value 10 to the return
place.
LLVM is not doing this.
GCC
https://godbolt.org/z/FCjCXy
LLVM
2018 Apr 25
0
Help on understanding assume shape array processing and array descriptors in LLVM IR
Hello,
I believe these descriptors are specific to flang, not to LLVM. You should probably ask your question on flang-dev list.
Thank you,
--Eugene
From: llvm-dev [mailto:llvm-dev-bounces at lists.llvm.org] On Behalf Of Venkataramanan Kumar via llvm-dev
Sent: Wednesday, April 25, 2018 8:44 AM
To: llvm-dev at lists.llvm.org
Subject: [llvm-dev] Help on understanding assume shape array processing and array descriptors in LLVM IR
Hi,
I am trying to understand how assume shaped arrays are received and
processed in LLVM IR. I am us...
2018 Apr 25
2
Help on understanding assume shape array processing and array descriptors in LLVM IR
Hi,
I am trying to understand how assume shaped arrays are received and
processed in LLVM IR. I am using "flang" for my front end.
There seems to be an array descriptor received as implicit argument
for every assume shaped array.
For my test routine:
---snip--
SUBROUTINE test(a,b,Li,Lj,Istr,Iend,Jstr,Jend)
INTEGER, INTENT(IN) :: Li,Lj
INTEGER, INTENT(IN) :: Istr, Iend,
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
Adding to Ashutosh's comments, We are also interested in making LLVM
generate vector math library calls that are available with glibc (version >
2.22).
reference: https://sourceware.org/glibc/wiki/libmvec
Using the example case given in the reference, we found there are 2 vector
versions for "sin" (4 X double) with same VF namely _ZGVcN4v_sin (avx)
version and _ZGVdN4v_sin