LLVM  9.0.0svn
LLToken.h
Go to the documentation of this file.
1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
2 //
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
6 //
7 //===----------------------------------------------------------------------===//
8 //
9 // This file defines the enums for the .ll lexer.
10 //
11 //===----------------------------------------------------------------------===//
12 
13 #ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H
14 #define LLVM_LIB_ASMPARSER_LLTOKEN_H
15 
16 namespace llvm {
17 namespace lltok {
18 enum Kind {
19  // Markers
20  Eof,
22 
23  // Tokens with no info.
24  dotdotdot, // ...
26  comma, // = ,
27  star, // *
29  rsquare, // [ ]
31  rbrace, // { }
33  greater, // < >
35  rparen, // ( )
36  exclaim, // !
37  bar, // |
38  colon, // :
39 
48 
51 
56  kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
90  kw_deplibs, // FIXME: Remove in 4.0
129 
171 
172  // Attributes:
232 
235 
237 
238  // Comdat types
244 
265 
266  // atomicrmw operations that aren't also instruction keywords.
273 
274  // Instruction Opcodes (Opcode in UIntVal).
296 
314 
320 
334 
342 
349 
350  // Metadata types.
352 
353  // Use-list order directives.
356 
357  // Summary index keywords
426 
427  // Unsigned Valued tokens (UIntVal).
428  LabelID, // 42:
429  GlobalID, // @42
430  LocalVarID, // %42
431  AttrGrpID, // #42
432  SummaryID, // ^42
433 
434  // String valued tokens (StrVal).
435  LabelStr, // foo:
436  GlobalVar, // @foo @"foo"
437  ComdatVar, // $foo
438  LocalVar, // %foo %"foo"
439  MetadataVar, // !foo
440  StringConstant, // "foo"
441  DwarfTag, // DW_TAG_foo
442  DwarfAttEncoding, // DW_ATE_foo
443  DwarfVirtuality, // DW_VIRTUALITY_foo
444  DwarfLang, // DW_LANG_foo
445  DwarfCC, // DW_CC_foo
446  EmissionKind, // lineTablesOnly
448  DwarfOp, // DW_OP_foo
449  DIFlag, // DIFlagFoo
450  DISPFlag, // DISPFlagFoo
451  DwarfMacinfo, // DW_MACINFO_foo
452  ChecksumKind, // CSK_foo
453 
454  // Type valued tokens (TyVal).
456 
457  APFloat, // APFloatVal
458  APSInt // APSInt
459 };
460 } // end namespace lltok
461 } // end namespace llvm
462 
463 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23