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    </list>
40    <list name="linkage-types">
41      <item> private </item>
42      <item> internal </item>
43      <item> available_externally </item>
44      <item> linkonce </item>
45      <item> weak </item>
46      <item> common </item>
47      <item> appending </item>
48      <item> extern_weak </item>
49      <item> linkonce_odr </item>
50      <item> weak_odr </item>
51      <item> dllimport </item>
52      <item> dllexport </item>
53    </list>
54    <list name="calling-conventions">
55      <item> ccc </item>
56      <item> fastcc </item>
57      <item> coldcc </item>
58      <item> cc </item>
59    </list>
60    <list name="visibility-styles">
61      <item> default </item>
62      <item> hidden </item>
63      <item> protected </item>
64    </list>
65    <list name="parameter-attributes">
66      <item> zeroext </item>
67      <item> signext </item>
68      <item> inreg </item>
69      <item> byval </item>
70      <item> sret </item>
71      <item> noalias </item>
72      <item> nocapture </item>
73      <item> nest </item>
74    </list>
75    <list name="function-attributes">
76      <item> alignstack </item>
77      <item> alwaysinline </item>
78      <item> inlinehint </item>
79      <item> naked </item>
80      <item> noimplicitfloat </item>
81      <item> noinline </item>
82      <item> noredzone </item>
83      <item> noreturn </item>
84      <item> nounwind </item>
85      <item> optnone </item>
86      <item> optsize </item>
87      <item> readnone </item>
88      <item> readonly </item>
89      <item> ssp </item>
90      <item> sspreq </item>
91      <item> sspstrong </item>
92    </list>
93    <list name="types">
94      <item> float </item>
95      <item> double </item>
96      <item> fp128 </item>
97      <item> x86_fp80 </item>
98      <item> ppc_fp128 </item>
99      <item> x86mmx </item>
100      <item> void </item>
101      <item> label </item>
102      <item> metadata </item>
103      <item> opaque </item>
104    </list>
105    <list name="intrinsic-global-variables">
106      <item> llvm.used </item>
107      <item> llvm.compiler.used </item>
108      <item> llvm.global_ctors </item>
109      <item> llvm.global_dtors </item>
110    </list>
111    <list name="instructions">
112      <item> ret </item>
113      <item> br </item>
114      <item> switch </item>
115      <item> indirectbr </item>
116      <item> invoke </item>
117      <item> unwind </item>
118      <item> unreachable </item>
119      <item> add </item>
120      <item> fadd </item>
121      <item> sub </item>
122      <item> fsub </item>
123      <item> mul </item>
124      <item> fmul </item>
125      <item> udiv </item>
126      <item> sdiv </item>
127      <item> fdiv </item>
128      <item> urem </item>
129      <item> srem </item>
130      <item> frem </item>
131      <item> shl </item>
132      <item> lshr </item>
133      <item> ashr </item>
134      <item> and </item>
135      <item> or </item>
136      <item> xor </item>
137      <item> extractelement </item>
138      <item> insertelement </item>
139      <item> shufflevector </item>
140      <item> extractvalue </item>
141      <item> insertvalue </item>
142      <item> alloca </item>
143      <item> load </item>
144      <item> store </item>
145      <item> getelementptr </item>
146      <item> trunc </item>
147      <item> zext </item>
148      <item> sext </item>
149      <item> fptrunc </item>
150      <item> fpext </item>
151      <item> fptoui </item>
152      <item> fptosi </item>
153      <item> uitofp </item>
154      <item> sitofp </item>
155      <item> ptrtoint </item>
156      <item> inttoptr </item>
157      <item> bitcast </item>
158      <item> addrspacecast </item>
159      <item> icmp </item>
160      <item> fcmp </item>
161      <item> phi </item>
162      <item> select </item>
163      <item> call </item>
164      <item> va_arg </item>
165    </list>
166    <list name="conditions">
167      <item> eq </item>
168      <item> ne </item>
169      <item> ugt </item>
170      <item> uge </item>
171      <item> ult </item>
172      <item> ule </item>
173      <item> sgt </item>
174      <item> sge </item>
175      <item> slt </item>
176      <item> sle </item>
177      <item> oeq </item>
178      <item> ogt </item>
179      <item> oge </item>
180      <item> olt </item>
181      <item> ole </item>
182      <item> one </item>
183      <item> ord </item>
184      <item> ueq </item>
185      <item> une </item>
186      <item> uno </item>
187    </list>
188    <contexts>
189      <context name="llvm" attribute="Normal Text" lineEndContext="#stay">
190        <DetectSpaces />
191        <AnyChar String="@%" attribute="Symbol" context="symbol" />
192
193        <DetectChar char="{" beginRegion="Brace1" />
194        <DetectChar char="}" endRegion="Brace1" />
195        <DetectChar char=";" attribute="Comment" context="comment" />
196        <DetectChar attribute="String" context="string" char="&quot;" />
197        <RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
198        <RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
199        <Int attribute="Int" context="#stay" />
200
201        <keyword attribute="Keyword"   String="keywords" />
202        <keyword attribute="Keyword"   String="linkage-types" />
203        <keyword attribute="Keyword"   String="calling-conventions" />
204        <keyword attribute="Keyword"   String="visibility-styles" />
205        <keyword attribute="Keyword"   String="parameter-attributes" />
206        <keyword attribute="Keyword"   String="function-attributes" />
207        <keyword attribute="Data Type" String="types" />
208        <keyword attribute="Keyword"   String="intrinsic-global-variables" />
209        <keyword attribute="Keyword"   String="instructions" />
210        <keyword attribute="Keyword"   String="conditions" />
211      </context>
212
213      <context name="symbol" attribute="Symbol" lineEndContext="#pop">
214        <DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
215        <RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
216      </context>
217
218      <context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
219        <DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
220      </context>
221
222      <context name="string" attribute="String" lineEndContext="#stay">
223        <DetectChar attribute="String" context="#pop" char="&quot;" />
224      </context>
225
226      <context name="comment" attribute="Comment" lineEndContext="#pop">
227        <DetectSpaces />
228        <!-- TODO: Add FileCheck syntax highlighting -->
229        <IncludeRules context="##Alerts" />
230        <DetectIdentifier />
231      </context>
232    </contexts>
233    <itemDatas>
234      <itemData name="Normal Text" defStyleNum="dsNormal" />
235      <itemData name="Keyword" defStyleNum="dsKeyword" />
236      <itemData name="Data Type" defStyleNum="dsDataType" />
237      <itemData name="Int" defStyleNum="dsDecVal" />
238      <itemData name="Hex" defStyleNum="dsBaseN" />
239      <itemData name="Float" defStyleNum="dsFloat" />
240      <itemData name="String" defStyleNum="dsString" />
241      <itemData name="Comment" defStyleNum="dsComment" />
242      <itemData name="Function" defStyleNum="dsFunction" />
243      <itemData name="Symbol" defStyleNum="dsFunction" />
244    </itemDatas>
245  </highlighting>
246  <general>
247    <comments>
248      <comment name="singleLine" start=";" />
249    </comments>
250    <keywords casesensitive="1" weakDeliminator="." />
251  </general>
252</language>
253<!--
254// kate: space-indent on; indent-width 2; replace-tabs on;
255-->
256