IntrinsicEnums.inc 24 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. /*===- TableGen'erated file -------------------------------------*- C++ -*-===*\
  2. |* *|
  3. |* Intrinsic Function Source Fragment *|
  4. |* *|
  5. |* Automatically generated file, do not edit! *|
  6. |* *|
  7. \*===----------------------------------------------------------------------===*/
  8. // Enum values for intrinsics
  9. abs = 1, // llvm.abs
  10. addressofreturnaddress, // llvm.addressofreturnaddress
  11. adjust_trampoline, // llvm.adjust.trampoline
  12. annotation, // llvm.annotation
  13. assume, // llvm.assume
  14. bitreverse, // llvm.bitreverse
  15. bswap, // llvm.bswap
  16. call_preallocated_arg, // llvm.call.preallocated.arg
  17. call_preallocated_setup, // llvm.call.preallocated.setup
  18. call_preallocated_teardown, // llvm.call.preallocated.teardown
  19. canonicalize, // llvm.canonicalize
  20. ceil, // llvm.ceil
  21. clear_cache, // llvm.clear_cache
  22. codeview_annotation, // llvm.codeview.annotation
  23. convert_from_fp16, // llvm.convert.from.fp16
  24. convert_to_fp16, // llvm.convert.to.fp16
  25. copysign, // llvm.copysign
  26. coro_alloc, // llvm.coro.alloc
  27. coro_alloca_alloc, // llvm.coro.alloca.alloc
  28. coro_alloca_free, // llvm.coro.alloca.free
  29. coro_alloca_get, // llvm.coro.alloca.get
  30. coro_async_context_alloc, // llvm.coro.async.context.alloc
  31. coro_async_context_dealloc, // llvm.coro.async.context.dealloc
  32. coro_async_resume, // llvm.coro.async.resume
  33. coro_async_size_replace, // llvm.coro.async.size.replace
  34. coro_begin, // llvm.coro.begin
  35. coro_destroy, // llvm.coro.destroy
  36. coro_done, // llvm.coro.done
  37. coro_end, // llvm.coro.end
  38. coro_end_async, // llvm.coro.end.async
  39. coro_frame, // llvm.coro.frame
  40. coro_free, // llvm.coro.free
  41. coro_id, // llvm.coro.id
  42. coro_id_async, // llvm.coro.id.async
  43. coro_id_retcon, // llvm.coro.id.retcon
  44. coro_id_retcon_once, // llvm.coro.id.retcon.once
  45. coro_noop, // llvm.coro.noop
  46. coro_param, // llvm.coro.param
  47. coro_prepare_async, // llvm.coro.prepare.async
  48. coro_prepare_retcon, // llvm.coro.prepare.retcon
  49. coro_promise, // llvm.coro.promise
  50. coro_resume, // llvm.coro.resume
  51. coro_save, // llvm.coro.save
  52. coro_size, // llvm.coro.size
  53. coro_subfn_addr, // llvm.coro.subfn.addr
  54. coro_suspend, // llvm.coro.suspend
  55. coro_suspend_async, // llvm.coro.suspend.async
  56. coro_suspend_retcon, // llvm.coro.suspend.retcon
  57. cos, // llvm.cos
  58. ctlz, // llvm.ctlz
  59. ctpop, // llvm.ctpop
  60. cttz, // llvm.cttz
  61. dbg_addr, // llvm.dbg.addr
  62. dbg_declare, // llvm.dbg.declare
  63. dbg_label, // llvm.dbg.label
  64. dbg_value, // llvm.dbg.value
  65. debugtrap, // llvm.debugtrap
  66. donothing, // llvm.donothing
  67. eh_dwarf_cfa, // llvm.eh.dwarf.cfa
  68. eh_exceptioncode, // llvm.eh.exceptioncode
  69. eh_exceptionpointer, // llvm.eh.exceptionpointer
  70. eh_recoverfp, // llvm.eh.recoverfp
  71. eh_return_i32, // llvm.eh.return.i32
  72. eh_return_i64, // llvm.eh.return.i64
  73. eh_sjlj_callsite, // llvm.eh.sjlj.callsite
  74. eh_sjlj_functioncontext, // llvm.eh.sjlj.functioncontext
  75. eh_sjlj_longjmp, // llvm.eh.sjlj.longjmp
  76. eh_sjlj_lsda, // llvm.eh.sjlj.lsda
  77. eh_sjlj_setjmp, // llvm.eh.sjlj.setjmp
  78. eh_sjlj_setup_dispatch, // llvm.eh.sjlj.setup.dispatch
  79. eh_typeid_for, // llvm.eh.typeid.for
  80. eh_unwind_init, // llvm.eh.unwind.init
  81. exp, // llvm.exp
  82. exp2, // llvm.exp2
  83. expect, // llvm.expect
  84. expect_with_probability, // llvm.expect.with.probability
  85. experimental_constrained_ceil, // llvm.experimental.constrained.ceil
  86. experimental_constrained_cos, // llvm.experimental.constrained.cos
  87. experimental_constrained_exp, // llvm.experimental.constrained.exp
  88. experimental_constrained_exp2, // llvm.experimental.constrained.exp2
  89. experimental_constrained_fadd, // llvm.experimental.constrained.fadd
  90. experimental_constrained_fcmp, // llvm.experimental.constrained.fcmp
  91. experimental_constrained_fcmps, // llvm.experimental.constrained.fcmps
  92. experimental_constrained_fdiv, // llvm.experimental.constrained.fdiv
  93. experimental_constrained_floor, // llvm.experimental.constrained.floor
  94. experimental_constrained_fma, // llvm.experimental.constrained.fma
  95. experimental_constrained_fmul, // llvm.experimental.constrained.fmul
  96. experimental_constrained_fmuladd, // llvm.experimental.constrained.fmuladd
  97. experimental_constrained_fpext, // llvm.experimental.constrained.fpext
  98. experimental_constrained_fptosi, // llvm.experimental.constrained.fptosi
  99. experimental_constrained_fptoui, // llvm.experimental.constrained.fptoui
  100. experimental_constrained_fptrunc, // llvm.experimental.constrained.fptrunc
  101. experimental_constrained_frem, // llvm.experimental.constrained.frem
  102. experimental_constrained_fsub, // llvm.experimental.constrained.fsub
  103. experimental_constrained_llrint, // llvm.experimental.constrained.llrint
  104. experimental_constrained_llround, // llvm.experimental.constrained.llround
  105. experimental_constrained_log, // llvm.experimental.constrained.log
  106. experimental_constrained_log10, // llvm.experimental.constrained.log10
  107. experimental_constrained_log2, // llvm.experimental.constrained.log2
  108. experimental_constrained_lrint, // llvm.experimental.constrained.lrint
  109. experimental_constrained_lround, // llvm.experimental.constrained.lround
  110. experimental_constrained_maximum, // llvm.experimental.constrained.maximum
  111. experimental_constrained_maxnum, // llvm.experimental.constrained.maxnum
  112. experimental_constrained_minimum, // llvm.experimental.constrained.minimum
  113. experimental_constrained_minnum, // llvm.experimental.constrained.minnum
  114. experimental_constrained_nearbyint, // llvm.experimental.constrained.nearbyint
  115. experimental_constrained_pow, // llvm.experimental.constrained.pow
  116. experimental_constrained_powi, // llvm.experimental.constrained.powi
  117. experimental_constrained_rint, // llvm.experimental.constrained.rint
  118. experimental_constrained_round, // llvm.experimental.constrained.round
  119. experimental_constrained_roundeven, // llvm.experimental.constrained.roundeven
  120. experimental_constrained_sin, // llvm.experimental.constrained.sin
  121. experimental_constrained_sitofp, // llvm.experimental.constrained.sitofp
  122. experimental_constrained_sqrt, // llvm.experimental.constrained.sqrt
  123. experimental_constrained_trunc, // llvm.experimental.constrained.trunc
  124. experimental_constrained_uitofp, // llvm.experimental.constrained.uitofp
  125. experimental_deoptimize, // llvm.experimental.deoptimize
  126. experimental_gc_get_pointer_base, // llvm.experimental.gc.get.pointer.base
  127. experimental_gc_get_pointer_offset, // llvm.experimental.gc.get.pointer.offset
  128. experimental_gc_relocate, // llvm.experimental.gc.relocate
  129. experimental_gc_result, // llvm.experimental.gc.result
  130. experimental_gc_statepoint, // llvm.experimental.gc.statepoint
  131. experimental_guard, // llvm.experimental.guard
  132. experimental_noalias_scope_decl, // llvm.experimental.noalias.scope.decl
  133. experimental_patchpoint_i64, // llvm.experimental.patchpoint.i64
  134. experimental_patchpoint_void, // llvm.experimental.patchpoint.void
  135. experimental_stackmap, // llvm.experimental.stackmap
  136. experimental_stepvector, // llvm.experimental.stepvector
  137. experimental_vector_extract, // llvm.experimental.vector.extract
  138. experimental_vector_insert, // llvm.experimental.vector.insert
  139. experimental_vector_reverse, // llvm.experimental.vector.reverse
  140. experimental_vector_splice, // llvm.experimental.vector.splice
  141. experimental_widenable_condition, // llvm.experimental.widenable.condition
  142. fabs, // llvm.fabs
  143. floor, // llvm.floor
  144. flt_rounds, // llvm.flt.rounds
  145. fma, // llvm.fma
  146. fmuladd, // llvm.fmuladd
  147. fptosi_sat, // llvm.fptosi.sat
  148. fptoui_sat, // llvm.fptoui.sat
  149. frameaddress, // llvm.frameaddress
  150. fshl, // llvm.fshl
  151. fshr, // llvm.fshr
  152. gcread, // llvm.gcread
  153. gcroot, // llvm.gcroot
  154. gcwrite, // llvm.gcwrite
  155. get_active_lane_mask, // llvm.get.active.lane.mask
  156. get_dynamic_area_offset, // llvm.get.dynamic.area.offset
  157. hwasan_check_memaccess, // llvm.hwasan.check.memaccess
  158. hwasan_check_memaccess_shortgranules, // llvm.hwasan.check.memaccess.shortgranules
  159. icall_branch_funnel, // llvm.icall.branch.funnel
  160. init_trampoline, // llvm.init.trampoline
  161. instrprof_increment, // llvm.instrprof.increment
  162. instrprof_increment_step, // llvm.instrprof.increment.step
  163. instrprof_value_profile, // llvm.instrprof.value.profile
  164. invariant_end, // llvm.invariant.end
  165. invariant_start, // llvm.invariant.start
  166. is_constant, // llvm.is.constant
  167. launder_invariant_group, // llvm.launder.invariant.group
  168. lifetime_end, // llvm.lifetime.end
  169. lifetime_start, // llvm.lifetime.start
  170. llrint, // llvm.llrint
  171. llround, // llvm.llround
  172. load_relative, // llvm.load.relative
  173. localaddress, // llvm.localaddress
  174. localescape, // llvm.localescape
  175. localrecover, // llvm.localrecover
  176. log, // llvm.log
  177. log10, // llvm.log10
  178. log2, // llvm.log2
  179. loop_decrement, // llvm.loop.decrement
  180. loop_decrement_reg, // llvm.loop.decrement.reg
  181. lrint, // llvm.lrint
  182. lround, // llvm.lround
  183. masked_compressstore, // llvm.masked.compressstore
  184. masked_expandload, // llvm.masked.expandload
  185. masked_gather, // llvm.masked.gather
  186. masked_load, // llvm.masked.load
  187. masked_scatter, // llvm.masked.scatter
  188. masked_store, // llvm.masked.store
  189. matrix_column_major_load, // llvm.matrix.column.major.load
  190. matrix_column_major_store, // llvm.matrix.column.major.store
  191. matrix_multiply, // llvm.matrix.multiply
  192. matrix_transpose, // llvm.matrix.transpose
  193. maximum, // llvm.maximum
  194. maxnum, // llvm.maxnum
  195. memcpy, // llvm.memcpy
  196. memcpy_element_unordered_atomic, // llvm.memcpy.element.unordered.atomic
  197. memcpy_inline, // llvm.memcpy.inline
  198. memmove, // llvm.memmove
  199. memmove_element_unordered_atomic, // llvm.memmove.element.unordered.atomic
  200. memset, // llvm.memset
  201. memset_element_unordered_atomic, // llvm.memset.element.unordered.atomic
  202. minimum, // llvm.minimum
  203. minnum, // llvm.minnum
  204. nearbyint, // llvm.nearbyint
  205. objc_arc_annotation_bottomup_bbend, // llvm.objc.arc.annotation.bottomup.bbend
  206. objc_arc_annotation_bottomup_bbstart, // llvm.objc.arc.annotation.bottomup.bbstart
  207. objc_arc_annotation_topdown_bbend, // llvm.objc.arc.annotation.topdown.bbend
  208. objc_arc_annotation_topdown_bbstart, // llvm.objc.arc.annotation.topdown.bbstart
  209. objc_autorelease, // llvm.objc.autorelease
  210. objc_autoreleasePoolPop, // llvm.objc.autoreleasePoolPop
  211. objc_autoreleasePoolPush, // llvm.objc.autoreleasePoolPush
  212. objc_autoreleaseReturnValue, // llvm.objc.autoreleaseReturnValue
  213. objc_clang_arc_noop_use, // llvm.objc.clang.arc.noop.use
  214. objc_clang_arc_use, // llvm.objc.clang.arc.use
  215. objc_copyWeak, // llvm.objc.copyWeak
  216. objc_destroyWeak, // llvm.objc.destroyWeak
  217. objc_initWeak, // llvm.objc.initWeak
  218. objc_loadWeak, // llvm.objc.loadWeak
  219. objc_loadWeakRetained, // llvm.objc.loadWeakRetained
  220. objc_moveWeak, // llvm.objc.moveWeak
  221. objc_release, // llvm.objc.release
  222. objc_retain, // llvm.objc.retain
  223. objc_retain_autorelease, // llvm.objc.retain.autorelease
  224. objc_retainAutorelease, // llvm.objc.retainAutorelease
  225. objc_retainAutoreleaseReturnValue, // llvm.objc.retainAutoreleaseReturnValue
  226. objc_retainAutoreleasedReturnValue, // llvm.objc.retainAutoreleasedReturnValue
  227. objc_retainBlock, // llvm.objc.retainBlock
  228. objc_retainedObject, // llvm.objc.retainedObject
  229. objc_storeStrong, // llvm.objc.storeStrong
  230. objc_storeWeak, // llvm.objc.storeWeak
  231. objc_sync_enter, // llvm.objc.sync.enter
  232. objc_sync_exit, // llvm.objc.sync.exit
  233. objc_unretainedObject, // llvm.objc.unretainedObject
  234. objc_unretainedPointer, // llvm.objc.unretainedPointer
  235. objc_unsafeClaimAutoreleasedReturnValue, // llvm.objc.unsafeClaimAutoreleasedReturnValue
  236. objectsize, // llvm.objectsize
  237. pcmarker, // llvm.pcmarker
  238. pow, // llvm.pow
  239. powi, // llvm.powi
  240. prefetch, // llvm.prefetch
  241. preserve_array_access_index, // llvm.preserve.array.access.index
  242. preserve_struct_access_index, // llvm.preserve.struct.access.index
  243. preserve_union_access_index, // llvm.preserve.union.access.index
  244. pseudoprobe, // llvm.pseudoprobe
  245. ptr_annotation, // llvm.ptr.annotation
  246. ptrmask, // llvm.ptrmask
  247. read_register, // llvm.read_register
  248. read_volatile_register, // llvm.read_volatile_register
  249. readcyclecounter, // llvm.readcyclecounter
  250. returnaddress, // llvm.returnaddress
  251. rint, // llvm.rint
  252. round, // llvm.round
  253. roundeven, // llvm.roundeven
  254. sadd_sat, // llvm.sadd.sat
  255. sadd_with_overflow, // llvm.sadd.with.overflow
  256. sdiv_fix, // llvm.sdiv.fix
  257. sdiv_fix_sat, // llvm.sdiv.fix.sat
  258. seh_scope_begin, // llvm.seh.scope.begin
  259. seh_scope_end, // llvm.seh.scope.end
  260. seh_try_begin, // llvm.seh.try.begin
  261. seh_try_end, // llvm.seh.try.end
  262. set_loop_iterations, // llvm.set.loop.iterations
  263. set_rounding, // llvm.set.rounding
  264. sideeffect, // llvm.sideeffect
  265. sin, // llvm.sin
  266. smax, // llvm.smax
  267. smin, // llvm.smin
  268. smul_fix, // llvm.smul.fix
  269. smul_fix_sat, // llvm.smul.fix.sat
  270. smul_with_overflow, // llvm.smul.with.overflow
  271. sponentry, // llvm.sponentry
  272. sqrt, // llvm.sqrt
  273. ssa_copy, // llvm.ssa.copy
  274. sshl_sat, // llvm.sshl.sat
  275. ssub_sat, // llvm.ssub.sat
  276. ssub_with_overflow, // llvm.ssub.with.overflow
  277. stackguard, // llvm.stackguard
  278. stackprotector, // llvm.stackprotector
  279. stackrestore, // llvm.stackrestore
  280. stacksave, // llvm.stacksave
  281. start_loop_iterations, // llvm.start.loop.iterations
  282. strip_invariant_group, // llvm.strip.invariant.group
  283. swift_async_context_addr, // llvm.swift.async.context.addr
  284. test_set_loop_iterations, // llvm.test.set.loop.iterations
  285. test_start_loop_iterations, // llvm.test.start.loop.iterations
  286. thread_pointer, // llvm.thread.pointer
  287. trap, // llvm.trap
  288. trunc, // llvm.trunc
  289. type_checked_load, // llvm.type.checked.load
  290. type_test, // llvm.type.test
  291. uadd_sat, // llvm.uadd.sat
  292. uadd_with_overflow, // llvm.uadd.with.overflow
  293. ubsantrap, // llvm.ubsantrap
  294. udiv_fix, // llvm.udiv.fix
  295. udiv_fix_sat, // llvm.udiv.fix.sat
  296. umax, // llvm.umax
  297. umin, // llvm.umin
  298. umul_fix, // llvm.umul.fix
  299. umul_fix_sat, // llvm.umul.fix.sat
  300. umul_with_overflow, // llvm.umul.with.overflow
  301. ushl_sat, // llvm.ushl.sat
  302. usub_sat, // llvm.usub.sat
  303. usub_with_overflow, // llvm.usub.with.overflow
  304. vacopy, // llvm.va_copy
  305. vaend, // llvm.va_end
  306. vastart, // llvm.va_start
  307. var_annotation, // llvm.var.annotation
  308. vector_reduce_add, // llvm.vector.reduce.add
  309. vector_reduce_and, // llvm.vector.reduce.and
  310. vector_reduce_fadd, // llvm.vector.reduce.fadd
  311. vector_reduce_fmax, // llvm.vector.reduce.fmax
  312. vector_reduce_fmin, // llvm.vector.reduce.fmin
  313. vector_reduce_fmul, // llvm.vector.reduce.fmul
  314. vector_reduce_mul, // llvm.vector.reduce.mul
  315. vector_reduce_or, // llvm.vector.reduce.or
  316. vector_reduce_smax, // llvm.vector.reduce.smax
  317. vector_reduce_smin, // llvm.vector.reduce.smin
  318. vector_reduce_umax, // llvm.vector.reduce.umax
  319. vector_reduce_umin, // llvm.vector.reduce.umin
  320. vector_reduce_xor, // llvm.vector.reduce.xor
  321. vp_add, // llvm.vp.add
  322. vp_and, // llvm.vp.and
  323. vp_ashr, // llvm.vp.ashr
  324. vp_lshr, // llvm.vp.lshr
  325. vp_mul, // llvm.vp.mul
  326. vp_or, // llvm.vp.or
  327. vp_sdiv, // llvm.vp.sdiv
  328. vp_shl, // llvm.vp.shl
  329. vp_srem, // llvm.vp.srem
  330. vp_sub, // llvm.vp.sub
  331. vp_udiv, // llvm.vp.udiv
  332. vp_urem, // llvm.vp.urem
  333. vp_xor, // llvm.vp.xor
  334. vscale, // llvm.vscale
  335. write_register, // llvm.write_register
  336. xray_customevent, // llvm.xray.customevent
  337. xray_typedevent, // llvm.xray.typedevent
  338. num_intrinsics = 10107