1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-25 12:12:47 +01:00
llvm-mirror/utils/kate/llvm.xml
Andrzej Warzynski bed7df6e8b [Utils] Add missing attributes in syntax files
Added the following attributes to all LLVM syntax files:
  * allocsize
  * cold
  * convergent
  * dereferenceable_or_null
  * hot
  * inaccessiblemem_or_argmemonly
  * inaccessiblememonly
  * inalloca
  * jumptable
  * nocallback
  * nocf_check
  * noduplicate
  * nofree
  * nomerge
  * noprofile
  * nosync
  * null_pointer_is_valid
  * optforfuzzing
  * preallocated
  * safestack
  * sanitize_hwaddress
  * sanitize_memtag
  * shadowcallstack
  * speculative_load_hardening
  * swifterror
  * syncscope
  * tailcc
  * willreturn

I generated that list by comparing:
  * Attributes.inc (generated from Attributes.td), and
  * the Vim syntax file: llvm/utils/vim/syntax/llvm.vim

My original intention was to focus on the Vim syntax file. Since other
syntax files are also out-of-date, I added these attributes (if missing)
to other files as well. Note that in the other sytnax files (i.e. for
Emacs, VScode and Kate), there will be other attributes missing too.

I've also sorted all attributes alphabetically. Otherwise it's really
hard to automate adding new attributes. And I think that it was the
original intent to keep all of them ordered alphabetically.

Differential Revision: https://reviews.llvm.org/D97627
2021-03-05 17:36:09 +00:00

