3 " Maintainer: The LLVM team, http://llvm.org/
8 elseif exists("b:current_syntax")
14 syn keyword llvmType void float double
15 syn keyword llvmType x86_fp80 fp128 ppc_fp128
16 syn keyword llvmType type label opaque
17 syn match llvmType /\<i\d\+\>/
19 syn keyword llvmStatement add sub mul sdiv udiv fdiv srem urem frem
20 syn keyword llvmStatement and or xor
21 syn keyword llvmStatement icmp fcmp
22 syn keyword llvmStatement eq ne ugt uge ult ule sgt sge slt sle
23 syn keyword llvmStatement false oeq ogt oge olt ole one ord ueq ugt uge
24 syn keyword llvmStatement ult ule une uno true
26 syn keyword llvmStatement phi tail call to select shl lshr ashr va_arg
27 syn keyword llvmStatement trunc zext sext
28 syn keyword llvmStatement fptrunc fpext fptoui fptosi uitofp sitofp
29 syn keyword llvmStatement ptrtoint inttoptr bitcast
30 syn keyword llvmStatement ret br switch invoke unwind unreachable
31 syn keyword llvmStatement malloc alloca free load store getelementptr
33 syn keyword llvmStatement true false zeroinitializer
34 syn keyword llvmStatement define declare global constant const
35 syn keyword llvmStatement internal uninitialized external implementation
36 syn keyword llvmStatement linkonce weak appending
37 syn keyword llvmStatement undef null to except target datalayout triple deplibs
38 syn keyword llvmStatement big little volatile fastcc coldcc cc
39 syn keyword llvmStatement extractelement insertelement shufflevector
40 syn keyword llvmStatement module asm align
42 "syn match llvmFunction /%[a-zA-Z\$._\-][a-zA-Z\$._\-0-9]*/
43 syn match llvmNumber /\<\d\+\>/
44 syn match llvmNumber /\<\d\+\.\d*\>/
46 syn match llvmComment /;.*$/
47 syn region llvmString start=/"/ skip=/\\"/ end=/"/
48 syn match llvmLabel /[\-a-zA-Z\$._0-9]*:/
51 if version >= 508 || !exists("did_c_syn_inits")
53 let did_c_syn_inits = 1
54 command -nargs=+ HiLink hi link <args>
56 command -nargs=+ HiLink hi def link <args>
60 HiLink llvmStatement Statement
61 HiLink llvmNumber Number
62 HiLink llvmComment Comment
63 HiLink llvmString String
64 HiLink llvmLabel Label
69 let b:current_syntax = "llvm"