" Highlight: %"constant string"
"            ^----------------^
syntax region llvmIdentifier start=+%"+ end=+"+ oneline 

" Highlight: { ... }
"            ^     ^
syntax region llvmScope matchgroup=llvmDelimiter start="{" end="}" transparent

" Highlight: ( ... )
"            ^     ^
syntax region llvmScope matchgroup=llvmDelimiter start="(" end=")" transparent

" Highlight: < ... x ... >
"            ^     ^     ^
syntax match llvmVectorDelimiter " \zsx\ze " contained
syntax region llvmScope matchgroup=llvmDelimiter start="<" end=">" transparent oneline contains=llvmDelimiter,llvmVectorDelimiter,llvmType,llvmNumber,llvmFloat,llvmBoolean,llvmConstant

syntax match llvmDelimiter ","

" Named metadata and specialized metadata keywords.
syn match   llvmMetadata /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*$/
syn match   llvmMetadata /![-a-zA-Z$._][-a-zA-Z$._0-9]*\ze\s*[=!]/
" syn match   llvmType /!\zs\a\+\ze\s*(/
syn match   llvmMetadata /!\(\d\+\>\|\ze{\|\ze\".*"\)/

" Define extended highlight groups
highlight default link llvmDelimiter Delimiter
highlight default link llvmVectorDelimiter llvmDelimiter
highlight default link llvmMetadata Include