LLVM  6.0.0svn
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
122 
163 
164  // Attributes:
218 
221 
223 
224  // Comdat types
230 
251 
252  // atomicrmw operations that aren't also instruction keywords.
259 
260  // Instruction Opcodes (Opcode in UIntVal).
281 
299 
305 
318 
326 
333 
334  // Metadata types.
336 
337  // Use-list order directives.
340 
341  // Unsigned Valued tokens (UIntVal).
342  GlobalID, // @42
343  LocalVarID, // %42
344  AttrGrpID, // #42
345 
346  // String valued tokens (StrVal).
347  LabelStr, // foo:
348  GlobalVar, // @foo @"foo"
349  ComdatVar, // $foo
350  LocalVar, // %foo %"foo"
351  MetadataVar, // !foo
352  StringConstant, // "foo"
353  DwarfTag, // DW_TAG_foo
354  DwarfAttEncoding, // DW_ATE_foo
355  DwarfVirtuality, // DW_VIRTUALITY_foo
356  DwarfLang, // DW_LANG_foo
357  DwarfCC, // DW_CC_foo
358  EmissionKind, // lineTablesOnly
359  DwarfOp, // DW_OP_foo
360  DIFlag, // DIFlagFoo
361  DwarfMacinfo, // DW_MACINFO_foo
362  ChecksumKind, // CSK_foo
363 
364  // Type valued tokens (TyVal).
366 
367  APFloat, // APFloatVal
368  APSInt // APSInt
369 };
370 } // end namespace lltok
371 } // end namespace llvm
372 
373 #endif
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24