1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 // This file defines the enums for the .ll lexer.
11 //===----------------------------------------------------------------------===//
13 #ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H
14 #define LLVM_LIB_ASMPARSER_LLTOKEN_H
23 // Tokens with no info.
56 kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
62 kw_available_externally,
67 kw_local_unnamed_addr,
68 kw_externally_initialized,
90 kw_deplibs, // FIXME: Remove in 4.0
144 kw_aarch64_vector_pcs,
145 kw_aarch64_sve_vector_pcs,
181 kw_sanitize_hwaddress,
189 kw_dereferenceable_or_null,
190 kw_inaccessiblememonly,
191 kw_inaccessiblemem_or_argmemonly,
230 kw_speculative_load_hardening,
273 // atomicrmw operations that aren't also instruction keywords.
281 // Instruction Opcodes (Opcode in UIntVal).
362 // Use-list order directives.
366 // Summary index keywords
375 kw_notEligibleToImport,
385 kw_returnDoesNotAlias,
402 kw_typeTestAssumeVCalls,
403 kw_typeCheckedLoadVCalls,
404 kw_typeTestAssumeConstVCalls,
405 kw_typeCheckedLoadConstVCalls,
410 kw_typeidCompatibleVTable,
440 // Unsigned Valued tokens (UIntVal).
447 // String valued tokens (StrVal).
449 GlobalVar, // @foo @"foo"
451 LocalVar, // %foo %"foo"
453 StringConstant, // "foo"
454 DwarfTag, // DW_TAG_foo
455 DwarfAttEncoding, // DW_ATE_foo
456 DwarfVirtuality, // DW_VIRTUALITY_foo
457 DwarfLang, // DW_LANG_foo
458 DwarfCC, // DW_CC_foo
459 EmissionKind, // lineTablesOnly
460 NameTableKind, // GNU
461 DwarfOp, // DW_OP_foo
463 DISPFlag, // DISPFlagFoo
464 DwarfMacinfo, // DW_MACINFO_foo
465 ChecksumKind, // CSK_foo
467 // Type valued tokens (TyVal).
470 APFloat, // APFloatVal
473 } // end namespace lltok
474 } // end namespace llvm