[llvm-dev] Question about a AA result and its use in Dependence Analysis
Doerfert, Johannes via llvm-dev
llvm-dev at lists.llvm.org
Fri May 31 17:07:07 PDT 2019
Can you try it without the undef branch condition. If you get still the
same result I'd argue its a bug. In the program as it is, I'd say it is
not because the back edge is never taken.
On 05/31, De Azevedo Piovezan, Felipe via llvm-dev wrote:
> 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 two pointers are NoAlias, even though they do point to the same location if we consider them in distinct loop iterations. Is this right?
> 2) Dependence Analysis says there is no dependence between the load and the store. Is this right?
>
> define float @f() {
> entry:
> %g = alloca float, align 4
> %h = alloca float, align 4
> br label %for.body
>
> for.cond.cleanup:
> ret float undef
>
> for.body:
> %p = phi float* [ %g, %entry ], [ %q, %for.body ]
> %q = phi float* [ %h, %entry ], [ %p, %for.body ]
> %0 = load float, float* %p, align 4
> store float undef, float* %q, align 4
> br i1 undef, label %for.cond.cleanup, label %for.body
> }
>
> AliasSet[0x872d800, 1] must alias, Ref Pointers: (float* %p, LocationSize::precise(4))
> AliasSet[0x872d8b0, 1] must alias, Mod Pointers: (float* %q, LocationSize::precise(4))
>
> da analyze -
> %0 = load float, float* %p, align 4 ; I added these two debug statements, DA doesn't print the values it is looking at...
> store float undef, float* %q, align 4
> none!
>
> --
> Felipe
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
--
Johannes Doerfert
Researcher
Argonne National Laboratory
Lemont, IL 60439, USA
jdoerfert at anl.gov
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20190601/05640db0/attachment.sig>
More information about the llvm-dev
mailing list