1e8d43cafSUday Bondhugula" Vim syntax file 2e8d43cafSUday Bondhugula" Language: mlir 3e8d43cafSUday Bondhugula" Maintainer: The MLIR team, http://github.com/tensorflow/mlir/ 4e8d43cafSUday Bondhugula" Version: $Revision$ 520d3e71cSUday Bondhugula" Some parts adapted from the LLVM vim syntax file. 6e8d43cafSUday Bondhugula 7e8d43cafSUday Bondhugulaif version < 600 8e8d43cafSUday Bondhugula syntax clear 9e8d43cafSUday Bondhugulaelseif exists("b:current_syntax") 10e8d43cafSUday Bondhugula finish 11e8d43cafSUday Bondhugulaendif 12e8d43cafSUday Bondhugula 13e8d43cafSUday Bondhugulasyn case match 14e8d43cafSUday Bondhugula 15e8d43cafSUday Bondhugula" Types. 16b8cc449bSUday Bondhugula" 17e8d43cafSUday Bondhugulasyn keyword mlirType index f16 f32 f64 18b8cc449bSUday Bondhugula" Signless integer types. 19e8d43cafSUday Bondhugulasyn match mlirType /\<i\d\+\>/ 20b8cc449bSUday Bondhugula" Unsigned integer types. 21b8cc449bSUday Bondhugulasyn match mlirType /\<ui\d\+\>/ 22b8cc449bSUday Bondhugula" Signed integer types. 23b8cc449bSUday Bondhugulasyn match mlirType /\<si\d\+\>/ 2420d3e71cSUday Bondhugula 2520d3e71cSUday Bondhugula" Elemental types inside memref, tensor, or vector types. 26b8cc449bSUday Bondhugulasyn match mlirType /x\s*\zs\(f16\|f32\|f64\|i\d\+\|ui\d\+\|si\d\+\)/ 2720d3e71cSUday Bondhugula 2820d3e71cSUday Bondhugula" Shaped types. 2920d3e71cSUday Bondhugulasyn match mlirType /\<memref\ze\s*<.*>/ 3020d3e71cSUday Bondhugulasyn match mlirType /\<tensor\ze\s*<.*>/ 3120d3e71cSUday Bondhugulasyn match mlirType /\<vector\ze\s*<.*>/ 3220d3e71cSUday Bondhugula 3320d3e71cSUday Bondhugula" vector types inside memref or tensor. 3420d3e71cSUday Bondhugulasyn match mlirType /x\s*\zsvector/ 35e8d43cafSUday Bondhugula 36e8d43cafSUday Bondhugula" Operations. 37b8cc449bSUday Bondhugula" Standard dialect ops. 38b8cc449bSUday Bondhugula" TODO: this list is not exhaustive. 39b8cc449bSUday Bondhugulasyn keyword mlirOps alloc alloca addf addi and call call_indirect cmpf cmpi 40b8cc449bSUday Bondhugulasyn keyword mlirOps constant dealloc divf dma_start dma_wait dim exp 41*444822d7SSean Silvasyn keyword mlirOps getTensor index_cast load log memref_cast 42b8cc449bSUday Bondhugulasyn keyword mlirOps memref_shape_cast mulf muli negf powf prefetch rsqrt sitofp 43b8cc449bSUday Bondhugulasyn keyword mlirOps splat store select sqrt subf subi subview tanh tensor_cast 44b8cc449bSUday Bondhugulasyn keyword mlirOps view 45e8d43cafSUday Bondhugula 46e8d43cafSUday Bondhugula" Affine ops. 47e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.apply\>/ 48e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.dma_start\>/ 49e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.dma_wait\>/ 50e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.for\>/ 51e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.if\>/ 52e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.load\>/ 53b8cc449bSUday Bondhugulasyn match mlirOps /\<affine\.parallel\>/ 5447034c4bSUday Bondhugulasyn match mlirOps /\<affine\.prefetch\>/ 55e8d43cafSUday Bondhugulasyn match mlirOps /\<affine\.store\>/ 56ca23bd78SUday Bondhugulasyn match mlirOps /\<loop\.for\>/ 57ca23bd78SUday Bondhugulasyn match mlirOps /\<loop\.if\>/ 58e8d43cafSUday Bondhugula 5920d3e71cSUday Bondhugula" TODO: dialect name prefixed ops (llvm or std). 6020d3e71cSUday Bondhugula 61e8d43cafSUday Bondhugula" Keywords. 62e8d43cafSUday Bondhugulasyn keyword mlirKeyword 63136d78caSUday Bondhugula \ affine_map 64136d78caSUday Bondhugula \ affine_set 65ca23bd78SUday Bondhugula \ dense 66e8d43cafSUday Bondhugula \ else 67e8d43cafSUday Bondhugula \ func 68ca23bd78SUday Bondhugula \ module 69e8d43cafSUday Bondhugula \ return 70e8d43cafSUday Bondhugula \ step 71e8d43cafSUday Bondhugula \ to 72e8d43cafSUday Bondhugula 73e8d43cafSUday Bondhugula" Misc syntax. 7420d3e71cSUday Bondhugula 75e8d43cafSUday Bondhugulasyn match mlirNumber /-\?\<\d\+\>/ 7620d3e71cSUday Bondhugula" Match numbers even in shaped types. 7720d3e71cSUday Bondhugulasyn match mlirNumber /-\?\<\d\+\ze\s*x/ 7820d3e71cSUday Bondhugulasyn match mlirNumber /x\s*\zs-\?\d\+\ze\s*x/ 7920d3e71cSUday Bondhugula 80e8d43cafSUday Bondhugulasyn match mlirFloat /-\?\<\d\+\.\d*\(e[+-]\d\+\)\?\>/ 81e8d43cafSUday Bondhugulasyn match mlirFloat /\<0x\x\+\>/ 82e8d43cafSUday Bondhugulasyn keyword mlirBoolean true false 83e8d43cafSUday Bondhugulasyn match mlirComment /\/\/.*$/ 84e8d43cafSUday Bondhugulasyn region mlirString start=/"/ skip=/\\"/ end=/"/ 85e8d43cafSUday Bondhugulasyn match mlirLabel /[-a-zA-Z$._][-a-zA-Z$._0-9]*:/ 8620d3e71cSUday Bondhugulasyn match mlirIdentifier /[%@][a-zA-Z$._-][a-zA-Z0-9$._-]*/ 8720d3e71cSUday Bondhugulasyn match mlirIdentifier /[%@!]\d\+\>/ 88e8d43cafSUday Bondhugulasyn match mlirMapSetOutline "#.*$" 89e8d43cafSUday Bondhugula 90e8d43cafSUday Bondhugula" Syntax-highlight lit test commands and bug numbers. 91e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*RUN:.*$/ 92e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*CHECK:.*$/ 93e8d43cafSUday Bondhugulasyn match mlirSpecialComment "\v\/\/\s*CHECK-(NEXT|NOT|DAG|SAME|LABEL):.*$" 94e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*expected-error.*$/ 95e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*expected-remark.*$/ 96e8d43cafSUday Bondhugulasyn match mlirSpecialComment /;\s*XFAIL:.*$/ 97e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*PR\d*\s*$/ 98e8d43cafSUday Bondhugulasyn match mlirSpecialComment /\/\/\s*REQUIRES:.*$/ 99e8d43cafSUday Bondhugula 100e8d43cafSUday Bondhugulaif version >= 508 || !exists("did_c_syn_inits") 101e8d43cafSUday Bondhugula if version < 508 102e8d43cafSUday Bondhugula let did_c_syn_inits = 1 103e8d43cafSUday Bondhugula command -nargs=+ HiLink hi link <args> 104e8d43cafSUday Bondhugula else 105e8d43cafSUday Bondhugula command -nargs=+ HiLink hi def link <args> 106e8d43cafSUday Bondhugula endif 107e8d43cafSUday Bondhugula 108e8d43cafSUday Bondhugula HiLink mlirType Type 109e8d43cafSUday Bondhugula HiLink mlirOps Statement 110e8d43cafSUday Bondhugula HiLink mlirMapSetOutline PreProc 111e8d43cafSUday Bondhugula HiLink mlirNumber Number 112e8d43cafSUday Bondhugula HiLink mlirComment Comment 113e8d43cafSUday Bondhugula HiLink mlirString String 114e8d43cafSUday Bondhugula HiLink mlirLabel Label 115e8d43cafSUday Bondhugula HiLink mlirKeyword Keyword 116e8d43cafSUday Bondhugula HiLink mlirBoolean Boolean 117e8d43cafSUday Bondhugula HiLink mlirFloat Float 118e8d43cafSUday Bondhugula HiLink mlirConstant Constant 119e8d43cafSUday Bondhugula HiLink mlirSpecialComment SpecialComment 120e8d43cafSUday Bondhugula HiLink mlirIdentifier Identifier 121e8d43cafSUday Bondhugula 122e8d43cafSUday Bondhugula delcommand HiLink 123e8d43cafSUday Bondhugulaendif 124e8d43cafSUday Bondhugula 125e8d43cafSUday Bondhugulalet b:current_syntax = "mlir" 126