Mercurial > hg > CbC > CbC_llvm
view mlir/utils/vim/syntax/mlir.vim @ 150:1d019706d866
LLVM10
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 15:10:13 +0900 |
parents | |
children | 2e18cbf3894f |
line wrap: on
line source
" Vim syntax file " Language: mlir " Maintainer: The MLIR team, http://github.com/tensorflow/mlir/ " Version: $Revision$ " Some parts adapted from the LLVM vim syntax file. if version < 600 syntax clear elseif exists("b:current_syntax") finish endif syn case match " Types. syn keyword mlirType index f16 f32 f64 " Integer type. syn match mlirType /\<i\d\+\>/ " Elemental types inside memref, tensor, or vector types. syn match mlirType /x\s*\zs\(f16\|f32\|f64\|i\d\+\)/ " Shaped types. syn match mlirType /\<memref\ze\s*<.*>/ syn match mlirType /\<tensor\ze\s*<.*>/ syn match mlirType /\<vector\ze\s*<.*>/ " vector types inside memref or tensor. syn match mlirType /x\s*\zsvector/ " Operations. " Core ops (not exhaustive yet). " TODO: the list is not exhaustive. syn keyword mlirOps alloc alloca addf addi call call_indirect cmpi constant syn keyword mlirOps dealloc divf dma_start dma_wait dim extract_element syn keyword mlirOps getTensor index_cast load memref_cast memref_shape_cast syn keyword mlirOps mulf muli prefetch sitofp splat store select subf subi syn keyword mlirOps subview tensor_cast view " Affine ops. syn match mlirOps /\<affine\.apply\>/ syn match mlirOps /\<affine\.dma_start\>/ syn match mlirOps /\<affine\.dma_wait\>/ syn match mlirOps /\<affine\.for\>/ syn match mlirOps /\<affine\.if\>/ syn match mlirOps /\<affine\.load\>/ syn match mlirOps /\<affine\.prefetch\>/ syn match mlirOps /\<affine\.store\>/ syn match mlirOps /\<loop\.for\>/ syn match mlirOps /\<loop\.if\>/ " TODO: dialect name prefixed ops (llvm or std). " Keywords. syn keyword mlirKeyword \ dense \ else \ func \ module \ return \ step \ to " Misc syntax. syn match mlirNumber /-\?\<\d\+\>/ " Match numbers even in shaped types. syn match mlirNumber /-\?\<\d\+\ze\s*x/ syn match mlirNumber /x\s*\zs-\?\d\+\ze\s*x/ syn match mlirFloat /-\?\<\d\+\.\d*\(e[+-]\d\+\)\?\>/ syn match mlirFloat /\<0x\x\+\>/ syn keyword mlirBoolean true false syn match mlirComment /\/\/.*$/ syn region mlirString start=/"/ skip=/\\"/ end=/"/ syn match mlirLabel /[-a-zA-Z$._][-a-zA-Z$._0-9]*:/ syn match mlirIdentifier /[%@][a-zA-Z$._-][a-zA-Z0-9$._-]*/ syn match mlirIdentifier /[%@!]\d\+\>/ syn match mlirMapSetOutline "#.*$" " Syntax-highlight lit test commands and bug numbers. syn match mlirSpecialComment /\/\/\s*RUN:.*$/ syn match mlirSpecialComment /\/\/\s*CHECK:.*$/ syn match mlirSpecialComment "\v\/\/\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL):.*$" syn match mlirSpecialComment /\/\/\s*expected-error.*$/ syn match mlirSpecialComment /\/\/\s*expected-remark.*$/ syn match mlirSpecialComment /;\s*XFAIL:.*$/ syn match mlirSpecialComment /\/\/\s*PR\d*\s*$/ syn match mlirSpecialComment /\/\/\s*REQUIRES:.*$/ if version >= 508 || !exists("did_c_syn_inits") if version < 508 let did_c_syn_inits = 1 command -nargs=+ HiLink hi link <args> else command -nargs=+ HiLink hi def link <args> endif HiLink mlirType Type HiLink mlirOps Statement HiLink mlirMapSetOutline PreProc HiLink mlirNumber Number HiLink mlirComment Comment HiLink mlirString String HiLink mlirLabel Label HiLink mlirKeyword Keyword HiLink mlirBoolean Boolean HiLink mlirFloat Float HiLink mlirConstant Constant HiLink mlirSpecialComment SpecialComment HiLink mlirIdentifier Identifier delcommand HiLink endif let b:current_syntax = "mlir"