Skip to content

Commit cdfd220

Browse files
committed
[vim] update llvm syntax files
1 parent 274f525 commit cdfd220

File tree

3 files changed

+91
-38
lines changed

3 files changed

+91
-38
lines changed

vim/syntax/llvm.vim

+35-38
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
" Vim syntax file
22
" Language: llvm
33
" Maintainer: The LLVM team, http://llvm.org/
4-
" Version: $Revision$
4+
" Version: $Revision: 176075 $
55

66
if version < 600
77
syntax clear
@@ -14,50 +14,48 @@ syn case match
1414
" Types.
1515
" Types also include struct, array, vector, etc. but these don't
1616
" benefit as much from having dedicated highlighting rules.
17-
syn keyword llvmType void float double
18-
syn keyword llvmType x86_fp80 fp128 ppc_fp128
17+
syn keyword llvmType void half float double x86_fp80 fp128 ppc_fp128
18+
syn keyword llvmType label metadata x86_mmx
1919
syn keyword llvmType type label opaque
2020
syn match llvmType /\<i\d\+\>/
2121

2222
" Instructions.
2323
" The true and false tokens can be used for comparison opcodes, but it's
2424
" much more common for these tokens to be used for boolean constants.
25-
syn keyword llvmStatement add fadd sub fsub mul fmul
26-
syn keyword llvmStatement sdiv udiv fdiv srem urem frem
27-
syn keyword llvmStatement and or xor
28-
syn keyword llvmStatement icmp fcmp
29-
syn keyword llvmStatement eq ne ugt uge ult ule sgt sge slt sle
30-
syn keyword llvmStatement oeq ogt oge olt ole one ord ueq ugt uge
31-
syn keyword llvmStatement ult ule une uno
32-
syn keyword llvmStatement nuw nsw exact inbounds
33-
syn keyword llvmStatement phi call select shl lshr ashr va_arg
34-
syn keyword llvmStatement trunc zext sext
35-
syn keyword llvmStatement fptrunc fpext fptoui fptosi uitofp sitofp
36-
syn keyword llvmStatement ptrtoint inttoptr bitcast
37-
syn keyword llvmStatement ret br indirectbr switch invoke unwind unreachable
38-
syn keyword llvmStatement malloc alloca free load store getelementptr
39-
syn keyword llvmStatement extractelement insertelement shufflevector
40-
syn keyword llvmStatement extractvalue insertvalue
25+
syn keyword llvmStatement add alloca and arcp ashr atomicrmw bitcast br call
26+
syn keyword llvmStatement cmpxchg eq exact extractelement extractvalue fadd fast
27+
syn keyword llvmStatement fcmp fdiv fence fmul fpext fptosi fptoui fptrunc free
28+
syn keyword llvmStatement frem fsub getelementptr icmp inbounds indirectbr
29+
syn keyword llvmStatement insertelement insertvalue inttoptr invoke landingpad
30+
syn keyword llvmStatement load lshr malloc max min mul nand ne ninf nnan nsw nsz
31+
syn keyword llvmStatement nuw oeq oge ogt ole olt one or ord phi ptrtoint resume
32+
syn keyword llvmStatement ret sdiv select sext sge sgt shl shufflevector sitofp
33+
syn keyword llvmStatement sle slt srem store sub switch trunc udiv ueq uge ugt
34+
syn keyword llvmStatement uitofp ule ult umax umin une uno unreachable unwind
35+
syn keyword llvmStatement urem va_arg xchg xor zext
4136