309 lines
9.7 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE language SYSTEM "language.dtd">
<language name="LLVM" section="Sources"
version="1.00" kateversion="3.4.4"
extensions="*.ll"
mimetype=""
author="LLVM Team"
license="LLVM Release License">
<highlighting>
<list name="keywords">
<item> begin </item>
<item> end </item>
<item> true </item>
<item> false </item>
<item> declare </item>
<item> define </item>
<item> global </item>
<item> constant </item>
<item> gc </item>
<item> module </item>
<item> asm </item>
<item> target </item>
<item> datalayout </item>
<item> null </item>
<item> undef </item>
<item> blockaddress </item>
<item> sideeffect </item>
<item> alignstack </item>
<item> to </item>
<item> unwind </item>
<item> nuw </item>
<item> nsw </item>
<item> inbounds </item>
<item> tail </item>
<item> triple </item>
<item> type </item>
<item> align </item>
<item> alias </item>
<item> monotonic </item>
</list>
<list name="linkage-types">
<item> private </item>
<item> internal </item>
<item> available_externally </item>
<item> linkonce </item>
<item> weak </item>
<item> common </item>
<item> appending </item>
<item> extern_weak </item>
<item> linkonce_odr </item>
<item> weak_odr </item>
<item> dllimport </item>
<item> dllexport </item>
</list>
<list name="calling-conventions">
<item> ccc </item>
<item> fastcc </item>
<item> coldcc </item>
<item> cc </item>
<item> spir_kernel </item>
</list>
<list name="visibility-styles">
<item> default </item>
<item> hidden </item>
<item> protected </item>
</list>
<list name="parameter-attributes">
<item> zeroext </item>
<item> signext </item>
<item> inreg </item>
<item> byref </item>
<item> byval </item>
<item> sret </item>
<item> noalias </item>
<item> nocapture </item>
<item> nest </item>
</list>
<list name="function-attributes">
<item> alignstack </item>
<item> allocsize </item>
<item> alwaysinline </item>
<item> argmemonly </item>
<item> arm_aapcscc </item>
<item> catch </item>
<item> cold </item>
<item> convergent </item>
<item> dereferenceable_or_null </item>
<item> extern_weak </item>
<item> hhvmcc </item>
<item> hot </item>
<item> inaccessiblemem_or_argmemonly </item>
<item> inaccessiblememonly </item>
<item> inalloca </item>
<item> inlinehint </item>
<item> inteldialect </item>
<item> jumptable </item>
<item> local_unnamed_addr </item>
<item> mustprogress </item>
<item> naked </item>
<item> nobuiltin </item>
<item> nocallback </item>
<item> nocf_check </item>
<item> noduplicate </item>
<item> nofree </item>
<item> noimplicitfloat </item>
<item> noinline </item>
<item> nomerge </item>
<item> noprofile </item>
<item> noredzone </item>
<item> noreturn </item>
<item> nosync </item>
<item> nounwind </item>
<item> null_pointer_is_valid </item>
<item> optforfuzzing </item>
<item> optnone </item>
<item> optsize </item>
<item> preallocated </item>
<item> readnone </item>
<item> readonly </item>
<item> safestack </item>
<item> sanitize_hwaddress </item>
<item> sanitize_memtag </item>
<item> shadowcallstack </item>
<item> speculative_load_hardening </item>
<item> ssp </item>
<item> sspreq </item>
<item> sspstrong </item>
<item> swifterror </item>
<item> syncscope </item>
<item> tailcc </item>
<item> willreturn </item>
<item> willreturn </item>
</list>
<list name="types">
<item> addrspace </item>
<item> half </item>
<item> bfloat </item>
<item> float </item>
<item> double </item>
<item> fp128 </item>
<item> x86_fp80 </item>
<item> ppc_fp128 </item>
<item> x86_mmx </item>
<item> x86_amx </item>
<item> void </item>
<item> label </item>
<item> metadata </item>
<item> opaque </item>
</list>
<list name="intrinsic-global-variables">
<item> llvm.used </item>
<item> llvm.compiler.used </item>
<item> llvm.global_ctors </item>
<item> llvm.global_dtors </item>
</list>
<list name="instructions">
<item> ret </item>
<item> br </item>
<item> switch </item>
<item> indirectbr </item>
<item> invoke </item>
<item> unwind </item>
<item> unreachable </item>
<item> add </item>
<item> fadd </item>
<item> sub </item>
<item> fsub </item>
<item> fneg </item>
<item> mul </item>
<item> fmul </item>
<item> udiv </item>
<item> sdiv </item>
<item> fdiv </item>
<item> urem </item>
<item> srem </item>
<item> frem </item>
<item> shl </item>
<item> lshr </item>
<item> ashr </item>
<item> and </item>
<item> nand </item>
<item> or </item>
<item> xor </item>
<item> min </item>
<item> umin </item>
<item> max </item>
<item> umax </item>
<item> extractelement </item>
<item> insertelement </item>
<item> shufflevector </item>
<item> extractvalue </item>
<item> insertvalue </item>
<item> alloca </item>
<item> load </item>
<item> store </item>
<item> getelementptr </item>
<item> trunc </item>
<item> zext </item>
<item> sext </item>
<item> fptrunc </item>
<item> fpext </item>
<item> fptoui </item>
<item> fptosi </item>
<item> uitofp </item>
<item> sitofp </item>
<item> ptrtoint </item>
<item> inttoptr </item>
<item> bitcast </item>
<item> addrspacecast </item>
<item> icmp </item>
<item> fcmp </item>
<item> atomicrmw </item>
<item> cmpxchg </item>
<item> phi </item>
<item> select </item>
<item> call </item>
<item> va_arg </item>
</list>
<list name="conditions">
<item> eq </item>
<item> ne </item>
<item> ugt </item>
<item> uge </item>
<item> ult </item>
<item> ule </item>
<item> sgt </item>
<item> sge </item>
<item> slt </item>
<item> sle </item>
<item> oeq </item>
<item> ogt </item>
<item> oge </item>
<item> olt </item>
<item> ole </item>
<item> one </item>
<item> ord </item>
<item> ueq </item>
<item> une </item>
<item> uno </item>
</list>
<contexts>
<context name="llvm" attribute="Normal Text" lineEndContext="#stay">
<DetectSpaces />
<AnyChar String="@%" attribute="Symbol" context="symbol" />
<DetectChar char="{" beginRegion="Brace1" />
<DetectChar char="}" endRegion="Brace1" />
<DetectChar char=";" attribute="Comment" context="comment" />
<DetectChar attribute="String" context="string" char="&quot;" />
<RegExpr String="i[0-9]+" attribute="Data Type" context="#stay" />
<RegExpr attribute="Symbol" String="[-a-zA-Z$._][-a-zA-Z$._0-9]*:" context="#stay" />
<Int attribute="Int" context="#stay" />
<keyword attribute="Keyword" String="keywords" />
<keyword attribute="Keyword" String="linkage-types" />
<keyword attribute="Keyword" String="calling-conventions" />
<keyword attribute="Keyword" String="visibility-styles" />
<keyword attribute="Keyword" String="parameter-attributes" />
<keyword attribute="Keyword" String="function-attributes" />
<keyword attribute="Data Type" String="types" />
<keyword attribute="Keyword" String="intrinsic-global-variables" />
<keyword attribute="Keyword" String="instructions" />
<keyword attribute="Keyword" String="conditions" />
</context>
<context name="symbol" attribute="Symbol" lineEndContext="#pop">
<DetectChar attribute="Symbol" context="symbol-string" char="&quot;" />
<RegExpr attribute="Symbol" String="([-a-zA-Z$._][-a-zA-Z$._0-9]*|[0-9]+)" context="#pop" />
</context>
<context name="symbol-string" attribute="Symbol" lineEndContext="#stay">
<DetectChar attribute="Symbol" context="#pop#pop" char="&quot;" />
</context>
<context name="string" attribute="String" lineEndContext="#stay">
<DetectChar attribute="String" context="#pop" char="&quot;" />
</context>
<context name="comment" attribute="Comment" lineEndContext="#pop">
<DetectSpaces />
<!-- TODO: Add FileCheck syntax highlighting -->
<IncludeRules context="##Alerts" />
<DetectIdentifier />
</context>
</contexts>
<itemDatas>
<itemData name="Normal Text" defStyleNum="dsNormal" />
<itemData name="Keyword" defStyleNum="dsKeyword" />
<itemData name="Data Type" defStyleNum="dsDataType" />
<itemData name="Int" defStyleNum="dsDecVal" />
<itemData name="Hex" defStyleNum="dsBaseN" />
<itemData name="Float" defStyleNum="dsFloat" />
<itemData name="String" defStyleNum="dsString" />
<itemData name="Comment" defStyleNum="dsComment" />
<itemData name="Function" defStyleNum="dsFunction" />
<itemData name="Symbol" defStyleNum="dsFunction" />
</itemDatas>
</highlighting>
<general>
<comments>
<comment name="singleLine" start=";" />
</comments>
<keywords casesensitive="1" weakDeliminator="." />
</general>
</language>
<!--
// kate: space-indent on; indent-width 2; replace-tabs on;
-->