xref: /llvm-project/llvm/utils/kate/llvm.xml (revision df3478e480b3b2e9fe125697b7931dc48b09e450)
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE language SYSTEM "language.dtd">
3<language name="LLVM" section="Sources"
4          version="1.00" kateversion="3.4.4"
5          extensions="*.ll"
6          mimetype=""
7          author="LLVM Team"
8          license="LLVM Release License">
9  <highlighting>
10    <list name="keywords">
11      <item> begin </item>
12      <item> end </item>
13      <item> true </item>
14      <item> false </item>
15      <item> declare </item>
16      <item> define </item>
17      <item> global </item>
18      <item> constant </item>
19      <item> gc </item>
20      <item> module </item>
21      <item> asm </item>
22      <item> target </item>
23      <item> datalayout </item>
24      <item> null </item>
25      <item> undef </item>
26      <item> blockaddress </item>
27      <item> sideeffect </item>
28      <item> alignstack </item>
29      <item> to </item>
30      <item> unwind </item>
31      <item> nuw </item>
32      <item> nsw </item>
33      <item> inbounds </item>
34      <item> tail </item>
35      <item> triple </item>
36      <item> type </item>
37      <item> align </item>
38      <item> alias </item>
39      <item> monotonic </item>
40    </list>
41    <list name="linkage-types">
42      <item> private </item>
43      <item> internal </item>
44      <item> available_externally </item>
45      <item> linkonce </item>
46      <item> weak </item>
47      <item> common </item>
48      <item> appending </item>
49      <item> extern_weak </item>
50      <item> linkonce_odr </item>
51      <item> weak_odr </item>
52      <item> dllimport </item>
53      <item> dllexport </item>
54    </list>
55    <list name="calling-conventions">
56      <item> ccc </item>
57      <item> fastcc </item>
58      <item> coldcc </item>
59      <item> cc </item>
60      <item> spir_kernel </item>
61    </list>
62    <list name="visibility-styles">
63      <item> default </item>
64      <item> hidden </item>
65      <item> protected </item>
66    </list>
67    <list name="parameter-attributes">
68      <item> zeroext </item>
69      <item> signext </item>
70      <item> inreg </item>
71      <item> byref </item>
72      <item> byval </item>
73      <item> sret </item>
74      <item> noalias </item>
75      <item> nocapture </item>
76      <item> nest </item>
77    </list>
78    <list name="function-attributes">
79      <item> alignstack </item>
80      <item> allocsize </item>
81      <item> alwaysinline </item>
82      <item> argmemonly </item>
83      <item> arm_aapcscc </item>
84      <item> catch </item>
85      <item> cold </item>
86      <item> convergent </item>
87      <item> dereferenceable_or_null </item>
88      <item> extern_weak </item>
89      <item> hhvmcc </item>
90      <item> hot </item>
91      <item> inaccessiblemem_or_argmemonly </item>
92      <item> inaccessiblememonly </item>
93      <item> inalloca </item>
94      <item> inlinehint </item>
95      <item> inteldialect </item>
96      <item> jumptable </item>
97      <item> local_unnamed_addr </item>
98      <item> mustprogress </item>
99      <item> naked </item>
100      <item> nobuiltin </item>
101      <item> nocallback </item>
102      <item> nocf_check </item>
103      <item> noduplicate </item>
104      <item> nofree </item>
105      <item> noimplicitfloat </item>
106      <item> noinline </item>
107      <item> nomerge </item>
108      <item> noprofile </item>
109      <item> noredzone </item>
110      <item> noreturn </item>
111      <item> nosync </item>
112      <item> nounwind </item>
113      <item> null_pointer_is_valid </item>
114      <item> optdebug </item>
115      <item> optforfuzzing </item>
116      <item> optnone </item>
117      <item> optsize </item>
118      <item> preallocated </item>
119      <item> readnone </item>
120      <item> readonly </item>
121      <item> safestack </item>
122      <item> sanitize_hwaddress </item>
123      <item> sanitize_memtag </item>
124      <item> shadowcallstack </item>
125      <item> speculative_load_hardening </item>
126      <item> ssp </item>
127      <item> sspreq </item>
128      <item> sspstrong </item>
129      <item> swifterror </item>
130      <item> syncscope </item>
131      <item> tailcc </item>
132      <item> willreturn </item>
133      <item> willreturn </item>
134    </list>
135    <list name="types">
136      <item> addrspace </item>
137      <item> half </item>
138      <item> bfloat </item>
139      <item> float </item>
140      <item> double </item>
141      <item> fp128 </item>
142      <item> x86_fp80 </item>
143      <item> ppc_fp128 </item>
144      <item> x86_mmx </item>
145      <item> x86_amx </item>
146      <item> void </item>
147      <item> label </item>
148      <item> metadata </item>
149      <item> opaque </item>
150    </list>
151    <list name="intrinsic-global-variables">
152      <item> llvm.used </item>
153      <item> llvm.compiler.used </item>
154      <item> llvm.global_ctors </item>
155      <item> llvm.global_dtors </item>
156    </list>
157    <list name="instructions">
158      <item> ret </item>
159      <item> br </item>
160      <item> switch </item>
161      <item> indirectbr </item>
162      <item> invoke </item>
163      <item> unwind </item>
164      <item> unreachable </item>
165      <item> add </item>
166      <item> fadd </item>
167      <item> sub </item>
168      <item> fsub </item>
169      <item> fneg </item>
170      <item> mul </item>
171      <item> fmul </item>
172      <item> udiv </item>
173      <item> sdiv </item>
174      <item> fdiv </item>
175      <item> urem </item>
176      <item> srem </item>
177      <item> frem </item>
178      <item> shl </item>
179      <item> lshr </item>
180      <item> ashr </item>
181      <item> and </item>
182      <item> nand </item>
183      <item> or </item>
184      <item> xor </item>
185      <item> min </item>
186      <item> umin </item>
187      <item> max </item>
188      <item> umax </item>
189      <item> extractelement </item>
190      <item> insertelement </item>
191      <item> shufflevector </item>
192      <item> extractvalue </item>
193      <item> insertvalue </item>
194      <item> alloca </item>
195      <item> load </item>
196      <item> store </item>
197      <item> getelementptr </item>
198      <item> trunc </item>
199      <item> zext </item>
200      <item> sext </item>
201      <item> fptrunc </item>
202      <item> fpext </item>
203      <item> fptoui </item>
204      <item> fptosi </item>
205      <item> uitofp </item>
206      <item> sitofp </item>
207      <item> ptrtoint </item>
208      <item> inttoptr </item>
209      <item> bitcast </item>
210      <item> addrspacecast </item>
211      <item> icmp </item>
212      <item> fcmp </item>
213      <item> atomicrmw </item>
214      <item> cmpxchg </item>
215      <item> phi </item>
216      <item> select </item>
217      <item> call </item>
218      <item> va_arg </item>
219    </list>
220    <list name="conditions">
221      <item> eq </item>
222      <item> ne </item>
223      <item> ugt </item>
224      <item> uge </item>
225      <item> ult </item>
226      <item> ule </item>
227      <item> sgt </item>
228      <item> sge </item>
229      <item> slt </item>
230      <item> sle </item>
231      <item> oeq </item>
232      <item> ogt </item>
233      <item> oge </item>
234      <item> olt </item>
235      <item> ole </item>
236      <item> one </item>
237      <item> ord </item>
238      <item> ueq </item>
239      <item> une </item>
240      <item> uno </item>
241    </list>
242    <contexts>
243      <context name="llvm" attribute="Normal Text" lineEndContext="#stay">
244        <DetectSpaces />
245        <AnyChar String="@%" attribute="Symbol" context="symbol" />
246
247        <DetectChar char="{" beginRegion="Brace1" />
248        <DetectChar char="}" endRegion="Brace1" />
249        <DetectChar char=";" attribute="Comment" context="comment" />
250        <DetectChar attribute="String" context="string" char="&quot;" />
251        <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
252        <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
253        <Int attribute="Int" context="#stay" />
254
255        <keyword attribute="Keyword"   String="keywords" />
256        <keyword attribute="Keyword"   String="linkage-types" />
257        <keyword attribute="Keyword"   String="calling-conventions" />
258        <keyword attribute="Keyword"   String="visibility-styles" />
259        <keyword attribute="Keyword"   String="parameter-attributes" />
260        <keyword attribute="Keyword"   String="function-attributes" />
261        <keyword attribute="Data Type" String="types" />
262        <keyword attribute="Keyword"   String="intrinsic-global-variables" />
263        <keyword attribute="Keyword"   String="instructions" />
264        <keyword attribute="Keyword"   String="conditions" />
265      </context>
266
267      <context name="symbol" attribute="Symbol" lineEndContext="#pop">
268        <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
269        <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
270      </context>
271
272      <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
273        <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
274      </context>
275
276      <context name="string" attribute="String" lineEndContext="#stay">
277        <DetectChar attribute="String" context="#pop" char="&quot;" />
278      </context>
279
280      <context name="comment" attribute="Comment" lineEndContext="#pop">
281        <DetectSpaces />
282        <!-- TODO: Add FileCheck syntax highlighting -->
283        <IncludeRules context="##Alerts" />
284        <DetectIdentifier />
285      </context>
286    </contexts>
287    <itemDatas>
288      <itemData name="Normal Text" defStyleNum="dsNormal" />
289      <itemData name="Keyword" defStyleNum="dsKeyword" />
290      <itemData name="Data Type" defStyleNum="dsDataType" />
291      <itemData name="Int" defStyleNum="dsDecVal" />
292      <itemData name="Hex" defStyleNum="dsBaseN" />
293      <itemData name="Float" defStyleNum="dsFloat" />
294      <itemData name="String" defStyleNum="dsString" />
295      <itemData name="Comment" defStyleNum="dsComment" />
296      <itemData name="Function" defStyleNum="dsFunction" />
297      <itemData name="Symbol" defStyleNum="dsFunction" />
298    </itemDatas>
299  </highlighting>
300  <general>
301    <comments>
302      <comment name="singleLine" start=";" />
303    </comments>
304    <keywords casesensitive="1" weakDeliminator="." />
305  </general>
306</language>
307<!--
308// kate: space-indent on; indent-width 2; replace-tabs on;
309-->
310