4237
" Keywords.
43-
syn keyword llvmKeyword define declare global constant
44-
syn keyword llvmKeyword internal external private
45-
syn keyword llvmKeyword linkonce linkonce_odr weak weak_odr appending
46-
syn keyword llvmKeyword common extern_weak
47-
syn keyword llvmKeyword thread_local dllimport dllexport
48-
syn keyword llvmKeyword hidden protected default
49-
syn keyword llvmKeyword except deplibs
50-
syn keyword llvmKeyword volatile fastcc coldcc cc ccc
51-
syn keyword llvmKeyword x86_stdcallcc x86_fastcallcc
52-
syn keyword llvmKeyword ptx_kernel ptx_device
53-
syn keyword llvmKeyword signext zeroext inreg sret nounwind noreturn
54-
syn keyword llvmKeyword nocapture byval nest readnone readonly noalias
55-
syn keyword llvmKeyword inlinehint noinline alwaysinline optsize ssp sspreq
56-
syn keyword llvmKeyword noredzone noimplicitfloat naked alignstack
57-
syn keyword llvmKeyword module asm align tail to
58-
syn keyword llvmKeyword addrspace section alias sideeffect c gc
59-
syn keyword llvmKeyword target datalayout triple
60-
syn keyword llvmKeyword blockaddress
38+
syn keyword llvmKeyword acq_rel acquire sanitize_address addrspace alias align
39+
syn keyword llvmKeyword alignstack alwaysinline appending arm_aapcs_vfpcc
40+
syn keyword llvmKeyword arm_aapcscc arm_apcscc asm atomic available_externally
41+
syn keyword llvmKeyword blockaddress byval c catch cc ccc cleanup coldcc common
42+
syn keyword llvmKeyword constant datalayout declare default define deplibs
43+
syn keyword llvmKeyword dllexport dllimport except extern_weak external fastcc
44+
syn keyword llvmKeyword filter gc global hidden initialexec inlinehint inreg
45+
syn keyword llvmKeyword intel_ocl_bicc inteldialect internal linker_private
46+
syn keyword llvmKeyword linker_private_weak linker_private_weak_def_auto
47+
syn keyword llvmKeyword linkonce linkonce_odr linkonce_odr_auto_hide
48+
syn keyword llvmKeyword localdynamic localexec minsize module monotonic
49+
syn keyword llvmKeyword msp430_intrcc naked nest noalias nocapture
50+
syn keyword llvmKeyword noimplicitfloat noinline nonlazybind noredzone noreturn
51+
syn keyword llvmKeyword nounwind optsize personality private protected
52+
syn keyword llvmKeyword ptx_device ptx_kernel readnone readonly release
53+
syn keyword llvmKeyword returns_twice section seq_cst sideeffect signext
54+
syn keyword llvmKeyword singlethread spir_func spir_kernel sret ssp sspreq
55+
syn keyword llvmKeyword sspstrong tail target thread_local to triple
56+
syn keyword llvmKeyword unnamed_addr unordered uwtable volatile weak weak_odr
57+
syn keyword llvmKeyword x86_fastcallcc x86_stdcallcc x86_thiscallcc zeroext
58+
syn keyword llvmKeyword sanitize_thread sanitize_memory
6159

6260
" Obsolete keywords.
6361
syn keyword llvmError getresult begin end
@@ -79,7 +77,6 @@ syn match llvmSpecialComment /;\s*RUN:.*$/
7977
syn match llvmSpecialComment /;\s*PR\d*\s*$/
8078
syn match llvmSpecialComment /;\s*END\.\s*$/
8179
syn match llvmSpecialComment /;\s*XFAIL:.*$/
82-
syn match llvmSpecialComment /;\s*XTARGET:.*$/
8380

8481
if version >= 508 || !exists("did_c_syn_inits")
8582
if version < 508

vim/syntax/tablegen.vim

+54
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
" Vim syntax file
2+
" Language: TableGen
3+
" Maintainer: The LLVM team, http://llvm.org/
4+
" Version: $Revision: 151164 $
5+
6+
if version < 600
7+
syntax clear
8+
elseif exists("b:current_syntax")
9+
finish
10+
endif
11+
12+
" May be changed if you have a really slow machine
13+
syntax sync minlines=100
14+
15+
syn case match
16+
17+
syn keyword tgKeyword def let in code dag field include defm foreach
18+
syn keyword tgType class int string list bit bits multiclass
19+
20+
syn match tgNumber /\<\d\+\>/
21+
syn match tgNumber /\<\d\+\.\d*\>/
22+
syn match tgNumber /\<0b[01]\+\>/
23+
syn match tgNumber /\<0x[0-9a-fA-F]\+\>/
24+
syn region tgString start=/"/ skip=/\\"/ end=/"/ oneline
25+
26+
syn region tgCode start=/\[{/ end=/}\]/
27+
28+
syn keyword tgTodo contained TODO FIXME
29+
syn match tgComment /\/\/.*$/ contains=tgTodo
30+
" Handle correctly imbricated comment
31+
syn region tgComment2 matchgroup=tgComment2 start=+/\*+ end=+\*/+ contains=tgTodo,tgComment2
32+
33+
if version >= 508 || !exists("did_c_syn_inits")
34+
if version < 508
35+
let did_c_syn_inits = 1
36+
command -nargs=+ HiLink hi link <args>
37+
else
38+
command -nargs=+ HiLink hi def link <args>
39+
endif
40+
41+
HiLink tgKeyword Statement
42+
HiLink tgType Type
43+
HiLink tgNumber Number
44+
HiLink tgComment Comment
45+
HiLink tgComment2 Comment
46+
HiLink tgString String
47+
" May find a better Hilight group...
48+
HiLink tgCode Special
49+
HiLink tgTodo Todo
50+
51+
delcommand HiLink
52+
endif
53+
54+
let b:current_syntax = "tablegen"

vimrc

+2
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,8 @@ if has('autocmd')
235235
autocmd BufNewFile,BufRead *.proto set filetype=proto
236236
autocmd BufNewFile,BufRead *.atomo set filetype=atomo
237237
autocmd BufNewFile,BufRead *.atomo setlocal expandtab tabstop=2 shiftwidth=2 softtabstop=2 commentstring=--\ %s
238+
autocmd! BufNewFile,BufRead *.ll set filetype=llvm
239+
autocmd! BufRead,BufNewFile *.td set filetype=tablegen
238240
endif
239241

240242
" make tab reindent in normal mode

0 commit comments

Comments
 (0)