LLVM 20.0.0git
LLToken.h
Go to the documentation of this file.
1//===- LLToken.h - Token Codes for LLVM Assembly Files ----------*- C++ -*-===//
2//
3// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4// See https://llvm.org/LICENSE.txt for license information.
5// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6//
7//===----------------------------------------------------------------------===//
8//
9// This file defines the enums for the .ll lexer.
10//
11//===----------------------------------------------------------------------===//
12
13#ifndef LLVM_ASMPARSER_LLTOKEN_H
14#define LLVM_ASMPARSER_LLTOKEN_H
15
16namespace llvm {
17namespace lltok {
18enum Kind {
19 // Markers
22
23 // Tokens with no info.
24 dotdotdot, // ...
26 comma, // = ,
27 star, // *
29 rsquare, // [ ]
31 rbrace, // { }
33 greater, // < >
35 rparen, // ( )
36 exclaim, // !
37 bar, // |
38 colon, // :
39 hash, // #
40
49
52
57 kw_weak, // Used as a linkage, and a modifier for "cmpxchg".
133
188
189 // Attributes:
193#define GET_ATTR_NAMES
194#define ATTRIBUTE_ENUM(ENUM_NAME, DISPLAY_NAME) \
195 kw_##DISPLAY_NAME,
196#include "llvm/IR/Attributes.inc"
197
198 // Memory attribute:
204
205 // Legacy memory attributes:
209
210 // nofpclass attribute:
216 // kw_ninf, - already an fmf
221 // kw_sub, - already an instruction
227
230
232
233 // Comdat types
239
260
261 // atomicrmw operations that aren't also instruction keywords.
274
275 // Instruction Opcodes (Opcode in UIntVal).
297
315
321
335
343
354
356
357 // Metadata types.
359
360 // Use-list order directives.
363
364 // Summary index keywords
448 // The following are used by MemProf summary info.
456
457 // GV's with __attribute__((no_sanitize("address"))), or things in
458 // -fsanitize-ignorelist when built with ASan.
460 // GV's with __attribute__((no_sanitize("hwaddress"))), or things in
461 // -fsanitize-ignorelist when built with HWASan.
463 // GV's where the clang++ frontend (when ASan is used) notes that this is
464 // dynamically initialized, and thus needs ODR detection.
466
467 // Unsigned Valued tokens (UIntVal).
468 LabelID, // 42:
469 GlobalID, // @42
471 AttrGrpID, // #42
472 SummaryID, // ^42
473
474 // String valued tokens (StrVal).
475 LabelStr, // foo:
476 GlobalVar, // @foo @"foo"
477 ComdatVar, // $foo
478 LocalVar, // %foo %"foo"
479 MetadataVar, // !foo
481 DwarfTag, // DW_TAG_foo
482 DwarfAttEncoding, // DW_ATE_foo
483 DwarfVirtuality, // DW_VIRTUALITY_foo
484 DwarfLang, // DW_LANG_foo
485 DwarfCC, // DW_CC_foo
486 EmissionKind, // lineTablesOnly
488 DwarfOp, // DW_OP_foo
489 DIFlag, // DIFlagFoo
490 DISPFlag, // DISPFlagFoo
491 DwarfMacinfo, // DW_MACINFO_foo
492 ChecksumKind, // CSK_foo
493 DbgRecordType, // dbg_foo
494
495 // Type valued tokens (TyVal).
497
498 APFloat, // APFloatVal
499 APSInt // APSInt
501} // end namespace lltok
502} // end namespace llvm
503
504#endif
An arbitrary precision integer that knows its signedness.
Definition: APSInt.h:23
@ kw_samesize
Definition: LLToken.h:238
@ kw_msp430_intrcc
Definition: LLToken.h:153
@ kw_acquire
Definition: LLToken.h:97
@ kw_cxx_fast_tlscc
Definition: LLToken.h:172
@ kw_extractvalue
Definition: LLToken.h:348
@ kw_dso_preemptable
Definition: LLToken.h:51
@ DwarfVirtuality
Definition: LLToken.h:483
@ kw_arm_apcscc
Definition: LLToken.h:145
@ kw_inteldialect
Definition: LLToken.h:128
@ kw_x86_stdcallcc
Definition: LLToken.h:140
@ kw_constant
Definition: LLToken.h:48
@ kw_graalcc
Definition: LLToken.h:186
@ kw_initialexec
Definition: LLToken.h:74
@ kw_aarch64_sme_preservemost_from_x1
Definition: LLToken.h:151
@ kw_mustBeUnreachable
Definition: LLToken.h:394
@ kw_internal
Definition: LLToken.h:54
@ kw_hhvm_ccc
Definition: LLToken.h:171
@ kw_ptrtoint
Definition: LLToken.h:310
@ kw_anyregcc
Definition: LLToken.h:162
@ kw_no_sanitize_hwaddress
Definition: LLToken.h:462
@ kw_win64cc
Definition: LLToken.h:161
@ kw_datalayout
Definition: LLToken.h:92
@ kw_wpdResolutions
Definition: LLToken.h:433
@ kw_cleanup
Definition: LLToken.h:318
@ kw_ptrauth
Definition: LLToken.h:353
@ kw_canAutoHide
Definition: LLToken.h:378
@ kw_alwaysInline
Definition: LLToken.h:390
@ kw_notail
Definition: LLToken.h:87
@ kw_insertelement
Definition: LLToken.h:345
@ kw_linkonce
Definition: LLToken.h:55
@ kw_fptrunc
Definition: LLToken.h:303
@ kw_inaccessiblememonly
Definition: LLToken.h:207
@ kw_amdgpu_gfx
Definition: LLToken.h:183
@ kw_getelementptr
Definition: LLToken.h:342
@ kw_m68k_rtdcc
Definition: LLToken.h:185
@ kw_preserve_nonecc
Definition: LLToken.h:167
@ kw_x86_fastcallcc
Definition: LLToken.h:141
@ kw_readOnly
Definition: LLToken.h:386
@ kw_varFlags
Definition: LLToken.h:447
@ kw_partition
Definition: LLToken.h:121
@ kw_visibility
Definition: LLToken.h:374
@ kw_vFuncId
Definition: LLToken.h:414
@ kw_noUnwind
Definition: LLToken.h:391
@ kw_disjoint
Definition: LLToken.h:114
@ kw_bitMask
Definition: LLToken.h:430
@ kw_unordered
Definition: LLToken.h:95
@ kw_singleImpl
Definition: LLToken.h:436
@ kw_swiftcc
Definition: LLToken.h:163
@ kw_localexec
Definition: LLToken.h:75
@ kw_cfguard_checkcc
Definition: LLToken.h:139
@ kw_stackIds
Definition: LLToken.h:451
@ kw_typeCheckedLoadConstVCalls
Definition: LLToken.h:413
@ kw_private
Definition: LLToken.h:53
@ kw_aarch64_sve_vector_pcs
Definition: LLToken.h:149
@ kw_amdgpu_kernel
Definition: LLToken.h:182
@ kw_acq_rel
Definition: LLToken.h:99
@ kw_uselistorder
Definition: LLToken.h:361
@ MetadataVar
Definition: LLToken.h:479
@ kw_reassoc
Definition: LLToken.h:107
@ kw_blockcount
Definition: LLToken.h:372
@ kw_notEligibleToImport
Definition: LLToken.h:375
@ kw_noRecurse
Definition: LLToken.h:387
@ kw_dsoLocal
Definition: LLToken.h:377
@ kw_linkonce_odr
Definition: LLToken.h:56
@ kw_protected
Definition: LLToken.h:66
@ kw_contract
Definition: LLToken.h:106
@ kw_samesign
Definition: LLToken.h:117
@ kw_variable
Definition: LLToken.h:403
@ kw_dllexport
Definition: LLToken.h:61
@ kw_hotness
Definition: LLToken.h:399
@ kw_x86_vectorcallcc
Definition: LLToken.h:143
@ kw_ptx_device
Definition: LLToken.h:157
@ kw_personality
Definition: LLToken.h:317
@ kw_catchpad
Definition: LLToken.h:332
@ kw_spir_func
Definition: LLToken.h:159
@ kw_inbounds
Definition: LLToken.h:115
@ kw_atomic
Definition: LLToken.h:94
@ kw_readNone
Definition: LLToken.h:385
@ kw_declaration
Definition: LLToken.h:381
@ kw_define
Definition: LLToken.h:46
@ DwarfAttEncoding
Definition: LLToken.h:482
@ kw_critical
Definition: LLToken.h:401
@ kw_external
Definition: LLToken.h:71
@ kw_largest
Definition: LLToken.h:236
@ kw_amdgpu_hs
Definition: LLToken.h:175
@ kw_spir_kernel
Definition: LLToken.h:158
@ kw_local_unnamed_addr
Definition: LLToken.h:68
@ kw_amdgpu_es
Definition: LLToken.h:176
@ kw_hasUnknownCall
Definition: LLToken.h:393
@ LocalVarID
Definition: LLToken.h:470
@ kw_seq_cst
Definition: LLToken.h:100
@ kw_unwind
Definition: LLToken.h:91
@ kw_distinct
Definition: LLToken.h:358
@ kw_linkage
Definition: LLToken.h:373
@ kw_amdgpu_gs
Definition: LLToken.h:177
@ kw_x86_intrcc
Definition: LLToken.h:169
@ kw_addrspacecast
Definition: LLToken.h:312
@ kw_callsites
Definition: LLToken.h:449
@ kw_zeroinitializer
Definition: LLToken.h:76
@ StringConstant
Definition: LLToken.h:480
@ kw_x86_thiscallcc
Definition: LLToken.h:142
@ kw_false
Definition: LLToken.h:44
@ kw_unnamed_addr
Definition: LLToken.h:67
@ kw_uselistorder_bb
Definition: LLToken.h:362
@ NameTableKind
Definition: LLToken.h:487
@ kw_amdgpu_vs
Definition: LLToken.h:173
@ kw_inlineBits
Definition: LLToken.h:431
@ kw_weak_odr
Definition: LLToken.h:58
@ kw_udec_wrap
Definition: LLToken.h:271
@ kw_resByArg
Definition: LLToken.h:439
@ kw_inttoptr
Definition: LLToken.h:309
@ kw_dllimport
Definition: LLToken.h:60
@ kw_argmemonly
Definition: LLToken.h:206
@ kw_blockaddress
Definition: LLToken.h:350
@ kw_landingpad
Definition: LLToken.h:316
@ kw_aarch64_vector_pcs
Definition: LLToken.h:148
@ kw_amdgpu_cs
Definition: LLToken.h:179
@ kw_syncscope
Definition: LLToken.h:101
@ kw_noInline
Definition: LLToken.h:389
@ kw_source_filename
Definition: LLToken.h:90
@ kw_typeTestAssumeConstVCalls
Definition: LLToken.h:412
@ kw_inrange
Definition: LLToken.h:118
@ kw_ptx_kernel
Definition: LLToken.h:156
@ kw_summaries
Definition: LLToken.h:370
@ kw_extractelement
Definition: LLToken.h:344
@ kw_branchFunnel
Definition: LLToken.h:437
@ kw_typeidCompatibleVTable
Definition: LLToken.h:418
@ kw_bitcast
Definition: LLToken.h:311
@ kw_declare
Definition: LLToken.h:45
@ kw_allOnes
Definition: LLToken.h:426
@ kw_vTableFuncs
Definition: LLToken.h:404
@ ChecksumKind
Definition: LLToken.h:492
@ DwarfMacinfo
Definition: LLToken.h:491
@ kw_volatile
Definition: LLToken.h:93
@ kw_typeCheckedLoadVCalls
Definition: LLToken.h:411
@ kw_function
Definition: LLToken.h:382
@ kw_default
Definition: LLToken.h:64
@ kw_no_sanitize_address
Definition: LLToken.h:459
@ kw_inaccessiblemem_or_argmemonly
Definition: LLToken.h:208
@ kw_uinc_wrap
Definition: LLToken.h:270
@ kw_externally_initialized
Definition: LLToken.h:69
@ kw_sanitize_address_dyninit
Definition: LLToken.h:465
@ kw_atomicrmw
Definition: LLToken.h:341
@ kw_hidden
Definition: LLToken.h:65
@ EmissionKind
Definition: LLToken.h:486
@ kw_amdgpu_cs_chain_preserve
Definition: LLToken.h:181
@ kw_usub_sat
Definition: LLToken.h:273
@ kw_readwrite
Definition: LLToken.h:201
@ kw_within
Definition: LLToken.h:83
@ kw_section
Definition: LLToken.h:120
@ kw_triple
Definition: LLToken.h:89
@ kw_thread_local
Definition: LLToken.h:72
@ kw_catchswitch
Definition: LLToken.h:330
@ kw_extern_weak
Definition: LLToken.h:70
@ kw_arm_aapcscc
Definition: LLToken.h:146
@ kw_usub_cond
Definition: LLToken.h:272
@ kw_memProf
Definition: LLToken.h:454
@ kw_alignLog2
Definition: LLToken.h:428
@ kw_cleanuppad
Definition: LLToken.h:333
@ kw_available_externally
Definition: LLToken.h:63
@ kw_singleImplName
Definition: LLToken.h:438
@ kw_typeTests
Definition: LLToken.h:409
@ kw_versions
Definition: LLToken.h:453
@ kw_notcold
Definition: LLToken.h:455
@ kw_mayThrow
Definition: LLToken.h:392
@ kw_swifttailcc
Definition: LLToken.h:164
@ kw_monotonic
Definition: LLToken.h:96
@ kw_typeTestAssumeVCalls
Definition: LLToken.h:410
@ kw_amdgpu_ls
Definition: LLToken.h:174
@ kw_caller
Definition: LLToken.h:82
@ kw_vscale
Definition: LLToken.h:41
@ kw_target
Definition: LLToken.h:88
@ kw_attributes
Definition: LLToken.h:190
@ kw_code_model
Definition: LLToken.h:122
@ kw_cmpxchg
Definition: LLToken.h:340
@ kw_funcFlags
Definition: LLToken.h:384
@ kw_localdynamic
Definition: LLToken.h:73
@ kw_uniformRetVal
Definition: LLToken.h:441
@ kw_sideeffect
Definition: LLToken.h:127
@ kw_amdgpu_ps
Definition: LLToken.h:178
@ kw_sizeM1BitWidth
Definition: LLToken.h:427
@ kw_catchret
Definition: LLToken.h:331
@ kw_nodeduplicate
Definition: LLToken.h:237
@ kw_avr_signalcc
Definition: LLToken.h:155
@ kw_exactmatch
Definition: LLToken.h:235
@ kw_aliasee
Definition: LLToken.h:406
@ kw_common
Definition: LLToken.h:62
@ kw_unreachable
Definition: LLToken.h:328
@ kw_intel_ocl_bicc
Definition: LLToken.h:138
@ kw_global
Definition: LLToken.h:47
@ kw_dso_local
Definition: LLToken.h:50
@ kw_undef
Definition: LLToken.h:77
@ kw_addrspace
Definition: LLToken.h:119
@ kw_release
Definition: LLToken.h:98
@ kw_returnDoesNotAlias
Definition: LLToken.h:388
@ kw_aarch64_sme_preservemost_from_x0
Definition: LLToken.h:150
@ kw_preserve_allcc
Definition: LLToken.h:166
@ kw_importType
Definition: LLToken.h:379
@ dotdotdot
Definition: LLToken.h:24
@ kw_cleanupret
Definition: LLToken.h:329
@ kw_shufflevector
Definition: LLToken.h:346
@ kw_riscv_vector_cc
Definition: LLToken.h:187
@ kw_avr_intrcc
Definition: LLToken.h:154
@ kw_definition
Definition: LLToken.h:380
@ kw_prologue
Definition: LLToken.h:131
@ kw_virtualConstProp
Definition: LLToken.h:443
@ kw_vcall_visibility
Definition: LLToken.h:432
@ kw_poison
Definition: LLToken.h:78
@ kw_appending
Definition: LLToken.h:59
@ kw_inaccessiblemem
Definition: LLToken.h:203
@ kw_preserve_mostcc
Definition: LLToken.h:165
@ kw_arm_aapcs_vfpcc
Definition: LLToken.h:147
@ kw_typeTestRes
Definition: LLToken.h:420
@ kw_unknown
Definition: LLToken.h:400
@ kw_x86_regcallcc
Definition: LLToken.h:144
@ kw_typeIdInfo
Definition: LLToken.h:408
@ kw_amdgpu_cs_chain
Definition: LLToken.h:180
@ kw_dso_local_equivalent
Definition: LLToken.h:351
@ kw_x86_64_sysvcc
Definition: LLToken.h:160
@ DbgRecordType
Definition: LLToken.h:493
@ kw_summary
Definition: LLToken.h:419
@ kw_virtFunc
Definition: LLToken.h:405
@ kw_musttail
Definition: LLToken.h:86
@ kw_aarch64_sme_preservemost_from_x2
Definition: LLToken.h:152
@ kw_byteArray
Definition: LLToken.h:423
@ kw_uniqueRetVal
Definition: LLToken.h:442
@ kw_insertvalue
Definition: LLToken.h:349
@ kw_indirectbr
Definition: LLToken.h:325
This is an optimization pass for GlobalISel generic memory operations.
Definition: AddressRanges.h:18