[LLVMdev] Loads not hoisted out of the loop

Dimitri Tcaciuc dtcaciuc at gmail.com
Fri Jan 18 10:29:18 PST 2013


Actually, I just realized the referenced pointer metadata isn't marked as
such in any way when its referenced in tbaa.struct. I suppose it also
doesn't have much to do with TBAA as well, so that's also a misnomer. My
metadata-fu is still weak.

Dimitri.


On Fri, Jan 18, 2013 at 10:24 AM, Dimitri Tcaciuc <dtcaciuc at gmail.com>wrote:

>
> On Fri, Jan 18, 2013 at 10:00 AM, Krzysztof Parzyszek <
> kparzysz at codeaurora.org> wrote:
>
>> f90_array_type = type { i32 size, double* data };
>
>
> I am not certain how fortran implements multi-dimensional arrays, but in
> my case I'm doing something like
>
>    type { i32 nd, i32* dims, double* data };
>
> Perhaps we could add !tbaa.pointer?
>
>    !1 = metadata !{ metadata !"int", metadata !0 }
>    !2 = metadata !{ metadata !"double", metadata !0 }
>
>    !3 = metadata !{ metadata !1, 0 }     ; tbaa.pointer { metadata type,
> i64 noalias }
>    !4 = metadata !{ metadata !2, 1 }
>
>    !5 = { i64 0, i64 4, metadata !1, i64 8, i64 8, metadata !3, i64 16,
> i64 8, metadata !4 }
>
>    %Array = type { i32 nd, i32* dims, double* data }, !tbaa.struct !5
>
>
> Dimitri.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130118/b63a358f/attachment.html>


More information about the llvm-dev mailing list