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> linker_private </item> 43 <item> linker_private_weak </item> 44 <item> linker_private_weak_def_auto </item> 45 <item> internal </item> 46 <item> available_externally </item> 47 <item> linkonce </item> 48 <item> weak </item> 49 <item> common </item> 50 <item> appending </item> 51 <item> extern_weak </item> 52 <item> linkonce_odr </item> 53 <item> weak_odr </item> 54 <item> dllimport </item> 55 <item> dllexport </item> 56 </list> 57 <list name="calling-conventions"> 58 <item> ccc </item> 59 <item> fastcc </item> 60 <item> coldcc </item> 61 <item> cc </item> 62 </list> 63 <list name="visibility-styles"> 64 <item> default </item> 65 <item> hidden </item> 66 <item> protected </item> 67 </list> 68 <list name="parameter-attributes"> 69 <item> zeroext </item> 70 <item> signext </item> 71 <item> inreg </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> alwaysinline </item> 81 <item> inlinehint </item> 82 <item> naked </item> 83 <item> noimplicitfloat </item> 84 <item> noinline </item> 85 <item> noredzone </item> 86 <item> noreturn </item> 87 <item> nounwind </item> 88 <item> optsize </item> 89 <item> readnone </item> 90 <item> readonly </item> 91 <item> ssp </item> 92 <item> sspreq </item> 93 </list> 94 <list name="types"> 95 <item> float </item> 96 <item> double </item> 97 <item> fp128 </item> 98 <item> x86_fp80 </item> 99 <item> ppc_fp128 </item> 100 <item> x86mmx </item> 101 <item> void </item> 102 <item> label </item> 103 <item> metadata </item> 104 <item> opaque </item> 105 </list> 106 <list name="intrinsic-global-variables"> 107 <item> llvm.used </item> 108 <item> llvm.compiler.used </item> 109 <item> llvm.global_ctors </item> 110 <item> llvm.global_dtors </item> 111 </list> 112 <list name="instructions"> 113 <item> ret </item> 114 <item> br </item> 115 <item> switch </item> 116 <item> indirectbr </item> 117 <item> invoke </item> 118 <item> unwind </item> 119 <item> unreachable </item> 120 <item> add </item> 121 <item> fadd </item> 122 <item> sub </item> 123 <item> fsub </item> 124 <item> mul </item> 125 <item> fmul </item> 126 <item> udiv </item> 127 <item> sdiv </item> 128 <item> fdiv </item> 129 <item> urem </item> 130 <item> srem </item> 131 <item> frem </item> 132 <item> shl </item> 133 <item> lshr </item> 134 <item> ashr </item> 135 <item> and </item> 136 <item> or </item> 137 <item> xor </item> 138 <item> extractelement </item> 139 <item> insertelement </item> 140 <item> shufflevector </item> 141 <item> extractvalue </item> 142 <item> insertvalue </item> 143 <item> alloca </item> 144 <item> load </item> 145 <item> store </item> 146 <item> getelementptr </item> 147 <item> trunc </item> 148 <item> zext </item> 149 <item> sext </item> 150 <item> fptrunc </item> 151 <item> fpext </item> 152 <item> fptoui </item> 153 <item> fptosi </item> 154 <item> uitofp </item> 155 <item> sitofp </item> 156 <item> ptrtoint </item> 157 <item> inttoptr </item> 158 <item> bitcast </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=""" /> 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=""" /> 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=""" /> 220 </context> 221 222 <context name="string" attribute="String" lineEndContext="#stay"> 223 <DetectChar attribute="String" context="#pop" char=""" /> 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