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 
50 
55  kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
89  kw_deplibs, // FIXME: Remove in 4.0
127 
168 
169  // Attributes:
224 
227 
229 
230  // Comdat types
236 
257 
258  // atomicrmw operations that aren't also instruction keywords.
265 
266  // Instruction Opcodes (Opcode in UIntVal).
287 
305 
311 
324 
332 
339 
340  // Metadata types.
342 
343  // Use-list order directives.
346 
347  // Unsigned Valued tokens (UIntVal).
348  GlobalID, // @42
349  LocalVarID, // %42
350  AttrGrpID, // #42
351 
352  // String valued tokens (StrVal).
353  LabelStr, // foo:
354  GlobalVar, // @foo @"foo"
355  ComdatVar, // $foo
356  LocalVar, // %foo %"foo"
357  MetadataVar, // !foo
358  StringConstant, // "foo"
359  DwarfTag, // DW_TAG_foo
360  DwarfAttEncoding, // DW_ATE_foo
361  DwarfVirtuality, // DW_VIRTUALITY_foo
362  DwarfLang, // DW_LANG_foo
363  DwarfCC, // DW_CC_foo
364  EmissionKind, // lineTablesOnly
365  DwarfOp, // DW_OP_foo
366  DIFlag, // DIFlagFoo
367  DwarfMacinfo, // DW_MACINFO_foo
368  ChecksumKind, // CSK_foo
369 
370  // Type valued tokens (TyVal).
372 
373  APFloat, // APFloatVal
374  APSInt // APSInt
375 };
376 } // end namespace lltok
377 } // end namespace llvm
378 
379 #endif
Compute iterated dominance frontiers using a linear time algorithm.
Definition: AllocatorList.h:24