diff options
Diffstat (limited to 'contrib/llvm-project/llvm/lib/AsmParser/LLToken.h')
| -rw-r--r-- | contrib/llvm-project/llvm/lib/AsmParser/LLToken.h | 470 |
1 files changed, 470 insertions, 0 deletions
diff --git a/contrib/llvm-project/llvm/lib/AsmParser/LLToken.h b/contrib/llvm-project/llvm/lib/AsmParser/LLToken.h new file mode 100644 index 000000000000..0e9ba4db4742 --- /dev/null +++ b/contrib/llvm-project/llvm/lib/AsmParser/LLToken.h @@ -0,0 +1,470 @@ +//===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file defines the enums for the .ll lexer. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_LIB_ASMPARSER_LLTOKEN_H +#define LLVM_LIB_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, // ( ) + exclaim, // ! + bar, // | + colon, // : + + kw_vscale, + kw_x, + kw_true, + kw_false, + kw_declare, + kw_define, + kw_global, + kw_constant, + + kw_dso_local, + kw_dso_preemptable, + + kw_private, + kw_internal, + kw_linkonce, + kw_linkonce_odr, + kw_weak, // Used as a linkage, and a modifier for "cmpxchg". + kw_weak_odr, + kw_appending, + kw_dllimport, + kw_dllexport, + kw_common, + kw_available_externally, + kw_default, + kw_hidden, + kw_protected, + kw_unnamed_addr, + kw_local_unnamed_addr, + kw_externally_initialized, + kw_extern_weak, + kw_external, + kw_thread_local, + kw_localdynamic, + kw_initialexec, + kw_localexec, + kw_zeroinitializer, + kw_undef, + kw_null, + kw_none, + kw_to, + kw_caller, + kw_within, + kw_from, + kw_tail, + kw_musttail, + kw_notail, + kw_target, + kw_triple, + kw_source_filename, + kw_unwind, + kw_deplibs, // FIXME: Remove in 4.0 + kw_datalayout, + kw_volatile, + kw_atomic, + kw_unordered, + kw_monotonic, + kw_acquire, + kw_release, + kw_acq_rel, + kw_seq_cst, + kw_syncscope, + kw_nnan, + kw_ninf, + kw_nsz, + kw_arcp, + kw_contract, + kw_reassoc, + kw_afn, + kw_fast, + kw_nuw, + kw_nsw, + kw_exact, + kw_inbounds, + kw_inrange, + kw_align, + kw_addrspace, + kw_section, + kw_partition, + kw_alias, + kw_ifunc, + kw_module, + kw_asm, + kw_sideeffect, + kw_alignstack, + kw_inteldialect, + kw_gc, + kw_prefix, + kw_prologue, + kw_c, + + kw_cc, + kw_ccc, + kw_fastcc, + kw_coldcc, + kw_intel_ocl_bicc, + kw_x86_stdcallcc, + kw_x86_fastcallcc, + kw_x86_thiscallcc, + kw_x86_vectorcallcc, + kw_x86_regcallcc, + kw_arm_apcscc, + kw_arm_aapcscc, + kw_arm_aapcs_vfpcc, + kw_aarch64_vector_pcs, + kw_msp430_intrcc, + kw_avr_intrcc, + kw_avr_signalcc, + kw_ptx_kernel, + kw_ptx_device, + kw_spir_kernel, + kw_spir_func, + kw_x86_64_sysvcc, + kw_win64cc, + kw_webkit_jscc, + kw_anyregcc, + kw_swiftcc, + kw_preserve_mostcc, + kw_preserve_allcc, + kw_ghccc, + kw_x86_intrcc, + kw_hhvmcc, + kw_hhvm_ccc, + kw_cxx_fast_tlscc, + kw_amdgpu_vs, + kw_amdgpu_ls, + kw_amdgpu_hs, + kw_amdgpu_es, + kw_amdgpu_gs, + kw_amdgpu_ps, + kw_amdgpu_cs, + kw_amdgpu_kernel, + + // Attributes: + kw_attributes, + kw_allocsize, + kw_alwaysinline, + kw_argmemonly, + kw_sanitize_address, + kw_sanitize_hwaddress, + kw_sanitize_memtag, + kw_builtin, + kw_byval, + kw_inalloca, + kw_cold, + kw_convergent, + kw_dereferenceable, + kw_dereferenceable_or_null, + kw_inaccessiblememonly, + kw_inaccessiblemem_or_argmemonly, + kw_inlinehint, + kw_inreg, + kw_jumptable, + kw_minsize, + kw_naked, + kw_nest, + kw_noalias, + kw_nobuiltin, + kw_nocapture, + kw_noduplicate, + kw_nofree, + kw_noimplicitfloat, + kw_noinline, + kw_norecurse, + kw_nonlazybind, + kw_nonnull, + kw_noredzone, + kw_noreturn, + kw_nosync, + kw_nocf_check, + kw_nounwind, + kw_optforfuzzing, + kw_optnone, + kw_optsize, + kw_readnone, + kw_readonly, + kw_returned, + kw_returns_twice, + kw_signext, + kw_speculatable, + kw_ssp, + kw_sspreq, + kw_sspstrong, + kw_safestack, + kw_shadowcallstack, + kw_sret, + kw_sanitize_thread, + kw_sanitize_memory, + kw_speculative_load_hardening, + kw_strictfp, + kw_swifterror, + kw_swiftself, + kw_uwtable, + kw_willreturn, + kw_writeonly, + kw_zeroext, + kw_immarg, + + kw_type, + kw_opaque, + + kw_comdat, + + // Comdat types + kw_any, + kw_exactmatch, + kw_largest, + kw_noduplicates, + kw_samesize, + + 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_fneg, + 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_addrspacecast, + 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_resume, + kw_unreachable, + kw_cleanupret, + kw_catchswitch, + kw_catchret, + kw_catchpad, + kw_cleanuppad, + kw_callbr, + + 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, + + // Metadata types. + kw_distinct, + + // Use-list order directives. + kw_uselistorder, + kw_uselistorder_bb, + + // Summary index keywords + kw_path, + kw_hash, + kw_gv, + kw_guid, + kw_name, + kw_summaries, + kw_flags, + kw_linkage, + kw_notEligibleToImport, + kw_live, + kw_dsoLocal, + kw_canAutoHide, + kw_function, + kw_insts, + kw_funcFlags, + kw_readNone, + kw_readOnly, + kw_noRecurse, + kw_returnDoesNotAlias, + kw_noInline, + kw_calls, + kw_callee, + kw_hotness, + kw_unknown, + kw_hot, + kw_critical, + kw_relbf, + kw_variable, + kw_vTableFuncs, + kw_virtFunc, + kw_aliasee, + kw_refs, + kw_typeIdInfo, + kw_typeTests, + kw_typeTestAssumeVCalls, + kw_typeCheckedLoadVCalls, + kw_typeTestAssumeConstVCalls, + kw_typeCheckedLoadConstVCalls, + kw_vFuncId, + kw_offset, + kw_args, + kw_typeid, + kw_typeidCompatibleVTable, + kw_summary, + kw_typeTestRes, + kw_kind, + kw_unsat, + kw_byteArray, + kw_inline, + kw_single, + kw_allOnes, + kw_sizeM1BitWidth, + kw_alignLog2, + kw_sizeM1, + kw_bitMask, + kw_inlineBits, + kw_wpdResolutions, + kw_wpdRes, + kw_indir, + kw_singleImpl, + kw_branchFunnel, + kw_singleImplName, + kw_resByArg, + kw_byArg, + kw_uniformRetVal, + kw_uniqueRetVal, + kw_virtualConstProp, + kw_info, + kw_byte, + kw_bit, + kw_varFlags, + + // Unsigned Valued tokens (UIntVal). + LabelID, // 42: + GlobalID, // @42 + LocalVarID, // %42 + AttrGrpID, // #42 + SummaryID, // ^42 + + // String valued tokens (StrVal). + LabelStr, // foo: + GlobalVar, // @foo @"foo" + ComdatVar, // $foo + LocalVar, // %foo %"foo" + MetadataVar, // !foo + StringConstant, // "foo" + DwarfTag, // DW_TAG_foo + DwarfAttEncoding, // DW_ATE_foo + DwarfVirtuality, // DW_VIRTUALITY_foo + DwarfLang, // DW_LANG_foo + DwarfCC, // DW_CC_foo + EmissionKind, // lineTablesOnly + NameTableKind, // GNU + DwarfOp, // DW_OP_foo + DIFlag, // DIFlagFoo + DISPFlag, // DISPFlagFoo + DwarfMacinfo, // DW_MACINFO_foo + ChecksumKind, // CSK_foo + + // Type valued tokens (TyVal). + Type, + + APFloat, // APFloatVal + APSInt // APSInt +}; +} // end namespace lltok +} // end namespace llvm + +#endif |
