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 /)
37 kw_declare
, kw_define
,
38 kw_global
, kw_constant
,
40 kw_private
, kw_linker_private
, kw_linker_private_weak
,
41 kw_linker_private_weak_def_auto
, kw_internal
,
42 kw_linkonce
, kw_linkonce_odr
, kw_weak
, kw_weak_odr
, kw_appending
,
43 kw_dllimport
, kw_dllexport
, kw_common
, kw_available_externally
,
44 kw_default
, kw_hidden
, kw_protected
,
47 kw_external
, kw_thread_local
,
72 kw_cc
, kw_ccc
, kw_fastcc
, kw_coldcc
,
73 kw_x86_stdcallcc
, kw_x86_fastcallcc
, kw_x86_thiscallcc
,
74 kw_arm_apcscc
, kw_arm_aapcscc
, kw_arm_aapcs_vfpcc
,
76 kw_ptx_kernel
, kw_ptx_device
,
105 kw_eq
, kw_ne
, kw_slt
, kw_sgt
, kw_sle
, kw_sge
, kw_ult
, kw_ugt
, kw_ule
,
106 kw_uge
, kw_oeq
, kw_one
, kw_olt
, kw_ogt
, kw_ole
, kw_oge
, kw_ord
, kw_uno
,
109 // Instruction Opcodes (Opcode in UIntVal).
110 kw_add
, kw_fadd
, kw_sub
, kw_fsub
, kw_mul
, kw_fmul
,
111 kw_udiv
, kw_sdiv
, kw_fdiv
,
112 kw_urem
, kw_srem
, kw_frem
, kw_shl
, kw_lshr
, kw_ashr
,
113 kw_and
, kw_or
, kw_xor
, kw_icmp
, kw_fcmp
,
116 kw_trunc
, kw_zext
, kw_sext
, kw_fptrunc
, kw_fpext
, kw_uitofp
, kw_sitofp
,
117 kw_fptoui
, kw_fptosi
, kw_inttoptr
, kw_ptrtoint
, kw_bitcast
,
118 kw_select
, kw_va_arg
,
120 kw_ret
, kw_br
, kw_switch
, kw_indirectbr
, kw_invoke
, kw_unwind
,
123 kw_malloc
, kw_alloca
, kw_free
, kw_load
, kw_store
, kw_getelementptr
,
125 kw_extractelement
, kw_insertelement
, kw_shufflevector
, kw_getresult
,
126 kw_extractvalue
, kw_insertvalue
, kw_blockaddress
,
128 // Unsigned Valued tokens (UIntVal).
132 // String valued tokens (StrVal).
134 GlobalVar
, // @foo @"foo"
135 LocalVar
, // %foo %"foo"
137 StringConstant
, // "foo"
139 // Type valued tokens (TyVal).
142 APFloat
, // APFloatVal
145 } // end namespace lltok
146 } // end namespace llvm