1 //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file defines the enums for the .ll lexer.
12 //===----------------------------------------------------------------------===//
14 #ifndef LIBS_ASMPARSER_LLTOKEN_H
15 #define LIBS_ASMPARSER_LLTOKEN_H
23 // Tokens with no info.
27 lsquare
, rsquare
, // [ ]
28 lbrace
, rbrace
, // { }
30 lparen
, rparen
, // ( )
31 backslash
, // \ (not /)
36 kw_declare
, kw_define
,
37 kw_global
, kw_constant
,
39 kw_private
, kw_internal
, kw_linkonce
, kw_linkonce_odr
, kw_weak
, kw_weak_odr
,
40 kw_appending
, kw_dllimport
, kw_dllexport
, kw_common
,kw_available_externally
,
41 kw_default
, kw_hidden
, kw_protected
,
43 kw_external
, kw_thread_local
,
63 kw_cc
, kw_ccc
, kw_fastcc
, kw_coldcc
, kw_x86_stdcallcc
, kw_x86_fastcallcc
,
87 kw_eq
, kw_ne
, kw_slt
, kw_sgt
, kw_sle
, kw_sge
, kw_ult
, kw_ugt
, kw_ule
,
88 kw_uge
, kw_oeq
, kw_one
, kw_olt
, kw_ogt
, kw_ole
, kw_oge
, kw_ord
, kw_uno
,
91 // Instruction Opcodes (Opcode in UIntVal).
92 kw_add
, kw_sub
, kw_mul
, kw_udiv
, kw_sdiv
, kw_fdiv
,
93 kw_urem
, kw_srem
, kw_frem
, kw_shl
, kw_lshr
, kw_ashr
,
94 kw_and
, kw_or
, kw_xor
, kw_icmp
, kw_fcmp
, kw_vicmp
, kw_vfcmp
,
97 kw_trunc
, kw_zext
, kw_sext
, kw_fptrunc
, kw_fpext
, kw_uitofp
, kw_sitofp
,
98 kw_fptoui
, kw_fptosi
, kw_inttoptr
, kw_ptrtoint
, kw_bitcast
,
101 kw_ret
, kw_br
, kw_switch
, kw_invoke
, kw_unwind
, kw_unreachable
,
103 kw_malloc
, kw_alloca
, kw_free
, kw_load
, kw_store
, kw_getelementptr
,
105 kw_extractelement
, kw_insertelement
, kw_shufflevector
, kw_getresult
,
106 kw_extractvalue
, kw_insertvalue
,
108 // Unsigned Valued tokens (UIntVal).
112 // String valued tokens (StrVal).
114 GlobalVar
, // @foo @"foo"
115 LocalVar
, // %foo %"foo"
116 StringConstant
, // "foo"
118 // Metadata valued tokens.
119 Metadata
, // !"foo" !{i8 42}
121 // Type valued tokens (TyVal).
124 APFloat
, // APFloatVal
127 } // end namespace lltok
128 } // end namespace llvm