brintos

brintos / llvm-project-archived public Read only

0
0
Text · 7.0 KiB · cbff478 Raw
279 lines · plain
1" Vim syntax file2" Language:   llvm3" Maintainer: The LLVM team, http://llvm.org/4" Version:      $Revision$5 6if version < 6007  syntax clear8elseif exists("b:current_syntax")9  finish10endif11 12syn case match13 14" Types.15" Types also include struct, array, vector, etc. but these don't16" benefit as much from having dedicated highlighting rules.17syn keyword llvmType void half bfloat float double x86_fp80 fp128 ppc_fp12818syn keyword llvmType label metadata x86_mmx x86_amx19syn keyword llvmType type label opaque token ptr20syn match   llvmType /\<i\d\+\>/21 22" Instructions.23" The true and false tokens can be used for comparison opcodes, but it's24" much more common for these tokens to be used for boolean constants.25syn keyword llvmStatement add addrspacecast alloca and arcp ashr atomicrmw26syn keyword llvmStatement bitcast br catchpad catchswitch catchret call callbr27syn keyword llvmStatement cleanuppad cleanupret cmpxchg disjoint eq exact28syn keyword llvmStatement extractelement extractvalue fadd fast fcmp fdiv fence29syn keyword llvmStatement fmul fneg fpext fptosi fptoui fptrunc free freeze30syn keyword llvmStatement frem fsub getelementptr icmp inbounds indirectbr31syn keyword llvmStatement insertelement insertvalue inttoptr invoke landingpad32syn keyword llvmStatement load lshr malloc max min mul nand ne ninf nnan nsw33syn keyword llvmStatement nsz nuw oeq oge ogt ole olt one or ord phi ptrtoint34syn keyword llvmStatement resume ret sdiv select sext sge sgt shl shufflevector35syn keyword llvmStatement sitofp sle slt srem store sub switch trunc udiv ueq36syn keyword llvmStatement uge ugt uitofp ule ult umax umin une uno unreachable37syn keyword llvmStatement unwind urem va_arg xchg xor zext38 39" Debug records.40syn match llvmStatement /\v#dbg_(assign|declare|label|value)/41 42" Keywords.43syn keyword llvmKeyword44      \ acq_rel45      \ acquire46      \ addrspace47      \ alias48      \ align49      \ alignstack50      \ allocsize51      \ alwaysinline52      \ appending53      \ argmemonly54      \ arm_aapcs_vfpcc55      \ arm_aapcscc56      \ arm_apcscc57      \ asm58      \ atomic59      \ available_externally60      \ blockaddress61      \ builtin62      \ byref63      \ byval64      \ c65      \ caller66      \ catch67      \ cc68      \ ccc69      \ cleanup70      \ cold71      \ coldcc72      \ comdat73      \ common74      \ constant75      \ convergent76      \ datalayout77      \ declare78      \ default79      \ define80      \ deplibs81      \ dereferenceable82      \ dereferenceable_or_null83      \ distinct84      \ dllexport85      \ dllimport86      \ dso_local87      \ dso_preemptable88      \ except89      \ extern_weak90      \ external91      \ externally_initialized92      \ fastcc93      \ filter94      \ from95      \ gc96      \ global97      \ hhvm_ccc98      \ hhvmcc99      \ hidden100      \ hot101      \ immarg102      \ inaccessiblemem_or_argmemonly103      \ inaccessiblememonly104      \ inalloca105      \ initialexec106      \ inlinehint107      \ inreg108      \ intel_ocl_bicc109      \ inteldialect110      \ internal111      \ jumptable112      \ linkonce113      \ linkonce_odr114      \ local_unnamed_addr115      \ localdynamic116      \ localexec117      \ minsize118      \ module119      \ monotonic120      \ msp430_intrcc121      \ mustprogress122      \ musttail123      \ naked124      \ nest125      \ noalias126      \ nobuiltin127      \ nocallback128      \ nocapture129      \ nocf_check130      \ no_cfi131      \ noduplicate132      \ nofree133      \ noimplicitfloat134      \ noinline135      \ nomerge136      \ nonlazybind137      \ nonnull138      \ noprofile139      \ norecurse140      \ noredzone141      \ noreturn142      \ nosync143      \ noundef144      \ nounwind145      \ nosanitize_bounds146      \ nosanitize_coverage147      \ null_pointer_is_valid148      \ optdebug149      \ optforfuzzing150      \ optnone151      \ optsize152      \ personality153      \ preallocated154      \ private155      \ protected156      \ ptrauth157      \ ptx_device158      \ ptx_kernel159      \ readnone160      \ readonly161      \ release162      \ returned163      \ returns_twice164      \ safestack165      \ sanitize_address166      \ sanitize_alloc_token167      \ sanitize_hwaddress168      \ sanitize_memory169      \ sanitize_memtag170      \ sanitize_thread171      \ section172      \ seq_cst173      \ shadowcallstack174      \ sideeffect175      \ signext176      \ source_filename177      \ speculatable178      \ speculative_load_hardening179      \ spir_func180      \ spir_kernel181      \ splat182      \ sret183      \ ssp184      \ sspreq185      \ sspstrong186      \ strictfp187      \ swiftcc188      \ swifterror189      \ swifttailcc190      \ swiftself191      \ syncscope192      \ tail193      \ tailcc194      \ target195      \ thread_local196      \ to197      \ triple198      \ unnamed_addr199      \ unordered200      \ uselistorder201      \ uselistorder_bb202      \ uwtable203      \ volatile204      \ weak205      \ weak_odr206      \ willreturn207      \ win64cc208      \ within209      \ writeonly210      \ x86_64_sysvcc211      \ x86_fastcallcc212      \ x86_stdcallcc213      \ x86_thiscallcc214      \ zeroext215 216" Obsolete keywords.217syn keyword llvmError  getresult begin end218 219" Misc syntax.220syn match   llvmNoName /[%@!]\d\+\>/221syn match   llvmNumber /-\?\<\d\+\>/222syn match   llvmFloat  /-\?\<\d\+\.\d*\(e[+-]\d\+\)\?\>/223syn match   llvmFloat  /\<\(u\|s\)\?0x[KLMHR]\?\x\+\>/224syn keyword llvmBoolean true false225syn keyword llvmConstant zeroinitializer undef null none poison vscale226syn match   llvmComment /;.*$/227syn region  llvmString start=/"/ skip=/\\"/ end=/"/228syn match   llvmLabel /[-a-zA-Z$._][-a-zA-Z$._0-9]*:/229syn match   llvmIdentifier /[%@][-a-zA-Z$._][-a-zA-Z$._0-9]*/230 231" Named metadata and specialized metadata keywords.232syn match   llvmIdentifier /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*$/233syn match   llvmIdentifier /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*[=!]/234syn match   llvmType /!\zs\a\+\ze\s*(/235syn match   llvmConstant /\<DW_TAG_[a-z_]\+\>/236syn match   llvmConstant /\<DW_ATE_[a-zA-Z_]\+\>/237syn match   llvmConstant /\<DW_OP_[a-zA-Z0-9_]\+\>/238syn match   llvmConstant /\<DW_LANG_[a-zA-Z0-9_]\+\>/239syn match   llvmConstant /\<DW_VIRTUALITY_[a-z_]\+\>/240syn match   llvmConstant /\<DIFlag[A-Za-z]\+\>/241 242" Syntax-highlight lit test commands and bug numbers.243syn match  llvmSpecialComment /;\s*PR\d*\s*$/244syn match  llvmSpecialComment /;\s*REQUIRES:.*$/245syn match  llvmSpecialComment /;\s*RUN:.*$/246syn match  llvmSpecialComment /;\s*ALLOW_RETRIES:.*$/247syn match  llvmSpecialComment /;\s*CHECK:.*$/248syn match  llvmSpecialComment /;\s*CHECK-EMPTY:\s*$/249syn match  llvmSpecialComment /\v;\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL|COUNT-\d+):.*$/250syn match  llvmSpecialComment /;\s*XFAIL:.*$/251 252if version >= 508 || !exists("did_c_syn_inits")253  if version < 508254    let did_c_syn_inits = 1255    command -nargs=+ HiLink hi link <args>256  else257    command -nargs=+ HiLink hi def link <args>258  endif259 260  HiLink llvmType Type261  HiLink llvmStatement Statement262  HiLink llvmNumber Number263  HiLink llvmComment Comment264  HiLink llvmString String265  HiLink llvmLabel Label266  HiLink llvmKeyword Keyword267  HiLink llvmBoolean Boolean268  HiLink llvmFloat Float269  HiLink llvmNoName Identifier270  HiLink llvmConstant Constant271  HiLink llvmSpecialComment SpecialComment272  HiLink llvmError Error273  HiLink llvmIdentifier Identifier274 275  delcommand HiLink276endif277 278let b:current_syntax = "llvm"279