@@ -1006,93 +1006,29 @@ number of values representing the bytes of a null-terminated string. For
1006
1006
attributes with a string argument (code 4), the *value * value is similarly a
1007
1007
variable number of values representing the bytes of a null-terminated string.
1008
1008
1009
- The integer codes are mapped to well-known attributes as follows.
1009
+ The integer codes are mapped to well-known attributes as described in the
1010
+ enumeration in the file `LLVMBitCodes.h
1011
+ <https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/Bitcode/LLVMBitCodes.h> `_.
1012
+
1013
+ For example:
1014
+
1015
+ ::
1016
+
1017
+ enum AttributeKindCodes {
1018
+ // = 0 is unused
1019
+ ATTR_KIND_ALIGNMENT = 1,
1020
+ ATTR_KIND_ALWAYS_INLINE = 2,
1021
+ ...
1022
+ }
1023
+
1024
+ Correspond to:
1010
1025
1011
1026
* code 1: ``align(<n>) ``
1012
1027
* code 2: ``alwaysinline ``
1013
- * code 3: ``byval ``
1014
- * code 4: ``inlinehint ``
1015
- * code 5: ``inreg ``
1016
- * code 6: ``minsize ``
1017
- * code 7: ``naked ``
1018
- * code 8: ``nest ``
1019
- * code 9: ``noalias ``
1020
- * code 10: ``nobuiltin ``
1021
- * code 11: ``nocapture ``
1022
- * code 12: ``nodeduplicate ``
1023
- * code 13: ``noimplicitfloat ``
1024
- * code 14: ``noinline ``
1025
- * code 15: ``nonlazybind ``
1026
- * code 16: ``noredzone ``
1027
- * code 17: ``noreturn ``
1028
- * code 18: ``nounwind ``
1029
- * code 19: ``optsize ``
1030
- * code 20: ``readnone ``
1031
- * code 21: ``readonly ``
1032
- * code 22: ``returned ``
1033
- * code 23: ``returns_twice ``
1034
- * code 24: ``signext ``
1035
- * code 25: ``alignstack(<n>) ``
1036
- * code 26: ``ssp ``
1037
- * code 27: ``sspreq ``
1038
- * code 28: ``sspstrong ``
1039
- * code 29: ``sret ``
1040
- * code 30: ``sanitize_address ``
1041
- * code 31: ``sanitize_thread ``
1042
- * code 32: ``sanitize_memory ``
1043
- * code 33: ``uwtable ``
1044
- * code 34: ``zeroext ``
1045
- * code 35: ``builtin ``
1046
- * code 36: ``cold ``
1047
- * code 37: ``optnone ``
1048
- * code 38: ``inalloca ``
1049
- * code 39: ``nonnull ``
1050
- * code 40: ``jumptable ``
1051
- * code 41: ``dereferenceable(<n>) ``
1052
- * code 42: ``dereferenceable_or_null(<n>) ``
1053
- * code 43: ``convergent ``
1054
- * code 44: ``safestack ``
1055
- * code 45: ``argmemonly ``
1056
- * code 46: ``swiftself ``
1057
- * code 47: ``swifterror ``
1058
- * code 48: ``norecurse ``
1059
- * code 49: ``inaccessiblememonly ``
1060
- * code 50: ``inaccessiblememonly_or_argmemonly ``
1061
- * code 51: ``allocsize(<EltSizeParam>[, <NumEltsParam>]) ``
1062
- * code 52: ``writeonly ``
1063
- * code 53: ``speculatable ``
1064
- * code 54: ``strictfp ``
1065
- * code 55: ``sanitize_hwaddress ``
1066
- * code 56: ``nocf_check ``
1067
- * code 57: ``optforfuzzing ``
1068
- * code 58: ``shadowcallstack ``
1069
- * code 59: ``speculative_load_hardening ``
1070
- * code 60: ``immarg ``
1071
- * code 61: ``willreturn ``
1072
- * code 62: ``nofree ``
1073
- * code 63: ``nosync ``
1074
- * code 64: ``sanitize_memtag ``
1075
- * code 65: ``preallocated ``
1076
- * code 66: ``no_merge ``
1077
- * code 67: ``null_pointer_is_valid ``
1078
- * code 68: ``noundef ``
1079
- * code 69: ``byref ``
1080
- * code 70: ``mustprogress ``
1081
- * code 74: ``vscale_range(<Min>[, <Max>]) ``
1082
- * code 75: ``swiftasync ``
1083
- * code 76: ``nosanitize_coverage ``
1084
- * code 77: ``elementtype ``
1085
- * code 78: ``disable_sanitizer_instrumentation ``
1086
- * code 79: ``nosanitize_bounds ``
1087
- * code 80: ``allocalign ``
1088
- * code 81: ``allocptr ``
1089
- * code 82: ``allockind ``
1090
- * code 83: ``presplitcoroutine ``
1091
- * code 84: ``fn_ret_thunk_extern ``
1092
- * code 85: ``skipprofile ``
1093
- * code 86: ``memory ``
1094
- * code 87: ``nofpclass ``
1095
- * code 88: ``optdebug ``
1028
+
1029
+ The mappings between the enumeration and the attribute name string may be found
1030
+ in the file `Attributes.td
1031
+ <https://github.com/llvm/llvm-project/blob/main/llvm/include/llvm/IR/Attributes.td> `_.
1096
1032
1097
1033
.. note ::
1098
1034
The ``allocsize `` attribute has a special encoding for its arguments. Its two
0 commit comments