1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines the enums for the .ll lexer.
12 //===----------------------------------------------------------------------===//
14 #ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H
15 #define LLVM_LIB_ASMPARSER_LLTOKEN_H
24 // 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
142 kw_aarch64_vector_pcs,
177 kw_sanitize_hwaddress,
184 kw_dereferenceable_or_null,
185 kw_inaccessiblememonly,
186 kw_inaccessiblemem_or_argmemonly,
223 kw_speculative_load_hardening,
264 // atomicrmw operations that aren't also instruction keywords.
272 // Instruction Opcodes (Opcode in UIntVal).
350 // Use-list order directives.
354 // Summary index keywords
363 kw_notEligibleToImport,
372 kw_returnDoesNotAlias,
386 kw_typeTestAssumeVCalls,
387 kw_typeCheckedLoadVCalls,
388 kw_typeTestAssumeConstVCalls,
389 kw_typeCheckedLoadConstVCalls,
423 // Unsigned Valued tokens (UIntVal).
429 // String valued tokens (StrVal).
431 GlobalVar, // @foo @"foo"
433 LocalVar, // %foo %"foo"
435 StringConstant, // "foo"
436 DwarfTag, // DW_TAG_foo
437 DwarfAttEncoding, // DW_ATE_foo
438 DwarfVirtuality, // DW_VIRTUALITY_foo
439 DwarfLang, // DW_LANG_foo
440 DwarfCC, // DW_CC_foo
441 EmissionKind, // lineTablesOnly
442 NameTableKind, // GNU
443 DwarfOp, // DW_OP_foo
445 DISPFlag, // DISPFlagFoo
446 DwarfMacinfo, // DW_MACINFO_foo
447 ChecksumKind, // CSK_foo
449 // Type valued tokens (TyVal).
452 APFloat, // APFloatVal
455 } // end namespace lltok
456 } // end namespace llvm