aboutsummaryrefslogtreecommitdiff
path: root/llvm/utils
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/utils')
-rw-r--r--llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp39
-rw-r--r--llvm/utils/TableGen/Basic/VTEmitter.cpp4
-rw-r--r--llvm/utils/TableGen/OptionParserEmitter.cpp92
-rw-r--r--llvm/utils/emacs/llvm-mode.el2
-rw-r--r--llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn2
-rw-r--r--llvm/utils/gn/secondary/clang/test/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/clang/tools/clang-offload-packager/BUILD.gn10
-rw-r--r--llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/test/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/tools/llvm-offload-binary/BUILD.gn8
-rw-r--r--llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn2
-rw-r--r--llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn1
-rw-r--r--llvm/utils/gn/secondary/llvm/unittests/Option/BUILD.gn7
-rw-r--r--llvm/utils/llvm.grm1
-rw-r--r--llvm/utils/profcheck-xfail.txt124
-rw-r--r--llvm/utils/vim/syntax/llvm.vim1
-rw-r--r--llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml1
22 files changed, 147 insertions, 155 deletions
diff --git a/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp b/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
index 45cb209..10f0213 100644
--- a/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/RuntimeLibcallsEmitter.cpp
@@ -547,16 +547,6 @@ void RuntimeLibcallEmitter::emitSystemRuntimeLibrarySetCalls(
" struct LibcallImplPair {\n"
" RTLIB::Libcall Func;\n"
" RTLIB::LibcallImpl Impl;\n"
- " };\n"
- " auto setLibcallsImpl = [this](\n"
- " ArrayRef<LibcallImplPair> Libcalls,\n"
- " std::optional<llvm::CallingConv::ID> CC = {})\n"
- " {\n"
- " for (const auto [Func, Impl] : Libcalls) {\n"
- " setLibcallImpl(Func, Impl);\n"
- " if (CC)\n"
- " setLibcallImplCallingConv(Impl, *CC);\n"
- " }\n"
" };\n";
ArrayRef<const Record *> AllLibs =
Records.getAllDerivedDefinitions("SystemRuntimeLibrary");
@@ -682,18 +672,37 @@ void RuntimeLibcallEmitter::emitSystemRuntimeLibrarySetCalls(
Funcs.erase(UniqueI, Funcs.end());
- OS << indent(IndentDepth + 2) << "setLibcallsImpl({\n";
+ OS << indent(IndentDepth + 2)
+ << "static const LibcallImplPair LibraryCalls";
+ SubsetPredicate.emitTableVariableNameSuffix(OS);
+ if (FuncsWithCC.CallingConv)
+ OS << '_' << FuncsWithCC.CallingConv->getName();
+
+ OS << "[] = {\n";
for (const RuntimeLibcallImpl *LibCallImpl : Funcs) {
- OS << indent(IndentDepth + 4);
+ OS << indent(IndentDepth + 6);
LibCallImpl->emitTableEntry(OS);
}
- OS << indent(IndentDepth + 2) << "}";
+
+ OS << indent(IndentDepth + 2) << "};\n\n"
+ << indent(IndentDepth + 2)
+ << "for (const auto [Func, Impl] : LibraryCalls";
+ SubsetPredicate.emitTableVariableNameSuffix(OS);
+ if (FuncsWithCC.CallingConv)
+ OS << '_' << FuncsWithCC.CallingConv->getName();
+
+ OS << ") {\n"
+ << indent(IndentDepth + 4) << "setLibcallImpl(Func, Impl);\n";
+
if (FuncsWithCC.CallingConv) {
StringRef CCEnum =
FuncsWithCC.CallingConv->getValueAsString("CallingConv");
- OS << ", " << CCEnum;
+ OS << indent(IndentDepth + 4) << "setLibcallImplCallingConv(Impl, "
+ << CCEnum << ");\n";
}
- OS << ");\n\n";
+
+ OS << indent(IndentDepth + 2) << "}\n";
+ OS << '\n';
if (!SubsetPredicate.isAlwaysAvailable()) {
OS << indent(IndentDepth);
diff --git a/llvm/utils/TableGen/Basic/VTEmitter.cpp b/llvm/utils/TableGen/Basic/VTEmitter.cpp
index c6b4d0b..301b27d 100644
--- a/llvm/utils/TableGen/Basic/VTEmitter.cpp
+++ b/llvm/utils/TableGen/Basic/VTEmitter.cpp
@@ -33,11 +33,11 @@ static void vTtoGetLlvmTyString(raw_ostream &OS, const Record *VT) {
bool IsRISCVVecTuple = VT->getValueAsBit("isRISCVVecTuple");
if (IsRISCVVecTuple) {
- unsigned NElem = VT->getValueAsInt("nElem");
+ unsigned NF = VT->getValueAsInt("NF");
unsigned Sz = VT->getValueAsInt("Size");
OS << "TargetExtType::get(Context, \"riscv.vector.tuple\", "
"ScalableVectorType::get(Type::getInt8Ty(Context), "
- << (Sz / (NElem * 8)) << "), " << NElem << ")";
+ << (Sz / (NF * 8)) << "), " << NF << ")";
return;
}
diff --git a/llvm/utils/TableGen/OptionParserEmitter.cpp b/llvm/utils/TableGen/OptionParserEmitter.cpp
index a470fbb..48ae1a0 100644
--- a/llvm/utils/TableGen/OptionParserEmitter.cpp
+++ b/llvm/utils/TableGen/OptionParserEmitter.cpp
@@ -9,8 +9,10 @@
#include "Common/OptEmitter.h"
#include "llvm/ADT/STLExtras.h"
#include "llvm/ADT/SmallString.h"
+#include "llvm/ADT/SmallVector.h"
#include "llvm/ADT/StringExtras.h"
#include "llvm/ADT/Twine.h"
+#include "llvm/Option/OptTable.h"
#include "llvm/Support/InterleavedRange.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/TableGen/Record.h"
@@ -258,6 +260,9 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
std::vector<const Record *> Opts = Records.getAllDerivedDefinitions("Option");
llvm::sort(Opts, IsOptionRecordsLess);
+ std::vector<const Record *> SubCommands =
+ Records.getAllDerivedDefinitions("SubCommand");
+
emitSourceFileHeader("Option Parsing Definitions", OS);
// Generate prefix groups.
@@ -271,6 +276,35 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
Prefixes.try_emplace(PrefixKey, 0);
}
+ // Generate sub command groups.
+ typedef SmallVector<StringRef, 2> SubCommandKeyT;
+ typedef std::map<SubCommandKeyT, unsigned> SubCommandIDsT;
+ SubCommandIDsT SubCommandIDs;
+
+ auto PrintSubCommandIdsOffset = [&SubCommandIDs, &OS](const Record &R) {
+ if (R.getValue("SubCommands") != nullptr) {
+ std::vector<const Record *> SubCommands =
+ R.getValueAsListOfDefs("SubCommands");
+ SubCommandKeyT SubCommandKey;
+ for (const auto &SubCommand : SubCommands)
+ SubCommandKey.push_back(SubCommand->getName());
+ OS << SubCommandIDs[SubCommandKey];
+ } else {
+ // The option SubCommandIDsOffset (for default top level toolname is 0).
+ OS << " 0";
+ }
+ };
+
+ SubCommandIDs.try_emplace(SubCommandKeyT(), 0);
+ for (const Record &R : llvm::make_pointee_range(Opts)) {
+ std::vector<const Record *> RSubCommands =
+ R.getValueAsListOfDefs("SubCommands");
+ SubCommandKeyT SubCommandKey;
+ for (const auto &SubCommand : RSubCommands)
+ SubCommandKey.push_back(SubCommand->getName());
+ SubCommandIDs.try_emplace(SubCommandKey, 0);
+ }
+
DenseSet<StringRef> PrefixesUnionSet;
for (const auto &[Prefix, _] : Prefixes)
PrefixesUnionSet.insert_range(Prefix);
@@ -323,6 +357,40 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
OS << "\n};\n";
OS << "#endif // OPTTABLE_PREFIXES_TABLE_CODE\n\n";
+ // Dump subcommand IDs.
+ OS << "/////////";
+ OS << "// SubCommand IDs\n\n";
+ OS << "#ifdef OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE\n";
+ OS << "static constexpr unsigned OptionSubCommandIDsTable[] = {\n";
+ {
+ // Ensure the first subcommand set is always empty.
+ assert(!SubCommandIDs.empty() &&
+ "We should always emit an empty set of subcommands");
+ assert(SubCommandIDs.begin()->first.empty() &&
+ "First subcommand set should always be empty");
+ llvm::ListSeparator Sep(",\n");
+ unsigned CurIndex = 0;
+ for (auto &[SubCommand, SubCommandIndex] : SubCommandIDs) {
+ // First emit the number of subcommand strings in this list of
+ // subcommands.
+ OS << Sep << " " << SubCommand.size() << " /* subcommands */";
+ SubCommandIndex = CurIndex;
+ assert((CurIndex == 0 || !SubCommand.empty()) &&
+ "Only first subcommand set should be empty!");
+ for (const auto &SubCommandKey : SubCommand) {
+ auto It = std::find_if(
+ SubCommands.begin(), SubCommands.end(),
+ [&](const Record *R) { return R->getName() == SubCommandKey; });
+ assert(It != SubCommands.end() && "SubCommand not found");
+ OS << ", " << std::distance(SubCommands.begin(), It) << " /* '"
+ << SubCommandKey << "' */";
+ }
+ CurIndex += SubCommand.size() + 1;
+ }
+ }
+ OS << "\n};\n";
+ OS << "#endif // OPTTABLE_SUBCOMMAND_IDS_TABLE_CODE\n\n";
+
// Dump prefixes union.
OS << "/////////\n";
OS << "// Prefix Union\n\n";
@@ -400,7 +468,12 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
OS << ", nullptr";
// The option Values (unused for groups).
- OS << ", nullptr)\n";
+ OS << ", nullptr";
+
+ // The option SubCommandIDsOffset.
+ OS << ", ";
+ PrintSubCommandIdsOffset(R);
+ OS << ")\n";
}
OS << "\n";
@@ -527,6 +600,10 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
OS << getOptionName(R) << "_Values";
else
OS << "nullptr";
+
+ // The option SubCommandIDsOffset.
+ OS << ", ";
+ PrintSubCommandIdsOffset(R);
};
auto IsMarshallingOption = [](const Record &R) {
@@ -595,6 +672,19 @@ static void emitOptionParser(const RecordKeeper &Records, raw_ostream &OS) {
OS << "#endif // SIMPLE_ENUM_VALUE_TABLE\n";
OS << "\n";
+ OS << "/////////\n";
+ OS << "\n// SubCommands\n\n";
+ OS << "#ifdef OPTTABLE_SUBCOMMANDS_CODE\n";
+ OS << "static constexpr llvm::opt::OptTable::SubCommand OptionSubCommands[] "
+ "= "
+ "{\n";
+ for (const Record *SubCommand : SubCommands) {
+ OS << " { \"" << SubCommand->getValueAsString("Name") << "\", ";
+ OS << "\"" << SubCommand->getValueAsString("HelpText") << "\", ";
+ OS << "\"" << SubCommand->getValueAsString("Usage") << "\" },\n";
+ }
+ OS << "};\n";
+ OS << "#endif // OPTTABLE_SUBCOMMANDS_CODE\n\n";
OS << "\n";
}
diff --git a/llvm/utils/emacs/llvm-mode.el b/llvm/utils/emacs/llvm-mode.el
index 660d071..240c133 100644
--- a/llvm/utils/emacs/llvm-mode.el
+++ b/llvm/utils/emacs/llvm-mode.el
@@ -34,7 +34,7 @@
"inaccessiblemem_or_argmemonly" "inalloca" "inlinehint" "jumptable" "minsize" "mustprogress" "naked" "nobuiltin" "nonnull" "nocapture"
"nocallback" "nocf_check" "noduplicate" "noext" "nofree" "noimplicitfloat" "noinline" "nomerge" "nonlazybind" "noprofile" "noredzone" "noreturn"
"norecurse" "nosync" "noundef" "nounwind" "nosanitize_bounds" "nosanitize_coverage" "null_pointer_is_valid" "optdebug" "optforfuzzing" "optnone" "optsize" "preallocated" "readnone" "readonly" "returned" "returns_twice"
- "shadowcallstack" "signext" "speculatable" "speculative_load_hardening" "ssp" "sspreq" "sspstrong" "safestack" "sanitize_address" "sanitize_hwaddress" "sanitize_memtag"
+ "shadowcallstack" "signext" "speculatable" "speculative_load_hardening" "ssp" "sspreq" "sspstrong" "safestack" "sanitize_address" "sanitize_alloc_token" "sanitize_hwaddress" "sanitize_memtag"
"sanitize_thread" "sanitize_memory" "strictfp" "swifterror" "uwtable" "vscale_range" "willreturn" "writeonly" "zeroext") 'symbols) . font-lock-constant-face)
;; Variables
'("%[-a-zA-Z$._][-a-zA-Z$._0-9]*" . font-lock-variable-name-face)
diff --git a/llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn b/llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
index a7975bd..393309e 100644
--- a/llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
+++ b/llvm/utils/gn/secondary/bolt/lib/Passes/BUILD.gn
@@ -30,12 +30,14 @@ static_library("Passes") {
"IdenticalCodeFolding.cpp",
"IndirectCallPromotion.cpp",
"Inliner.cpp",
+ "InsertNegateRAStatePass.cpp",
"Instrumentation.cpp",
"JTFootprintReduction.cpp",
"LivenessAnalysis.cpp",
"LongJmp.cpp",
"LoopInversionPass.cpp",
"MCF.cpp",
+ "MarkRAStates.cpp",
"PAuthGadgetScanner.cpp",
"PLTCall.cpp",
"PatchEntries.cpp",
diff --git a/llvm/utils/gn/secondary/clang/test/BUILD.gn b/llvm/utils/gn/secondary/clang/test/BUILD.gn
index 0944216..5c58903 100644
--- a/llvm/utils/gn/secondary/clang/test/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/test/BUILD.gn
@@ -185,6 +185,7 @@ group("test") {
"//llvm/tools/llvm-nm:symlinks",
"//llvm/tools/llvm-objcopy:symlinks",
"//llvm/tools/llvm-objdump:symlinks",
+ "//llvm/tools/llvm-offload-binary",
"//llvm/tools/llvm-pdbutil",
"//llvm/tools/llvm-profdata",
"//llvm/tools/llvm-rc:symlinks",
diff --git a/llvm/utils/gn/secondary/clang/tools/clang-offload-packager/BUILD.gn b/llvm/utils/gn/secondary/clang/tools/clang-offload-packager/BUILD.gn
deleted file mode 100644
index b33b534..0000000
--- a/llvm/utils/gn/secondary/clang/tools/clang-offload-packager/BUILD.gn
+++ /dev/null
@@ -1,10 +0,0 @@
-executable("clang-offload-packager") {
- configs += [ "//llvm/utils/gn/build:clang_code" ]
- deps = [
- "//clang/lib/Basic",
- "//llvm/lib/Object",
- "//llvm/lib/Support",
- "//llvm/lib/Target:TargetsToBuild",
- ]
- sources = [ "ClangOffloadPackager.cpp" ]
-}
diff --git a/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn b/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
index 6f00fca..54fca3b 100644
--- a/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
+++ b/llvm/utils/gn/secondary/clang/tools/driver/BUILD.gn
@@ -60,7 +60,6 @@ driver_executable("clang") {
"//clang/tools/clang-linker-wrapper",
"//clang/tools/clang-nvlink-wrapper",
"//clang/tools/clang-offload-bundler",
- "//clang/tools/clang-offload-packager",
"//llvm/include/llvm/Config:llvm-config",
"//llvm/lib/Analysis",
"//llvm/lib/CodeGen",
diff --git a/llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
index c37f43c..b4edd8d 100644
--- a/llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/lib/CAS/BUILD.gn
@@ -9,6 +9,7 @@ static_library("CAS") {
"MappedFileRegionArena.cpp",
"ObjectStore.cpp",
"OnDiskCommon.cpp",
+ "OnDiskDataAllocator.cpp",
"OnDiskTrieRawHashMap.cpp",
]
}
diff --git a/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
index a68cee4..9b69a44 100644
--- a/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/BUILD.gn
@@ -34,6 +34,7 @@ static_library("Orc") {
"EPCIndirectionUtils.cpp",
"ExecutionUtils.cpp",
"ExecutorProcessControl.cpp",
+ "ExecutorResolutionGenerator.cpp",
"GetDylibInterface.cpp",
"IRCompileLayer.cpp",
"IRPartitionLayer.cpp",
diff --git a/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
index 0104684..c4ce990 100644
--- a/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/lib/ExecutionEngine/Orc/TargetProcess/BUILD.gn
@@ -7,6 +7,7 @@ static_library("TargetProcess") {
]
sources = [
"DefaultHostBootstrapValues.cpp",
+ "ExecutorResolver.cpp",
"ExecutorSharedMemoryMapperService.cpp",
"JITLoaderGDB.cpp",
"JITLoaderPerf.cpp",
diff --git a/llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn b/llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
index a8eb834..2c6204e 100644
--- a/llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/lib/Transforms/Instrumentation/BUILD.gn
@@ -11,6 +11,7 @@ static_library("Instrumentation") {
]
sources = [
"AddressSanitizer.cpp",
+ "AllocToken.cpp",
"BlockCoverageInference.cpp",
"BoundsChecking.cpp",
"CGProfile.cpp",
diff --git a/llvm/utils/gn/secondary/llvm/test/BUILD.gn b/llvm/utils/gn/secondary/llvm/test/BUILD.gn
index 0b6c81c6..b297dbd 100644
--- a/llvm/utils/gn/secondary/llvm/test/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/test/BUILD.gn
@@ -303,6 +303,7 @@ group("test") {
"//llvm/tools/llvm-nm",
"//llvm/tools/llvm-objcopy:symlinks",
"//llvm/tools/llvm-objdump:symlinks",
+ "//llvm/tools/llvm-offload-binary",
"//llvm/tools/llvm-offload-wrapper",
"//llvm/tools/llvm-opt-fuzzer",
"//llvm/tools/llvm-opt-report",
diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-offload-binary/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-offload-binary/BUILD.gn
new file mode 100644
index 0000000..4cc0161
--- /dev/null
+++ b/llvm/utils/gn/secondary/llvm/tools/llvm-offload-binary/BUILD.gn
@@ -0,0 +1,8 @@
+executable("llvm-offload-binary") {
+ deps = [
+ "//llvm/lib/BinaryFormat",
+ "//llvm/lib/Object",
+ "//llvm/lib/Support",
+ ]
+ sources = [ "llvm-offload-binary.cpp" ]
+}
diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
index 959fb44..2f6399f 100644
--- a/llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/tools/llvm-profdata/BUILD.gn
@@ -1,6 +1,6 @@
import("//llvm/utils/gn/build/driver_executable.gni")
-driver_executable("llvm-profdata") {
+executable("llvm-profdata") {
deps = [
"//llvm/lib/Debuginfod",
"//llvm/lib/IR",
diff --git a/llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn b/llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
index 6aa49d0..0c7affb 100644
--- a/llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/tools/llvm-reduce/BUILD.gn
@@ -31,6 +31,7 @@ executable("llvm-reduce") {
"deltas/ReduceGlobalVarInitializers.cpp",
"deltas/ReduceGlobalVars.cpp",
"deltas/ReduceIRReferences.cpp",
+ "deltas/ReduceInlineCallSites.cpp",
"deltas/ReduceInstructionFlags.cpp",
"deltas/ReduceInstructionFlagsMIR.cpp",
"deltas/ReduceInstructions.cpp",
diff --git a/llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
index ccb447f..52a64be 100644
--- a/llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/unittests/CAS/BUILD.gn
@@ -10,6 +10,7 @@ unittest("CASTests") {
"ActionCacheTest.cpp",
"CASTestConfig.cpp",
"ObjectStoreTest.cpp",
+ "OnDiskDataAllocatorTest.cpp",
"OnDiskTrieRawHashMapTest.cpp",
"ProgramTest.cpp",
]
diff --git a/llvm/utils/gn/secondary/llvm/unittests/Option/BUILD.gn b/llvm/utils/gn/secondary/llvm/unittests/Option/BUILD.gn
index 46f3ff9..759fd6e 100644
--- a/llvm/utils/gn/secondary/llvm/unittests/Option/BUILD.gn
+++ b/llvm/utils/gn/secondary/llvm/unittests/Option/BUILD.gn
@@ -6,14 +6,21 @@ tablegen("Opts") {
args = [ "-gen-opt-parser-defs" ]
}
+tablegen("SubCommandOpts") {
+ visibility = [ ":OptionTests" ]
+ args = [ "-gen-opt-parser-defs" ]
+}
+
unittest("OptionTests") {
deps = [
":Opts",
+ ":SubCommandOpts",
"//llvm/lib/Option",
"//llvm/lib/Support",
]
sources = [
"OptionMarshallingTest.cpp",
"OptionParsingTest.cpp",
+ "OptionSubCommandsTest.cpp",
]
}
diff --git a/llvm/utils/llvm.grm b/llvm/utils/llvm.grm
index 4113231..dddfe3c 100644
--- a/llvm/utils/llvm.grm
+++ b/llvm/utils/llvm.grm
@@ -173,6 +173,7 @@ FuncAttr ::= noreturn
| returns_twice
| nonlazybind
| sanitize_address
+ | sanitize_alloc_token
| sanitize_thread
| sanitize_memory
| mustprogress
diff --git a/llvm/utils/profcheck-xfail.txt b/llvm/utils/profcheck-xfail.txt
index 53187c8..74ed172 100644
--- a/llvm/utils/profcheck-xfail.txt
+++ b/llvm/utils/profcheck-xfail.txt
@@ -1,11 +1,8 @@
Analysis/LoopAccessAnalysis/memcheck-ni.ll
Analysis/MemorySSA/pr116227.ll
-Analysis/MemorySSA/pr40038.ll
Analysis/MemorySSA/pr43641.ll
Analysis/MemorySSA/pr46574.ll
Analysis/MemorySSA/update-remove-dead-blocks.ll
-Analysis/StackSafetyAnalysis/ipa.ll
-Analysis/ValueTracking/known-power-of-two-urem.ll
Bitcode/fcmp-fast.ll
Bitcode/flags.ll
CodeGen/AArch64/cgdata-merge-local.ll
@@ -70,16 +67,11 @@ CodeGen/AMDGPU/si-annotate-nested-control-flows.ll
CodeGen/AMDGPU/simple-indirect-call-2.ll
CodeGen/ARM/loopvectorize_pr33804.ll
CodeGen/ARM/sjljeh-swifterror.ll
-CodeGen/BPF/adjust-opt-icmp1.ll
-CodeGen/BPF/adjust-opt-icmp2.ll
-CodeGen/BPF/adjust-opt-icmp5.ll
-CodeGen/BPF/adjust-opt-icmp6.ll
CodeGen/Hexagon/autohvx/interleave.ll
CodeGen/Hexagon/loop-idiom/hexagon-memmove1.ll
CodeGen/Hexagon/loop-idiom/hexagon-memmove2.ll
CodeGen/Hexagon/loop-idiom/memmove-rt-check.ll
CodeGen/NVPTX/lower-ctor-dtor.ll
-CodeGen/PowerPC/P10-stack-alignment.ll
CodeGen/RISCV/zmmul.ll
CodeGen/SPIRV/hlsl-resources/UniqueImplicitBindingNumber.ll
CodeGen/WebAssembly/memory-interleave.ll
@@ -87,11 +79,8 @@ CodeGen/X86/masked_gather_scatter.ll
CodeGen/X86/nocfivalue.ll
DebugInfo/AArch64/ir-outliner.ll
DebugInfo/assignment-tracking/X86/hotcoldsplit.ll
-DebugInfo/debugify-each.ll
DebugInfo/Generic/block-asan.ll
DebugInfo/KeyInstructions/Generic/loop-unswitch.ll
-DebugInfo/KeyInstructions/Generic/simplifycfg-branch-fold.ll
-DebugInfo/simplify-cfg-preserve-dbg-values.ll
DebugInfo/X86/asan_debug_info.ll
Instrumentation/AddressSanitizer/aarch64be.ll
Instrumentation/AddressSanitizer/adaptive_global_redzones.ll
@@ -532,13 +521,9 @@ Instrumentation/TypeSanitizer/nosanitize.ll
Instrumentation/TypeSanitizer/sanitize-no-tbaa.ll
Instrumentation/TypeSanitizer/swifterror.ll
LTO/X86/diagnostic-handler-remarks-with-hotness.ll
-Other/ChangePrinters/DotCfg/print-changed-dot-cfg.ll
-Other/opt-bisect-print-ir-path.ll
Other/optimization-remarks-auto.ll
-Other/printer.ll
Other/X86/debugcounter-partiallyinlinelibcalls.ll
tools/llvm-objcopy/ELF/auto-remove-add-symtab-shndx.test
-tools/not/disable-symbolization.test
tools/UpdateTestChecks/update_analyze_test_checks/loop-access-analysis.test
tools/UpdateTestChecks/update_analyze_test_checks/loop-distribute.test
tools/UpdateTestChecks/update_test_checks/argument_name_reuse.test
@@ -563,14 +548,10 @@ tools/UpdateTestChecks/update_test_checks/stable_ir_values_funcs.test
tools/UpdateTestChecks/update_test_checks/stable_ir_values.test
tools/UpdateTestChecks/update_test_checks/tbaa-semantics-checks.test
tools/UpdateTestChecks/update_test_checks/various_ir_values_dbgrecords.test
-Transforms/AggressiveInstCombine/inline-strcmp-debugloc.ll
Transforms/AggressiveInstCombine/lower-table-based-cttz-basics.ll
Transforms/AggressiveInstCombine/lower-table-based-cttz-dereferencing-pointer.ll
Transforms/AggressiveInstCombine/lower-table-based-cttz-non-argument-value.ll
Transforms/AggressiveInstCombine/lower-table-based-cttz-zero-element.ll
-Transforms/AggressiveInstCombine/memchr.ll
-Transforms/AggressiveInstCombine/strncmp-1.ll
-Transforms/AggressiveInstCombine/strncmp-2.ll
Transforms/AggressiveInstCombine/trunc_select_cmp.ll
Transforms/AggressiveInstCombine/trunc_select.ll
Transforms/AtomicExpand/AArch64/atomicrmw-fp.ll
@@ -608,7 +589,6 @@ Transforms/AtomicExpand/AMDGPU/expand-cmpxchg-flat-maybe-private.ll
Transforms/AtomicExpand/ARM/atomic-expansion-v7.ll
Transforms/AtomicExpand/ARM/atomic-expansion-v8.ll
Transforms/AtomicExpand/ARM/atomicrmw-fp.ll
-Transforms/AtomicExpand/ARM/cmpxchg-weak.ll
Transforms/AtomicExpand/Hexagon/atomicrmw-fp.ll
Transforms/AtomicExpand/LoongArch/atomicrmw-fp.ll
Transforms/AtomicExpand/Mips/atomicrmw-fp.ll
@@ -688,7 +668,6 @@ Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-not-exact.ll
Transforms/CodeGenPrepare/NVPTX/bypass-slow-div-special-cases.ll
Transforms/CodeGenPrepare/X86/vec-shift-inseltpoison.ll
Transforms/CodeGenPrepare/X86/vec-shift.ll
-Transforms/Coroutines/coro-alloca-outside-frame.ll
Transforms/Coroutines/coro-await-suspend-lower-invoke.ll
Transforms/Coroutines/coro-await-suspend-lower.ll
Transforms/Coroutines/coro-byval-param.ll
@@ -732,11 +711,6 @@ Transforms/CorrelatedValuePropagation/urem.ll
Transforms/CrossDSOCFI/basic.ll
Transforms/CrossDSOCFI/cfi_functions.ll
Transforms/CrossDSOCFI/thumb.ll
-Transforms/DFAJumpThreading/dfa-jump-threading-analysis.ll
-Transforms/DFAJumpThreading/dfa-jump-threading-transform.ll
-Transforms/DFAJumpThreading/dfa-unfold-select.ll
-Transforms/DFAJumpThreading/max-path-length.ll
-Transforms/DFAJumpThreading/negative.ll
Transforms/ExpandFp/AMDGPU/frem-inf.ll
Transforms/ExpandFp/AMDGPU/frem.ll
Transforms/ExpandLargeDivRem/X86/sdiv129.ll
@@ -829,21 +803,17 @@ Transforms/HotColdSplit/unwind.ll
Transforms/HotColdSplit/update-split-loop-metadata.ll
Transforms/IndirectBrExpand/basic.ll
Transforms/IndVarSimplify/debugloc-rem-subst.ll
-Transforms/IndVarSimplify/eliminate-backedge.ll
Transforms/IndVarSimplify/eliminate-rem.ll
Transforms/IndVarSimplify/invalidate-modified-lcssa-phi.ll
Transforms/IndVarSimplify/pr45835.ll
Transforms/IndVarSimplify/preserving-debugloc-rem-div.ll
-Transforms/Inline/optimization-remarks-hotness-threshold.ll
Transforms/InstCombine/2004-09-20-BadLoadCombine.ll
Transforms/InstCombine/2005-04-07-UDivSelectCrash.ll
-Transforms/InstCombine/2011-02-14-InfLoop.ll
Transforms/InstCombine/AArch64/sve-intrinsic-sel.ll
Transforms/InstCombine/AArch64/sve-intrinsic-simplify-binop.ll
Transforms/InstCombine/AArch64/sve-intrinsic-simplify-shift.ll
Transforms/InstCombine/add-mask.ll
Transforms/InstCombine/add-shl-mul-umax.ll
-Transforms/InstCombine/add-shl-sdiv-to-srem.ll
Transforms/InstCombine/AMDGPU/addrspacecast.ll
Transforms/InstCombine/and2.ll
Transforms/InstCombine/and-fcmp.ll
@@ -853,13 +823,10 @@ Transforms/InstCombine/and-or-icmps.ll
Transforms/InstCombine/and-or-implied-cond-not.ll
Transforms/InstCombine/apint-div1.ll
Transforms/InstCombine/apint-div2.ll
-Transforms/InstCombine/apint-rem1.ll
-Transforms/InstCombine/apint-rem2.ll
Transforms/InstCombine/ashr-demand.ll
Transforms/InstCombine/atomic.ll
Transforms/InstCombine/binop-cast.ll
Transforms/InstCombine/binop-select-cast-of-select-cond.ll
-Transforms/InstCombine/binop-select.ll
Transforms/InstCombine/bit-checks.ll
Transforms/InstCombine/bitreverse.ll
Transforms/InstCombine/branch.ll
@@ -931,30 +898,23 @@ Transforms/InstCombine/not.ll
Transforms/InstCombine/or-bitmask.ll
Transforms/InstCombine/or-fcmp.ll
Transforms/InstCombine/or.ll
-Transforms/InstCombine/phi-select-constant.ll
Transforms/InstCombine/pow-1.ll
Transforms/InstCombine/pow-3.ll
Transforms/InstCombine/pow-sqrt.ll
Transforms/InstCombine/pr24354.ll
-Transforms/InstCombine/pr35515.ll
-Transforms/InstCombine/ptrtoint-nullgep.ll
Transforms/InstCombine/pull-conditional-binop-through-shift.ll
Transforms/InstCombine/rem.ll
Transforms/InstCombine/sdiv-canonicalize.ll
Transforms/InstCombine/sdiv-guard.ll
-Transforms/InstCombine/select-and-cmp.ll
Transforms/InstCombine/select-and-or.ll
-Transforms/InstCombine/select_arithmetic.ll
Transforms/InstCombine/select-bitext.ll
Transforms/InstCombine/select-cmp-br.ll
Transforms/InstCombine/select-cmp.ll
Transforms/InstCombine/select-factorize.ll
Transforms/InstCombine/select_frexp.ll
-Transforms/InstCombine/select-icmp-and.ll
Transforms/InstCombine/select.ll
Transforms/InstCombine/select-min-max.ll
Transforms/InstCombine/select-of-symmetric-selects.ll
-Transforms/InstCombine/select-or-cmp.ll
Transforms/InstCombine/select-safe-bool-transforms.ll
Transforms/InstCombine/select-safe-impliedcond-transforms.ll
Transforms/InstCombine/select-safe-transforms.ll
@@ -974,11 +934,8 @@ Transforms/InstCombine/strlen-1.ll
Transforms/InstCombine/strrchr-3.ll
Transforms/InstCombine/sub-ashr-and-to-icmp-select.ll
Transforms/InstCombine/sub-ashr-or-to-icmp-select.ll
-Transforms/InstCombine/sub.ll
Transforms/InstCombine/sub-xor-cmp.ll
Transforms/InstCombine/truncating-saturate.ll
-Transforms/InstCombine/trunc-inseltpoison.ll
-Transforms/InstCombine/trunc.ll
Transforms/InstCombine/unordered-fcmp-select.ll
Transforms/InstCombine/urem-via-cmp-select.ll
Transforms/InstCombine/vec_sext.ll
@@ -990,7 +947,6 @@ Transforms/InstCombine/X86/x86-avx512-inseltpoison.ll
Transforms/InstCombine/X86/x86-avx512.ll
Transforms/InstCombine/xor-and-or.ll
Transforms/InstCombine/xor-ashr.ll
-Transforms/InstCombine/xor.ll
Transforms/InstCombine/zext-bool-add-sub.ll
Transforms/InstCombine/zext-or-icmp.ll
Transforms/IRCE/add-metadata-pre-post-loops.ll
@@ -1126,12 +1082,8 @@ Transforms/LoopDistribute/pointer-phi-in-loop.ll
Transforms/LoopDistribute/scev-inserted-runtime-check.ll
Transforms/LoopDistribute/symbolic-stride.ll
Transforms/LoopFlatten/loop-flatten-version.ll
-Transforms/LoopFlatten/widen-iv2.ll
-Transforms/LoopFlatten/widen-iv.ll
Transforms/LoopIdiom/AArch64/byte-compare-index.ll
Transforms/LoopIdiom/AArch64/find-first-byte.ll
-Transforms/LoopIdiom/memset-runtime-32bit.ll
-Transforms/LoopIdiom/memset-runtime-64bit.ll
Transforms/LoopIdiom/RISCV/byte-compare-index.ll
Transforms/LoopIdiom/X86/arithmetic-right-shift-until-zero.ll
Transforms/LoopIdiom/X86/left-shift-until-bittest.ll
@@ -1155,10 +1107,6 @@ Transforms/LoopSimplifyCFG/live_block_marking.ll
Transforms/LoopSimplifyCFG/mssa_update.ll
Transforms/LoopSimplifyCFG/pr117537.ll
Transforms/LoopSimplifyCFG/update_parents.ll
-Transforms/LoopSimplify/pr26682.ll
-Transforms/LoopSimplify/preserve-llvm-loop-metadata.ll
-Transforms/LoopUnroll/AArch64/apple-unrolling-multi-exit.ll
-Transforms/LoopUnroll/AArch64/unrolling-multi-exit.ll
Transforms/LoopUnroll/peel-last-iteration-expansion-cost.ll
Transforms/LoopUnroll/peel-last-iteration-with-guards.ll
Transforms/LoopUnroll/peel-last-iteration-with-variable-trip-count.ll
@@ -1301,7 +1249,6 @@ Transforms/PGOProfile/chr-lifetimes.ll
Transforms/PGOProfile/chr.ll
Transforms/PGOProfile/chr-poison.ll
Transforms/PGOProfile/comdat.ll
-Transforms/PGOProfile/cspgo_profile_summary.ll
Transforms/PGOProfile/memop_profile_funclet_wasm.ll
Transforms/PGOProfile/profcheck-select.ll
Transforms/PGOProfile/prof-verify.ll
@@ -1310,25 +1257,18 @@ Transforms/PGOProfile/X86/macho.ll
Transforms/PhaseOrdering/AArch64/constraint-elimination-placement.ll
Transforms/PhaseOrdering/AArch64/globals-aa-required-for-vectorization.ll
Transforms/PhaseOrdering/AArch64/hoisting-sinking-required-for-vectorization.ll
-Transforms/PhaseOrdering/AArch64/loopflatten.ll
-Transforms/PhaseOrdering/AArch64/matrix-extract-insert.ll
Transforms/PhaseOrdering/AArch64/predicated-reduction.ll
Transforms/PhaseOrdering/AArch64/quant_4x4.ll
Transforms/PhaseOrdering/ARM/arm_mean_q7.ll
Transforms/PhaseOrdering/lower-table-based-cttz.ll
-Transforms/PhaseOrdering/pr44461-br-to-switch-rotate.ll
-Transforms/PhaseOrdering/simplifycfg-switch-lowering-vs-correlatedpropagation.ll
Transforms/PhaseOrdering/vector-select.ll
Transforms/PhaseOrdering/X86/blendv-select.ll
Transforms/PhaseOrdering/X86/merge-functions2.ll
Transforms/PhaseOrdering/X86/merge-functions3.ll
Transforms/PhaseOrdering/X86/merge-functions.ll
-Transforms/PhaseOrdering/X86/pr48844-br-to-switch-vectorization.ll
Transforms/PhaseOrdering/X86/pr52078.ll
Transforms/PhaseOrdering/X86/pr67803.ll
Transforms/PhaseOrdering/X86/preserve-access-group.ll
-Transforms/PhaseOrdering/X86/simplifycfg-late.ll
-Transforms/PhaseOrdering/X86/vdiv.ll
Transforms/PhaseOrdering/X86/vector-reductions.ll
Transforms/PreISelIntrinsicLowering/AArch64/expand-exp.ll
Transforms/PreISelIntrinsicLowering/AArch64/expand-log.ll
@@ -1338,13 +1278,8 @@ Transforms/PreISelIntrinsicLowering/RISCV/memset-pattern.ll
Transforms/PreISelIntrinsicLowering/X86/memcpy-inline-non-constant-len.ll
Transforms/PreISelIntrinsicLowering/X86/memset-inline-non-constant-len.ll
Transforms/PreISelIntrinsicLowering/X86/memset-pattern.ll
-Transforms/Reassociate/basictest.ll
-Transforms/SampleProfile/pseudo-probe-dangle.ll
-Transforms/SampleProfile/pseudo-probe-emit.ll
-Transforms/SampleProfile/pseudo-probe-profile.ll
Transforms/SampleProfile/pseudo-probe-profile-mismatch-thinlto.ll
Transforms/SampleProfile/remarks-hotness.ll
-Transforms/SampleProfile/remarks.ll
Transforms/SandboxVectorizer/special_opcodes.ll
Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-load.ll
Transforms/ScalarizeMaskedMemIntrin/AArch64/expand-masked-store.ll
@@ -1387,63 +1322,6 @@ Transforms/SimpleLoopUnswitch/pr60736.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch-freeze-individual-conditions.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch.ll
Transforms/SimpleLoopUnswitch/trivial-unswitch-logical-and-or.ll
-Transforms/SimplifyCFG/2006-12-08-Ptr-ICmp-Branch.ll
-Transforms/SimplifyCFG/2008-10-03-SpeculativelyExecuteBeforePHI.ll
-Transforms/SimplifyCFG/annotations.ll
-Transforms/SimplifyCFG/ARM/branch-fold-threshold.ll
-Transforms/SimplifyCFG/ARM/phi-eliminate.ll
-Transforms/SimplifyCFG/ARM/select-trunc-i64.ll
-Transforms/SimplifyCFG/ARM/switch-to-lookup-table.ll
-Transforms/SimplifyCFG/basictest.ll
-Transforms/SimplifyCFG/branch-cond-dont-merge.ll
-Transforms/SimplifyCFG/branch-fold-dbg.ll
-Transforms/SimplifyCFG/branch-fold.ll
-Transforms/SimplifyCFG/branch-fold-multiple.ll
-Transforms/SimplifyCFG/branch-fold-threshold.ll
-Transforms/SimplifyCFG/branch-nested.ll
-Transforms/SimplifyCFG/clamp.ll
-Transforms/SimplifyCFG/common-code-hoisting.ll
-Transforms/SimplifyCFG/common-dest-folding.ll
-Transforms/SimplifyCFG/extract-cost.ll
-Transforms/SimplifyCFG/fold-branch-to-common-dest-free-cost.ll
-Transforms/SimplifyCFG/fold-branch-to-common-dest.ll
-Transforms/SimplifyCFG/fold-branch-to-common-dest-two-preds-cost.ll
-Transforms/SimplifyCFG/fold-debug-location.ll
-Transforms/SimplifyCFG/Hexagon/switch-to-lookup-table.ll
-Transforms/SimplifyCFG/hoist-dbgvalue.ll
-Transforms/SimplifyCFG/indirectbr.ll
-Transforms/SimplifyCFG/merge-cond-stores-2.ll
-Transforms/SimplifyCFG/merge-cond-stores.ll
-Transforms/SimplifyCFG/multiple-phis.ll
-Transforms/SimplifyCFG/PhiBlockMerge.ll
-Transforms/SimplifyCFG/pr48641.ll
-Transforms/SimplifyCFG/preserve-store-alignment.ll
-Transforms/SimplifyCFG/rangereduce.ll
-Transforms/SimplifyCFG/RISCV/select-trunc-i64.ll
-Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv32.ll
-Transforms/SimplifyCFG/RISCV/switch_to_lookup_table-rv64.ll
-Transforms/SimplifyCFG/safe-abs.ll
-Transforms/SimplifyCFG/SimplifyEqualityComparisonWithOnlyPredecessor-domtree-preservation-edgecase.ll
-Transforms/SimplifyCFG/speculate-blocks.ll
-Transforms/SimplifyCFG/speculate-derefable-load.ll
-Transforms/SimplifyCFG/switch_create-custom-dl.ll
-Transforms/SimplifyCFG/switch_create.ll
-Transforms/SimplifyCFG/switch-dup-bbs.ll
-Transforms/SimplifyCFG/switch_mask.ll
-Transforms/SimplifyCFG/switch_msan.ll
-Transforms/SimplifyCFG/switch-on-const-select.ll
-Transforms/SimplifyCFG/switchToSelect-domtree-preservation-edgecase.ll
-Transforms/SimplifyCFG/switch-to-select-multiple-edge-per-block-phi.ll
-Transforms/SimplifyCFG/switch-to-select-two-case.ll
-Transforms/SimplifyCFG/switch-transformations-no-lut.ll
-Transforms/SimplifyCFG/wc-widen-block.ll
-Transforms/SimplifyCFG/X86/disable-lookup-table.ll
-Transforms/SimplifyCFG/X86/hoist-loads-stores-with-cf.ll
-Transforms/SimplifyCFG/X86/SpeculativeExec.ll
-Transforms/SimplifyCFG/X86/switch-to-lookup-globals.ll
-Transforms/SimplifyCFG/X86/switch-to-lookup-large-types.ll
-Transforms/SimplifyCFG/X86/switch_to_lookup_table_big.ll
-Transforms/SimplifyCFG/X86/switch_to_lookup_table.ll
Transforms/SLPVectorizer/AArch64/gather-root.ll
Transforms/SLPVectorizer/AArch64/horizontal.ll
Transforms/SLPVectorizer/AArch64/loadi8.ll
@@ -1471,7 +1349,6 @@ Transforms/SLPVectorizer/reduction-gather-non-scheduled-extracts.ll
Transforms/SLPVectorizer/reorder-node.ll
Transforms/SLPVectorizer/reused-buildvector-matching-vectorized-node.ll
Transforms/SLPVectorizer/revec.ll
-Transforms/SLPVectorizer/RISCV/long-gep-chains.ll
Transforms/SLPVectorizer/RISCV/remarks_cmp_sel_min_max.ll
Transforms/SLPVectorizer/RISCV/remarks-insert-into-small-vector.ll
Transforms/SLPVectorizer/RISCV/reordered-interleaved-loads.ll
@@ -1556,4 +1433,3 @@ Transforms/Util/libcalls-opt-remarks.ll
Transforms/Util/lowerswitch.ll
Transforms/VectorCombine/AArch64/shuffletoidentity.ll
Transforms/VectorCombine/X86/shuffle-of-selects.ll
-Transforms/WholeProgramDevirt/unique-retval-same-vtable.ll
diff --git a/llvm/utils/vim/syntax/llvm.vim b/llvm/utils/vim/syntax/llvm.vim
index e3b8ff8..e048caa 100644
--- a/llvm/utils/vim/syntax/llvm.vim
+++ b/llvm/utils/vim/syntax/llvm.vim
@@ -163,6 +163,7 @@ syn keyword llvmKeyword
\ returns_twice
\ safestack
\ sanitize_address
+ \ sanitize_alloc_token
\ sanitize_hwaddress
\ sanitize_memory
\ sanitize_memtag
diff --git a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
index b644823..1faaf6b 100644
--- a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
+++ b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
@@ -258,6 +258,7 @@ patterns:
\\breturns_twice\\b|\
\\bsafestack\\b|\
\\bsanitize_address\\b|\
+ \\bsanitize_alloc_token\\b|\
\\bsanitize_hwaddress\\b|\
\\bsanitize_memory\\b|\
\\bsanitize_memtag\\b|\