[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
diff --git a/llvm/utils/emacs/llvm-mode.el b/llvm/utils/emacs/llvm-mode.el
index bc24b12..80ca930 100644
--- a/llvm/utils/emacs/llvm-mode.el
+++ b/llvm/utils/emacs/llvm-mode.el
@@ -22,12 +22,12 @@
(list
;; Attributes
`(,(regexp-opt
- '("alwaysinline" "argmemonly" "builtin" "cold" "convergent" "inaccessiblememonly"
- "inaccessiblemem_or_argmemonly" "inlinehint" "jumptable" "minsize" "mustprogress" "naked" "nobuiltin"
- "noduplicate" "nofree" "noimplicitfloat" "noinline" "nonlazybind" "noredzone" "noreturn"
- "norecurse" "noundef" "nounwind" "optnone" "optsize" "readnone" "readonly" "returns_twice"
- "speculatable" "ssp" "sspreq" "sspstrong" "safestack" "sanitize_address" "sanitize_hwaddress" "sanitize_memtag"
- "sanitize_thread" "sanitize_memory" "strictfp" "uwtable" "willreturn" "writeonly" "immarg") 'symbols) . font-lock-constant-face)
+ '("alwaysinline" "argmemonly" "allocsize" "builtin" "cold" "convergent" "dereferenceable_or_null" "hot" "inaccessiblememonly"
+ "inaccessiblemem_or_argmemonly" "inalloca" "inlinehint" "jumptable" "minsize" "mustprogress" "naked" "nobuiltin"
+ "nocallback" "nocf_check" "noduplicate" "nofree" "noimplicitfloat" "noinline" "nomerge" "nonlazybind" "noprofile" "noredzone" "noreturn"
+ "norecurse" "nosync" "noundef" "nounwind" "null_pointer_is_valid" "optforfuzzing" "optnone" "optsize" "preallocated" "readnone" "readonly" "returns_twice"
+ "shadowcallstack" "speculatable" "speculative_load_hardening" "ssp" "sspreq" "sspstrong" "safestack" "sanitize_address" "sanitize_hwaddress" "sanitize_memtag"
+ "sanitize_thread" "sanitize_memory" "strictfp" "swifterror" "uwtable" "willreturn" "writeonly" "immarg") 'symbols) . font-lock-constant-face)
;; Variables
'("%[-a-zA-Z$._][-a-zA-Z$._0-9]*" . font-lock-variable-name-face)
;; Labels
diff --git a/llvm/utils/kate/llvm.xml b/llvm/utils/kate/llvm.xml
index e5fd7484..9f7ec77 100644
--- a/llvm/utils/kate/llvm.xml
+++ b/llvm/utils/kate/llvm.xml
@@ -77,25 +77,59 @@
</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>
diff --git a/llvm/utils/vim/syntax/llvm.vim b/llvm/utils/vim/syntax/llvm.vim
index 9277eeb..48d3daf 100644
--- a/llvm/utils/vim/syntax/llvm.vim
+++ b/llvm/utils/vim/syntax/llvm.vim
@@ -44,11 +44,12 @@
\ alias
\ align
\ alignstack
+ \ allocsize
\ alwaysinline
\ appending
\ argmemonly
- \ arm_aapcscc
\ arm_aapcs_vfpcc
+ \ arm_aapcscc
\ arm_apcscc
\ asm
\ atomic
@@ -58,51 +59,58 @@
\ byref
\ byval
\ c
- \ catch
\ caller
+ \ catch
\ cc
\ ccc
\ cleanup
+ \ cold
\ coldcc
\ comdat
\ common
\ constant
+ \ convergent
\ datalayout
\ declare
\ default
\ define
\ deplibs
\ dereferenceable
+ \ dereferenceable_or_null
\ distinct
\ dllexport
\ dllimport
\ dso_local
\ dso_preemptable
\ except
+ \ extern_weak
\ external
\ externally_initialized
- \ extern_weak
\ fastcc
- \ tailcc
\ filter
\ from
\ gc
\ global
- \ hhvmcc
\ hhvm_ccc
+ \ hhvmcc
\ hidden
+ \ hot
\ immarg
+ \ inaccessiblemem_or_argmemonly
+ \ inaccessiblememonly
+ \ inalloca
\ initialexec
\ inlinehint
\ inreg
- \ inteldialect
\ intel_ocl_bicc
+ \ inteldialect
\ internal
+ \ jumptable
\ linkonce
\ linkonce_odr
+ \ local_unnamed_addr
\ localdynamic
\ localexec
- \ local_unnamed_addr
\ minsize
\ module
\ monotonic
@@ -113,19 +121,29 @@
\ nest
\ noalias
\ nobuiltin
+ \ nocallback
\ nocapture
+ \ nocf_check
+ \ noduplicate
+ \ nofree
\ noimplicitfloat
\ noinline
+ \ nomerge
\ nonlazybind
\ nonnull
+ \ noprofile
\ norecurse
\ noredzone
\ noreturn
+ \ nosync
\ noundef
\ nounwind
+ \ null_pointer_is_valid
+ \ optforfuzzing
\ optnone
\ optsize
\ personality
+ \ preallocated
\ private
\ protected
\ ptx_device
@@ -135,16 +153,20 @@
\ release
\ returned
\ returns_twice
+ \ safestack
\ sanitize_address
+ \ sanitize_hwaddress
\ sanitize_memory
+ \ sanitize_memtag
\ sanitize_thread
\ section
\ seq_cst
+ \ shadowcallstack
\ sideeffect
\ signext
- \ syncscope
\ source_filename
\ speculatable
+ \ speculative_load_hardening
\ spir_func
\ spir_kernel
\ sret
@@ -153,8 +175,11 @@
\ sspstrong
\ strictfp
\ swiftcc
+ \ swifterror
\ swiftself
+ \ syncscope
\ tail
+ \ tailcc
\ target
\ thread_local
\ to
@@ -167,10 +192,11 @@
\ volatile
\ weak
\ weak_odr
+ \ willreturn
+ \ win64cc
\ within
\ writeonly
\ x86_64_sysvcc
- \ win64cc
\ x86_fastcallcc
\ x86_stdcallcc
\ x86_thiscallcc
diff --git a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
index ddb1ea5..ff6707b 100644
--- a/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
+++ b/llvm/utils/vscode/llvm/syntaxes/ll.tmLanguage.yaml
@@ -143,11 +143,12 @@
\\balias\\b|\
\\balign\\b|\
\\balignstack\\b|\
+ \\ballocsize\\b|\
\\balwaysinline\\b|\
\\bappending\\b|\
\\bargmemonly\\b|\
- \\barm_aapcscc\\b|\
\\barm_aapcs_vfpcc\\b|\
+ \\barm_aapcscc\\b|\
\\barm_apcscc\\b|\
\\basm\\b|\
\\batomic\\b|\
@@ -157,51 +158,58 @@
\\bbyref\\b|\
\\bbyval\\b|\
\\bc\\b|\
- \\bcatch\\b|\
\\bcaller\\b|\
+ \\bcatch\\b|\
\\bcc\\b|\
\\bccc\\b|\
\\bcleanup\\b|\
+ \\bcold\\b|\
\\bcoldcc\\b|\
\\bcomdat\\b|\
\\bcommon\\b|\
\\bconstant\\b|\
+ \\bconvergent\\b|\
\\bdatalayout\\b|\
\\bdeclare\\b|\
\\bdefault\\b|\
\\bdefine\\b|\
\\bdeplibs\\b|\
\\bdereferenceable\\b|\
+ \\bdereferenceable_or_null\\b|\
\\bdistinct\\b|\
\\bdllexport\\b|\
\\bdllimport\\b|\
\\bdso_local\\b|\
\\bdso_preemptable\\b|\
\\bexcept\\b|\
+ \\bextern_weak\\b|\
\\bexternal\\b|\
\\bexternally_initialized\\b|\
- \\bextern_weak\\b|\
\\bfastcc\\b|\
- \\btailcc\\b|\
\\bfilter\\b|\
\\bfrom\\b|\
\\bgc\\b|\
\\bglobal\\b|\
- \\bhhvmcc\\b|\
\\bhhvm_ccc\\b|\
+ \\bhhvmcc\\b|\
\\bhidden\\b|\
+ \\bhot\\b|\
\\bimmarg\\b|\
+ \\binaccessiblemem_or_argmemonly\\b|\
+ \\binaccessiblememonly\\b|\
+ \\binalloc\\b|\
\\binitialexec\\b|\
\\binlinehint\\b|\
\\binreg\\b|\
- \\binteldialect\\b|\
\\bintel_ocl_bicc\\b|\
+ \\binteldialect\\b|\
\\binternal\\b|\
+ \\bjumptable\\b|\
\\blinkonce\\b|\
\\blinkonce_odr\\b|\
+ \\blocal_unnamed_addr\\b|\
\\blocaldynamic\\b|\
\\blocalexec\\b|\
- \\blocal_unnamed_addr\\b|\
\\bminsize\\b|\
\\bmodule\\b|\
\\bmonotonic\\b|\
@@ -212,19 +220,29 @@
\\bnest\\b|\
\\bnoalias\\b|\
\\bnobuiltin\\b|\
+ \\bnocallback\\b|\
\\bnocapture\\b|\
+ \\bnocf_check\\b|\
+ \\bnoduplicate\\b|\
+ \\bnofree\\b|\
\\bnoimplicitfloat\\b|\
\\bnoinline\\b|\
+ \\bnomerge\\b|\
\\bnonlazybind\\b|\
\\bnonnull\\b|\
+ \\bnoprofile\\b|\
\\bnorecurse\\b|\
\\bnoredzone\\b|\
\\bnoreturn\\b|\
+ \\bnosync\\b|\
\\bnoundef\\b|\
\\bnounwind\\b|\
+ \\bnull_pointer_is_valid\\b|\
+ \\boptforfuzzing\\b|\
\\boptnone\\b|\
\\boptsize\\b|\
\\bpersonality\\b|\
+ \\bpreallocated\\b|\
\\bprivate\\b|\
\\bprotected\\b|\
\\bptx_device\\b|\
@@ -234,16 +252,20 @@
\\brelease\\b|\
\\breturned\\b|\
\\breturns_twice\\b|\
+ \\bsafestack\\b|\
\\bsanitize_address\\b|\
+ \\bsanitize_hwaddress\\b|\
\\bsanitize_memory\\b|\
+ \\bsanitize_memtag\\b|\
\\bsanitize_thread\\b|\
\\bsection\\b|\
\\bseq_cst\\b|\
+ \\bshadowcallstack\\b|\
\\bsideeffect\\b|\
\\bsignext\\b|\
- \\bsyncscope\\b|\
\\bsource_filename\\b|\
\\bspeculatable\\b|\
+ \\bspeculative_load_hardening\\b|\
\\bspir_func\\b|\
\\bspir_kernel\\b|\
\\bsret\\b|\
@@ -252,8 +274,11 @@
\\bsspstrong\\b|\
\\bstrictfp\\b|\
\\bswiftcc\\b|\
+ \\bswifterror\\b|\
\\bswiftself\\b|\
+ \\bsyncscope\\b|\
\\btail\\b|\
+ \\btailcc\\b|\
\\btarget\\b|\
\\bthread_local\\b|\
\\bto\\b|\
@@ -266,10 +291,11 @@
\\bvolatile\\b|\
\\bweak\\b|\
\\bweak_odr\\b|\
+ \\bwillreturn\\b|\
+ \\bwin64cc\\b|\
\\bwithin\\b|\
\\bwriteonly\\b|\
\\bx86_64_sysvcc\\b|\
- \\bwin64cc\\b|\
\\bx86_fastcallcc\\b|\
\\bx86_stdcallcc\\b|\
\\bx86_thiscallcc\\b|\