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:
236 
239 
241 
242  // Comdat types
248 
269 
270  // atomicrmw operations that aren't also instruction keywords.
277 
278  // Instruction Opcodes (Opcode in UIntVal).
300 
318 
324 
338 
346 
353 
354  // Metadata types.
356 
357  // Use-list order directives.
360 
361  // Summary index keywords
433 
434  // Unsigned Valued tokens (UIntVal).
435  LabelID, // 42:
436  GlobalID, // @42
437  LocalVarID, // %42
438  AttrGrpID, // #42
439  SummaryID, // ^42
440 
441  // String valued tokens (StrVal).
442  LabelStr, // foo:
443  GlobalVar, // @foo @"foo"
444  ComdatVar, // $foo
445  LocalVar, // %foo %"foo"
446  MetadataVar, // !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
455  DwarfOp, // DW_OP_foo
456  DIFlag, // DIFlagFoo
457  DISPFlag, // DISPFlagFoo
458  DwarfMacinfo, // DW_MACINFO_foo
459  ChecksumKind, // CSK_foo
460 
461  // Type valued tokens (TyVal).
463 
464  APFloat, // APFloatVal
465  APSInt // APSInt
466 };
467 } // end namespace lltok
468 } // end namespace llvm
469 
470 #endif
This class represents lattice values for constants.
Definition: AllocatorList.h:23