Displaying 20 results from an estimated 2000 matches similar to: "Regarding Dependence distance dump"
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 Mar 6 21:55:59 2018 +0000
>
> DA: remove
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 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
> <venkataramanan.kumar.llvm at gmail.com
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 <
>
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 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
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,
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 you! I think it should be documented in clang
auto
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
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 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
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 May 30
1
Help on finding Base GEP
On 05/30/2018 06:04 AM, Siddharth Bhat via llvm-dev wrote:
> 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.
Specifically, you can use ScalarEvolution to subtract the expression for
the base descriptor from the expression for the loaded pointer and see
if the result is a SCEVConstant.
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
8
[RFC][VECLIB] how should we legalize VECLIB calls?
On 07/02/2018 04:33 PM, Saito, Hideki wrote:
>
>
>
> >It may not be a full solution for the problems you're trying to solve
>
>
>
> If we are inventing a new solution, I’d like it also to solve OpenMP
> declare simd legalization issue. If a small extension of existing scheme
>
> works for mathlib only, I’m happy to take that and discuss OpenMP
>
2018 Jul 02
2
[RFC][VECLIB] how should we legalize VECLIB calls?
It may not be a full solution for the problems you're trying to solve, but
I don't know why adding to include/llvm/CodeGen/RuntimeLibcalls.def is a
problem in itself. Certainly, it's a mess that could be organized,
especially so we're not repeating everything for each data type as we do
right now.
So yes, I think that would allow us to remove the VecLib mappings because
we are
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,
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
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
2011 Dec 15
3
From Distance Matrix to 2D coordinates
Dear All,
I am struggling with the following problem: I am given a NxN symmetric
matrix P ( P[i,i]=0, i=1...N and P[i,j]>0 for i!=j) which stands for the
relative distances of N points.
I would like use it to get the coordinates of the N points in a 2D
plane. Of course, the solution is not unique (given one solution, I can
translate or rotate all the points by the same amount and generate