LLVM  4.0.0
LLToken.h
Go to the documentation of this file.
1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
2 //
3 // The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9 //
10 // This file defines the enums for the .ll lexer.
11 //
12 //===----------------------------------------------------------------------===//
13 
14 #ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H
15 #define LLVM_LIB_ASMPARSER_LLTOKEN_H
16 
17 namespace llvm {
18 namespace lltok {
19 enum Kind {
20  // Markers
21  Eof,
23 
24  // Tokens with no info.
25  dotdotdot, // ...
27  comma, // = ,
28  star, // *
30  rsquare, // [ ]
32  rbrace, // { }
34  greater, // < >
36  rparen, // ( )
37  exclaim, // !
38  bar, // |
39 
47 
52  kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
86  kw_deplibs, // FIXME: Remove in 4.0
121 
159 
160  // Attributes:
212 
215 
217 
218  // Comdat types
224 
245 
246  // atomicrmw operations that aren't also instruction keywords.
253 
254  // Instruction Opcodes (Opcode in UIntVal).
275 
293 
299 
312 
320 
327 
328  // Metadata types.
330 
331  // Use-list order directives.
334 
335  // Unsigned Valued tokens (UIntVal).
336  GlobalID, // @42
337  LocalVarID, // %42
338  AttrGrpID, // #42
339 
340  // String valued tokens (StrVal).
341  LabelStr, // foo:
342  GlobalVar, // @foo @"foo"
343  ComdatVar, // $foo
344  LocalVar, // %foo %"foo"
345  MetadataVar, // !foo
346  StringConstant, // "foo"
347  DwarfTag, // DW_TAG_foo
348  DwarfAttEncoding, // DW_ATE_foo
349  DwarfVirtuality, // DW_VIRTUALITY_foo
350  DwarfLang, // DW_LANG_foo
351  DwarfCC, // DW_CC_foo
352  EmissionKind, // lineTablesOnly
353  DwarfOp, // DW_OP_foo
354  DIFlag, // DIFlagFoo
355  DwarfMacinfo, // DW_MACINFO_foo
356  ChecksumKind, // CSK_foo
357 
358  // Type valued tokens (TyVal).
360 
361  APFloat, // APFloatVal
362  APSInt // APSInt
363 };
364 } // end namespace lltok
365 } // end namespace llvm
366 
367 #endif