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,
179 kw_sanitize_hwaddress,
187 kw_dereferenceable_or_null,
188 kw_inaccessiblememonly,
189 kw_inaccessiblemem_or_argmemonly,
228 kw_speculative_load_hardening,
271 // atomicrmw operations that aren't also instruction keywords.
279 // Instruction Opcodes (Opcode in UIntVal).
358 // Use-list order directives.
362 // Summary index keywords
371 kw_notEligibleToImport,
381 kw_returnDoesNotAlias,
397 kw_typeTestAssumeVCalls,
398 kw_typeCheckedLoadVCalls,
399 kw_typeTestAssumeConstVCalls,
400 kw_typeCheckedLoadConstVCalls,
405 kw_typeidCompatibleVTable,
435 // Unsigned Valued tokens (UIntVal).
442 // String valued tokens (StrVal).
444 GlobalVar, // @foo @"foo"
446 LocalVar, // %foo %"foo"
448 StringConstant, // "foo"
449 DwarfTag, // DW_TAG_foo
450 DwarfAttEncoding, // DW_ATE_foo
451 DwarfVirtuality, // DW_VIRTUALITY_foo
452 DwarfLang, // DW_LANG_foo
453 DwarfCC, // DW_CC_foo
454 EmissionKind, // lineTablesOnly
455 NameTableKind, // GNU
456 DwarfOp, // DW_OP_foo
458 DISPFlag, // DISPFlagFoo
459 DwarfMacinfo, // DW_MACINFO_foo
460 ChecksumKind, // CSK_foo
462 // Type valued tokens (TyVal).
465 APFloat, // APFloatVal
468 } // end namespace lltok
469 } // end namespace llvm