mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 03:02:36 +01:00
bed7df6e8b
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
309 lines
9.7 KiB
XML
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=""" />
|
|
<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=""" />
|
|
<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=""" />
|
|
</context>
|
|
|
|
<context name="string" attribute="String" lineEndContext="#stay">
|
|
<DetectChar attribute="String" context="#pop" char=""" />
|
|
</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;
|
|
-->
|