Displaying 20 results from an estimated 20000 matches similar to: "Alignment parameter attributes"
2020 Jan 14
3
Alignment parameter attributes
"Doerfert, Johannes via llvm-dev" <llvm-dev at lists.llvm.org> writes:
> We could use a custom tag on `llvm.assume`, as an extension of
> https://reviews.llvm.org/D72475, but that is not yet implemented.
I had thought about using llvm.assume but was wondering if there is a
better way. Tagging the loads with metadata really seems about the same
amount of effort. Both
2020 Sep 29
5
restrict func param losing noalias when inlined
Johannes,
Thanks, I have been following along some of the thread(s) and the phab
reviews. The scope of this work is more encompassing than our current needs
and I've looked at trying to carve a piece out.
It's not clear to me what purpose the llvm.noalias intrinsic serves right
now. Also, if a mem instruction has !noalias metadata, then it should not
be aliased, but I must be missing
2014 Sep 24
2
[LLVMdev] noalias and alias.scope metadata producers
Hal, Johannes,
Thanks for the feedback. I have been digging into this a little bit more
and was able to have some of this metadata being generated. Nevertheless, I
am confused about the semantics of this metadata. Let me explain:
I was expecting the alias metadata to complement the information that alias
analysis passes compute. However, it seems that the alias information of
the pointers used
2020 May 21
2
LLVM Alias Analysis Technical Call - Doodle Poll
Great, thanks!
Are you planning on just talking about these things with slides? Do we have other things to which we can link for people to read?
-Hal
Hal Finkel
Lead, Compiler Technology and Programming Languages
Leadership Computing Facility
Argonne National Laboratory
________________________________
From: Tarique Islam <tislam at ca.ibm.com>
Sent: Thursday, May 21, 2020 8:19:31 AM
To:
2020 May 18
4
LLVM Alias Analysis Technical Call - Doodle Poll
To join our call on Thursday, May 28th @ 9-10 AM central time / 2-3 PM UTC please use this information:
Meeting URL
https://bluejeans.com/643493129?src=join_info
Meeting ID
643 493 129
Want to dial in from a phone?
Dial one of the following numbers:
+1.312.216.0325 (US (Chicago))
+1.408.740.7256 (US (San Jose))
+1.866.226.4650 (US Toll Free)
(see all numbers -
2014 Sep 19
3
[LLVMdev] noalias and alias.scope metadata producers
Hi all,
In LLVM language reference I read that one can use noalias and alias.scope
metadata to provide more detailed information about pointer aliasing.
However, I was unable to obtain any LLVM IR annotations using this metadata
from any LLVM optimization pass or Clang frontend (am I missing
something?).
If I understand it correctly, this information would complement the
type-based alias
2020 May 13
2
LLVM Alias Analysis Technical Call - Doodle Poll
Hi, everyone,
We've had a number of discussions recently, including on the Flang technical call, about potential improvements to LLVM's alias analysis to support handling restrict and restrict-like semantics.
We would like to try having a call to discuss these issues further. Please, if you're interested in joining, indicate your availability (prior to the end of this week):
2020 Jul 23
2
How to optimize out the duplicated memory load instructions?
Hi Johannes,
Silly as me. I just figured out how to correctly use 'alias' metadata. I
should define them in IR like below:
!3 = !{!3}
!4 = !{!4}
!5 = !{!5, !3}
!6 = !{!6, !4}
And then use !5 and !6. The below usage is wrong:
!3 = !{!3}
!4 = !{!4}
Then use !3 and !4 in IR.
BR,
Terry
On Fri, Jul 24, 2020 at 12:12 AM Johannes Doerfert <
johannesdoerfert at gmail.com> wrote:
2019 Jun 05
2
Question about a AA result and its use in Dependence Analysis
Oh. So it wasn't just the memory location size that was incorrect on those aliasing checks.
I took a look at the tests and it appears that the alias call also catches some cases of restrict/noalias attributes, along with the tbaa info. My first idea of constructing an alias call with no Ptr's but valid tbaa info won't catch that at least.
I will create a bug report and try and see if
2020 Jun 24
4
LLVM Alias Analysis Technical Call - New Doodle Poll
Hi, everyone,
We had a great call last month, and progress is definitely being made on several fronts. The notes from our last call are available here:
https://docs.google.com/document/d/1ybwEKDVtIbhIhK50qYtwKsL50K-NvB6LfuBsfepBZ9Y/edit#heading=h.vpxs8lkuxy79
and, also, pasted below.
DOODLE POLL:
As we discussed on our last call, I would like to schedule a regular call to discuss
2019 Jun 03
2
Question about a AA result and its use in Dependence Analysis
It seems the same bug is there if we do pointer swapping with selects. Do you agree? (see example below)
define void @f() {
entry:
%a1 = alloca float, align 4
%a2 = alloca float, align 4
br label %loop
end:
ret void
loop:
%phi = phi i32 [ 0, %entry ], [ 1, %loop ]
%select_cond = icmp eq i32 %phi, 0
%ptr1 = select i1 %select_cond, float* %a1, float* %a2
%ptr2 = select i1
2020 Sep 29
2
restrict func param losing noalias when inlined
Given some code:
void func (float * restrict a, float *b) {
for (int i =0; i < 100; ++i) {
a[i] = b[i] + 1;
}
}
float * aa;
float * bb;
int main() {
func(aa, bb);
return 0;
}
produces IR that has the llvm.noalias intrinsic along with the !noalias
metadata:for both the load and store, however, AA returns MayAlias, I would
expect a NoAlias?
This is also an older version of llvm:
2019 Jun 01
2
Question about a AA result and its use in Dependence Analysis
Hi Johannes,
I followed your advice and got the same result: NoAlias and No dependence. Would you say AA is faulty for saying NoAlias or DA is faulty for saying no dependence? Or both?
(revised example below)
Thanks!
define float @f() {
entry:
%g = alloca float, align 4
%h = alloca float, align 4
br label %for.body
for.cond.cleanup: ; preds = %for.body
2019 Jun 03
2
Question about a AA result and its use in Dependence Analysis
Alias analysis is figuring out the relationship between two pointer expressions, at some location in the program. At a given point in the program, do two expressions always refer to the same location? At a given point in the program, do two expressions never refer to the same location?
AliasAnalysis::alias() doesn't explicitly take a "point" in the program because we don't
2019 Nov 12
2
Full restrict support - status update
Hi Johannes et al,
> -----Original Message-----
> From: Doerfert, Johannes <jdoerfert at anl.gov>
[..]
> On 11/06, Jeroen Dobbelaere wrote:
> > >From: Alexey Zhikhartsev
> > [..]
> > > We would love to see your patches merged as soon as possible, so I was
> wondering: do you think the lack of bitcode support will prevent that from
> happening?
>
2020 Jul 23
2
How to optimize out the duplicated memory load instructions?
Hi Johannes,
Thanks for your help. I tried with something like below and nothing
changes. Maybe I am doing something wrong?
246001 check_exce_succ59: ; preds =
%check_exce_succ40
**246002 %mem_base60 = load i8*, i8** %mem_base_addr_ptr, align 8,
!alias.scope !3
246003 %offset161 = add i32 %call56, 4
246004 %12 = sext i32 %offset161 to i64
246005 %maddr62 =
2020 Apr 30
3
Function attributes for memory side-effects
On 4/29/20 4:12 PM, Reid Kleckner via llvm-dev wrote:
> On Tue, Apr 28, 2020 at 12:58 PM Ejjeh, Adel via llvm-dev <
> llvm-dev at lists.llvm.org> wrote:
>
>> Specifically, I want to be able to know when a called function does not
>> have any side effects (e.g. math library functions like sqrt)
>>
>
> Apologies for the pedantry, but I believe sqrt may
2018 Aug 23
2
[RFC] "Properly" Derive Function/Argument/Parameter Attributes
After I spend some time working with the function attribute* deduction
pass** [1,3], I would like to propose a "proper" organization***.
Why?
Because we do not derive nearly as many attributes as we could****,
while we do maintain various (separate and diffently organized)
"data-flow-like analyses" to do so.
What else?
I propose a single optimistic data-flow
2020 Jun 03
2
Alias scope and noalias metadata
Hi there!
Greetings! I am wondering how I may be able get these annotations !noalias
and !alias.scope to show up- I have a function with restrict added to the
arguments but I do not see these intrinsics with clang -emit-llvm. Which
pass inserts them?
Best,
Ram
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
2019 May 31
2
Question about a AA result and its use in Dependence Analysis
Hello llvm-dev,
I would appreciate your feedback on the following problem. We're trying to determine whether this is a bug in LLVM or not.
In the IR snippet below, we have two pointers (p and q) which initially point to two completely non-overlapping locations. Then, on every iteration of a loop, we swap the pointers and load from the first, followed by a store to the second.
1) AA says the