| //===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===// | |
| // | |
| // The LLVM Compiler Infrastructure | |
| // | |
| // This file is distributed under the University of Illinois Open Source | |
| // License. See LICENSE.TXT for details. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| // | |
| // This file defines the enums for the .ll lexer. | |
| // | |
| //===----------------------------------------------------------------------===// | |
| #ifndef LIBS_ASMPARSER_LLTOKEN_H | |
| #define LIBS_ASMPARSER_LLTOKEN_H | |
| namespace llvm { | |
| namespace lltok { | |
| enum Kind { | |
| // Markers | |
| Eof, Error, | |
| // Tokens with no info. | |
| dotdotdot, // ... | |
| equal, comma, // = , | |
| star, // * | |
| lsquare, rsquare, // [ ] | |
| lbrace, rbrace, // { } | |
| less, greater, // < > | |
| lparen, rparen, // ( ) | |
| backslash, // \ (not /) | |
| exclaim, // ! | |
| kw_x, | |
| kw_true, kw_false, | |
| kw_declare, kw_define, | |
| kw_global, kw_constant, | |
| kw_private, kw_linker_private, kw_linker_private_weak, | |
| kw_linker_private_weak_def_auto, kw_internal, | |
| kw_linkonce, kw_linkonce_odr, kw_weak, kw_weak_odr, kw_appending, | |
| kw_dllimport, kw_dllexport, kw_common, kw_available_externally, | |
| kw_default, kw_hidden, kw_protected, | |
| kw_unnamed_addr, | |
| kw_extern_weak, | |
| kw_external, kw_thread_local, | |
| kw_zeroinitializer, | |
| kw_undef, kw_null, | |
| kw_to, | |
| kw_tail, | |
| kw_target, | |
| kw_triple, | |
| kw_deplibs, | |
| kw_datalayout, | |
| kw_volatile, | |
| kw_atomic, | |
| kw_unordered, kw_monotonic, kw_acquire, kw_release, kw_acq_rel, kw_seq_cst, | |
| kw_singlethread, | |
| kw_nuw, | |
| kw_nsw, | |
| kw_exact, | |
| kw_inbounds, | |
| kw_align, | |
| kw_addrspace, | |
| kw_section, | |
| kw_alias, | |
| kw_module, | |
| kw_asm, | |
| kw_sideeffect, | |
| kw_alignstack, | |
| kw_gc, | |
| kw_c, | |
| kw_cc, kw_ccc, kw_fastcc, kw_coldcc, | |
| kw_x86_stdcallcc, kw_x86_fastcallcc, kw_x86_thiscallcc, | |
| kw_arm_apcscc, kw_arm_aapcscc, kw_arm_aapcs_vfpcc, | |
| kw_msp430_intrcc, | |
| kw_ptx_kernel, kw_ptx_device, | |
| kw_signext, | |
| kw_zeroext, | |
| kw_inreg, | |
| kw_sret, | |
| kw_nounwind, | |
| kw_noreturn, | |
| kw_noalias, | |
| kw_nocapture, | |
| kw_byval, | |
| kw_nest, | |
| kw_readnone, | |
| kw_readonly, | |
| kw_uwtable, | |
| kw_returns_twice, | |
| kw_inlinehint, | |
| kw_noinline, | |
| kw_alwaysinline, | |
| kw_optsize, | |
| kw_ssp, | |
| kw_sspreq, | |
| kw_noredzone, | |
| kw_noimplicitfloat, | |
| kw_naked, | |
| kw_nonlazybind, | |
| kw_type, | |
| kw_opaque, | |
| kw_eq, kw_ne, kw_slt, kw_sgt, kw_sle, kw_sge, kw_ult, kw_ugt, kw_ule, | |
| kw_uge, kw_oeq, kw_one, kw_olt, kw_ogt, kw_ole, kw_oge, kw_ord, kw_uno, | |
| kw_ueq, kw_une, | |
| // atomicrmw operations that aren't also instruction keywords. | |
| kw_xchg, kw_nand, kw_max, kw_min, kw_umax, kw_umin, | |
| // Instruction Opcodes (Opcode in UIntVal). | |
| kw_add, kw_fadd, kw_sub, kw_fsub, kw_mul, kw_fmul, | |
| kw_udiv, kw_sdiv, kw_fdiv, | |
| kw_urem, kw_srem, kw_frem, kw_shl, kw_lshr, kw_ashr, | |
| kw_and, kw_or, kw_xor, kw_icmp, kw_fcmp, | |
| kw_phi, kw_call, | |
| kw_trunc, kw_zext, kw_sext, kw_fptrunc, kw_fpext, kw_uitofp, kw_sitofp, | |
| kw_fptoui, kw_fptosi, kw_inttoptr, kw_ptrtoint, kw_bitcast, | |
| kw_select, kw_va_arg, | |
| kw_landingpad, kw_personality, kw_cleanup, kw_catch, kw_filter, | |
| kw_ret, kw_br, kw_switch, kw_indirectbr, kw_invoke, kw_unwind, kw_resume, | |
| kw_unreachable, | |
| kw_alloca, kw_load, kw_store, kw_fence, kw_cmpxchg, kw_atomicrmw, | |
| kw_getelementptr, | |
| kw_extractelement, kw_insertelement, kw_shufflevector, | |
| kw_extractvalue, kw_insertvalue, kw_blockaddress, | |
| // Unsigned Valued tokens (UIntVal). | |
| GlobalID, // @42 | |
| LocalVarID, // %42 | |
| // String valued tokens (StrVal). | |
| LabelStr, // foo: | |
| GlobalVar, // @foo @"foo" | |
| LocalVar, // %foo %"foo" | |
| MetadataVar, // !foo | |
| StringConstant, // "foo" | |
| // Type valued tokens (TyVal). | |
| Type, | |
| APFloat, // APFloatVal | |
| APSInt // APSInt | |
| }; | |
| } // end namespace lltok | |
| } // end namespace llvm | |
| #endif |