Introduce llvm.noalias.decl intrinsic
authorJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Sat, 16 Jan 2021 08:14:18 +0000 (09:14 +0100)
committerJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Sat, 16 Jan 2021 08:20:45 +0000 (09:20 +0100)
commit668827b6485664dbcf6caa2756fe2f6579ab1885
treed6fa49989bc8944d8a4da05188d78e29fc9b7df5
parent8456c3a789285079ad35d146e487436b5a27b027
Introduce llvm.noalias.decl intrinsic

The ``llvm.experimental.noalias.scope.decl`` intrinsic identifies where a noalias
scope is declared. When the intrinsic is duplicated, a decision must
also be made about the scope: depending on the reason of the duplication,
the scope might need to be duplicated as well.

Reviewed By: nikic, jdoerfert

Differential Revision: https://reviews.llvm.org/D93039
llvm/docs/LangRef.rst
llvm/include/llvm/IR/IRBuilder.h
llvm/include/llvm/IR/Intrinsics.h
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/CodeGen/IntrinsicLowering.cpp
llvm/lib/CodeGen/SelectionDAG/FastISel.cpp
llvm/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp
llvm/lib/IR/IRBuilder.cpp
llvm/lib/IR/Verifier.cpp
llvm/test/Verifier/noalias_scope_decl.ll [new file with mode: 0644]