[llvm-dev] Alias scope and noalias metadata

Johannes Doerfert via llvm-dev llvm-dev at lists.llvm.org
Wed Jun 3 08:19:02 PDT 2020


The logic to do the transformation from `noalias` to that is in the 
inliner, I think.

You can use the metadata directly as well when you generate IR, I doubt 
there is a user hook from clang to do so.

There is an ongoing effort to replace/augment the alias metadata though 
as it is not sound and not suitable to use it for other things, e.g., 
local restrict pointers.


On 6/3/20 10:12 AM, ramshankar r wrote:
> OK, I see. So to be clear the code is in the inliner? I would like to
> explore if I can do it without inlining?!
>
> On Wed, Jun 3, 2020 at 11:10 AM Johannes Doerfert <
> johannesdoerfert at gmail.com> wrote:
>
>> Hi Ram,
>>
>>
>> The inliner will translate `noalias` on an argument to those metadata
>> annotations.
>>
>>
>> Cheers,
>>
>>    Johannes
>>
>>
>> On 6/3/20 10:02 AM, ramshankar r via llvm-dev wrote:
>>
>> 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
>>
>>
>>
>> _______________________________________________
>> LLVM Developers mailing listllvm-dev at lists.llvm.orghttps://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20200603/d6aad38f/attachment.html>


More information about the llvm-dev mailing list