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,
215 kw_null_pointer_is_valid,
234 kw_speculative_load_hardening,
277 // atomicrmw operations that aren't also instruction keywords.
285 // Instruction Opcodes (Opcode in UIntVal).
366 // Use-list order directives.
370 // Summary index keywords
380 kw_notEligibleToImport,
390 kw_returnDoesNotAlias,
409 kw_typeTestAssumeVCalls,
410 kw_typeCheckedLoadVCalls,
411 kw_typeTestAssumeConstVCalls,
412 kw_typeCheckedLoadConstVCalls,
417 kw_typeidCompatibleVTable,
448 // Unsigned Valued tokens (UIntVal).
455 // String valued tokens (StrVal).
457 GlobalVar, // @foo @"foo"
459 LocalVar, // %foo %"foo"
461 StringConstant, // "foo"
462 DwarfTag, // DW_TAG_foo
463 DwarfAttEncoding, // DW_ATE_foo
464 DwarfVirtuality, // DW_VIRTUALITY_foo
465 DwarfLang, // DW_LANG_foo
466 DwarfCC, // DW_CC_foo
467 EmissionKind, // lineTablesOnly
468 NameTableKind, // GNU
469 DwarfOp, // DW_OP_foo
471 DISPFlag, // DISPFlagFoo
472 DwarfMacinfo, // DW_MACINFO_foo
473 ChecksumKind, // CSK_foo
475 // Type valued tokens (TyVal).
478 APFloat, // APFloatVal
481 } // end namespace lltok
482 } // end namespace llvm