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_linker_private
, kw_internal
, kw_linkonce
, kw_linkonce_odr
,
40 kw_weak
, kw_weak_odr
, kw_appending
, kw_dllimport
, kw_dllexport
, kw_common
,
41 kw_available_externally
,
42 kw_default
, kw_hidden
, kw_protected
,
44 kw_external
, kw_thread_local
,
68 kw_cc
, kw_ccc
, kw_fastcc
, kw_coldcc
,
69 kw_x86_stdcallcc
, kw_x86_fastcallcc
,
70 kw_arm_apcscc
, kw_arm_aapcscc
, kw_arm_aapcs_vfpcc
,
97 kw_eq
, kw_ne
, kw_slt
, kw_sgt
, kw_sle
, kw_sge
, kw_ult
, kw_ugt
, kw_ule
,
98 kw_uge
, kw_oeq
, kw_one
, kw_olt
, kw_ogt
, kw_ole
, kw_oge
, kw_ord
, kw_uno
,
101 // Instruction Opcodes (Opcode in UIntVal).
102 kw_add
, kw_fadd
, kw_sub
, kw_fsub
, kw_mul
, kw_fmul
,
103 kw_udiv
, kw_sdiv
, kw_fdiv
,
104 kw_urem
, kw_srem
, kw_frem
, kw_shl
, kw_lshr
, kw_ashr
,
105 kw_and
, kw_or
, kw_xor
, kw_icmp
, kw_fcmp
,
108 kw_trunc
, kw_zext
, kw_sext
, kw_fptrunc
, kw_fpext
, kw_uitofp
, kw_sitofp
,
109 kw_fptoui
, kw_fptosi
, kw_inttoptr
, kw_ptrtoint
, kw_bitcast
,
110 kw_select
, kw_va_arg
,
112 kw_ret
, kw_br
, kw_switch
, kw_invoke
, kw_unwind
, kw_unreachable
,
114 kw_malloc
, kw_alloca
, kw_free
, kw_load
, kw_store
, kw_getelementptr
,
116 kw_extractelement
, kw_insertelement
, kw_shufflevector
, kw_getresult
,
117 kw_extractvalue
, kw_insertvalue
,
119 // Unsigned Valued tokens (UIntVal).
123 // String valued tokens (StrVal).
125 GlobalVar
, // @foo @"foo"
126 LocalVar
, // %foo %"foo"
127 StringConstant
, // "foo"
130 // Metadata valued tokens.
131 Metadata
, // !"foo" !{i8 42}
133 // Type valued tokens (TyVal).
136 APFloat
, // APFloatVal
139 } // end namespace lltok
140 } // end namespace llvm