Overload all llvm.annotation intrinsics for globals argument
authorAlex Richardson <alexrichardson@google.com>
Sun, 20 Nov 2022 11:38:16 +0000 (11:38 +0000)
committerAlex Richardson <alexrichardson@google.com>
Wed, 7 Dec 2022 18:29:18 +0000 (18:29 +0000)
commit9114ac67a986400155b8b82013d09a9e4f48e534
tree86def644afc440ee7a8758ab2b814d8cb7c0411a
parente114979dce339c43e8bcf2c13f6f17dbc310b269
Overload all llvm.annotation intrinsics for globals argument

The global constant arguments could be in a different address space
than the first argument, so we have to add another overloaded argument.
This patch was originally made for CHERI LLVM (where globals can be in
address space 200), but it also appears to be useful for in-tree targets
as can be seen from the test diffs.

Differential Revision: https://reviews.llvm.org/D138722
23 files changed:
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenModule.cpp
clang/lib/CodeGen/CodeGenTypeCache.h
clang/test/CodeGen/annotations-field.c
clang/test/CodeGen/annotations-global.c
clang/test/CodeGen/annotations-loc.c
clang/test/CodeGen/annotations-var.c
clang/test/CodeGenCXX/attr-annotate.cpp
clang/test/CodeGenCXX/attr-annotate2.cpp
clang/test/CodeGenSYCL/field-annotate-addr-space.cpp
llvm/include/llvm/IR/Intrinsics.td
llvm/lib/IR/AutoUpgrade.cpp
llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
llvm/test/Analysis/ScalarEvolution/annotation-intrinsics.ll
llvm/test/Assembler/opaque-ptr-intrinsic-remangling.ll
llvm/test/Bitcode/upgrade-annotation.ll
llvm/test/Bitcode/upgrade-ptr-annotation.ll
llvm/test/Bitcode/upgrade-var-annotation.ll
llvm/test/Transforms/InstCombine/annotation-intrinsic.ll
llvm/test/Transforms/InstCombine/assume_inevitable.ll