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
143 kw_aarch64_vector_pcs,
178 kw_sanitize_hwaddress,
186 kw_dereferenceable_or_null,
187 kw_inaccessiblememonly,
188 kw_inaccessiblemem_or_argmemonly,
227 kw_speculative_load_hardening,
270 // atomicrmw operations that aren't also instruction keywords.
278 // Instruction Opcodes (Opcode in UIntVal).
357 // Use-list order directives.
361 // Summary index keywords
370 kw_notEligibleToImport,
380 kw_returnDoesNotAlias,
396 kw_typeTestAssumeVCalls,
397 kw_typeCheckedLoadVCalls,
398 kw_typeTestAssumeConstVCalls,
399 kw_typeCheckedLoadConstVCalls,
404 kw_typeidCompatibleVTable,
434 // Unsigned Valued tokens (UIntVal).
441 // String valued tokens (StrVal).
443 GlobalVar, // @foo @"foo"
445 LocalVar, // %foo %"foo"
447 StringConstant, // "foo"
448 DwarfTag, // DW_TAG_foo
449 DwarfAttEncoding, // DW_ATE_foo
450 DwarfVirtuality, // DW_VIRTUALITY_foo
451 DwarfLang, // DW_LANG_foo
452 DwarfCC, // DW_CC_foo
453 EmissionKind, // lineTablesOnly
454 NameTableKind, // GNU
455 DwarfOp, // DW_OP_foo
457 DISPFlag, // DISPFlagFoo
458 DwarfMacinfo, // DW_MACINFO_foo
459 ChecksumKind, // CSK_foo
461 // Type valued tokens (TyVal).
464 APFloat, // APFloatVal
467 } // end namespace lltok
468 } // end namespace llvm