From a96b36398fcfb4953e8190127da8bf074c7552f1 Mon Sep 17 00:00:00 2001 From: robert Date: Sat, 11 Nov 2023 18:14:26 +0000 Subject: [PATCH] merge llvm-16.0.6 --- gnu/llvm/llvm/bindings/go/README.txt | 61 - gnu/llvm/llvm/bindings/go/build.sh | 28 - gnu/llvm/llvm/bindings/go/conftest.go | 16 - gnu/llvm/llvm/bindings/go/llvm/IRBindings.cpp | 75 - gnu/llvm/llvm/bindings/go/llvm/IRBindings.h | 57 - .../go/llvm/InstrumentationBindings.cpp | 48 - .../go/llvm/InstrumentationBindings.h | 37 - .../llvm/bindings/go/llvm/SupportBindings.cpp | 25 - .../llvm/bindings/go/llvm/SupportBindings.h | 29 - gnu/llvm/llvm/bindings/go/llvm/analysis.go | 68 - gnu/llvm/llvm/bindings/go/llvm/bitreader.go | 50 - gnu/llvm/llvm/bindings/go/llvm/bitwriter.go | 38 - gnu/llvm/llvm/bindings/go/llvm/dibuilder.go | 711 -- .../llvm/bindings/go/llvm/executionengine.go | 177 - .../bindings/go/llvm/executionengine_test.go | 95 - gnu/llvm/llvm/bindings/go/llvm/ir.go | 2016 --- gnu/llvm/llvm/bindings/go/llvm/ir_test.go | 164 - gnu/llvm/llvm/bindings/go/llvm/linker.go | 30 - .../llvm/bindings/go/llvm/llvm_config.go.in | 12 - gnu/llvm/llvm/bindings/go/llvm/llvm_dep.go | 18 - gnu/llvm/llvm/bindings/go/llvm/string.go | 106 - gnu/llvm/llvm/bindings/go/llvm/string_test.go | 27 - gnu/llvm/llvm/bindings/go/llvm/support.go | 53 - gnu/llvm/llvm/bindings/go/llvm/target.go | 296 - .../bindings/go/llvm/transforms_coroutines.go | 23 - .../go/llvm/transforms_instrumentation.go | 45 - .../llvm/bindings/go/llvm/transforms_ipo.go | 40 - .../bindings/go/llvm/transforms_pmbuilder.go | 72 - .../bindings/go/llvm/transforms_scalar.go | 44 - gnu/llvm/llvm/bindings/go/llvm/version.go | 20 - .../cmake/modules/AddLLVMDefinitions.cmake | 17 - gnu/llvm/llvm/cmake/modules/FindGRPC.cmake | 146 - .../llvm/cmake/modules/GetLibraryName.cmake | 2 +- gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_3.rst | 17 - .../llvm/docs/AMDGPU/gfx1011_type_dev.rst | 13 - .../llvm/docs/AMDGPU/gfx1011_vdst32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx1011_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_buf.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_ds.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_flat.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_mimg.rst | 23 - .../llvm/docs/AMDGPU/gfx10_base_smem_addr.rst | 17 - .../llvm/docs/AMDGPU/gfx10_base_smem_buf.rst | 17 - .../docs/AMDGPU/gfx10_base_smem_scratch.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm32.rst | 13 - .../docs/AMDGPU/gfx10_data_buf_atomic128.rst | 21 - .../docs/AMDGPU/gfx10_data_buf_atomic32.rst | 21 - .../docs/AMDGPU/gfx10_data_buf_atomic64.rst | 21 - .../AMDGPU/gfx10_data_mimg_atomic_cmp.rst | 27 - .../AMDGPU/gfx10_data_mimg_atomic_reg.rst | 26 - .../docs/AMDGPU/gfx10_data_mimg_store.rst | 18 - .../docs/AMDGPU/gfx10_data_mimg_store_d16.rst | 21 - .../docs/AMDGPU/gfx10_data_smem_atomic128.rst | 21 - .../docs/AMDGPU/gfx10_data_smem_atomic32.rst | 21 - .../docs/AMDGPU/gfx10_data_smem_atomic64.rst | 21 - .../llvm/docs/AMDGPU/gfx10_dst_buf_128.rst | 17 - .../llvm/docs/AMDGPU/gfx10_dst_buf_32.rst | 17 - .../llvm/docs/AMDGPU/gfx10_dst_buf_64.rst | 17 - .../llvm/docs/AMDGPU/gfx10_dst_buf_96.rst | 17 - .../llvm/docs/AMDGPU/gfx10_dst_buf_lds.rst | 21 - .../docs/AMDGPU/gfx10_dst_flat_atomic32.rst | 19 - .../docs/AMDGPU/gfx10_dst_flat_atomic64.rst | 19 - .../docs/AMDGPU/gfx10_dst_mimg_gather4.rst | 22 - .../docs/AMDGPU/gfx10_dst_mimg_regular.rst | 20 - .../AMDGPU/gfx10_dst_mimg_regular_d16.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm16.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm32.rst | 14 - .../llvm/docs/AMDGPU/gfx10_mad_type_dev.rst | 16 - .../AMDGPU/gfx10_mod_dpp_sdwa_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx10_mod_sdwa_sext.rst | 13 - .../docs/AMDGPU/gfx10_mod_vop3_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx10_offset_buf.rst | 17 - .../docs/AMDGPU/gfx10_offset_smem_buf.rst | 17 - .../docs/AMDGPU/gfx10_offset_smem_plain.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx10_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx10_perm_smem.rst | 24 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ret.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_mimg.rst | 17 - .../docs/AMDGPU/gfx10_saddr_flat_global.rst | 19 - .../docs/AMDGPU/gfx10_saddr_flat_scratch.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx10_samp_mimg.rst | 17 - .../llvm/docs/AMDGPU/gfx10_sdata128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst256_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst512_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_simm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_src_exp.rst | 28 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_type_dev.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx10_uimm16.rst | 13 - .../docs/AMDGPU/gfx10_vaddr_flat_global.rst | 20 - .../docs/AMDGPU/gfx10_vaddr_flat_scratch.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vcc_32.rst | 16 - .../llvm/docs/AMDGPU/gfx10_vdata128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_wsdst.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx10_wssrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_buf.rst | 24 - gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_ds.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_flat.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_mimg.rst | 21 - .../llvm/docs/AMDGPU/gfx7_base_smem_addr.rst | 17 - .../llvm/docs/AMDGPU/gfx7_base_smem_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm32.rst | 13 - .../docs/AMDGPU/gfx7_data_buf_atomic128.rst | 21 - .../docs/AMDGPU/gfx7_data_buf_atomic32.rst | 21 - .../docs/AMDGPU/gfx7_data_buf_atomic64.rst | 21 - .../docs/AMDGPU/gfx7_data_mimg_atomic_cmp.rst | 27 - .../docs/AMDGPU/gfx7_data_mimg_atomic_reg.rst | 26 - .../llvm/docs/AMDGPU/gfx7_data_mimg_store.rst | 18 - .../llvm/docs/AMDGPU/gfx7_dst_buf_128.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_32.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_64.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_96.rst | 17 - .../llvm/docs/AMDGPU/gfx7_dst_buf_lds.rst | 21 - .../docs/AMDGPU/gfx7_dst_flat_atomic32.rst | 19 - .../docs/AMDGPU/gfx7_dst_flat_atomic64.rst | 19 - .../docs/AMDGPU/gfx7_dst_mimg_gather4.rst | 17 - .../docs/AMDGPU/gfx7_dst_mimg_regular.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx7_fimm32.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx7_mod.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_buf.rst | 17 - .../llvm/docs/AMDGPU/gfx7_offset_smem.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx7_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ret.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_mimg.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_samp_mimg.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst256_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst512_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_simm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_src_exp.rst | 28 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_type_dev.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_uimm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vcc_64.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_buf.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_ds.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_flat.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_mimg.rst | 21 - .../llvm/docs/AMDGPU/gfx8_base_smem_addr.rst | 17 - .../llvm/docs/AMDGPU/gfx8_base_smem_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm32.rst | 13 - .../docs/AMDGPU/gfx8_data_buf_atomic128.rst | 21 - .../docs/AMDGPU/gfx8_data_buf_atomic32.rst | 21 - .../docs/AMDGPU/gfx8_data_buf_atomic64.rst | 21 - .../docs/AMDGPU/gfx8_data_buf_d16_128.rst | 20 - .../llvm/docs/AMDGPU/gfx8_data_buf_d16_32.rst | 17 - .../llvm/docs/AMDGPU/gfx8_data_buf_d16_64.rst | 20 - .../llvm/docs/AMDGPU/gfx8_data_buf_d16_96.rst | 20 - .../docs/AMDGPU/gfx8_data_mimg_atomic_cmp.rst | 27 - .../docs/AMDGPU/gfx8_data_mimg_atomic_reg.rst | 26 - .../llvm/docs/AMDGPU/gfx8_data_mimg_store.rst | 18 - .../docs/AMDGPU/gfx8_data_mimg_store_d16.rst | 24 - .../llvm/docs/AMDGPU/gfx8_dst_buf_128.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_32.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_64.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_96.rst | 17 - .../llvm/docs/AMDGPU/gfx8_dst_buf_d16_128.rst | 21 - .../llvm/docs/AMDGPU/gfx8_dst_buf_d16_32.rst | 17 - .../llvm/docs/AMDGPU/gfx8_dst_buf_d16_64.rst | 21 - .../llvm/docs/AMDGPU/gfx8_dst_buf_d16_96.rst | 21 - .../llvm/docs/AMDGPU/gfx8_dst_buf_lds.rst | 21 - .../docs/AMDGPU/gfx8_dst_flat_atomic32.rst | 19 - .../docs/AMDGPU/gfx8_dst_flat_atomic64.rst | 19 - .../docs/AMDGPU/gfx8_dst_mimg_gather4.rst | 26 - .../docs/AMDGPU/gfx8_dst_mimg_regular.rst | 20 - .../docs/AMDGPU/gfx8_dst_mimg_regular_d16.rst | 26 - gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm16.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm32.rst | 14 - .../docs/AMDGPU/gfx8_mod_dpp_sdwa_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx8_mod_sdwa_sext.rst | 13 - .../docs/AMDGPU/gfx8_mod_vop3_abs_neg.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_buf.rst | 17 - .../docs/AMDGPU/gfx8_offset_smem_load.rst | 17 - .../docs/AMDGPU/gfx8_offset_smem_store.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_perm_smem.rst | 24 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ret.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_mimg.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_samp_mimg.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst256_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst512_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_simm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_src_exp.rst | 28 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_type_dev.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_uimm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vcc_64.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst64_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst96_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc64_0.rst | 17 - .../llvm/docs/AMDGPU/gfx900_mad_type_dev.rst | 16 - .../docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx900_vdst32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx904_mad_type_dev.rst | 16 - .../docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx904_vdst32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx906_mad_type_dev.rst | 16 - .../AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst | 13 - .../docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_type_dev.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx906_vdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx906_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_addr_buf.rst | 22 - .../llvm/docs/AMDGPU/gfx908_adst1024_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_adst128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_adst32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_adst512_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_asrc1024_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_asrc128_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_asrc512_0.rst | 17 - .../docs/AMDGPU/gfx908_data_buf_atomic32.rst | 21 - .../docs/AMDGPU/gfx908_dst_flat_atomic32.rst | 19 - .../llvm/docs/AMDGPU/gfx908_mad_type_dev.rst | 16 - .../AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst | 13 - .../docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst | 13 - .../llvm/docs/AMDGPU/gfx908_offset_buf.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx908_ret.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx908_rsrc_buf.rst | 17 - .../docs/AMDGPU/gfx908_saddr_flat_global.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_type_dev.rst | 13 - .../docs/AMDGPU/gfx908_vaddr_flat_global.rst | 20 - .../llvm/docs/AMDGPU/gfx908_vasrc32_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_vasrc64_0.rst | 17 - .../llvm/docs/AMDGPU/gfx908_vdata32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_vdst32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx908_vsrc32_0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_1.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_2.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_m.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_m_1.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr_1.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_1.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_2.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_1.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_2.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset.rst | 17 - .../llvm/docs/AMDGPU/gfx90a_soffset_1.rst | 20 - .../llvm/docs/AMDGPU/gfx90a_soffset_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_10.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_11.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_8.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_9.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_8.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_2.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_3.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_4.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_5.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_10.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_4.rst | 26 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_5.rst | 26 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_6.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_8.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_9.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_10.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_11.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_12.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_13.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_14.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_15.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_16.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_17.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_18.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_19.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_4.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_5.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_6.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_7.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_8.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_9.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_1.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_2.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_m.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_m_1.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_opt.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr_1.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_1.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_2.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32.rst | 13 - gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_1.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_2.rst | 14 - gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_1.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_10.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_8.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_src_9.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_4.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_5.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_6.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_8.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_2.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_3.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_4.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_5.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_10.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_4.rst | 26 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_5.rst | 26 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_6.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_7.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_8.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_9.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_10.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_11.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_12.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_13.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_3.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_4.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_5.rst | 19 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_6.rst | 22 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_7.rst | 20 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_8.rst | 21 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_9.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc.rst | 28 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_1.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_2.rst | 17 - gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_3.rst | 17 - gnu/llvm/llvm/docs/Makefile.sphinx | 155 - gnu/llvm/llvm/docs/Proposals/LLVMLibC.rst | 125 - .../IRTransforms/InitializePasses.cpp | 21 - .../examples/IRTransforms/InitializePasses.h | 22 - .../llvm/examples/IRTransforms/SimplifyCFG.h | 24 - .../CMakeLists.txt | 12 - .../LLJITWithTargetProcessControl.cpp | 197 - .../llvm-c/Transforms/AggressiveInstCombine.h | 40 - .../include/llvm-c/Transforms/Coroutines.h | 56 - gnu/llvm/llvm/include/llvm/ADT/Waymarking.h | 322 - .../llvm/Analysis/CFLAliasAnalysisUtils.h | 57 - .../llvm/Analysis/CFLAndersAliasAnalysis.h | 127 - .../llvm/Analysis/CFLSteensAliasAnalysis.h | 144 - .../llvm/include/llvm/BinaryFormat/Dwarf.def | 30 +- gnu/llvm/llvm/include/llvm/BinaryFormat/ELF.h | 182 +- .../llvm/include/llvm/CodeGen/AsmPrinter.h | 101 +- .../llvm/CodeGen/GlobalISel/RegisterBank.h | 98 - .../CodeGen/GlobalISel/RegisterBankInfo.h | 775 -- .../include/llvm/CodeGen/MachineFrameInfo.h | 59 +- gnu/llvm/llvm/include/llvm/CodeGen/Passes.h | 66 +- .../llvm/CodeGen/TargetFrameLowering.h | 30 +- .../llvm/include/llvm/DebugInfo/GSYM/Range.h | 130 - .../ExecutionEngine/Orc/LLVMSPSSerializers.h | 69 - .../Orc/OrcRPCExecutorProcessControl.h | 436 - .../Orc/OrcRemoteTargetClient.h | 925 -- .../Orc/OrcRemoteTargetRPCAPI.h | 386 - .../Orc/OrcRemoteTargetServer.h | 464 - .../Orc/Shared/FDRawByteChannel.h | 79 - .../ExecutionEngine/Orc/Shared/RPCUtils.h | 1659 --- .../Orc/Shared/RawByteChannel.h | 183 - .../Orc/Shared/Serialization.h | 769 -- .../Orc/TargetProcess/OrcRPCTPCServer.h | 660 - .../ExecutionEngine/OrcMCJITReplacement.h | 37 - .../llvm/ExecutionEngine/OrcV1Deprecation.h | 22 - .../include/llvm/IR/GlobalIndirectSymbol.h | 93 - gnu/llvm/llvm/include/llvm/InitializePasses.h | 113 +- gnu/llvm/llvm/include/llvm/LTO/Caching.h | 38 - .../include/llvm/MC/MCFixedLenDisassembler.h | 33 - .../llvm/Support/AArch64TargetParser.def | 239 - .../include/llvm/Support/ARMTargetParser.def | 322 - .../llvm/Support/RISCVTargetParser.def | 27 - .../include/llvm/Support/TargetRegistry.h | 1297 -- .../llvm/include/llvm/Support/ThreadLocal.h | 62 - .../llvm/Testing/Support/Annotations.h | 92 - .../llvm/include/llvm/Transforms/Coroutines.h | 37 - .../InstCombine/InstCombineWorklist.h | 128 - .../llvm/Transforms/Scalar/LowerAtomic.h | 35 - .../include/llvm/Transforms/Utils/MisExpect.h | 82 + .../lib/Analysis/CFLAndersAliasAnalysis.cpp | 931 -- gnu/llvm/llvm/lib/Analysis/CFLGraph.h | 667 - .../lib/Analysis/CFLSteensAliasAnalysis.cpp | 364 - .../lib/Analysis/ReleaseModeModelRunner.cpp | 90 - gnu/llvm/llvm/lib/Analysis/TFUtils.cpp | 542 - .../Analysis/models/generate_mock_model.py | 69 - .../lib/Analysis/models/inlining/config.py | 87 - .../lib/CodeGen/AsmPrinter/AsmPrinter.cpp | 1120 +- gnu/llvm/llvm/lib/CodeGen/CMakeLists.txt | 57 +- .../lib/CodeGen/GlobalISel/RegisterBank.cpp | 110 - .../CodeGen/GlobalISel/RegisterBankInfo.cpp | 805 -- .../llvm/lib/CodeGen/PrologEpilogInserter.cpp | 526 +- .../lib/CodeGen/SelectionDAG/DAGCombiner.cpp | 7003 +++++++--- .../llvm/lib/CodeGen/TargetPassConfig.cpp | 254 +- gnu/llvm/llvm/lib/DebugInfo/GSYM/Range.cpp | 124 - .../Symbolize/SymbolizableObjectFile.h | 103 - .../ExecutionEngine/Orc/Shared/RPCError.cpp | 58 - gnu/llvm/llvm/lib/IR/ConstantFold.h | 56 - gnu/llvm/llvm/lib/LTO/Caching.cpp | 151 - gnu/llvm/llvm/lib/MC/MCELFStreamer.cpp | 79 +- gnu/llvm/llvm/lib/MC/MCParser/AsmParser.cpp | 276 +- .../llvm/lib/Support/AArch64TargetParser.cpp | 281 - gnu/llvm/llvm/lib/Support/ARMTargetParser.cpp | 624 - gnu/llvm/llvm/lib/Support/Host.cpp | 1738 --- gnu/llvm/llvm/lib/Support/TargetParser.cpp | 335 - gnu/llvm/llvm/lib/Support/TargetRegistry.cpp | 134 - gnu/llvm/llvm/lib/Support/ThreadLocal.cpp | 47 - gnu/llvm/llvm/lib/Support/Triple.cpp | 1781 --- gnu/llvm/llvm/lib/Support/Unix/Host.inc | 84 - gnu/llvm/llvm/lib/Support/Unix/Process.inc | 107 +- .../llvm/lib/Support/Unix/ThreadLocal.inc | 70 - gnu/llvm/llvm/lib/Support/Windows/Host.inc | 33 - .../llvm/lib/Support/Windows/ThreadLocal.inc | 51 - gnu/llvm/llvm/lib/Support/X86TargetParser.cpp | 662 - .../lib/Target/AArch64/AArch64AsmPrinter.cpp | 278 +- .../Target/AArch64/AArch64FrameLowering.cpp | 1325 +- .../lib/Target/AArch64/AArch64FrameLowering.h | 25 +- .../Target/AArch64/AArch64ISelLowering.cpp | 9572 ++++++++++---- .../lib/Target/AArch64/AArch64InstrInfo.cpp | 1572 ++- .../lib/Target/AArch64/AArch64InstrInfo.td | 1757 ++- .../lib/Target/AArch64/AArch64Subtarget.h | 445 +- .../Target/AArch64/AArch64TargetMachine.cpp | 188 +- .../llvm/lib/Target/AArch64/CMakeLists.txt | 5 + .../lib/Target/AArch64/GISel/select-saddo.mir | 158 - .../lib/Target/AArch64/GISel/select-ssubo.mir | 158 - .../AMDGPU/AMDGPUFixFunctionBitcasts.cpp | 64 - .../Target/AMDGPU/AMDILCFGStructurizer.cpp | 1656 --- .../Target/AMDGPU/Utils/AMDGPULDSUtils.cpp | 355 - .../lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h | 70 - .../lib/Target/AVR/AVRRelaxMemOperations.cpp | 148 - .../llvm/lib/Target/Hexagon/HexagonArch.h | 37 - .../Target/M68k/GlSel/M68kCallLowering.cpp | 152 - .../lib/Target/M68k/GlSel/M68kCallLowering.h | 72 - .../M68k/GlSel/M68kInstructionSelector.cpp | 90 - .../Target/M68k/GlSel/M68kLegalizerInfo.cpp | 33 - .../lib/Target/M68k/GlSel/M68kLegalizerInfo.h | 29 - .../M68k/GlSel/M68kRegisterBankInfo.cpp | 27 - .../Target/M68k/GlSel/M68kRegisterBankInfo.h | 39 - .../Target/M68k/GlSel/M68kRegisterBanks.td | 15 - .../Target/Mips/AsmParser/MipsAsmParser.cpp | 111 +- gnu/llvm/llvm/lib/Target/Mips/CMakeLists.txt | 6 + .../Target/Mips/MCTargetDesc/MipsABIInfo.cpp | 10 +- gnu/llvm/llvm/lib/Target/Mips/Mips.h | 69 +- .../llvm/lib/Target/Mips/MipsAsmPrinter.cpp | 65 +- .../llvm/lib/Target/Mips/MipsFrameLowering.h | 5 +- .../llvm/lib/Target/Mips/MipsISelLowering.cpp | 147 +- .../llvm/lib/Target/Mips/MipsInstrInfo.td | 4 + .../lib/Target/Mips/MipsTargetMachine.cpp | 57 +- .../llvm/lib/Target/NVPTX/ManagedStringPool.h | 48 - .../llvm/lib/Target/PowerPC/CMakeLists.txt | 3 + .../llvm/lib/Target/PowerPC/PPCAsmPrinter.cpp | 265 +- .../lib/Target/PowerPC/PPCFrameLowering.cpp | 187 +- .../lib/Target/PowerPC/PPCFrameLowering.h | 22 +- .../lib/Target/PowerPC/PPCISelLowering.cpp | 1951 ++- .../llvm/lib/Target/PowerPC/PPCInstrInfo.td | 833 +- .../llvm/lib/Target/PowerPC/PPCInstrPrefix.td | 2838 ----- .../llvm/lib/Target/PowerPC/PPCSubtarget.h | 169 +- .../lib/Target/PowerPC/PPCTargetMachine.cpp | 68 +- .../lib/Target/RISCV/RISCVCallLowering.cpp | 51 - .../llvm/lib/Target/RISCV/RISCVCallLowering.h | 44 - .../lib/Target/RISCV/RISCVISelLowering.cpp | 10272 +++++++++++---- .../llvm/lib/Target/RISCV/RISCVInstrInfoB.td | 1121 -- .../Target/RISCV/RISCVInstructionSelector.cpp | 104 - .../lib/Target/RISCV/RISCVLegalizerInfo.cpp | 23 - .../lib/Target/RISCV/RISCVLegalizerInfo.h | 28 - .../Target/RISCV/RISCVRegisterBankInfo.cpp | 26 - .../lib/Target/RISCV/RISCVRegisterBankInfo.h | 37 - .../lib/Target/RISCV/RISCVRegisterBanks.td | 13 - .../llvm/lib/Target/RISCV/RISCVScheduleB.td | 89 - .../lib/Target/Sparc/SparcISelLowering.cpp | 414 +- .../llvm/lib/Target/Sparc/SparcInstr64Bit.td | 126 +- .../llvm/lib/Target/Sparc/SparcInstrInfo.td | 480 +- .../WebAssemblyLowerGlobalDtors.cpp | 208 - .../WebAssemblyPrepareForLiveIntervals.cpp | 127 - gnu/llvm/llvm/lib/Target/X86/CMakeLists.txt | 14 +- .../Target/X86/MCTargetDesc/X86AsmBackend.cpp | 154 +- gnu/llvm/llvm/lib/Target/X86/X86.h | 33 +- gnu/llvm/llvm/lib/Target/X86/X86.td | 1081 +- gnu/llvm/llvm/lib/Target/X86/X86AsmPrinter.h | 22 +- .../llvm/lib/Target/X86/X86FixupGadgets.cpp | 24 +- .../llvm/lib/Target/X86/X86FrameLowering.cpp | 544 +- .../llvm/lib/Target/X86/X86FrameLowering.h | 28 +- .../llvm/lib/Target/X86/X86IndirectThunks.cpp | 24 +- .../llvm/lib/Target/X86/X86InstrCompiler.td | 228 +- gnu/llvm/llvm/lib/Target/X86/X86InstrMPX.td | 77 - .../llvm/lib/Target/X86/X86MCInstLower.cpp | 232 +- .../lib/Target/X86/X86MachineFunctionInfo.h | 31 +- .../llvm/lib/Target/X86/X86RegisterInfo.td | 61 +- .../Target/X86/X86ReturnProtectorLowering.cpp | 24 +- gnu/llvm/llvm/lib/Target/X86/X86Subtarget.h | 651 +- .../llvm/lib/Target/X86/X86TargetMachine.cpp | 114 +- .../lib/Target/X86/X86WinAllocaExpander.cpp | 302 - .../llvm/lib/Testing/Support/Annotations.cpp | 100 - gnu/llvm/llvm/lib/Transforms/IPO/PruneEH.cpp | 264 - .../Instrumentation/MaximumSpanningTree.h | 109 - .../Transforms/Scalar/LoopIdiomRecognize.cpp | 485 +- .../lib/Transforms/Scalar/LoopUnswitch.cpp | 1780 --- .../lib/Transforms/Scalar/LowerAtomic.cpp | 177 - gnu/llvm/llvm/lib/Transforms/Scalar/SCCP.cpp | 532 +- .../llvm/lib/Transforms/Utils/MisExpect.cpp | 214 + .../lib/Transforms/Vectorize/VPlanLoopInfo.h | 44 - .../Transforms/Vectorize/VPlanPredicator.cpp | 248 - .../Transforms/Vectorize/VPlanPredicator.h | 74 - gnu/llvm/llvm/tools/lli/RemoteJITUtils.h | 125 - gnu/llvm/llvm/tools/llvm-ar/llvm-ar.cpp | 405 +- .../llvm/tools/llvm-config/llvm-config.cpp | 88 +- .../llvm/tools/llvm-diff/DiffConsumer.cpp | 212 - gnu/llvm/llvm/tools/llvm-diff/DiffConsumer.h | 90 - gnu/llvm/llvm/tools/llvm-diff/DiffLog.cpp | 54 - gnu/llvm/llvm/tools/llvm-diff/DiffLog.h | 83 - .../llvm/tools/llvm-diff/DifferenceEngine.cpp | 854 -- .../llvm/tools/llvm-diff/DifferenceEngine.h | 90 - gnu/llvm/llvm/tools/llvm-go/CMakeLists.txt | 9 - gnu/llvm/llvm/tools/llvm-go/llvm-go.go | 311 - gnu/llvm/llvm/tools/llvm-mca/Views/View.cpp | 24 - gnu/llvm/llvm/tools/llvm-mca/Views/View.h | 41 - .../lib/AMDGPU/AMDGPUCustomBehaviour.cpp | 33 - .../lib/AMDGPU/AMDGPUCustomBehaviour.h | 57 - .../tools/llvm-mca/lib/AMDGPU/CMakeLists.txt | 18 - .../llvm/tools/llvm-mca/lib/CMakeLists.txt | 11 - .../llvm/tools/llvm-objcopy/COFF/COFFConfig.h | 21 - .../tools/llvm-objcopy/COFF/COFFObjcopy.cpp | 273 - .../tools/llvm-objcopy/COFF/COFFObjcopy.h | 33 - .../llvm/tools/llvm-objcopy/COFF/Object.cpp | 132 - .../llvm/tools/llvm-objcopy/COFF/Object.h | 211 - .../llvm/tools/llvm-objcopy/COFF/Reader.cpp | 226 - .../llvm/tools/llvm-objcopy/COFF/Reader.h | 41 - .../llvm/tools/llvm-objcopy/COFF/Writer.cpp | 459 - .../llvm/tools/llvm-objcopy/COFF/Writer.h | 63 - .../llvm/tools/llvm-objcopy/CommonConfig.h | 280 - .../llvm/tools/llvm-objcopy/ConfigManager.cpp | 1382 -- .../llvm/tools/llvm-objcopy/ConfigManager.h | 80 - .../llvm/tools/llvm-objcopy/ELF/ELFConfig.h | 28 - .../tools/llvm-objcopy/ELF/ELFObjcopy.cpp | 776 -- .../llvm/tools/llvm-objcopy/ELF/ELFObjcopy.h | 40 - .../llvm/tools/llvm-objcopy/ELF/Object.cpp | 2730 ---- gnu/llvm/llvm/tools/llvm-objcopy/ELF/Object.h | 1104 -- .../tools/llvm-objcopy/MachO/MachOConfig.h | 21 - .../llvm-objcopy/MachO/MachOLayoutBuilder.cpp | 403 - .../llvm-objcopy/MachO/MachOLayoutBuilder.h | 54 - .../tools/llvm-objcopy/MachO/MachOObjcopy.cpp | 481 - .../tools/llvm-objcopy/MachO/MachOObjcopy.h | 38 - .../tools/llvm-objcopy/MachO/MachOReader.cpp | 346 - .../tools/llvm-objcopy/MachO/MachOReader.h | 55 - .../tools/llvm-objcopy/MachO/MachOWriter.cpp | 555 - .../tools/llvm-objcopy/MachO/MachOWriter.h | 68 - .../llvm/tools/llvm-objcopy/MachO/Object.cpp | 194 - .../llvm/tools/llvm-objcopy/MachO/Object.h | 366 - .../tools/llvm-objcopy/MultiFormatConfig.h | 37 - .../llvm/tools/llvm-objcopy/llvm-objcopy.h | 34 - .../llvm/tools/llvm-objcopy/wasm/Object.cpp | 34 - .../llvm/tools/llvm-objcopy/wasm/Object.h | 47 - .../llvm/tools/llvm-objcopy/wasm/Reader.cpp | 33 - .../llvm/tools/llvm-objcopy/wasm/Reader.h | 31 - .../llvm/tools/llvm-objcopy/wasm/WasmConfig.h | 21 - .../tools/llvm-objcopy/wasm/WasmObjcopy.cpp | 162 - .../tools/llvm-objcopy/wasm/WasmObjcopy.h | 32 - .../llvm/tools/llvm-objcopy/wasm/Writer.cpp | 79 - .../llvm/tools/llvm-objcopy/wasm/Writer.h | 49 - gnu/llvm/llvm/tools/llvm-objdump/ELFDump.cpp | 49 +- .../llvm/tools/llvm-pdbutil/FormatUtil.cpp | 258 - gnu/llvm/llvm/tools/llvm-pdbutil/FormatUtil.h | 141 - .../llvm/tools/llvm-pdbutil/InputFile.cpp | 510 - gnu/llvm/llvm/tools/llvm-pdbutil/InputFile.h | 155 - .../llvm/tools/llvm-pdbutil/LinePrinter.cpp | 333 - .../llvm/tools/llvm-pdbutil/LinePrinter.h | 168 - .../llvm/tools/llvm-profgen/PseudoProbe.cpp | 341 - .../llvm/tools/llvm-profgen/PseudoProbe.h | 227 - .../llvm/tools/llvm-readobj/ELFDumper.cpp | 843 +- .../deltas/ReduceModuleInlineAsm.cpp | 32 - .../deltas/ReduceModuleInlineAsm.h | 18 - gnu/llvm/llvm/tools/llvm-shlib/CMakeLists.txt | 2 +- gnu/llvm/llvm/tools/msbuild/.gitignore | 6 - .../llvm/tools/msbuild/LLVM.Cpp.Common.props | 79 - .../tools/msbuild/LLVM.Cpp.Common.targets | 132 - .../tools/msbuild/Platformx64/Toolset.props | 11 - .../tools/msbuild/Platformx64/Toolset.targets | 3 - .../tools/msbuild/Platformx86/Toolset.props | 11 - .../tools/msbuild/Platformx86/Toolset.targets | 3 - gnu/llvm/llvm/tools/msbuild/install.bat | 57 - gnu/llvm/llvm/tools/msbuild/license.txt | 261 - gnu/llvm/llvm/tools/msbuild/llvm-general.xml | 76 - gnu/llvm/llvm/tools/msbuild/llvm.csproj | 97 - gnu/llvm/llvm/tools/msbuild/llvm.sln | 25 - .../msbuild/source.extension.vsixmanifest | 22 - gnu/llvm/llvm/tools/msbuild/uninstall.bat | 33 - gnu/llvm/llvm/tools/opt/GraphPrinters.cpp | 45 - gnu/llvm/llvm/tools/opt/PassPrinters.cpp | 212 - gnu/llvm/llvm/tools/opt/PassPrinters.h | 40 - gnu/llvm/llvm/tools/opt/PrintSCC.cpp | 111 - gnu/llvm/llvm/tools/split-file/.clang-tidy | 8 - gnu/llvm/llvm/tools/split-file/CMakeLists.txt | 7 - gnu/llvm/llvm/tools/split-file/split-file.cpp | 174 - .../llvm/unittests/ADT/APFixedPointTest.cpp | 924 -- gnu/llvm/llvm/unittests/ADT/APFloatTest.cpp | 4969 -------- gnu/llvm/llvm/unittests/ADT/APIntTest.cpp | 2931 ----- gnu/llvm/llvm/unittests/ADT/APSIntTest.cpp | 271 - gnu/llvm/llvm/unittests/ADT/AnyTest.cpp | 174 - gnu/llvm/llvm/unittests/ADT/ArrayRefTest.cpp | 268 - gnu/llvm/llvm/unittests/ADT/BitFieldsTest.cpp | 256 - gnu/llvm/llvm/unittests/ADT/BitVectorTest.cpp | 1301 -- .../llvm/unittests/ADT/BitmaskEnumTest.cpp | 133 - .../ADT/BreadthFirstIteratorTest.cpp | 73 - .../llvm/unittests/ADT/BumpPtrListTest.cpp | 242 - gnu/llvm/llvm/unittests/ADT/CMakeLists.txt | 86 - .../unittests/ADT/CoalescingBitVectorTest.cpp | 561 - .../unittests/ADT/DAGDeltaAlgorithmTest.cpp | 104 - .../llvm/unittests/ADT/DeltaAlgorithmTest.cpp | 99 - gnu/llvm/llvm/unittests/ADT/DenseMapTest.cpp | 658 - gnu/llvm/llvm/unittests/ADT/DenseSetTest.cpp | 233 - .../unittests/ADT/DepthFirstIteratorTest.cpp | 53 - .../llvm/unittests/ADT/DirectedGraphTest.cpp | 295 - .../unittests/ADT/EnumeratedArrayTest.cpp | 51 - .../unittests/ADT/EquivalenceClassesTest.cpp | 84 - .../unittests/ADT/FallibleIteratorTest.cpp | 291 - .../llvm/unittests/ADT/FloatingPointMode.cpp | 134 - gnu/llvm/llvm/unittests/ADT/FoldingSet.cpp | 192 - .../llvm/unittests/ADT/FunctionExtrasTest.cpp | 294 - .../llvm/unittests/ADT/FunctionRefTest.cpp | 62 - gnu/llvm/llvm/unittests/ADT/HashingTest.cpp | 405 - gnu/llvm/llvm/unittests/ADT/IListBaseTest.cpp | 165 - .../llvm/unittests/ADT/IListIteratorTest.cpp | 173 - .../llvm/unittests/ADT/IListNodeBaseTest.cpp | 99 - gnu/llvm/llvm/unittests/ADT/IListNodeTest.cpp | 69 - .../llvm/unittests/ADT/IListSentinelTest.cpp | 62 - gnu/llvm/llvm/unittests/ADT/IListTest.cpp | 305 - .../llvm/unittests/ADT/ImmutableListTest.cpp | 272 - .../llvm/unittests/ADT/ImmutableMapTest.cpp | 90 - .../llvm/unittests/ADT/ImmutableSetTest.cpp | 202 - .../llvm/unittests/ADT/IntEqClassesTest.cpp | 106 - .../llvm/unittests/ADT/IntervalMapTest.cpp | 816 -- .../unittests/ADT/IntrusiveRefCntPtrTest.cpp | 145 - gnu/llvm/llvm/unittests/ADT/IteratorTest.cpp | 452 - gnu/llvm/llvm/unittests/ADT/MapVectorTest.cpp | 423 - .../llvm/unittests/ADT/MappedIteratorTest.cpp | 50 - gnu/llvm/llvm/unittests/ADT/OptionalTest.cpp | 808 -- .../llvm/unittests/ADT/PackedVectorTest.cpp | 102 - .../unittests/ADT/PointerEmbeddedIntTest.cpp | 79 - .../llvm/unittests/ADT/PointerIntPairTest.cpp | 109 - .../llvm/unittests/ADT/PointerSumTypeTest.cpp | 112 - .../llvm/unittests/ADT/PointerUnionTest.cpp | 159 - .../unittests/ADT/PostOrderIteratorTest.cpp | 74 - .../unittests/ADT/PriorityWorklistTest.cpp | 152 - .../llvm/unittests/ADT/RangeAdapterTest.cpp | 171 - .../llvm/unittests/ADT/SCCIteratorTest.cpp | 120 - gnu/llvm/llvm/unittests/ADT/STLExtrasTest.cpp | 879 -- .../unittests/ADT/STLForwardCompatTest.cpp | 78 - gnu/llvm/llvm/unittests/ADT/ScopeExitTest.cpp | 48 - gnu/llvm/llvm/unittests/ADT/SequenceTest.cpp | 218 - gnu/llvm/llvm/unittests/ADT/SetVectorTest.cpp | 50 - .../llvm/unittests/ADT/SimpleIListTest.cpp | 653 - .../llvm/unittests/ADT/SmallPtrSetTest.cpp | 410 - gnu/llvm/llvm/unittests/ADT/SmallSetTest.cpp | 194 - .../llvm/unittests/ADT/SmallStringTest.cpp | 247 - .../llvm/unittests/ADT/SmallVectorTest.cpp | 1413 --- .../unittests/ADT/SparseBitVectorTest.cpp | 189 - .../llvm/unittests/ADT/SparseMultiSetTest.cpp | 234 - gnu/llvm/llvm/unittests/ADT/SparseSetTest.cpp | 207 - gnu/llvm/llvm/unittests/ADT/StatisticTest.cpp | 171 - .../llvm/unittests/ADT/StringExtrasTest.cpp | 276 - gnu/llvm/llvm/unittests/ADT/StringMapTest.cpp | 616 - gnu/llvm/llvm/unittests/ADT/StringRefTest.cpp | 1111 -- gnu/llvm/llvm/unittests/ADT/StringSetTest.cpp | 75 - .../llvm/unittests/ADT/StringSwitchTest.cpp | 207 - gnu/llvm/llvm/unittests/ADT/TestGraph.h | 250 - .../llvm/unittests/ADT/TinyPtrVectorTest.cpp | 469 - gnu/llvm/llvm/unittests/ADT/TripleTest.cpp | 1609 --- gnu/llvm/llvm/unittests/ADT/TwineTest.cpp | 130 - .../llvm/unittests/ADT/TypeSwitchTest.cpp | 88 - .../llvm/unittests/ADT/TypeTraitsTest.cpp | 79 - .../llvm/unittests/ADT/WaymarkingTest.cpp | 142 - .../unittests/Analysis/AliasAnalysisTest.cpp | 381 - .../Analysis/AliasSetTrackerTest.cpp | 90 - .../Analysis/AssumeBundleQueriesTest.cpp | 602 - .../Analysis/BasicAliasAnalysisTest.cpp | 133 - .../Analysis/BlockFrequencyInfoTest.cpp | 98 - .../Analysis/BranchProbabilityInfoTest.cpp | 87 - gnu/llvm/llvm/unittests/Analysis/CFGTest.cpp | 507 - .../Analysis/CGSCCPassManagerTest.cpp | 1970 --- .../llvm/unittests/Analysis/CMakeLists.txt | 55 - .../llvm/unittests/Analysis/CallGraphTest.cpp | 60 - .../Analysis/CaptureTrackingTest.cpp | 134 - .../Analysis/ConstraintSystemTest.cpp | 153 - gnu/llvm/llvm/unittests/Analysis/DDGTest.cpp | 284 - .../Analysis/DivergenceAnalysisTest.cpp | 430 - .../unittests/Analysis/DomTreeUpdaterTest.cpp | 794 -- .../FunctionPropertiesAnalysisTest.cpp | 93 - .../unittests/Analysis/GlobalsModRefTest.cpp | 58 - .../Analysis/IRSimilarityIdentifierTest.cpp | 2275 ---- .../unittests/Analysis/IVDescriptorsTest.cpp | 164 - .../unittests/Analysis/InlineCostTest.cpp | 77 - .../ir2native_x86_64_model/saved_model.pbtxt | 10596 ---------------- .../variables/variables.data-00000-of-00001 | Bin 88424 -> 0 bytes .../variables/variables.index | Bin 398 -> 0 bytes .../unittests/Analysis/LazyCallGraphTest.cpp | 2855 ----- .../llvm/unittests/Analysis/LoadsTest.cpp | 100 - .../llvm/unittests/Analysis/LoopInfoTest.cpp | 1549 --- .../llvm/unittests/Analysis/LoopNestTest.cpp | 195 - .../unittests/Analysis/MemoryBuiltinsTest.cpp | 49 - .../llvm/unittests/Analysis/MemorySSATest.cpp | 1728 --- .../llvm/unittests/Analysis/PhiValuesTest.cpp | 209 - .../Analysis/ProfileSummaryInfoTest.cpp | 433 - .../Analysis/ScalarEvolutionTest.cpp | 1541 --- .../unittests/Analysis/SparsePropagation.cpp | 541 - gnu/llvm/llvm/unittests/Analysis/TBAATest.cpp | 90 - .../llvm/unittests/Analysis/TFUtilsTest.cpp | 285 - .../Analysis/TargetLibraryInfoTest.cpp | 602 - .../unittests/Analysis/UnrollAnalyzerTest.cpp | 331 - .../unittests/Analysis/ValueLatticeTest.cpp | 197 - .../unittests/Analysis/ValueTrackingTest.cpp | 2250 ---- .../Analysis/VectorFunctionABITest.cpp | 633 - .../unittests/Analysis/VectorUtilsTest.cpp | 712 -- .../unittests/AsmParser/AsmParserTest.cpp | 417 - .../llvm/unittests/AsmParser/CMakeLists.txt | 9 - .../unittests/BinaryFormat/CMakeLists.txt | 13 - .../llvm/unittests/BinaryFormat/DwarfTest.cpp | 207 - .../llvm/unittests/BinaryFormat/MachOTest.cpp | 118 - .../BinaryFormat/MsgPackDocumentTest.cpp | 314 - .../BinaryFormat/MsgPackReaderTest.cpp | 890 -- .../BinaryFormat/MsgPackWriterTest.cpp | 522 - .../unittests/BinaryFormat/TestFileMagic.cpp | 142 - .../llvm/unittests/Bitcode/BitReaderTest.cpp | 258 - .../llvm/unittests/Bitcode/CMakeLists.txt | 12 - .../Bitcode/DataLayoutUpgradeTest.cpp | 74 - .../Bitstream/BitstreamReaderTest.cpp | 167 - .../Bitstream/BitstreamWriterTest.cpp | 58 - .../llvm/unittests/Bitstream/CMakeLists.txt | 8 - gnu/llvm/llvm/unittests/CMakeLists.txt | 49 - .../CodeGen/AArch64SelectionDAGTest.cpp | 594 - .../unittests/CodeGen/AllocationOrderTest.cpp | 118 - .../unittests/CodeGen/AsmPrinterDwarfTest.cpp | 430 - .../llvm/unittests/CodeGen/CMakeLists.txt | 38 - .../llvm/unittests/CodeGen/DIEHashTest.cpp | 718 -- gnu/llvm/llvm/unittests/CodeGen/DIETest.cpp | 174 - .../CodeGen/GlobalISel/CMakeLists.txt | 25 - .../unittests/CodeGen/GlobalISel/CSETest.cpp | 166 - .../GlobalISel/ConstantFoldingTest.cpp | 239 - .../CodeGen/GlobalISel/GISelMITest.cpp | 106 - .../CodeGen/GlobalISel/GISelMITest.h | 200 - .../CodeGen/GlobalISel/GISelUtilsTest.cpp | 248 - .../CodeGen/GlobalISel/KnownBitsTest.cpp | 1861 --- .../GlobalISel/KnownBitsVectorTest.cpp | 1528 --- .../GlobalISel/LegalizerHelperTest.cpp | 4057 ------ .../CodeGen/GlobalISel/LegalizerInfoTest.cpp | 443 - .../CodeGen/GlobalISel/LegalizerTest.cpp | 228 - .../GlobalISel/MachineIRBuilderTest.cpp | 422 - .../CodeGen/GlobalISel/PatternMatchTest.cpp | 628 - .../unittests/CodeGen/LexicalScopesTest.cpp | 460 - .../unittests/CodeGen/LowLevelTypeTest.cpp | 322 - gnu/llvm/llvm/unittests/CodeGen/MFCommon.inc | 135 - .../MachineInstrBundleIteratorTest.cpp | 196 - .../unittests/CodeGen/MachineInstrTest.cpp | 392 - .../unittests/CodeGen/MachineOperandTest.cpp | 412 - .../unittests/CodeGen/PassManagerTest.cpp | 309 - .../CodeGen/ScalableVectorMVTsTest.cpp | 187 - .../SelectionDAGAddressAnalysisTest.cpp | 321 - .../unittests/CodeGen/TargetOptionsTest.cpp | 77 - .../llvm/unittests/CodeGen/TestAsmPrinter.cpp | 90 - .../llvm/unittests/CodeGen/TestAsmPrinter.h | 84 - .../llvm/unittests/CodeGen/TypeTraitsTest.cpp | 29 - .../llvm/unittests/DebugInfo/CMakeLists.txt | 5 - .../DebugInfo/CodeView/CMakeLists.txt | 12 - .../DebugInfo/CodeView/GUIDFormatTest.cpp | 143 - .../CodeView/RandomAccessVisitorTest.cpp | 399 - .../DebugInfo/CodeView/TypeHashingTest.cpp | 156 - .../CodeView/TypeIndexDiscoveryTest.cpp | 609 - .../unittests/DebugInfo/DWARF/CMakeLists.txt | 29 - .../DWARF/DWARFAcceleratorTableTest.cpp | 49 - .../DWARF/DWARFDataExtractorTest.cpp | 227 - .../DWARF/DWARFDebugArangeSetTest.cpp | 271 - .../DebugInfo/DWARF/DWARFDebugFrameTest.cpp | 1650 --- .../DebugInfo/DWARF/DWARFDebugInfoTest.cpp | 3154 ----- .../DebugInfo/DWARF/DWARFDebugLineTest.cpp | 1762 --- .../DWARF/DWARFDieManualExtractTest.cpp | 81 - .../DebugInfo/DWARF/DWARFDieTest.cpp | 103 - .../DWARFExpressionCompactPrinterTest.cpp | 115 - .../DebugInfo/DWARF/DWARFFormValueTest.cpp | 396 - .../DebugInfo/DWARF/DWARFListTableTest.cpp | 102 - .../DWARF/DWARFLocationExpressionTest.cpp | 30 - .../DebugInfo/DWARF/DwarfGenerator.cpp | 580 - .../DebugInfo/DWARF/DwarfGenerator.h | 326 - .../unittests/DebugInfo/DWARF/DwarfUtils.cpp | 61 - .../unittests/DebugInfo/DWARF/DwarfUtils.h | 30 - .../unittests/DebugInfo/GSYM/CMakeLists.txt | 13 - .../unittests/DebugInfo/GSYM/GSYMTest.cpp | 2544 ---- .../unittests/DebugInfo/MSF/CMakeLists.txt | 11 - .../DebugInfo/MSF/MSFBuilderTest.cpp | 395 - .../unittests/DebugInfo/MSF/MSFCommonTest.cpp | 138 - .../DebugInfo/MSF/MappedBlockStreamTest.cpp | 547 - .../unittests/DebugInfo/PDB/CMakeLists.txt | 15 - .../unittests/DebugInfo/PDB/HashTableTest.cpp | 270 - .../DebugInfo/PDB/Inputs/SimpleTest.cpp | 4 - .../DebugInfo/PDB/Inputs/SimpleTest.pdb | Bin 94208 -> 0 bytes .../unittests/DebugInfo/PDB/Inputs/empty.pdb | Bin 102400 -> 0 bytes .../DebugInfo/PDB/NativeSessionTest.cpp | 99 - .../DebugInfo/PDB/NativeSymbolReuseTest.cpp | 129 - .../unittests/DebugInfo/PDB/PDBApiTest.cpp | 509 - .../DebugInfo/PDB/StringTableBuilderTest.cpp | 94 - .../llvm/unittests/Demangle/CMakeLists.txt | 12 - .../llvm/unittests/Demangle/DemangleTest.cpp | 30 - .../Demangle/ItaniumDemangleTest.cpp | 53 - .../Demangle/PartialDemangleTest.cpp | 193 - .../unittests/Demangle/RustDemangleTest.cpp | 90 - .../unittests/Demangle/StringViewTest.cpp | 48 - .../unittests/ExecutionEngine/CMakeLists.txt | 23 - .../ExecutionEngine/ExecutionEngineTest.cpp | 151 - .../ExecutionEngine/JITLink/CMakeLists.txt | 15 - .../JITLink/LinkGraphTests.cpp | 529 - .../ExecutionEngine/MCJIT/CMakeLists.txt | 34 - .../ExecutionEngine/MCJIT/MCJITCAPITest.cpp | 512 - .../MCJIT/MCJITMemoryManagerTest.cpp | 169 - .../MCJIT/MCJITMultipleModuleTest.cpp | 425 - .../MCJIT/MCJITObjectCacheTest.cpp | 228 - .../ExecutionEngine/MCJIT/MCJITTest.cpp | 294 - .../MCJIT/MCJITTestAPICommon.h | 106 - .../ExecutionEngine/MCJIT/MCJITTestBase.h | 333 - .../ExecutionEngine/MCJIT/MCJITTests.def | 1 - .../ExecutionEngine/Orc/CMakeLists.txt | 38 - .../ExecutionEngine/Orc/CoreAPIsTest.cpp | 1499 --- ...ecutionSessionWrapperFunctionCallsTest.cpp | 101 - .../Orc/IndirectionUtilsTest.cpp | 49 - .../Orc/JITTargetMachineBuilderTest.cpp | 51 - .../Orc/LazyCallThroughAndReexportsTest.cpp | 74 - .../Orc/ObjectLinkingLayerTest.cpp | 59 - .../ExecutionEngine/Orc/OrcCAPITest.cpp | 518 - .../ExecutionEngine/Orc/OrcTestCommon.cpp | 29 - .../ExecutionEngine/Orc/OrcTestCommon.h | 164 - .../ExecutionEngine/Orc/QueueChannel.cpp | 13 - .../ExecutionEngine/Orc/QueueChannel.h | 178 - .../ExecutionEngine/Orc/RPCUtilsTest.cpp | 890 -- .../Orc/RTDyldObjectLinkingLayerTest.cpp | 244 - .../Orc/ResourceTrackerTest.cpp | 447 - .../Orc/SimplePackedSerializationTest.cpp | 167 - .../Orc/SymbolStringPoolTest.cpp | 53 - .../Orc/ThreadSafeModuleTest.cpp | 94 - .../Orc/WrapperFunctionUtilsTest.cpp | 121 - .../llvm/unittests/FileCheck/CMakeLists.txt | 10 - .../unittests/FileCheck/FileCheckTest.cpp | 1780 --- .../llvm/unittests/Frontend/CMakeLists.txt | 22 - .../llvm/unittests/Frontend/OpenACCTest.cpp | 332 - .../unittests/Frontend/OpenMPContextTest.cpp | 315 - .../Frontend/OpenMPIRBuilderTest.cpp | 2812 ---- .../unittests/Frontend/OpenMPParsingTest.cpp | 84 - .../llvm/unittests/FuzzMutate/CMakeLists.txt | 13 - .../unittests/FuzzMutate/OperationsTest.cpp | 404 - .../FuzzMutate/RandomIRBuilderTest.cpp | 298 - .../FuzzMutate/ReservoirSamplerTest.cpp | 68 - .../unittests/FuzzMutate/StrategiesTest.cpp | 243 - .../unittests/IR/AbstractCallSiteTest.cpp | 55 - gnu/llvm/llvm/unittests/IR/AsmWriterTest.cpp | 65 - gnu/llvm/llvm/unittests/IR/AttributesTest.cpp | 299 - gnu/llvm/llvm/unittests/IR/BasicBlockTest.cpp | 281 - gnu/llvm/llvm/unittests/IR/CFGBuilder.cpp | 277 - gnu/llvm/llvm/unittests/IR/CFGBuilder.h | 93 - gnu/llvm/llvm/unittests/IR/CMakeLists.txt | 49 - .../llvm/unittests/IR/ConstantRangeTest.cpp | 2491 ---- gnu/llvm/llvm/unittests/IR/ConstantsTest.cpp | 762 -- gnu/llvm/llvm/unittests/IR/DataLayoutTest.cpp | 92 - gnu/llvm/llvm/unittests/IR/DebugInfoTest.cpp | 247 - .../unittests/IR/DebugTypeODRUniquingTest.cpp | 170 - .../llvm/unittests/IR/DemandedBitsTest.cpp | 66 - .../IR/DominatorTreeBatchUpdatesTest.cpp | 351 - .../llvm/unittests/IR/DominatorTreeTest.cpp | 1102 -- gnu/llvm/llvm/unittests/IR/FunctionTest.cpp | 165 - gnu/llvm/llvm/unittests/IR/IRBuilderTest.cpp | 1032 -- .../llvm/unittests/IR/InstructionsTest.cpp | 1485 --- gnu/llvm/llvm/unittests/IR/IntrinsicsTest.cpp | 39 - .../unittests/IR/LegacyPassManagerTest.cpp | 793 -- gnu/llvm/llvm/unittests/IR/MDBuilderTest.cpp | 107 - gnu/llvm/llvm/unittests/IR/ManglerTest.cpp | 159 - gnu/llvm/llvm/unittests/IR/MetadataTest.cpp | 3430 ----- gnu/llvm/llvm/unittests/IR/ModuleTest.cpp | 162 - .../unittests/IR/PassBuilderCallbacksTest.cpp | 1310 -- .../llvm/unittests/IR/PassManagerTest.cpp | 953 -- gnu/llvm/llvm/unittests/IR/PatternMatch.cpp | 1686 --- gnu/llvm/llvm/unittests/IR/TimePassesTest.cpp | 169 - gnu/llvm/llvm/unittests/IR/TypesTest.cpp | 60 - gnu/llvm/llvm/unittests/IR/UseTest.cpp | 110 - gnu/llvm/llvm/unittests/IR/UserTest.cpp | 176 - .../llvm/unittests/IR/VPIntrinsicTest.cpp | 289 - .../llvm/unittests/IR/ValueHandleTest.cpp | 578 - gnu/llvm/llvm/unittests/IR/ValueMapTest.cpp | 294 - gnu/llvm/llvm/unittests/IR/ValueTest.cpp | 315 - .../llvm/unittests/IR/VectorTypesTest.cpp | 381 - gnu/llvm/llvm/unittests/IR/VerifierTest.cpp | 274 - .../unittests/InterfaceStub/CMakeLists.txt | 9 - .../unittests/InterfaceStub/ELFYAMLTest.cpp | 255 - .../llvm/unittests/LineEditor/CMakeLists.txt | 8 - .../llvm/unittests/LineEditor/LineEditor.cpp | 82 - gnu/llvm/llvm/unittests/Linker/CMakeLists.txt | 9 - .../llvm/unittests/Linker/LinkModulesTest.cpp | 362 - .../llvm/unittests/MC/AMDGPU/CMakeLists.txt | 11 - .../unittests/MC/AMDGPU/DwarfRegMappings.cpp | 77 - gnu/llvm/llvm/unittests/MC/CMakeLists.txt | 22 - gnu/llvm/llvm/unittests/MC/Disassembler.cpp | 110 - .../llvm/unittests/MC/DwarfLineTables.cpp | 183 - .../llvm/unittests/MC/MCDisassemblerTest.cpp | 49 - gnu/llvm/llvm/unittests/MC/MCInstPrinter.cpp | 70 - .../unittests/MC/StringTableBuilderTest.cpp | 239 - .../llvm/unittests/MC/SystemZ/CMakeLists.txt | 14 - .../MC/SystemZ/SystemZAsmLexerTest.cpp | 786 -- gnu/llvm/llvm/unittests/MC/TargetRegistry.cpp | 45 - gnu/llvm/llvm/unittests/MI/CMakeLists.txt | 13 - .../llvm/unittests/MI/LiveIntervalTest.cpp | 656 - gnu/llvm/llvm/unittests/MIR/CMakeLists.txt | 16 - .../llvm/unittests/MIR/MachineMetadata.cpp | 481 - .../llvm/unittests/Object/ArchiveTest.cpp | 93 - gnu/llvm/llvm/unittests/Object/CMakeLists.txt | 19 - .../unittests/Object/ELFObjectFileTest.cpp | 657 - gnu/llvm/llvm/unittests/Object/ELFTest.cpp | 89 - .../llvm/unittests/Object/ELFTypesTest.cpp | 63 - .../llvm/unittests/Object/MinidumpTest.cpp | 770 -- .../llvm/unittests/Object/ObjectFileTest.cpp | 20 - .../llvm/unittests/Object/SymbolSizeTest.cpp | 32 - .../unittests/Object/SymbolicFileTest.cpp | 41 - .../unittests/Object/XCOFFObjectFileTest.cpp | 558 - .../llvm/unittests/ObjectYAML/CMakeLists.txt | 14 - .../unittests/ObjectYAML/DWARFYAMLTest.cpp | 197 - .../llvm/unittests/ObjectYAML/ELFYAMLTest.cpp | 134 - .../unittests/ObjectYAML/MinidumpYAMLTest.cpp | 338 - .../unittests/ObjectYAML/YAML2ObjTest.cpp | 81 - .../llvm/unittests/ObjectYAML/YAMLTest.cpp | 55 - gnu/llvm/llvm/unittests/Option/CMakeLists.txt | 14 - .../Option/OptionMarshallingTest.cpp | 55 - .../unittests/Option/OptionParsingTest.cpp | 378 - gnu/llvm/llvm/unittests/Option/Opts.td | 60 - gnu/llvm/llvm/unittests/Passes/CMakeLists.txt | 44 - .../llvm/unittests/Passes/DoublerPlugin.cpp | 44 - .../Passes/PassBuilderBindingsTest.cpp | 69 - .../llvm/unittests/Passes/PluginsTest.cpp | 139 - gnu/llvm/llvm/unittests/Passes/TestPlugin.cpp | 38 - gnu/llvm/llvm/unittests/Passes/TestPlugin.h | 2 - .../llvm/unittests/ProfileData/CMakeLists.txt | 15 - .../ProfileData/CoverageMappingTest.cpp | 974 -- .../ProfileData/InstrProfDataTest.cpp | 68 - .../unittests/ProfileData/InstrProfTest.cpp | 1068 -- .../unittests/ProfileData/SampleProfTest.cpp | 534 - .../Remarks/BitstreamRemarksFormatTest.cpp | 48 - .../Remarks/BitstreamRemarksParsingTest.cpp | 401 - .../BitstreamRemarksSerializerTest.cpp | 341 - .../llvm/unittests/Remarks/CMakeLists.txt | 16 - .../llvm/unittests/Remarks/RemarksAPITest.cpp | 123 - .../unittests/Remarks/RemarksLinkingTest.cpp | 219 - .../Remarks/RemarksStrTabParsingTest.cpp | 39 - .../Remarks/YAMLRemarksParsingTest.cpp | 734 -- .../Remarks/YAMLRemarksSerializerTest.cpp | 329 - .../unittests/Support/ARMAttributeParser.cpp | 422 - .../llvm/unittests/Support/AlignOfTest.cpp | 244 - .../llvm/unittests/Support/AlignmentTest.cpp | 366 - .../llvm/unittests/Support/AllocatorTest.cpp | 235 - .../unittests/Support/AnnotationsTest.cpp | 112 - .../unittests/Support/ArrayRecyclerTest.cpp | 108 - .../llvm/unittests/Support/Base64Test.cpp | 52 - .../unittests/Support/BinaryStreamTest.cpp | 907 -- .../unittests/Support/BlockFrequencyTest.cpp | 127 - .../Support/BranchProbabilityTest.cpp | 405 - .../llvm/unittests/Support/CMakeLists.txt | 129 - gnu/llvm/llvm/unittests/Support/CRCTest.cpp | 64 - .../unittests/Support/CachePruningTest.cpp | 96 - gnu/llvm/llvm/unittests/Support/Casting.cpp | 410 - .../Support/CheckedArithmeticTest.cpp | 84 - gnu/llvm/llvm/unittests/Support/Chrono.cpp | 111 - .../unittests/Support/CommandLineTest.cpp | 1897 --- .../unittests/Support/CompressionTest.cpp | 76 - .../llvm/unittests/Support/ConvertUTFTest.cpp | 1711 --- .../unittests/Support/CrashRecoveryTest.cpp | 187 - gnu/llvm/llvm/unittests/Support/DJBTest.cpp | 95 - .../unittests/Support/DataExtractorTest.cpp | 384 - .../unittests/Support/DebugCounterTest.cpp | 40 - gnu/llvm/llvm/unittests/Support/DebugTest.cpp | 33 - .../Support/DynamicLibrary/CMakeLists.txt | 62 - .../DynamicLibrary/DynamicLibraryTest.cpp | 176 - .../Support/DynamicLibrary/ExportedFuncs.cpp | 15 - .../Support/DynamicLibrary/PipSqueak.cpp | 48 - .../Support/DynamicLibrary/PipSqueak.h | 33 - .../Support/ELFAttributeParserTest.cpp | 63 - .../unittests/Support/EndianStreamTest.cpp | 207 - .../llvm/unittests/Support/EndianTest.cpp | 212 - gnu/llvm/llvm/unittests/Support/ErrnoTest.cpp | 38 - .../llvm/unittests/Support/ErrorOrTest.cpp | 139 - gnu/llvm/llvm/unittests/Support/ErrorTest.cpp | 1034 -- .../unittests/Support/ExtensibleRTTITest.cpp | 86 - .../llvm/unittests/Support/FSUniqueIDTest.cpp | 38 - .../unittests/Support/FileCollectorTest.cpp | 277 - .../Support/FileOutputBufferTest.cpp | 161 - .../unittests/Support/FileUtilitiesTest.cpp | 54 - .../unittests/Support/FormatVariadicTest.cpp | 700 - .../unittests/Support/GlobPatternTest.cpp | 149 - gnu/llvm/llvm/unittests/Support/Host.cpp | 519 - .../unittests/Support/IndexedAccessorTest.cpp | 49 - .../unittests/Support/InstructionCostTest.cpp | 95 - .../ItaniumManglingCanonicalizerTest.cpp | 389 - gnu/llvm/llvm/unittests/Support/JSONTest.cpp | 549 - .../llvm/unittests/Support/KnownBitsTest.cpp | 482 - .../llvm/unittests/Support/KnownBitsTest.h | 52 - .../llvm/unittests/Support/LEB128Test.cpp | 435 - .../unittests/Support/LineIteratorTest.cpp | 216 - .../unittests/Support/LinearPolyBaseTest.cpp | 179 - .../unittests/Support/LockFileManagerTest.cpp | 107 - gnu/llvm/llvm/unittests/Support/MD5Test.cpp | 71 - .../llvm/unittests/Support/ManagedStatic.cpp | 101 - .../llvm/unittests/Support/MatchersTest.cpp | 25 - .../llvm/unittests/Support/MathExtrasTest.cpp | 607 - .../unittests/Support/MemoryBufferRefTest.cpp | 51 - .../unittests/Support/MemoryBufferTest.cpp | 411 - .../llvm/unittests/Support/MemoryTest.cpp | 434 - .../unittests/Support/NativeFormatTests.cpp | 175 - .../Support/OptimizedStructLayoutTest.cpp | 149 - .../llvm/unittests/Support/ParallelTest.cpp | 95 - gnu/llvm/llvm/unittests/Support/Path.cpp | 2304 ---- .../llvm/unittests/Support/ProcessTest.cpp | 112 - .../llvm/unittests/Support/ProgramTest.cpp | 420 - .../Support/RISCVAttributeParserTest.cpp | 70 - gnu/llvm/llvm/unittests/Support/RegexTest.cpp | 181 - .../unittests/Support/ReplaceFileTest.cpp | 174 - .../Support/ReverseIterationTest.cpp | 109 - gnu/llvm/llvm/unittests/Support/SHA256.cpp | 80 - .../unittests/Support/ScaledNumberTest.cpp | 568 - .../llvm/unittests/Support/SourceMgrTest.cpp | 498 - .../unittests/Support/SpecialCaseListTest.cpp | 248 - .../llvm/unittests/Support/SuffixTreeTest.cpp | 143 - .../unittests/Support/SwapByteOrderTest.cpp | 210 - .../Support/SymbolRemappingReaderTest.cpp | 95 - .../llvm/unittests/Support/TarWriterTest.cpp | 174 - .../unittests/Support/TargetParserTest.cpp | 1458 --- .../llvm/unittests/Support/TaskQueueTest.cpp | 107 - .../unittests/Support/ThreadLocalTest.cpp | 56 - .../llvm/unittests/Support/ThreadPool.cpp | 274 - gnu/llvm/llvm/unittests/Support/Threading.cpp | 94 - gnu/llvm/llvm/unittests/Support/TimerTest.cpp | 64 - .../unittests/Support/ToolOutputFileTest.cpp | 22 - .../unittests/Support/TrailingObjectsTest.cpp | 258 - .../unittests/Support/TrigramIndexTest.cpp | 131 - .../llvm/unittests/Support/TypeNameTest.cpp | 48 - .../llvm/unittests/Support/TypeTraitsTest.cpp | 126 - .../llvm/unittests/Support/UnicodeTest.cpp | 107 - .../unittests/Support/VersionTupleTest.cpp | 49 - .../Support/VirtualFileSystemTest.cpp | 2647 ---- .../llvm/unittests/Support/WithColorTest.cpp | 43 - .../llvm/unittests/Support/YAMLIOTest.cpp | 3216 ----- .../llvm/unittests/Support/YAMLParserTest.cpp | 385 - .../Support/formatted_raw_ostream_test.cpp | 171 - .../unittests/Support/raw_fd_stream_test.cpp | 67 - .../unittests/Support/raw_ostream_test.cpp | 546 - .../Support/raw_pwrite_stream_test.cpp | 94 - .../Support/raw_sha1_ostream_test.cpp | 93 - .../llvm/unittests/Support/xxhashTest.cpp | 19 - gnu/llvm/llvm/unittests/TableGen/Automata.td | 186 - .../llvm/unittests/TableGen/AutomataTest.cpp | 153 - .../llvm/unittests/TableGen/CMakeLists.txt | 17 - .../unittests/TableGen/CodeExpanderTest.cpp | 183 - .../unittests/Target/AArch64/CMakeLists.txt | 24 - .../AArch64/DecomposeStackOffsetTest.cpp | 53 - .../unittests/Target/AArch64/InstSizes.cpp | 156 - .../Target/AArch64/MatrixRegisterAliasing.cpp | 135 - .../unittests/Target/AMDGPU/CMakeLists.txt | 19 - .../Target/AMDGPU/DwarfRegMappings.cpp | 89 - .../AMDGPU/ExecMayBeModifiedBeforeAnyUse.cpp | 73 - .../llvm/unittests/Target/ARM/CMakeLists.txt | 20 - .../unittests/Target/ARM/MachineInstrTest.cpp | 1210 -- gnu/llvm/llvm/unittests/Target/CMakeLists.txt | 5 - .../Target/PowerPC/AIXRelocModelTest.cpp | 39 - .../unittests/Target/PowerPC/CMakeLists.txt | 17 - .../Target/WebAssembly/CMakeLists.txt | 18 - .../WebAssemblyExceptionInfoTest.cpp | 417 - .../llvm/unittests/Target/X86/CMakeLists.txt | 21 - .../Target/X86/MachineSizeOptsTest.cpp | 235 - .../llvm/unittests/TextAPI/CMakeLists.txt | 12 - .../llvm/unittests/TextAPI/TextStubHelpers.h | 63 - .../unittests/TextAPI/TextStubV1Tests.cpp | 459 - .../unittests/TextAPI/TextStubV2Tests.cpp | 494 - .../unittests/TextAPI/TextStubV3Tests.cpp | 949 -- .../unittests/TextAPI/TextStubV4Tests.cpp | 1175 -- .../llvm/unittests/Transforms/CMakeLists.txt | 4 - .../Transforms/IPO/AttributorTest.cpp | 151 - .../Transforms/IPO/AttributorTestBase.h | 48 - .../unittests/Transforms/IPO/CMakeLists.txt | 14 - .../Transforms/IPO/LowerTypeTests.cpp | 155 - .../Transforms/IPO/WholeProgramDevirt.cpp | 164 - .../Transforms/Scalar/CMakeLists.txt | 21 - .../unittests/Transforms/Scalar/LICMTest.cpp | 93 - .../Transforms/Scalar/LoopPassManagerTest.cpp | 1668 --- .../Utils/ASanStackFrameLayoutTest.cpp | 134 - .../Transforms/Utils/BasicBlockUtilsTest.cpp | 594 - .../unittests/Transforms/Utils/CMakeLists.txt | 30 - .../Utils/CallPromotionUtilsTest.cpp | 370 - .../Transforms/Utils/CloningTest.cpp | 1028 -- .../Transforms/Utils/CodeExtractorTest.cpp | 334 - .../Transforms/Utils/CodeMoverUtilsTest.cpp | 857 -- .../Transforms/Utils/DebugifyTest.cpp | 264 - .../Utils/FunctionComparatorTest.cpp | 129 - .../Transforms/Utils/IntegerDivisionTest.cpp | 263 - .../unittests/Transforms/Utils/LocalTest.cpp | 1073 -- .../Utils/LoopRotationUtilsTest.cpp | 166 - .../Transforms/Utils/LoopUtilsTest.cpp | 95 - .../Transforms/Utils/ModuleUtilsTest.cpp | 69 - .../Transforms/Utils/SSAUpdaterBulkTest.cpp | 194 - .../Utils/ScalarEvolutionExpanderTest.cpp | 967 -- .../Transforms/Utils/SizeOptsTest.cpp | 129 - .../Transforms/Utils/UnrollLoopTest.cpp | 77 - .../unittests/Transforms/Utils/VFABIUtils.cpp | 53 - .../Transforms/Utils/ValueMapperTest.cpp | 349 - .../Transforms/Vectorize/CMakeLists.txt | 15 - .../Vectorize/VPlanDominatorTreeTest.cpp | 195 - .../Transforms/Vectorize/VPlanHCFGTest.cpp | 194 - .../Vectorize/VPlanLoopInfoTest.cpp | 86 - .../Vectorize/VPlanPredicatorTest.cpp | 236 - .../Transforms/Vectorize/VPlanSlpTest.cpp | 921 -- .../Transforms/Vectorize/VPlanTest.cpp | 1215 -- .../Transforms/Vectorize/VPlanTestBase.h | 87 - gnu/llvm/llvm/unittests/XRay/CMakeLists.txt | 18 - .../unittests/XRay/FDRBlockIndexerTest.cpp | 82 - .../unittests/XRay/FDRBlockVerifierTest.cpp | 138 - .../XRay/FDRProducerConsumerTest.cpp | 222 - .../unittests/XRay/FDRRecordPrinterTest.cpp | 169 - .../llvm/unittests/XRay/FDRRecordsTest.cpp | 167 - .../unittests/XRay/FDRTraceWriterTest.cpp | 182 - gnu/llvm/llvm/unittests/XRay/GraphTest.cpp | 260 - gnu/llvm/llvm/unittests/XRay/ProfileTest.cpp | 266 - gnu/llvm/llvm/unittests/tools/CMakeLists.txt | 10 - .../tools/llvm-cfi-verify/CMakeLists.txt | 17 - .../tools/llvm-cfi-verify/FileAnalysis.cpp | 1101 -- .../tools/llvm-cfi-verify/GraphBuilder.cpp | 598 - .../llvm-exegesis/AArch64/CMakeLists.txt | 20 - .../llvm-exegesis/AArch64/TargetTest.cpp | 77 - .../tools/llvm-exegesis/ARM/AssemblerTest.cpp | 48 - .../tools/llvm-exegesis/ARM/CMakeLists.txt | 19 - .../llvm-exegesis/BenchmarkRunnerTest.cpp | 32 - .../tools/llvm-exegesis/CMakeLists.txt | 65 - .../tools/llvm-exegesis/ClusteringTest.cpp | 146 - .../llvm-exegesis/Common/AssemblerUtils.h | 95 - .../Mips/BenchmarkResultTest.cpp | 130 - .../tools/llvm-exegesis/Mips/CMakeLists.txt | 23 - .../Mips/RegisterAliasingTest.cpp | 74 - .../Mips/SnippetGeneratorTest.cpp | 126 - .../tools/llvm-exegesis/Mips/TargetTest.cpp | 131 - .../tools/llvm-exegesis/Mips/TestBase.h | 42 - .../tools/llvm-exegesis/PerfHelperTest.cpp | 42 - .../llvm-exegesis/PowerPC/AnalysisTest.cpp | 91 - .../llvm-exegesis/PowerPC/CMakeLists.txt | 22 - .../PowerPC/SnippetGeneratorTest.cpp | 134 - .../llvm-exegesis/PowerPC/TargetTest.cpp | 69 - .../tools/llvm-exegesis/PowerPC/TestBase.h | 42 - .../tools/llvm-exegesis/RegisterValueTest.cpp | 72 - .../llvm-exegesis/SnippetGeneratorTest.cpp | 175 - .../tools/llvm-exegesis/X86/AssemblerTest.cpp | 65 - .../llvm-exegesis/X86/BenchmarkResultTest.cpp | 135 - .../tools/llvm-exegesis/X86/CMakeLists.txt | 31 - .../X86/RegisterAliasingTest.cpp | 73 - .../X86/SchedClassResolutionTest.cpp | 98 - .../llvm-exegesis/X86/SnippetFileTest.cpp | 129 - .../X86/SnippetGeneratorTest.cpp | 461 - .../X86/SnippetRepetitorTest.cpp | 98 - .../tools/llvm-exegesis/X86/TargetTest.cpp | 396 - .../tools/llvm-exegesis/X86/TestBase.h | 44 - .../tools/llvm-profgen/CMakeLists.txt | 11 - .../llvm-profgen/ContextCompressionTest.cpp | 36 - gnu/llvm/llvm/unittests/unittest.cfg.in | 1 - gnu/llvm/llvm/utils/TableGen/CodeBeadsGen.cpp | 137 - .../utils/TableGen/FixedLenDecoderEmitter.cpp | 2560 ---- .../TableGen/RISCVCompressInstEmitter.cpp | 893 -- gnu/llvm/llvm/utils/benchmark/AUTHORS | 47 - gnu/llvm/llvm/utils/benchmark/CMakeLists.txt | 266 - gnu/llvm/llvm/utils/benchmark/CONTRIBUTING.md | 58 - gnu/llvm/llvm/utils/benchmark/CONTRIBUTORS | 67 - gnu/llvm/llvm/utils/benchmark/LICENSE | 202 - gnu/llvm/llvm/utils/benchmark/README.LLVM | 39 - gnu/llvm/llvm/utils/benchmark/README.md | 950 -- gnu/llvm/llvm/utils/benchmark/WORKSPACE | 7 - gnu/llvm/llvm/utils/benchmark/appveyor.yml | 56 - .../benchmark/cmake/AddCXXCompilerFlag.cmake | 74 - .../benchmark/cmake/CXXFeatureCheck.cmake | 64 - .../utils/benchmark/cmake/Config.cmake.in | 1 - .../utils/benchmark/cmake/GetGitVersion.cmake | 54 - .../utils/benchmark/cmake/HandleGTest.cmake | 113 - .../benchmark/cmake/Modules/FindLLVMAr.cmake | 16 - .../benchmark/cmake/Modules/FindLLVMNm.cmake | 16 - .../cmake/Modules/FindLLVMRanLib.cmake | 15 - .../utils/benchmark/cmake/benchmark.pc.in | 11 - .../utils/benchmark/cmake/gnu_posix_regex.cpp | 11 - .../benchmark/cmake/llvm-toolchain.cmake | 8 - .../utils/benchmark/cmake/posix_regex.cpp | 13 - .../utils/benchmark/cmake/split_list.cmake | 3 - .../llvm/utils/benchmark/cmake/std_regex.cpp | 9 - .../utils/benchmark/cmake/steady_clock.cpp | 7 - .../cmake/thread_safety_attributes.cpp | 4 - .../utils/benchmark/docs/AssemblyTests.md | 146 - gnu/llvm/llvm/utils/benchmark/docs/tools.md | 242 - .../benchmark/include/benchmark/benchmark.h | 1467 --- gnu/llvm/llvm/utils/benchmark/mingw.py | 320 - gnu/llvm/llvm/utils/benchmark/releasing.md | 16 - .../llvm/utils/benchmark/src/CMakeLists.txt | 110 - gnu/llvm/llvm/utils/benchmark/src/arraysize.h | 33 - .../llvm/utils/benchmark/src/benchmark.cc | 630 - .../benchmark/src/benchmark_api_internal.h | 47 - .../utils/benchmark/src/benchmark_main.cc | 17 - .../utils/benchmark/src/benchmark_register.cc | 461 - .../utils/benchmark/src/benchmark_register.h | 34 - gnu/llvm/llvm/utils/benchmark/src/check.h | 79 - .../llvm/utils/benchmark/src/colorprint.cc | 188 - .../llvm/utils/benchmark/src/colorprint.h | 33 - .../utils/benchmark/src/commandlineflags.cc | 218 - .../utils/benchmark/src/commandlineflags.h | 79 - .../llvm/utils/benchmark/src/complexity.cc | 218 - .../llvm/utils/benchmark/src/complexity.h | 55 - .../utils/benchmark/src/console_reporter.cc | 182 - gnu/llvm/llvm/utils/benchmark/src/counter.cc | 68 - gnu/llvm/llvm/utils/benchmark/src/counter.h | 26 - .../llvm/utils/benchmark/src/csv_reporter.cc | 149 - .../llvm/utils/benchmark/src/cycleclock.h | 206 - .../utils/benchmark/src/internal_macros.h | 81 - .../llvm/utils/benchmark/src/json_reporter.cc | 205 - gnu/llvm/llvm/utils/benchmark/src/log.h | 73 - gnu/llvm/llvm/utils/benchmark/src/mutex.h | 155 - gnu/llvm/llvm/utils/benchmark/src/re.h | 152 - gnu/llvm/llvm/utils/benchmark/src/reporter.cc | 87 - gnu/llvm/llvm/utils/benchmark/src/sleep.cc | 51 - gnu/llvm/llvm/utils/benchmark/src/sleep.h | 15 - .../llvm/utils/benchmark/src/statistics.cc | 178 - .../llvm/utils/benchmark/src/statistics.h | 37 - .../llvm/utils/benchmark/src/string_util.cc | 172 - .../llvm/utils/benchmark/src/string_util.h | 40 - gnu/llvm/llvm/utils/benchmark/src/sysinfo.cc | 585 - .../llvm/utils/benchmark/src/thread_manager.h | 66 - .../llvm/utils/benchmark/src/thread_timer.h | 69 - gnu/llvm/llvm/utils/benchmark/src/timers.cc | 217 - gnu/llvm/llvm/utils/benchmark/src/timers.h | 48 - .../utils/benchmark/test/AssemblyTests.cmake | 45 - .../llvm/utils/benchmark/test/CMakeLists.txt | 247 - .../llvm/utils/benchmark/test/basic_test.cc | 136 - .../utils/benchmark/test/benchmark_gtest.cc | 33 - .../utils/benchmark/test/benchmark_test.cc | 245 - .../test/clobber_memory_assembly_test.cc | 64 - .../utils/benchmark/test/complexity_test.cc | 167 - .../llvm/utils/benchmark/test/cxx03_test.cc | 63 - .../utils/benchmark/test/diagnostics_test.cc | 80 - .../test/donotoptimize_assembly_test.cc | 163 - .../benchmark/test/donotoptimize_test.cc | 52 - .../llvm/utils/benchmark/test/filter_test.cc | 104 - .../llvm/utils/benchmark/test/fixture_test.cc | 49 - .../utils/benchmark/test/link_main_test.cc | 8 - .../llvm/utils/benchmark/test/map_test.cc | 57 - .../benchmark/test/multiple_ranges_test.cc | 97 - .../llvm/utils/benchmark/test/options_test.cc | 65 - .../llvm/utils/benchmark/test/output_test.h | 201 - .../benchmark/test/output_test_helper.cc | 423 - .../benchmark/test/register_benchmark_test.cc | 182 - .../benchmark/test/reporter_output_test.cc | 382 - .../benchmark/test/skip_with_error_test.cc | 192 - .../benchmark/test/state_assembly_test.cc | 66 - .../utils/benchmark/test/statistics_gtest.cc | 61 - .../benchmark/test/templated_fixture_test.cc | 28 - .../test/user_counters_tabular_test.cc | 250 - .../benchmark/test/user_counters_test.cc | 217 - .../llvm/utils/benchmark/tools/compare.py | 316 - .../tools/gbench/Inputs/test1_run1.json | 102 - .../tools/gbench/Inputs/test1_run2.json | 102 - .../tools/gbench/Inputs/test2_run.json | 81 - .../utils/benchmark/tools/gbench/__init__.py | 8 - .../utils/benchmark/tools/gbench/report.py | 208 - .../llvm/utils/benchmark/tools/gbench/util.py | 159 - .../llvm/utils/benchmark/tools/strip_asm.py | 151 - gnu/llvm/llvm/utils/countloc.sh | 39 - gnu/llvm/llvm/utils/docker/debian8/Dockerfile | 60 - gnu/llvm/llvm/utils/getsrcs.sh | 33 - gnu/llvm/llvm/utils/gn/build/run_tablegen.py | 8 - .../tools/clang-offload-wrapper/BUILD.gn | 11 - .../secondary/compiler-rt/lib/tsan/BUILD.gn | 180 - .../utils/gn/secondary/lld/lib/Core/BUILD.gn | 20 - .../gn/secondary/lld/lib/Driver/BUILD.gn | 22 - .../secondary/lld/lib/ReaderWriter/BUILD.gn | 15 - .../lld/lib/ReaderWriter/MachO/BUILD.gn | 33 - .../lld/lib/ReaderWriter/YAML/BUILD.gn | 9 - .../utils/gn/secondary/lld/unittests/BUILD.gn | 7 - .../lld/unittests/DriverTests/BUILD.gn | 10 - .../lld/unittests/MachOTests/BUILD.gn | 16 - .../llvm/tools/llvm-mca/lib/AMDGPU/BUILD.gn | 15 - .../secondary/llvm/tools/split-file/BUILD.gn | 4 - .../secondary/llvm/utils/benchmark/BUILD.gn | 25 - .../gn/secondary/llvm/utils/unittest/BUILD.gn | 35 - .../llvm/utils/unittest/UnitTestMain/BUILD.gn | 17 - .../llvm/utils/unittest/unittest.gni | 58 - gnu/llvm/llvm/utils/lit/README.txt | 41 - .../DummySubDir/OneTest.py | 49 - .../Inputs/googletest-upstream-format/lit.cfg | 3 - .../tests/Inputs/reorder/.lit_test_times.txt | 4 - .../lit/tests/googletest-upstream-format.py | 38 - gnu/llvm/llvm/utils/llvmdo | 183 - gnu/llvm/llvm/utils/llvmgrep | 38 - .../llvm/utils/release/build_llvm_package.bat | 149 - .../llvm/utils/sanitizers/ubsan_blacklist.txt | 16 - gnu/llvm/llvm/utils/unittest/CMakeLists.txt | 93 - .../unittest/UnitTestMain/CMakeLists.txt | 12 - .../utils/unittest/UnitTestMain/TestMain.cpp | 51 - .../utils/unittest/googlemock/LICENSE.txt | 28 - .../utils/unittest/googlemock/README.LLVM | 22 - .../googlemock/include/gmock/gmock-actions.h | 1157 -- .../include/gmock/gmock-cardinalities.h | 159 - .../include/gmock/gmock-function-mocker.h | 253 - .../include/gmock/gmock-generated-actions.h | 1888 --- .../gmock/gmock-generated-function-mockers.h | 754 -- .../include/gmock/gmock-generated-matchers.h | 1099 -- .../googlemock/include/gmock/gmock-matchers.h | 4599 ------- .../include/gmock/gmock-more-actions.h | 164 - .../include/gmock/gmock-more-matchers.h | 94 - .../include/gmock/gmock-nice-strict.h | 215 - .../include/gmock/gmock-spec-builders.h | 1985 --- .../unittest/googlemock/include/gmock/gmock.h | 114 - .../internal/custom/gmock-generated-actions.h | 10 - .../gmock/internal/custom/gmock-matchers.h | 36 - .../gmock/internal/custom/gmock-port.h | 39 - .../gmock/internal/gmock-internal-utils.h | 515 - .../include/gmock/internal/gmock-port.h | 89 - .../include/gmock/internal/gmock-pp.h | 317 - .../unittest/googlemock/src/gmock-all.cc | 46 - .../googlemock/src/gmock-cardinalities.cc | 155 - .../googlemock/src/gmock-internal-utils.cc | 200 - .../unittest/googlemock/src/gmock-matchers.cc | 462 - .../googlemock/src/gmock-spec-builders.cc | 888 -- .../utils/unittest/googlemock/src/gmock.cc | 213 - .../utils/unittest/googletest/LICENSE.TXT | 28 - .../utils/unittest/googletest/README.LLVM | 21 - .../include/gtest/gtest-death-test.h | 343 - .../googletest/include/gtest/gtest-matchers.h | 750 -- .../googletest/include/gtest/gtest-message.h | 219 - .../include/gtest/gtest-param-test.h | 503 - .../googletest/include/gtest/gtest-printers.h | 929 -- .../googletest/include/gtest/gtest-spi.h | 238 - .../include/gtest/gtest-test-part.h | 184 - .../include/gtest/gtest-typed-test.h | 330 - .../unittest/googletest/include/gtest/gtest.h | 2478 ---- .../include/gtest/gtest_pred_impl.h | 359 - .../googletest/include/gtest/gtest_prod.h | 61 - .../gtest/internal/custom/gtest-port.h | 37 - .../gtest/internal/custom/gtest-printers.h | 69 - .../include/gtest/internal/custom/gtest.h | 37 - .../gtest/internal/custom/raw-ostream.h | 85 - .../internal/gtest-death-test-internal.h | 302 - .../include/gtest/internal/gtest-filepath.h | 211 - .../include/gtest/internal/gtest-internal.h | 1380 -- .../include/gtest/internal/gtest-param-util.h | 883 -- .../include/gtest/internal/gtest-port-arch.h | 107 - .../include/gtest/internal/gtest-port.h | 2231 ---- .../include/gtest/internal/gtest-string.h | 171 - .../include/gtest/internal/gtest-type-util.h | 3335 ----- .../unittest/googletest/src/gtest-all.cc | 48 - .../googletest/src/gtest-death-test.cc | 1653 --- .../unittest/googletest/src/gtest-filepath.cc | 379 - .../googletest/src/gtest-internal-inl.h | 1211 -- .../unittest/googletest/src/gtest-matchers.cc | 97 - .../unittest/googletest/src/gtest-port.cc | 1399 -- .../unittest/googletest/src/gtest-printers.cc | 442 - .../googletest/src/gtest-test-part.cc | 104 - .../googletest/src/gtest-typed-test.cc | 118 - .../utils/unittest/googletest/src/gtest.cc | 6177 --------- 1577 files changed, 32144 insertions(+), 339699 deletions(-) delete mode 100644 gnu/llvm/llvm/bindings/go/README.txt delete mode 100755 gnu/llvm/llvm/bindings/go/build.sh delete mode 100644 gnu/llvm/llvm/bindings/go/conftest.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/IRBindings.cpp delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/IRBindings.h delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.cpp delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.h delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/SupportBindings.cpp delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/SupportBindings.h delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/analysis.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/bitreader.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/bitwriter.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/dibuilder.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/executionengine.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/executionengine_test.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/ir.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/ir_test.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/linker.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/llvm_config.go.in delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/llvm_dep.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/string.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/string_test.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/support.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/target.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/transforms_coroutines.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/transforms_instrumentation.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/transforms_ipo.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/transforms_pmbuilder.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/transforms_scalar.go delete mode 100644 gnu/llvm/llvm/bindings/go/llvm/version.go delete mode 100644 gnu/llvm/llvm/cmake/modules/AddLLVMDefinitions.cmake delete mode 100644 gnu/llvm/llvm/cmake/modules/FindGRPC.cmake delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx1011_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_ds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_flat.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_addr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_scratch.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_cmp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_reg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store_d16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_96.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_lds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_gather4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular_d16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_mad_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_dpp_sdwa_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_sdwa_sext.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_plain.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_perm_smem.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ret.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_global.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_scratch.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_samp_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst256_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst512_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_simm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_src_exp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_uimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_global.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_scratch.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vcc_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_wsdst.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx10_wssrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_ds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_flat.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_addr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_cmp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_reg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_store.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_96.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_lds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_gather4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_regular.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_fimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_mod.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_smem.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ret.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_samp_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst256_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst512_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_simm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_src_exp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_uimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vcc_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_ds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_flat.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_addr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_96.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_cmp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_reg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store_d16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_96.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_128.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_96.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_lds.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_gather4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular_d16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_dpp_sdwa_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_sdwa_sext.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_load.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_store.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_perm_smem.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ret.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_samp_mimg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst256_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst512_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_simm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_src_exp.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_uimm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vcc_64.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst96_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx900_mad_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx900_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx904_mad_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx904_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_mad_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx906_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_addr_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_adst1024_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_adst128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_adst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_adst512_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc1024_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc128_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc512_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_mad_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_offset_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_ret.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_rsrc_buf.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_type_dev.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc64_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vdata32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vdst32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx908_vsrc32_0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_m.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_m_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_11.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_11.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_12.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_13.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_14.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_15.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_17.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_18.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_19.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_m.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_m_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_opt.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_src_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_10.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_11.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_12.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_13.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_3.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_4.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_5.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_6.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_7.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_8.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_9.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_1.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_2.rst delete mode 100644 gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_3.rst delete mode 100644 gnu/llvm/llvm/docs/Makefile.sphinx delete mode 100644 gnu/llvm/llvm/docs/Proposals/LLVMLibC.rst delete mode 100644 gnu/llvm/llvm/examples/IRTransforms/InitializePasses.cpp delete mode 100644 gnu/llvm/llvm/examples/IRTransforms/InitializePasses.h delete mode 100644 gnu/llvm/llvm/examples/IRTransforms/SimplifyCFG.h delete mode 100644 gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/LLJITWithTargetProcessControl.cpp delete mode 100644 gnu/llvm/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h delete mode 100644 gnu/llvm/llvm/include/llvm-c/Transforms/Coroutines.h delete mode 100644 gnu/llvm/llvm/include/llvm/ADT/Waymarking.h delete mode 100644 gnu/llvm/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h delete mode 100644 gnu/llvm/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h delete mode 100644 gnu/llvm/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h delete mode 100644 gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h delete mode 100644 gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h delete mode 100644 gnu/llvm/llvm/include/llvm/DebugInfo/GSYM/Range.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/LLVMSPSSerializers.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/FDRawByteChannel.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/RawByteChannel.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/Serialization.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/TargetProcess/OrcRPCTPCServer.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/OrcMCJITReplacement.h delete mode 100644 gnu/llvm/llvm/include/llvm/ExecutionEngine/OrcV1Deprecation.h delete mode 100644 gnu/llvm/llvm/include/llvm/IR/GlobalIndirectSymbol.h delete mode 100644 gnu/llvm/llvm/include/llvm/LTO/Caching.h delete mode 100644 gnu/llvm/llvm/include/llvm/MC/MCFixedLenDisassembler.h delete mode 100644 gnu/llvm/llvm/include/llvm/Support/AArch64TargetParser.def delete mode 100644 gnu/llvm/llvm/include/llvm/Support/ARMTargetParser.def delete mode 100644 gnu/llvm/llvm/include/llvm/Support/RISCVTargetParser.def delete mode 100644 gnu/llvm/llvm/include/llvm/Support/TargetRegistry.h delete mode 100644 gnu/llvm/llvm/include/llvm/Support/ThreadLocal.h delete mode 100644 gnu/llvm/llvm/include/llvm/Testing/Support/Annotations.h delete mode 100644 gnu/llvm/llvm/include/llvm/Transforms/Coroutines.h delete mode 100644 gnu/llvm/llvm/include/llvm/Transforms/InstCombine/InstCombineWorklist.h delete mode 100644 gnu/llvm/llvm/include/llvm/Transforms/Scalar/LowerAtomic.h create mode 100644 gnu/llvm/llvm/include/llvm/Transforms/Utils/MisExpect.h delete mode 100644 gnu/llvm/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp delete mode 100644 gnu/llvm/llvm/lib/Analysis/CFLGraph.h delete mode 100644 gnu/llvm/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp delete mode 100644 gnu/llvm/llvm/lib/Analysis/ReleaseModeModelRunner.cpp delete mode 100644 gnu/llvm/llvm/lib/Analysis/TFUtils.cpp delete mode 100644 gnu/llvm/llvm/lib/Analysis/models/generate_mock_model.py delete mode 100644 gnu/llvm/llvm/lib/Analysis/models/inlining/config.py delete mode 100644 gnu/llvm/llvm/lib/CodeGen/GlobalISel/RegisterBank.cpp delete mode 100644 gnu/llvm/llvm/lib/CodeGen/GlobalISel/RegisterBankInfo.cpp delete mode 100644 gnu/llvm/llvm/lib/DebugInfo/GSYM/Range.cpp delete mode 100644 gnu/llvm/llvm/lib/DebugInfo/Symbolize/SymbolizableObjectFile.h delete mode 100644 gnu/llvm/llvm/lib/ExecutionEngine/Orc/Shared/RPCError.cpp delete mode 100644 gnu/llvm/llvm/lib/IR/ConstantFold.h delete mode 100644 gnu/llvm/llvm/lib/LTO/Caching.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/AArch64TargetParser.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/ARMTargetParser.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/Host.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/TargetParser.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/TargetRegistry.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/ThreadLocal.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/Triple.cpp delete mode 100644 gnu/llvm/llvm/lib/Support/Unix/Host.inc delete mode 100644 gnu/llvm/llvm/lib/Support/Unix/ThreadLocal.inc delete mode 100644 gnu/llvm/llvm/lib/Support/Windows/Host.inc delete mode 100644 gnu/llvm/llvm/lib/Support/Windows/ThreadLocal.inc delete mode 100644 gnu/llvm/llvm/lib/Support/X86TargetParser.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/AArch64/GISel/select-saddo.mir delete mode 100644 gnu/llvm/llvm/lib/Target/AArch64/GISel/select-ssubo.mir delete mode 100644 gnu/llvm/llvm/lib/Target/AMDGPU/AMDGPUFixFunctionBitcasts.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/AMDGPU/AMDILCFGStructurizer.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/AMDGPU/Utils/AMDGPULDSUtils.h delete mode 100644 gnu/llvm/llvm/lib/Target/AVR/AVRRelaxMemOperations.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/Hexagon/HexagonArch.h delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kCallLowering.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kCallLowering.h delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kInstructionSelector.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kLegalizerInfo.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kLegalizerInfo.h delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kRegisterBankInfo.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kRegisterBankInfo.h delete mode 100644 gnu/llvm/llvm/lib/Target/M68k/GlSel/M68kRegisterBanks.td delete mode 100644 gnu/llvm/llvm/lib/Target/NVPTX/ManagedStringPool.h delete mode 100644 gnu/llvm/llvm/lib/Target/PowerPC/PPCInstrPrefix.td delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVCallLowering.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVCallLowering.h delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVInstrInfoB.td delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVInstructionSelector.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVLegalizerInfo.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVLegalizerInfo.h delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVRegisterBankInfo.h delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVRegisterBanks.td delete mode 100644 gnu/llvm/llvm/lib/Target/RISCV/RISCVScheduleB.td delete mode 100644 gnu/llvm/llvm/lib/Target/WebAssembly/WebAssemblyLowerGlobalDtors.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/WebAssembly/WebAssemblyPrepareForLiveIntervals.cpp delete mode 100644 gnu/llvm/llvm/lib/Target/X86/X86InstrMPX.td delete mode 100644 gnu/llvm/llvm/lib/Target/X86/X86WinAllocaExpander.cpp delete mode 100644 gnu/llvm/llvm/lib/Testing/Support/Annotations.cpp delete mode 100644 gnu/llvm/llvm/lib/Transforms/IPO/PruneEH.cpp delete mode 100644 gnu/llvm/llvm/lib/Transforms/Instrumentation/MaximumSpanningTree.h delete mode 100644 gnu/llvm/llvm/lib/Transforms/Scalar/LoopUnswitch.cpp delete mode 100644 gnu/llvm/llvm/lib/Transforms/Scalar/LowerAtomic.cpp create mode 100644 gnu/llvm/llvm/lib/Transforms/Utils/MisExpect.cpp delete mode 100644 gnu/llvm/llvm/lib/Transforms/Vectorize/VPlanLoopInfo.h delete mode 100644 gnu/llvm/llvm/lib/Transforms/Vectorize/VPlanPredicator.cpp delete mode 100644 gnu/llvm/llvm/lib/Transforms/Vectorize/VPlanPredicator.h delete mode 100644 gnu/llvm/llvm/tools/lli/RemoteJITUtils.h delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DiffConsumer.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DiffConsumer.h delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DiffLog.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DiffLog.h delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DifferenceEngine.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-diff/DifferenceEngine.h delete mode 100644 gnu/llvm/llvm/tools/llvm-go/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/tools/llvm-go/llvm-go.go delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/Views/View.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/Views/View.h delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/lib/AMDGPU/AMDGPUCustomBehaviour.h delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/lib/AMDGPU/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/tools/llvm-mca/lib/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/COFFConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/COFFObjcopy.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Object.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Object.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Reader.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Reader.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Writer.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/COFF/Writer.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/CommonConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ConfigManager.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ConfigManager.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ELF/ELFConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ELF/ELFObjcopy.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ELF/Object.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/ELF/Object.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOLayoutBuilder.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOObjcopy.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOReader.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOReader.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOWriter.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/MachOWriter.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/Object.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MachO/Object.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/MultiFormatConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/llvm-objcopy.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Object.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Object.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Reader.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Reader.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/WasmConfig.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/WasmObjcopy.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/WasmObjcopy.h delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Writer.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-objcopy/wasm/Writer.h delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/FormatUtil.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/FormatUtil.h delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/InputFile.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/InputFile.h delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/LinePrinter.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-pdbutil/LinePrinter.h delete mode 100644 gnu/llvm/llvm/tools/llvm-profgen/PseudoProbe.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-profgen/PseudoProbe.h delete mode 100644 gnu/llvm/llvm/tools/llvm-reduce/deltas/ReduceModuleInlineAsm.cpp delete mode 100644 gnu/llvm/llvm/tools/llvm-reduce/deltas/ReduceModuleInlineAsm.h delete mode 100644 gnu/llvm/llvm/tools/msbuild/.gitignore delete mode 100644 gnu/llvm/llvm/tools/msbuild/LLVM.Cpp.Common.props delete mode 100644 gnu/llvm/llvm/tools/msbuild/LLVM.Cpp.Common.targets delete mode 100644 gnu/llvm/llvm/tools/msbuild/Platformx64/Toolset.props delete mode 100644 gnu/llvm/llvm/tools/msbuild/Platformx64/Toolset.targets delete mode 100644 gnu/llvm/llvm/tools/msbuild/Platformx86/Toolset.props delete mode 100644 gnu/llvm/llvm/tools/msbuild/Platformx86/Toolset.targets delete mode 100644 gnu/llvm/llvm/tools/msbuild/install.bat delete mode 100644 gnu/llvm/llvm/tools/msbuild/license.txt delete mode 100644 gnu/llvm/llvm/tools/msbuild/llvm-general.xml delete mode 100644 gnu/llvm/llvm/tools/msbuild/llvm.csproj delete mode 100644 gnu/llvm/llvm/tools/msbuild/llvm.sln delete mode 100644 gnu/llvm/llvm/tools/msbuild/source.extension.vsixmanifest delete mode 100644 gnu/llvm/llvm/tools/msbuild/uninstall.bat delete mode 100644 gnu/llvm/llvm/tools/opt/GraphPrinters.cpp delete mode 100644 gnu/llvm/llvm/tools/opt/PassPrinters.cpp delete mode 100644 gnu/llvm/llvm/tools/opt/PassPrinters.h delete mode 100644 gnu/llvm/llvm/tools/opt/PrintSCC.cpp delete mode 100644 gnu/llvm/llvm/tools/split-file/.clang-tidy delete mode 100644 gnu/llvm/llvm/tools/split-file/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/tools/split-file/split-file.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/APFixedPointTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/APFloatTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/APIntTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/APSIntTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/AnyTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/ArrayRefTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/BitFieldsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/BitVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/BitmaskEnumTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/BreadthFirstIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/BumpPtrListTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ADT/CoalescingBitVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DAGDeltaAlgorithmTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DeltaAlgorithmTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DenseMapTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DenseSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DepthFirstIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/DirectedGraphTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/EnumeratedArrayTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/EquivalenceClassesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/FallibleIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/FloatingPointMode.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/FoldingSet.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/FunctionExtrasTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/FunctionRefTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/HashingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListBaseTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListNodeBaseTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListNodeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListSentinelTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IListTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/ImmutableListTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/ImmutableMapTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/ImmutableSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IntEqClassesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IntervalMapTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IntrusiveRefCntPtrTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/IteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/MapVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/MappedIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/OptionalTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PackedVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PointerEmbeddedIntTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PointerIntPairTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PointerSumTypeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PointerUnionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PostOrderIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/PriorityWorklistTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/RangeAdapterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SCCIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/STLExtrasTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/STLForwardCompatTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/ScopeExitTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SequenceTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SetVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SimpleIListTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SmallPtrSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SmallSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SmallStringTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SmallVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SparseBitVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SparseMultiSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/SparseSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StatisticTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StringExtrasTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StringMapTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StringRefTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StringSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/StringSwitchTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/TestGraph.h delete mode 100644 gnu/llvm/llvm/unittests/ADT/TinyPtrVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/TripleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/TwineTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/TypeSwitchTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/TypeTraitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ADT/WaymarkingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/AliasAnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/AliasSetTrackerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/AssumeBundleQueriesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/BasicAliasAnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/BlockFrequencyInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/BranchProbabilityInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/CFGTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/CGSCCPassManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Analysis/CallGraphTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/CaptureTrackingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/ConstraintSystemTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/DDGTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/DivergenceAnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/DomTreeUpdaterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/FunctionPropertiesAnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/GlobalsModRefTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/IRSimilarityIdentifierTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/IVDescriptorsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/InlineCostTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/Inputs/ir2native_x86_64_model/saved_model.pbtxt delete mode 100644 gnu/llvm/llvm/unittests/Analysis/Inputs/ir2native_x86_64_model/variables/variables.data-00000-of-00001 delete mode 100644 gnu/llvm/llvm/unittests/Analysis/Inputs/ir2native_x86_64_model/variables/variables.index delete mode 100644 gnu/llvm/llvm/unittests/Analysis/LazyCallGraphTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/LoadsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/LoopInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/LoopNestTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/MemoryBuiltinsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/MemorySSATest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/PhiValuesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/ProfileSummaryInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/ScalarEvolutionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/SparsePropagation.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/TBAATest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/TFUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/TargetLibraryInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/UnrollAnalyzerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/ValueLatticeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/ValueTrackingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/VectorFunctionABITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Analysis/VectorUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/AsmParser/AsmParserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/AsmParser/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/DwarfTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/MachOTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/MsgPackDocumentTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/MsgPackReaderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/MsgPackWriterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/BinaryFormat/TestFileMagic.cpp delete mode 100644 gnu/llvm/llvm/unittests/Bitcode/BitReaderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Bitcode/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Bitcode/DataLayoutUpgradeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Bitstream/BitstreamReaderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Bitstream/BitstreamWriterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Bitstream/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/AArch64SelectionDAGTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/AllocationOrderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/AsmPrinterDwarfTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/DIEHashTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/DIETest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/CSETest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/ConstantFoldingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/GISelMITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/GISelMITest.h delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/GISelUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/KnownBitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/KnownBitsVectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/LegalizerHelperTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/LegalizerInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/LegalizerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/MachineIRBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/GlobalISel/PatternMatchTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/LexicalScopesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/LowLevelTypeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/MFCommon.inc delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/MachineInstrBundleIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/MachineInstrTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/MachineOperandTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/PassManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/ScalableVectorMVTsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/SelectionDAGAddressAnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/TargetOptionsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/TestAsmPrinter.cpp delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/TestAsmPrinter.h delete mode 100644 gnu/llvm/llvm/unittests/CodeGen/TypeTraitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/CodeView/CMakeLists.txt delete mode 100755 gnu/llvm/llvm/unittests/DebugInfo/CodeView/GUIDFormatTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/CodeView/RandomAccessVisitorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/CodeView/TypeHashingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/CodeView/TypeIndexDiscoveryTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFAcceleratorTableTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDataExtractorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDebugArangeSetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDebugFrameTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDebugInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDebugLineTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDieManualExtractTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFDieTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFExpressionCompactPrinterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFFormValueTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFListTableTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DWARFLocationExpressionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DwarfGenerator.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DwarfGenerator.h delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DwarfUtils.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/DWARF/DwarfUtils.h delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/GSYM/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/GSYM/GSYMTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/MSF/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/MSF/MSFBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/MSF/MSFCommonTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/MSF/MappedBlockStreamTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/HashTableTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/Inputs/SimpleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/Inputs/SimpleTest.pdb delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/Inputs/empty.pdb delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/NativeSessionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/NativeSymbolReuseTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/PDBApiTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/DebugInfo/PDB/StringTableBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Demangle/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Demangle/DemangleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Demangle/ItaniumDemangleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Demangle/PartialDemangleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Demangle/RustDemangleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Demangle/StringViewTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/ExecutionEngineTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/JITLink/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/JITLink/LinkGraphTests.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITCAPITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITMemoryManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITMultipleModuleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITObjectCacheTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestAPICommon.h delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITTestBase.h delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/MCJIT/MCJITTests.def delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/CoreAPIsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/ExecutionSessionWrapperFunctionCallsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/IndirectionUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/JITTargetMachineBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/LazyCallThroughAndReexportsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/ObjectLinkingLayerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/OrcCAPITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/OrcTestCommon.h delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/QueueChannel.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/QueueChannel.h delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/RPCUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/RTDyldObjectLinkingLayerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/ResourceTrackerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/SimplePackedSerializationTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/SymbolStringPoolTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/ThreadSafeModuleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ExecutionEngine/Orc/WrapperFunctionUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/FileCheck/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/FileCheck/FileCheckTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Frontend/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Frontend/OpenACCTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Frontend/OpenMPContextTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Frontend/OpenMPIRBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Frontend/OpenMPParsingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/FuzzMutate/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/FuzzMutate/OperationsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/FuzzMutate/RandomIRBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/FuzzMutate/ReservoirSamplerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/FuzzMutate/StrategiesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/AbstractCallSiteTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/AsmWriterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/AttributesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/BasicBlockTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/CFGBuilder.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/CFGBuilder.h delete mode 100644 gnu/llvm/llvm/unittests/IR/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/IR/ConstantRangeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ConstantsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DataLayoutTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DebugInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DebugTypeODRUniquingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DemandedBitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DominatorTreeBatchUpdatesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/DominatorTreeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/FunctionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/IRBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/InstructionsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/IntrinsicsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/LegacyPassManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/MDBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ManglerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/MetadataTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ModuleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/PassBuilderCallbacksTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/PassManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/PatternMatch.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/TimePassesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/TypesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/UseTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/UserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/VPIntrinsicTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ValueHandleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ValueMapTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/ValueTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/VectorTypesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/IR/VerifierTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/InterfaceStub/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/InterfaceStub/ELFYAMLTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/LineEditor/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/LineEditor/LineEditor.cpp delete mode 100644 gnu/llvm/llvm/unittests/Linker/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Linker/LinkModulesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/AMDGPU/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/MC/AMDGPU/DwarfRegMappings.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/MC/Disassembler.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/DwarfLineTables.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/MCDisassemblerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/MCInstPrinter.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/StringTableBuilderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/SystemZ/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/MC/SystemZ/SystemZAsmLexerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/MC/TargetRegistry.cpp delete mode 100644 gnu/llvm/llvm/unittests/MI/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/MI/LiveIntervalTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/MIR/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/MIR/MachineMetadata.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/ArchiveTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Object/ELFObjectFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/ELFTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/ELFTypesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/MinidumpTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/ObjectFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/SymbolSizeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/SymbolicFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Object/XCOFFObjectFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/DWARFYAMLTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/ELFYAMLTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/MinidumpYAMLTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/YAML2ObjTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ObjectYAML/YAMLTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Option/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Option/OptionMarshallingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Option/OptionParsingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Option/Opts.td delete mode 100644 gnu/llvm/llvm/unittests/Passes/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Passes/DoublerPlugin.cpp delete mode 100644 gnu/llvm/llvm/unittests/Passes/PassBuilderBindingsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Passes/PluginsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Passes/TestPlugin.cpp delete mode 100644 gnu/llvm/llvm/unittests/Passes/TestPlugin.h delete mode 100644 gnu/llvm/llvm/unittests/ProfileData/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/ProfileData/CoverageMappingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ProfileData/InstrProfDataTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ProfileData/InstrProfTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/ProfileData/SampleProfTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/BitstreamRemarksFormatTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/BitstreamRemarksParsingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/BitstreamRemarksSerializerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Remarks/RemarksAPITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/RemarksLinkingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/RemarksStrTabParsingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/YAMLRemarksParsingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Remarks/YAMLRemarksSerializerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ARMAttributeParser.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/AlignOfTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/AlignmentTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/AllocatorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/AnnotationsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ArrayRecyclerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Base64Test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/BinaryStreamTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/BlockFrequencyTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/BranchProbabilityTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Support/CRCTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CachePruningTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Casting.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CheckedArithmeticTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Chrono.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CommandLineTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CompressionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ConvertUTFTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/CrashRecoveryTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DJBTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DataExtractorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DebugCounterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DebugTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DynamicLibrary/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Support/DynamicLibrary/DynamicLibraryTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DynamicLibrary/ExportedFuncs.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DynamicLibrary/PipSqueak.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/DynamicLibrary/PipSqueak.h delete mode 100644 gnu/llvm/llvm/unittests/Support/ELFAttributeParserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/EndianStreamTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/EndianTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ErrnoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ErrorOrTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ErrorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ExtensibleRTTITest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/FSUniqueIDTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/FileCollectorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/FileOutputBufferTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/FileUtilitiesTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/FormatVariadicTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/GlobPatternTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Host.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/IndexedAccessorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/InstructionCostTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ItaniumManglingCanonicalizerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/JSONTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/KnownBitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/KnownBitsTest.h delete mode 100644 gnu/llvm/llvm/unittests/Support/LEB128Test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/LineIteratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/LinearPolyBaseTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/LockFileManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MD5Test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ManagedStatic.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MatchersTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MathExtrasTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MemoryBufferRefTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MemoryBufferTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/MemoryTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/NativeFormatTests.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/OptimizedStructLayoutTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ParallelTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Path.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ProcessTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ProgramTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/RISCVAttributeParserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/RegexTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ReplaceFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ReverseIterationTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SHA256.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ScaledNumberTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SourceMgrTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SpecialCaseListTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SuffixTreeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SwapByteOrderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/SymbolRemappingReaderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TarWriterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TargetParserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TaskQueueTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ThreadLocalTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ThreadPool.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/Threading.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TimerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/ToolOutputFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TrailingObjectsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TrigramIndexTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TypeNameTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/TypeTraitsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/UnicodeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/VersionTupleTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/VirtualFileSystemTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/WithColorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/YAMLIOTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/YAMLParserTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/formatted_raw_ostream_test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/raw_fd_stream_test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/raw_ostream_test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/raw_pwrite_stream_test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/raw_sha1_ostream_test.cpp delete mode 100644 gnu/llvm/llvm/unittests/Support/xxhashTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/TableGen/Automata.td delete mode 100644 gnu/llvm/llvm/unittests/TableGen/AutomataTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/TableGen/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/TableGen/CodeExpanderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/AArch64/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/AArch64/DecomposeStackOffsetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/AArch64/InstSizes.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/AArch64/MatrixRegisterAliasing.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/AMDGPU/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/AMDGPU/DwarfRegMappings.cpp delete mode 100755 gnu/llvm/llvm/unittests/Target/AMDGPU/ExecMayBeModifiedBeforeAnyUse.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/ARM/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/ARM/MachineInstrTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/PowerPC/AIXRelocModelTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/PowerPC/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/WebAssembly/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/WebAssembly/WebAssemblyExceptionInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Target/X86/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Target/X86/MachineSizeOptsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/TextStubHelpers.h delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/TextStubV1Tests.cpp delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/TextStubV2Tests.cpp delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/TextStubV3Tests.cpp delete mode 100644 gnu/llvm/llvm/unittests/TextAPI/TextStubV4Tests.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Transforms/IPO/AttributorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/IPO/AttributorTestBase.h delete mode 100644 gnu/llvm/llvm/unittests/Transforms/IPO/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Transforms/IPO/LowerTypeTests.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/IPO/WholeProgramDevirt.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Scalar/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Scalar/LICMTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Scalar/LoopPassManagerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/ASanStackFrameLayoutTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/BasicBlockUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/CallPromotionUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/CloningTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/CodeExtractorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/CodeMoverUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/DebugifyTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/FunctionComparatorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/IntegerDivisionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/LocalTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/LoopRotationUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/LoopUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/ModuleUtilsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/SSAUpdaterBulkTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/ScalarEvolutionExpanderTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/SizeOptsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/UnrollLoopTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/VFABIUtils.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Utils/ValueMapperTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanDominatorTreeTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanHCFGTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanLoopInfoTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanPredicatorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanSlpTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/Transforms/Vectorize/VPlanTestBase.h delete mode 100644 gnu/llvm/llvm/unittests/XRay/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRBlockIndexerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRBlockVerifierTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRProducerConsumerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRRecordPrinterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRRecordsTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/FDRTraceWriterTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/GraphTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/XRay/ProfileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-cfi-verify/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-cfi-verify/FileAnalysis.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-cfi-verify/GraphBuilder.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/AArch64/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/AArch64/TargetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/ARM/AssemblerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/ARM/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/BenchmarkRunnerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/ClusteringTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Common/AssemblerUtils.h delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/BenchmarkResultTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/RegisterAliasingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/SnippetGeneratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/TargetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/Mips/TestBase.h delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PerfHelperTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PowerPC/AnalysisTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PowerPC/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PowerPC/SnippetGeneratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PowerPC/TargetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/PowerPC/TestBase.h delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/RegisterValueTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/SnippetGeneratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/AssemblerTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/BenchmarkResultTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/RegisterAliasingTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/SchedClassResolutionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/SnippetFileTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/SnippetGeneratorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/SnippetRepetitorTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/TargetTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-exegesis/X86/TestBase.h delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-profgen/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/unittests/tools/llvm-profgen/ContextCompressionTest.cpp delete mode 100644 gnu/llvm/llvm/unittests/unittest.cfg.in delete mode 100644 gnu/llvm/llvm/utils/TableGen/CodeBeadsGen.cpp delete mode 100644 gnu/llvm/llvm/utils/TableGen/FixedLenDecoderEmitter.cpp delete mode 100644 gnu/llvm/llvm/utils/TableGen/RISCVCompressInstEmitter.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/AUTHORS delete mode 100644 gnu/llvm/llvm/utils/benchmark/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/utils/benchmark/CONTRIBUTING.md delete mode 100644 gnu/llvm/llvm/utils/benchmark/CONTRIBUTORS delete mode 100644 gnu/llvm/llvm/utils/benchmark/LICENSE delete mode 100644 gnu/llvm/llvm/utils/benchmark/README.LLVM delete mode 100644 gnu/llvm/llvm/utils/benchmark/README.md delete mode 100644 gnu/llvm/llvm/utils/benchmark/WORKSPACE delete mode 100644 gnu/llvm/llvm/utils/benchmark/appveyor.yml delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/AddCXXCompilerFlag.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/CXXFeatureCheck.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/Config.cmake.in delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/GetGitVersion.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/HandleGTest.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/Modules/FindLLVMAr.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/Modules/FindLLVMNm.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/Modules/FindLLVMRanLib.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/benchmark.pc.in delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/gnu_posix_regex.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/llvm-toolchain.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/posix_regex.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/split_list.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/std_regex.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/steady_clock.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/cmake/thread_safety_attributes.cpp delete mode 100644 gnu/llvm/llvm/utils/benchmark/docs/AssemblyTests.md delete mode 100644 gnu/llvm/llvm/utils/benchmark/docs/tools.md delete mode 100644 gnu/llvm/llvm/utils/benchmark/include/benchmark/benchmark.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/mingw.py delete mode 100644 gnu/llvm/llvm/utils/benchmark/releasing.md delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/arraysize.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/benchmark.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/benchmark_api_internal.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/benchmark_main.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/benchmark_register.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/benchmark_register.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/check.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/colorprint.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/colorprint.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/commandlineflags.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/commandlineflags.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/complexity.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/complexity.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/console_reporter.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/counter.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/counter.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/csv_reporter.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/cycleclock.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/internal_macros.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/json_reporter.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/log.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/mutex.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/re.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/reporter.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/sleep.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/sleep.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/statistics.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/statistics.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/string_util.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/string_util.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/sysinfo.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/thread_manager.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/thread_timer.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/timers.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/src/timers.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/AssemblyTests.cmake delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/basic_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/benchmark_gtest.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/benchmark_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/clobber_memory_assembly_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/complexity_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/cxx03_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/diagnostics_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/donotoptimize_assembly_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/donotoptimize_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/filter_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/fixture_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/link_main_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/map_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/multiple_ranges_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/options_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/output_test.h delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/output_test_helper.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/register_benchmark_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/reporter_output_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/skip_with_error_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/state_assembly_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/statistics_gtest.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/templated_fixture_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/user_counters_tabular_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/test/user_counters_test.cc delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/compare.py delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/Inputs/test1_run1.json delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/Inputs/test1_run2.json delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/Inputs/test2_run.json delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/__init__.py delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/report.py delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/gbench/util.py delete mode 100644 gnu/llvm/llvm/utils/benchmark/tools/strip_asm.py delete mode 100755 gnu/llvm/llvm/utils/countloc.sh delete mode 100644 gnu/llvm/llvm/utils/docker/debian8/Dockerfile delete mode 100755 gnu/llvm/llvm/utils/getsrcs.sh delete mode 100755 gnu/llvm/llvm/utils/gn/build/run_tablegen.py delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/clang/tools/clang-offload-wrapper/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/compiler-rt/lib/tsan/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/lib/Core/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/lib/Driver/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/lib/ReaderWriter/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/lib/ReaderWriter/MachO/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/lib/ReaderWriter/YAML/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/unittests/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/unittests/DriverTests/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/lld/unittests/MachOTests/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/tools/llvm-mca/lib/AMDGPU/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/tools/split-file/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/utils/benchmark/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/utils/unittest/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/utils/unittest/UnitTestMain/BUILD.gn delete mode 100644 gnu/llvm/llvm/utils/gn/secondary/llvm/utils/unittest/unittest.gni delete mode 100644 gnu/llvm/llvm/utils/lit/README.txt delete mode 100644 gnu/llvm/llvm/utils/lit/tests/Inputs/googletest-upstream-format/DummySubDir/OneTest.py delete mode 100644 gnu/llvm/llvm/utils/lit/tests/Inputs/googletest-upstream-format/lit.cfg delete mode 100644 gnu/llvm/llvm/utils/lit/tests/Inputs/reorder/.lit_test_times.txt delete mode 100644 gnu/llvm/llvm/utils/lit/tests/googletest-upstream-format.py delete mode 100755 gnu/llvm/llvm/utils/llvmdo delete mode 100755 gnu/llvm/llvm/utils/llvmgrep delete mode 100755 gnu/llvm/llvm/utils/release/build_llvm_package.bat delete mode 100644 gnu/llvm/llvm/utils/sanitizers/ubsan_blacklist.txt delete mode 100644 gnu/llvm/llvm/utils/unittest/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/utils/unittest/UnitTestMain/CMakeLists.txt delete mode 100644 gnu/llvm/llvm/utils/unittest/UnitTestMain/TestMain.cpp delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/LICENSE.txt delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/README.LLVM delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-actions.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-cardinalities.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-function-mocker.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-generated-actions.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-generated-function-mockers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-generated-matchers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-matchers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-more-actions.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-more-matchers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-nice-strict.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock-spec-builders.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/gmock.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-generated-actions.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-matchers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/custom/gmock-port.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/gmock-internal-utils.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/gmock-port.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/include/gmock/internal/gmock-pp.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock-all.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock-cardinalities.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock-internal-utils.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock-matchers.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock-spec-builders.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googlemock/src/gmock.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/LICENSE.TXT delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/README.LLVM delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-death-test.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-matchers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-message.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-param-test.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-printers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-spi.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-test-part.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest-typed-test.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest_pred_impl.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/gtest_prod.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/custom/gtest-port.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/custom/gtest-printers.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/custom/gtest.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/custom/raw-ostream.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-death-test-internal.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-filepath.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-internal.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-param-util.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-port-arch.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-port.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-string.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/include/gtest/internal/gtest-type-util.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-all.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-death-test.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-filepath.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-internal-inl.h delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-matchers.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-port.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-printers.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-test-part.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest-typed-test.cc delete mode 100644 gnu/llvm/llvm/utils/unittest/googletest/src/gtest.cc diff --git a/gnu/llvm/llvm/bindings/go/README.txt b/gnu/llvm/llvm/bindings/go/README.txt deleted file mode 100644 index 75cca5a82b4..00000000000 --- a/gnu/llvm/llvm/bindings/go/README.txt +++ /dev/null @@ -1,61 +0,0 @@ -This directory contains LLVM bindings for the Go programming language -(http://golang.org). - -Prerequisites -------------- - -* Go 1.2+. -* CMake (to build LLVM). - -Using the bindings ------------------- - -The package path "llvm.org/llvm/bindings/go/llvm" can be used to -import the latest development version of LLVM from SVN. Paths such as -"llvm.org/llvm.v36/bindings/go/llvm" refer to released versions of LLVM. - -It is recommended to use the "-d" flag with "go get" to download the -package or a dependency, as an additional step is required to build LLVM -(see "Building LLVM" below). - -Building LLVM -------------- - -The script "build.sh" in this directory can be used to build LLVM and prepare -it to be used by the bindings. If you receive an error message from "go build" -like this: - - ./analysis.go:4:84: fatal error: llvm-c/Analysis.h: No such file or directory - #include // If you are getting an error here read bindings/go/README.txt - -or like this: - - ./llvm_dep.go:5: undefined: run_build_sh - -it means that LLVM needs to be built or updated by running the script. - - $ $GOPATH/src/llvm.org/llvm/bindings/go/build.sh - -Any command line arguments supplied to the script are passed to LLVM's CMake -build system. A good set of arguments to use during development are: - - $ $GOPATH/src/llvm.org/llvm/bindings/go/build.sh -DCMAKE_BUILD_TYPE=Debug -DLLVM_TARGETS_TO_BUILD=host -DBUILD_SHARED_LIBS=ON - -Note that CMake keeps a cache of build settings so once you have built -LLVM there is no need to pass these arguments again after updating. - -Alternatively, you can build LLVM yourself, but you must then set the -CGO_CPPFLAGS, CGO_CXXFLAGS and CGO_LDFLAGS environment variables: - - $ export CGO_CPPFLAGS="`/path/to/llvm-build/bin/llvm-config --cppflags`" - $ export CGO_CXXFLAGS=-std=c++14 - $ export CGO_LDFLAGS="`/path/to/llvm-build/bin/llvm-config --ldflags --libs --system-libs all`" - $ go build -tags byollvm - -If you see a compilation error while compiling your code with Go 1.9.4 or later as follows, - - go build llvm.org/llvm/bindings/go/llvm: invalid flag in #cgo LDFLAGS: -Wl,-headerpad_max_install_names - -you need to setup $CGO_LDFLAGS_ALLOW to allow a compiler to specify some linker options: - - $ export CGO_LDFLAGS_ALLOW='-Wl,(-search_paths_first|-headerpad_max_install_names)' diff --git a/gnu/llvm/llvm/bindings/go/build.sh b/gnu/llvm/llvm/bindings/go/build.sh deleted file mode 100755 index 3177852aeba..00000000000 --- a/gnu/llvm/llvm/bindings/go/build.sh +++ /dev/null @@ -1,28 +0,0 @@ -#!/bin/sh -xe - -gollvmdir=$(dirname "$0")/llvm - -workdir=$gollvmdir/workdir -llvmdir=$gollvmdir/../../.. -llvm_builddir=$workdir/llvm_build - -mkdir -p $llvm_builddir - -cmake_flags="../../../../.. $@" -llvm_config="$llvm_builddir/bin/llvm-config" -llvm_go="$llvm_builddir/bin/llvm-go" - -if test -n "`which ninja`" ; then - # If Ninja is available, we can speed up the build by building only the - # required subset of LLVM. - (cd $llvm_builddir && cmake -G Ninja $cmake_flags) - ninja -C $llvm_builddir llvm-config llvm-go - llvm_components="$($llvm_go print-components)" - llvm_buildtargets="$($llvm_config --libs $llvm_components | sed -e 's/-l//g')" - ninja -C $llvm_builddir $llvm_buildtargets FileCheck -else - (cd $llvm_builddir && cmake $cmake_flags) - make -C $llvm_builddir -j4 -fi - -$llvm_go print-config > $gollvmdir/llvm_config.go diff --git a/gnu/llvm/llvm/bindings/go/conftest.go b/gnu/llvm/llvm/bindings/go/conftest.go deleted file mode 100644 index d97fb89f7c2..00000000000 --- a/gnu/llvm/llvm/bindings/go/conftest.go +++ /dev/null @@ -1,16 +0,0 @@ -package main - -import ( - "go/build" - "os" -) - -// Tests that the Go compiler is at least version 1.2. -func main() { - for _, tag := range build.Default.ReleaseTags { - if tag == "go1.2" { - os.Exit(0) - } - } - os.Exit(1) -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/IRBindings.cpp b/gnu/llvm/llvm/bindings/go/llvm/IRBindings.cpp deleted file mode 100644 index 1831d33540c..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/IRBindings.cpp +++ /dev/null @@ -1,75 +0,0 @@ -//===- IRBindings.cpp - Additional bindings for ir ------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines additional C bindings for the ir component. -// -//===----------------------------------------------------------------------===// - -#include "IRBindings.h" -#include "llvm/IR/Attributes.h" -#include "llvm/IR/DebugLoc.h" -#include "llvm/IR/DebugInfoMetadata.h" -#include "llvm/IR/Function.h" -#include "llvm/IR/IRBuilder.h" -#include "llvm/IR/LLVMContext.h" -#include "llvm/IR/Module.h" - -using namespace llvm; - -LLVMMetadataRef LLVMConstantAsMetadata(LLVMValueRef C) { - return wrap(ConstantAsMetadata::get(unwrap(C))); -} - -LLVMMetadataRef LLVMMDString2(LLVMContextRef C, const char *Str, unsigned SLen) { - return wrap(MDString::get(*unwrap(C), StringRef(Str, SLen))); -} - -LLVMMetadataRef LLVMMDNode2(LLVMContextRef C, LLVMMetadataRef *MDs, - unsigned Count) { - return wrap( - MDNode::get(*unwrap(C), ArrayRef(unwrap(MDs), Count))); -} - -void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name, - LLVMMetadataRef Val) { - NamedMDNode *N = unwrap(M)->getOrInsertNamedMetadata(name); - if (!N) - return; - if (!Val) - return; - N->addOperand(unwrap(Val)); -} - -void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD) { - MDNode *N = MD ? unwrap(MD) : nullptr; - unwrap(Inst)->setMetadata(KindID, N); -} - -void LLVMGoSetCurrentDebugLocation(LLVMBuilderRef Bref, unsigned Line, - unsigned Col, LLVMMetadataRef Scope, - LLVMMetadataRef InlinedAt) { - if (!Scope) - unwrap(Bref)->SetCurrentDebugLocation(DebugLoc()); - else - unwrap(Bref)->SetCurrentDebugLocation(DILocation::get( - unwrap(Scope)->getContext(), Line, Col, unwrap(Scope), - InlinedAt ? unwrap(InlinedAt) : nullptr)); -} - -LLVMDebugLocMetadata LLVMGoGetCurrentDebugLocation(LLVMBuilderRef Bref) { - const auto& Loc = unwrap(Bref)->getCurrentDebugLocation(); - const auto* InlinedAt = Loc.getInlinedAt(); - const LLVMDebugLocMetadata md{ - Loc.getLine(), - Loc.getCol(), - wrap(Loc.getScope()), - InlinedAt == nullptr ? nullptr : wrap(InlinedAt->getRawInlinedAt()), - }; - return md; -} - diff --git a/gnu/llvm/llvm/bindings/go/llvm/IRBindings.h b/gnu/llvm/llvm/bindings/go/llvm/IRBindings.h deleted file mode 100644 index 778b0d21bb2..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/IRBindings.h +++ /dev/null @@ -1,57 +0,0 @@ -//===- IRBindings.h - Additional bindings for IR ----------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines additional C bindings for the IR component. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_BINDINGS_GO_LLVM_IRBINDINGS_H -#define LLVM_BINDINGS_GO_LLVM_IRBINDINGS_H - -#include "llvm-c/Core.h" -#include "llvm-c/DebugInfo.h" -#ifdef __cplusplus -#include "llvm/IR/Metadata.h" -#include "llvm/Support/CBindingWrapping.h" -#endif - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -struct LLVMDebugLocMetadata{ - unsigned Line; - unsigned Col; - LLVMMetadataRef Scope; - LLVMMetadataRef InlinedAt; -}; - -LLVMMetadataRef LLVMConstantAsMetadata(LLVMValueRef Val); - -LLVMMetadataRef LLVMMDString2(LLVMContextRef C, const char *Str, unsigned SLen); -LLVMMetadataRef LLVMMDNode2(LLVMContextRef C, LLVMMetadataRef *MDs, - unsigned Count); - -void LLVMAddNamedMetadataOperand2(LLVMModuleRef M, const char *name, - LLVMMetadataRef Val); -void LLVMSetMetadata2(LLVMValueRef Inst, unsigned KindID, LLVMMetadataRef MD); - -void LLVMGoSetCurrentDebugLocation(LLVMBuilderRef Bref, unsigned Line, - unsigned Col, LLVMMetadataRef Scope, - LLVMMetadataRef InlinedAt); - -struct LLVMDebugLocMetadata LLVMGoGetCurrentDebugLocation(LLVMBuilderRef Bref); - -#ifdef __cplusplus -} - -#endif - -#endif diff --git a/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.cpp b/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.cpp deleted file mode 100644 index 71d43de254a..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.cpp +++ /dev/null @@ -1,48 +0,0 @@ -//===- InstrumentationBindings.cpp - instrumentation bindings -------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines C bindings for the instrumentation component. -// -//===----------------------------------------------------------------------===// - -#include "InstrumentationBindings.h" -#include "llvm-c/Core.h" -#include "llvm/IR/LegacyPassManager.h" -#include "llvm/IR/Module.h" -#include "llvm/Transforms/Instrumentation.h" -#include "llvm/Transforms/Instrumentation/AddressSanitizer.h" -#include "llvm/Transforms/Instrumentation/MemorySanitizer.h" -#include "llvm/Transforms/Instrumentation/ThreadSanitizer.h" - -using namespace llvm; - -void LLVMAddAddressSanitizerFunctionPass(LLVMPassManagerRef PM) { - unwrap(PM)->add(createAddressSanitizerFunctionPass()); -} - -void LLVMAddAddressSanitizerModulePass(LLVMPassManagerRef PM) { - unwrap(PM)->add(createModuleAddressSanitizerLegacyPassPass()); -} - -void LLVMAddThreadSanitizerPass(LLVMPassManagerRef PM) { - unwrap(PM)->add(createThreadSanitizerLegacyPassPass()); -} - -void LLVMAddMemorySanitizerLegacyPassPass(LLVMPassManagerRef PM) { - unwrap(PM)->add(createMemorySanitizerLegacyPassPass()); -} - -void LLVMAddDataFlowSanitizerPass(LLVMPassManagerRef PM, - int ABIListFilesNum, - const char **ABIListFiles) { - std::vector ABIListFilesVec; - for (int i = 0; i != ABIListFilesNum; ++i) { - ABIListFilesVec.push_back(ABIListFiles[i]); - } - unwrap(PM)->add(createDataFlowSanitizerLegacyPassPass(ABIListFilesVec)); -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.h b/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.h deleted file mode 100644 index 143086c0627..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/InstrumentationBindings.h +++ /dev/null @@ -1,37 +0,0 @@ -//===- InstrumentationBindings.h - instrumentation bindings -----*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines C bindings for the Transforms/Instrumentation component. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_BINDINGS_GO_LLVM_INSTRUMENTATIONBINDINGS_H -#define LLVM_BINDINGS_GO_LLVM_INSTRUMENTATIONBINDINGS_H - -#include "llvm-c/Core.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// FIXME: These bindings shouldn't be Go-specific and should eventually move to -// a (somewhat) less stable collection of C APIs for use in creating bindings of -// LLVM in other languages. - -void LLVMAddAddressSanitizerFunctionPass(LLVMPassManagerRef PM); -void LLVMAddAddressSanitizerModulePass(LLVMPassManagerRef PM); -void LLVMAddThreadSanitizerPass(LLVMPassManagerRef PM); -void LLVMAddMemorySanitizerLegacyPassPass(LLVMPassManagerRef PM); -void LLVMAddDataFlowSanitizerPass(LLVMPassManagerRef PM, int ABIListFilesNum, - const char **ABIListFiles); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.cpp b/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.cpp deleted file mode 100644 index aac69a7c788..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.cpp +++ /dev/null @@ -1,25 +0,0 @@ -//===- SupportBindings.cpp - Additional bindings for support --------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines additional C bindings for the support component. -// -//===----------------------------------------------------------------------===// - -#include "SupportBindings.h" -#include "llvm/Support/DynamicLibrary.h" -#include -#include - -void LLVMLoadLibraryPermanently2(const char *Filename, char **ErrMsg) { - std::string ErrMsgStr; - if (llvm::sys::DynamicLibrary::LoadLibraryPermanently(Filename, &ErrMsgStr)) { - *ErrMsg = static_cast(malloc(ErrMsgStr.size() + 1)); - memcpy(static_cast(*ErrMsg), - static_cast(ErrMsgStr.c_str()), ErrMsgStr.size() + 1); - } -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.h b/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.h deleted file mode 100644 index db83e91ee5a..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/SupportBindings.h +++ /dev/null @@ -1,29 +0,0 @@ -//===- SupportBindings.h - Additional bindings for Support ------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines additional C bindings for the Support component. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_BINDINGS_GO_LLVM_SUPPORTBINDINGS_H -#define LLVM_BINDINGS_GO_LLVM_SUPPORTBINDINGS_H - -#ifdef __cplusplus -extern "C" { -#endif - -// This function duplicates the LLVMLoadLibraryPermanently function in the -// stable C API and adds an extra ErrMsg parameter to retrieve the error -// message. -void LLVMLoadLibraryPermanently2(const char *Filename, char **ErrMsg); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/gnu/llvm/llvm/bindings/go/llvm/analysis.go b/gnu/llvm/llvm/bindings/go/llvm/analysis.go deleted file mode 100644 index 3a1c9d34b4d..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/analysis.go +++ /dev/null @@ -1,68 +0,0 @@ -//===- analysis.go - Bindings for analysis --------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the analysis component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Analysis.h" // If you are getting an error here read bindings/go/README.txt -#include "llvm-c/Core.h" -#include -*/ -import "C" -import "errors" - -type VerifierFailureAction C.LLVMVerifierFailureAction - -const ( - // verifier will print to stderr and abort() - AbortProcessAction VerifierFailureAction = C.LLVMAbortProcessAction - // verifier will print to stderr and return 1 - PrintMessageAction VerifierFailureAction = C.LLVMPrintMessageAction - // verifier will just return 1 - ReturnStatusAction VerifierFailureAction = C.LLVMReturnStatusAction -) - -// Verifies that a module is valid, taking the specified action if not. -// Optionally returns a human-readable description of any invalid constructs. -func VerifyModule(m Module, a VerifierFailureAction) error { - var cmsg *C.char - broken := C.LLVMVerifyModule(m.C, C.LLVMVerifierFailureAction(a), &cmsg) - - // C++'s verifyModule means isModuleBroken, so it returns false if - // there are no errors - if broken != 0 { - err := errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - return err - } - return nil -} - -var verifyFunctionError = errors.New("Function is broken") - -// Verifies that a single function is valid, taking the specified action. -// Useful for debugging. -func VerifyFunction(f Value, a VerifierFailureAction) error { - broken := C.LLVMVerifyFunction(f.C, C.LLVMVerifierFailureAction(a)) - - // C++'s verifyFunction means isFunctionBroken, so it returns false if - // there are no errors - if broken != 0 { - return verifyFunctionError - } - return nil -} - -// Open up a ghostview window that displays the CFG of the current function. -// Useful for debugging. -func ViewFunctionCFG(f Value) { C.LLVMViewFunctionCFG(f.C) } -func ViewFunctionCFGOnly(f Value) { C.LLVMViewFunctionCFGOnly(f.C) } diff --git a/gnu/llvm/llvm/bindings/go/llvm/bitreader.go b/gnu/llvm/llvm/bindings/go/llvm/bitreader.go deleted file mode 100644 index 1954916e717..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/bitreader.go +++ /dev/null @@ -1,50 +0,0 @@ -//===- bitreader.go - Bindings for bitreader ------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the bitreader component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/BitReader.h" -#include "llvm-c/Core.h" -#include -*/ -import "C" - -import ( - "errors" - "unsafe" -) - -// ParseBitcodeFile parses the LLVM IR (bitcode) in the file with the -// specified name, and returns a new LLVM module. -func ParseBitcodeFile(name string) (Module, error) { - var buf C.LLVMMemoryBufferRef - var errmsg *C.char - var cfilename *C.char = C.CString(name) - defer C.free(unsafe.Pointer(cfilename)) - result := C.LLVMCreateMemoryBufferWithContentsOfFile(cfilename, &buf, &errmsg) - if result != 0 { - err := errors.New(C.GoString(errmsg)) - C.free(unsafe.Pointer(errmsg)) - return Module{}, err - } - defer C.LLVMDisposeMemoryBuffer(buf) - - var m Module - if C.LLVMParseBitcode2(buf, &m.C) == 0 { - return m, nil - } - - err := errors.New(C.GoString(errmsg)) - C.free(unsafe.Pointer(errmsg)) - return Module{}, err -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/bitwriter.go b/gnu/llvm/llvm/bindings/go/llvm/bitwriter.go deleted file mode 100644 index 83780fc6971..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/bitwriter.go +++ /dev/null @@ -1,38 +0,0 @@ -//===- bitwriter.go - Bindings for bitwriter ------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the bitwriter component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/BitWriter.h" -#include -*/ -import "C" -import "os" -import "errors" - -var writeBitcodeToFileErr = errors.New("Failed to write bitcode to file") - -func WriteBitcodeToFile(m Module, file *os.File) error { - fail := C.LLVMWriteBitcodeToFD(m.C, C.int(file.Fd()), C.int(0), C.int(0)) - if fail != 0 { - return writeBitcodeToFileErr - } - return nil -} - -func WriteBitcodeToMemoryBuffer(m Module) MemoryBuffer { - mb := C.LLVMWriteBitcodeToMemoryBuffer(m.C) - return MemoryBuffer{mb} -} - -// TODO(nsf): Figure out way how to make it work with io.Writer diff --git a/gnu/llvm/llvm/bindings/go/llvm/dibuilder.go b/gnu/llvm/llvm/bindings/go/llvm/dibuilder.go deleted file mode 100644 index aeaf49e539b..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/dibuilder.go +++ /dev/null @@ -1,711 +0,0 @@ -//===- dibuilder.go - Bindings for DIBuilder ------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the DIBuilder class. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "IRBindings.h" -#include -*/ -import "C" - -import ( - "debug/dwarf" - "unsafe" -) - -type DwarfTag uint32 - -const ( - DW_TAG_lexical_block DwarfTag = 0x0b - DW_TAG_compile_unit DwarfTag = 0x11 - DW_TAG_variable DwarfTag = 0x34 - DW_TAG_base_type DwarfTag = 0x24 - DW_TAG_pointer_type DwarfTag = 0x0F - DW_TAG_structure_type DwarfTag = 0x13 - DW_TAG_subroutine_type DwarfTag = 0x15 - DW_TAG_file_type DwarfTag = 0x29 - DW_TAG_subprogram DwarfTag = 0x2E - DW_TAG_auto_variable DwarfTag = 0x100 - DW_TAG_arg_variable DwarfTag = 0x101 -) - -const ( - FlagPrivate = 1 << iota - FlagProtected - FlagFwdDecl - FlagAppleBlock - FlagReserved - FlagVirtual - FlagArtificial - FlagExplicit - FlagPrototyped - FlagObjcClassComplete - FlagObjectPointer - FlagVector - FlagStaticMember - FlagIndirectVariable -) - -type DwarfLang uint32 - -const ( - // http://dwarfstd.org/ShowIssue.php?issue=101014.1&type=open - DW_LANG_Go DwarfLang = 0x0016 -) - -type DwarfTypeEncoding uint32 - -const ( - DW_ATE_address DwarfTypeEncoding = 0x01 - DW_ATE_boolean DwarfTypeEncoding = 0x02 - DW_ATE_complex_float DwarfTypeEncoding = 0x03 - DW_ATE_float DwarfTypeEncoding = 0x04 - DW_ATE_signed DwarfTypeEncoding = 0x05 - DW_ATE_signed_char DwarfTypeEncoding = 0x06 - DW_ATE_unsigned DwarfTypeEncoding = 0x07 - DW_ATE_unsigned_char DwarfTypeEncoding = 0x08 - DW_ATE_imaginary_float DwarfTypeEncoding = 0x09 - DW_ATE_packed_decimal DwarfTypeEncoding = 0x0a - DW_ATE_numeric_string DwarfTypeEncoding = 0x0b - DW_ATE_edited DwarfTypeEncoding = 0x0c - DW_ATE_signed_fixed DwarfTypeEncoding = 0x0d - DW_ATE_unsigned_fixed DwarfTypeEncoding = 0x0e - DW_ATE_decimal_float DwarfTypeEncoding = 0x0f - DW_ATE_UTF DwarfTypeEncoding = 0x10 - DW_ATE_lo_user DwarfTypeEncoding = 0x80 - DW_ATE_hi_user DwarfTypeEncoding = 0xff -) - -// DIBuilder is a wrapper for the LLVM DIBuilder class. -type DIBuilder struct { - ref C.LLVMDIBuilderRef - m Module -} - -// NewDIBuilder creates a new DIBuilder, associated with the given module. -func NewDIBuilder(m Module) *DIBuilder { - d := C.LLVMCreateDIBuilder(m.C) - return &DIBuilder{ref: d, m: m} -} - -// Destroy destroys the DIBuilder. -func (d *DIBuilder) Destroy() { - C.LLVMDisposeDIBuilder(d.ref) -} - -// FInalize finalizes the debug information generated by the DIBuilder. -func (d *DIBuilder) Finalize() { - C.LLVMDIBuilderFinalize(d.ref) -} - -// DICompileUnit holds the values for creating compile unit debug metadata. -type DICompileUnit struct { - Language DwarfLang - File string - Dir string - Producer string - Optimized bool - Flags string - RuntimeVersion int - SysRoot string - SDK string -} - -// CreateCompileUnit creates compile unit debug metadata. -func (d *DIBuilder) CreateCompileUnit(cu DICompileUnit) Metadata { - file := C.CString(cu.File) - defer C.free(unsafe.Pointer(file)) - dir := C.CString(cu.Dir) - defer C.free(unsafe.Pointer(dir)) - producer := C.CString(cu.Producer) - defer C.free(unsafe.Pointer(producer)) - flags := C.CString(cu.Flags) - defer C.free(unsafe.Pointer(flags)) - sysroot := C.CString(cu.SysRoot) - defer C.free(unsafe.Pointer(sysroot)) - sdk := C.CString(cu.SDK) - defer C.free(unsafe.Pointer(sdk)) - result := C.LLVMDIBuilderCreateCompileUnit( - d.ref, - C.LLVMDWARFSourceLanguage(cu.Language), - C.LLVMDIBuilderCreateFile(d.ref, file, C.size_t(len(cu.File)), dir, C.size_t(len(cu.Dir))), - producer, C.size_t(len(cu.Producer)), - C.LLVMBool(boolToCInt(cu.Optimized)), - flags, C.size_t(len(cu.Flags)), - C.unsigned(cu.RuntimeVersion), - /*SplitName=*/ nil, 0, - C.LLVMDWARFEmissionFull, - /*DWOId=*/ 0, - /*SplitDebugInlining*/ C.LLVMBool(boolToCInt(true)), - /*DebugInfoForProfiling*/ C.LLVMBool(boolToCInt(false)), - sysroot, C.size_t(len(cu.SysRoot)), - sdk, C.size_t(len(cu.SDK)), - ) - return Metadata{C: result} -} - -// CreateFile creates file debug metadata. -func (d *DIBuilder) CreateFile(filename, dir string) Metadata { - cfilename := C.CString(filename) - defer C.free(unsafe.Pointer(cfilename)) - cdir := C.CString(dir) - defer C.free(unsafe.Pointer(cdir)) - result := C.LLVMDIBuilderCreateFile(d.ref, - cfilename, C.size_t(len(filename)), - cdir, C.size_t(len(dir))) - return Metadata{C: result} -} - -// DILexicalBlock holds the values for creating lexical block debug metadata. -type DILexicalBlock struct { - File Metadata - Line int - Column int -} - -// CreateLexicalBlock creates lexical block debug metadata. -func (d *DIBuilder) CreateLexicalBlock(diScope Metadata, b DILexicalBlock) Metadata { - result := C.LLVMDIBuilderCreateLexicalBlock( - d.ref, - diScope.C, - b.File.C, - C.unsigned(b.Line), - C.unsigned(b.Column), - ) - return Metadata{C: result} -} - -func (d *DIBuilder) CreateLexicalBlockFile(diScope Metadata, diFile Metadata, discriminator int) Metadata { - result := C.LLVMDIBuilderCreateLexicalBlockFile(d.ref, diScope.C, diFile.C, - C.unsigned(discriminator)) - return Metadata{C: result} -} - -// DIFunction holds the values for creating function debug metadata. -type DIFunction struct { - Name string - LinkageName string - File Metadata - Line int - Type Metadata - LocalToUnit bool - IsDefinition bool - ScopeLine int - Flags int - Optimized bool -} - -// CreateFunction creates function debug metadata. -func (d *DIBuilder) CreateFunction(diScope Metadata, f DIFunction) Metadata { - name := C.CString(f.Name) - defer C.free(unsafe.Pointer(name)) - linkageName := C.CString(f.LinkageName) - defer C.free(unsafe.Pointer(linkageName)) - result := C.LLVMDIBuilderCreateFunction( - d.ref, - diScope.C, - name, C.size_t(len(f.Name)), - linkageName, C.size_t(len(f.LinkageName)), - f.File.C, - C.unsigned(f.Line), - f.Type.C, - C.LLVMBool(boolToCInt(f.LocalToUnit)), - C.LLVMBool(boolToCInt(f.IsDefinition)), - C.unsigned(f.ScopeLine), - C.LLVMDIFlags(f.Flags), - C.LLVMBool(boolToCInt(f.Optimized)), - ) - return Metadata{C: result} -} - -// DIAutoVariable holds the values for creating auto variable debug metadata. -type DIAutoVariable struct { - Name string - File Metadata - Line int - Type Metadata - AlwaysPreserve bool - Flags int - AlignInBits uint32 -} - -// CreateAutoVariable creates local variable debug metadata. -func (d *DIBuilder) CreateAutoVariable(scope Metadata, v DIAutoVariable) Metadata { - name := C.CString(v.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreateAutoVariable( - d.ref, - scope.C, - name, C.size_t(len(v.Name)), - v.File.C, - C.unsigned(v.Line), - v.Type.C, - C.LLVMBool(boolToCInt(v.AlwaysPreserve)), - C.LLVMDIFlags(v.Flags), - C.uint32_t(v.AlignInBits), - ) - return Metadata{C: result} -} - -// DIParameterVariable holds the values for creating parameter variable debug metadata. -type DIParameterVariable struct { - Name string - File Metadata - Line int - Type Metadata - AlwaysPreserve bool - Flags int - - // ArgNo is the 1-based index of the argument in the function's - // parameter list. - ArgNo int -} - -// CreateParameterVariable creates parameter variable debug metadata. -func (d *DIBuilder) CreateParameterVariable(scope Metadata, v DIParameterVariable) Metadata { - name := C.CString(v.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreateParameterVariable( - d.ref, - scope.C, - name, C.size_t(len(v.Name)), - C.unsigned(v.ArgNo), - v.File.C, - C.unsigned(v.Line), - v.Type.C, - C.LLVMBool(boolToCInt(v.AlwaysPreserve)), - C.LLVMDIFlags(v.Flags), - ) - return Metadata{C: result} -} - -// DIBasicType holds the values for creating basic type debug metadata. -type DIBasicType struct { - Name string - SizeInBits uint64 - Encoding DwarfTypeEncoding -} - -// CreateBasicType creates basic type debug metadata. -func (d *DIBuilder) CreateBasicType(t DIBasicType) Metadata { - name := C.CString(t.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreateBasicType( - d.ref, - name, - C.size_t(len(t.Name)), - C.uint64_t(t.SizeInBits), - C.LLVMDWARFTypeEncoding(t.Encoding), - C.LLVMDIFlags(0), - ) - return Metadata{C: result} -} - -// DIPointerType holds the values for creating pointer type debug metadata. -type DIPointerType struct { - Pointee Metadata - SizeInBits uint64 - AlignInBits uint32 // optional - AddressSpace uint32 - Name string // optional -} - -// CreatePointerType creates a type that represents a pointer to another type. -func (d *DIBuilder) CreatePointerType(t DIPointerType) Metadata { - name := C.CString(t.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreatePointerType( - d.ref, - t.Pointee.C, - C.uint64_t(t.SizeInBits), - C.uint32_t(t.AlignInBits), - C.unsigned(t.AddressSpace), - name, - C.size_t(len(t.Name)), - ) - return Metadata{C: result} -} - -// DISubroutineType holds the values for creating subroutine type debug metadata. -type DISubroutineType struct { - // File is the file in which the subroutine type is defined. - File Metadata - - // Parameters contains the subroutine parameter types, - // including the return type at the 0th index. - Parameters []Metadata - - Flags int -} - -// CreateSubroutineType creates subroutine type debug metadata. -func (d *DIBuilder) CreateSubroutineType(t DISubroutineType) Metadata { - params, length := llvmMetadataRefs(t.Parameters) - result := C.LLVMDIBuilderCreateSubroutineType( - d.ref, - t.File.C, - params, - length, - C.LLVMDIFlags(t.Flags), - ) - return Metadata{C: result} -} - -// DIStructType holds the values for creating struct type debug metadata. -type DIStructType struct { - Name string - File Metadata - Line int - SizeInBits uint64 - AlignInBits uint32 - Flags int - DerivedFrom Metadata - Elements []Metadata - VTableHolder Metadata // optional - UniqueID string -} - -// CreateStructType creates struct type debug metadata. -func (d *DIBuilder) CreateStructType(scope Metadata, t DIStructType) Metadata { - elements, length := llvmMetadataRefs(t.Elements) - name := C.CString(t.Name) - uniqueID := C.CString(t.UniqueID) - defer C.free(unsafe.Pointer(name)) - defer C.free(unsafe.Pointer(uniqueID)) - result := C.LLVMDIBuilderCreateStructType( - d.ref, - scope.C, - name, - C.size_t(len(t.Name)), - t.File.C, - C.unsigned(t.Line), - C.uint64_t(t.SizeInBits), - C.uint32_t(t.AlignInBits), - C.LLVMDIFlags(t.Flags), - t.DerivedFrom.C, - elements, - length, - C.unsigned(0), // Optional Objective-C runtime version. - t.VTableHolder.C, - uniqueID, - C.size_t(len(t.UniqueID)), - ) - return Metadata{C: result} -} - -// DIReplaceableCompositeType holds the values for creating replaceable -// composite type debug metadata. -type DIReplaceableCompositeType struct { - Tag dwarf.Tag - Name string - File Metadata - Line int - RuntimeLang int - SizeInBits uint64 - AlignInBits uint32 - Flags int - UniqueID string -} - -// CreateReplaceableCompositeType creates replaceable composite type debug metadata. -func (d *DIBuilder) CreateReplaceableCompositeType(scope Metadata, t DIReplaceableCompositeType) Metadata { - name := C.CString(t.Name) - uniqueID := C.CString(t.UniqueID) - defer C.free(unsafe.Pointer(name)) - defer C.free(unsafe.Pointer(uniqueID)) - result := C.LLVMDIBuilderCreateReplaceableCompositeType( - d.ref, - C.unsigned(t.Tag), - name, - C.size_t(len(t.Name)), - scope.C, - t.File.C, - C.unsigned(t.Line), - C.unsigned(t.RuntimeLang), - C.uint64_t(t.SizeInBits), - C.uint32_t(t.AlignInBits), - C.LLVMDIFlags(t.Flags), - uniqueID, - C.size_t(len(t.UniqueID)), - ) - return Metadata{C: result} -} - -// DIMemberType holds the values for creating member type debug metadata. -type DIMemberType struct { - Name string - File Metadata - Line int - SizeInBits uint64 - AlignInBits uint32 - OffsetInBits uint64 - Flags int - Type Metadata -} - -// CreateMemberType creates struct type debug metadata. -func (d *DIBuilder) CreateMemberType(scope Metadata, t DIMemberType) Metadata { - name := C.CString(t.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreateMemberType( - d.ref, - scope.C, - name, - C.size_t(len(t.Name)), - t.File.C, - C.unsigned(t.Line), - C.uint64_t(t.SizeInBits), - C.uint32_t(t.AlignInBits), - C.uint64_t(t.OffsetInBits), - C.LLVMDIFlags(t.Flags), - t.Type.C, - ) - return Metadata{C: result} -} - -// DISubrange describes an integer value range. -type DISubrange struct { - Lo int64 - Count int64 -} - -// DIArrayType holds the values for creating array type debug metadata. -type DIArrayType struct { - SizeInBits uint64 - AlignInBits uint32 - ElementType Metadata - Subscripts []DISubrange -} - -// CreateArrayType creates struct type debug metadata. -func (d *DIBuilder) CreateArrayType(t DIArrayType) Metadata { - subscriptsSlice := make([]Metadata, len(t.Subscripts)) - for i, s := range t.Subscripts { - subscriptsSlice[i] = d.getOrCreateSubrange(s.Lo, s.Count) - } - subscripts, length := llvmMetadataRefs(subscriptsSlice) - result := C.LLVMDIBuilderCreateArrayType( - d.ref, - C.uint64_t(t.SizeInBits), - C.uint32_t(t.AlignInBits), - t.ElementType.C, - subscripts, - length, - ) - return Metadata{C: result} -} - -// DITypedef holds the values for creating typedef type debug metadata. -type DITypedef struct { - Type Metadata - Name string - File Metadata - Line int - Context Metadata - AlignInBits uint32 -} - -// CreateTypedef creates typedef type debug metadata. -func (d *DIBuilder) CreateTypedef(t DITypedef) Metadata { - name := C.CString(t.Name) - defer C.free(unsafe.Pointer(name)) - result := C.LLVMDIBuilderCreateTypedef( - d.ref, - t.Type.C, - name, - C.size_t(len(t.Name)), - t.File.C, - C.unsigned(t.Line), - t.Context.C, - C.uint32_t(t.AlignInBits), - ) - return Metadata{C: result} -} - -// getOrCreateSubrange gets a metadata node for the specified subrange, -// creating if required. -func (d *DIBuilder) getOrCreateSubrange(lo, count int64) Metadata { - result := C.LLVMDIBuilderGetOrCreateSubrange(d.ref, C.int64_t(lo), C.int64_t(count)) - return Metadata{C: result} -} - -// getOrCreateArray gets a metadata node containing the specified values, -// creating if required. -func (d *DIBuilder) getOrCreateArray(values []Metadata) Metadata { - if len(values) == 0 { - return Metadata{} - } - data, length := llvmMetadataRefs(values) - result := C.LLVMDIBuilderGetOrCreateArray(d.ref, data, C.size_t(length)) - return Metadata{C: result} -} - -// getOrCreateTypeArray gets a metadata node for a type array containing the -// specified values, creating if required. -func (d *DIBuilder) getOrCreateTypeArray(values []Metadata) Metadata { - if len(values) == 0 { - return Metadata{} - } - data, length := llvmMetadataRefs(values) - result := C.LLVMDIBuilderGetOrCreateTypeArray(d.ref, data, C.size_t(length)) - return Metadata{C: result} -} - -// CreateExpression creates a new descriptor for the specified -// variable which has a complex address expression for its address. -func (d *DIBuilder) CreateExpression(addr []int64) Metadata { - var data *C.int64_t - if len(addr) > 0 { - data = (*C.int64_t)(unsafe.Pointer(&addr[0])) - } - result := C.LLVMDIBuilderCreateExpression(d.ref, data, C.size_t(len(addr))) - return Metadata{C: result} -} - -// InsertDeclareAtEnd inserts a call to llvm.dbg.declare at the end of the -// specified basic block for the given value and associated debug metadata. -func (d *DIBuilder) InsertDeclareAtEnd(v Value, diVarInfo, expr Metadata, l DebugLoc, bb BasicBlock) Value { - loc := C.LLVMDIBuilderCreateDebugLocation( - d.m.Context().C, C.uint(l.Line), C.uint(l.Col), l.Scope.C, l.InlinedAt.C) - result := C.LLVMDIBuilderInsertDeclareAtEnd(d.ref, v.C, diVarInfo.C, expr.C, loc, bb.C) - return Value{C: result} -} - -// InsertValueAtEnd inserts a call to llvm.dbg.value at the end of the -// specified basic block for the given value and associated debug metadata. -func (d *DIBuilder) InsertValueAtEnd(v Value, diVarInfo, expr Metadata, l DebugLoc, bb BasicBlock) Value { - loc := C.LLVMDIBuilderCreateDebugLocation( - d.m.Context().C, C.uint(l.Line), C.uint(l.Col), l.Scope.C, l.InlinedAt.C) - result := C.LLVMDIBuilderInsertDbgValueAtEnd(d.ref, v.C, diVarInfo.C, expr.C, loc, bb.C) - return Value{C: result} -} - -func (v Value) SetSubprogram(sp Metadata) { - C.LLVMSetSubprogram(v.C, sp.C) -} - -func (v Value) Subprogram() (md Metadata) { - md.C = C.LLVMGetSubprogram(v.C) - return -} - -func boolToCInt(v bool) C.int { - if v { - return 1 - } - return 0 -} - -//------------------------------------------------------------------------- -// llvm.Metadata -//------------------------------------------------------------------------- - -func (c Context) TemporaryMDNode(mds []Metadata) (md Metadata) { - ptr, nvals := llvmMetadataRefs(mds) - md.C = C.LLVMTemporaryMDNode(c.C, ptr, C.size_t(nvals)) - return -} - -func (md Metadata) ReplaceAllUsesWith(new Metadata) { - C.LLVMMetadataReplaceAllUsesWith(md.C, new.C) -} - -type MetadataKind C.LLVMMetadataKind - -const ( - MDStringMetadataKind = C.LLVMMDStringMetadataKind - ConstantAsMetadataMetadataKind = C.LLVMConstantAsMetadataMetadataKind - LocalAsMetadataMetadataKind = C.LLVMLocalAsMetadataMetadataKind - DistinctMDOperandPlaceholderMetadataKind = C.LLVMDistinctMDOperandPlaceholderMetadataKind - MDTupleMetadataKind = C.LLVMMDTupleMetadataKind - DILocationMetadataKind = C.LLVMDILocationMetadataKind - DIExpressionMetadataKind = C.LLVMDIExpressionMetadataKind - DIGlobalVariableExpressionMetadataKind = C.LLVMDIGlobalVariableExpressionMetadataKind - GenericDINodeMetadataKind = C.LLVMGenericDINodeMetadataKind - DISubrangeMetadataKind = C.LLVMDISubrangeMetadataKind - DIEnumeratorMetadataKind = C.LLVMDIEnumeratorMetadataKind - DIBasicTypeMetadataKind = C.LLVMDIBasicTypeMetadataKind - DIDerivedTypeMetadataKind = C.LLVMDIDerivedTypeMetadataKind - DICompositeTypeMetadataKind = C.LLVMDICompositeTypeMetadataKind - DISubroutineTypeMetadataKind = C.LLVMDISubroutineTypeMetadataKind - DIFileMetadataKind = C.LLVMDIFileMetadataKind - DICompileUnitMetadataKind = C.LLVMDICompileUnitMetadataKind - DISubprogramMetadataKind = C.LLVMDISubprogramMetadataKind - DILexicalBlockMetadataKind = C.LLVMDILexicalBlockMetadataKind - DILexicalBlockFileMetadataKind = C.LLVMDILexicalBlockFileMetadataKind - DINamespaceMetadataKind = C.LLVMDINamespaceMetadataKind - DIModuleMetadataKind = C.LLVMDIModuleMetadataKind - DITemplateTypeParameterMetadataKind = C.LLVMDITemplateTypeParameterMetadataKind - DITemplateValueParameterMetadataKind = C.LLVMDITemplateValueParameterMetadataKind - DIGlobalVariableMetadataKind = C.LLVMDIGlobalVariableMetadataKind - DILocalVariableMetadataKind = C.LLVMDILocalVariableMetadataKind - DILabelMetadataKind = C.LLVMDILabelMetadataKind - DIObjCPropertyMetadataKind = C.LLVMDIObjCPropertyMetadataKind - DIImportedEntityMetadataKind = C.LLVMDIImportedEntityMetadataKind - DIMacroMetadataKind = C.LLVMDIMacroMetadataKind - DIMacroFileMetadataKind = C.LLVMDIMacroFileMetadataKind - DICommonBlockMetadataKind = C.LLVMDICommonBlockMetadataKind -) - -// Kind returns the metadata kind. -func (md Metadata) Kind() MetadataKind { - return MetadataKind(C.LLVMGetMetadataKind(md.C)) -} - -// FileDirectory returns the directory of a DIFile metadata node. -func (md Metadata) FileDirectory() string { - var length C.unsigned - ptr := C.LLVMDIFileGetDirectory(md.C, &length) - return string(((*[1 << 20]byte)(unsafe.Pointer(ptr)))[:length:length]) -} - -// FileFilename returns the filename of a DIFile metadata node. -func (md Metadata) FileFilename() string { - var length C.unsigned - ptr := C.LLVMDIFileGetFilename(md.C, &length) - return string(((*[1 << 20]byte)(unsafe.Pointer(ptr)))[:length:length]) -} - -// FileSource returns the source of a DIFile metadata node. -func (md Metadata) FileSource() string { - var length C.unsigned - ptr := C.LLVMDIFileGetSource(md.C, &length) - return string(((*[1 << 20]byte)(unsafe.Pointer(ptr)))[:length:length]) -} - -// LocationLine returns the line number of a DILocation. -func (md Metadata) LocationLine() uint { - return uint(C.LLVMDILocationGetLine(md.C)) -} - -// LocationColumn returns the column (offset from the start of the line) of a -// DILocation. -func (md Metadata) LocationColumn() uint { - return uint(C.LLVMDILocationGetColumn(md.C)) -} - -// LocationScope returns the local scope associated with this debug location. -func (md Metadata) LocationScope() Metadata { - return Metadata{C.LLVMDILocationGetScope(md.C)} -} - -// LocationInlinedAt return the "inline at" location associated with this debug -// location. -func (md Metadata) LocationInlinedAt() Metadata { - return Metadata{C.LLVMDILocationGetInlinedAt(md.C)} -} - -// ScopeFile returns the file (DIFile) of a given scope. -func (md Metadata) ScopeFile() Metadata { - return Metadata{C.LLVMDIScopeGetFile(md.C)} -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/executionengine.go b/gnu/llvm/llvm/bindings/go/llvm/executionengine.go deleted file mode 100644 index 5fa82047c17..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/executionengine.go +++ /dev/null @@ -1,177 +0,0 @@ -//===- executionengine.go - Bindings for executionengine ------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the executionengine component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Core.h" -#include "llvm-c/ExecutionEngine.h" -#include -*/ -import "C" -import "unsafe" -import "errors" - -func LinkInMCJIT() { C.LLVMLinkInMCJIT() } -func LinkInInterpreter() { C.LLVMLinkInInterpreter() } - -type GenericValue struct { - C C.LLVMGenericValueRef -} -type ExecutionEngine struct { - C C.LLVMExecutionEngineRef -} - -type MCJITCompilerOptions struct { - C C.struct_LLVMMCJITCompilerOptions -} - -func (options *MCJITCompilerOptions) SetMCJITOptimizationLevel(level uint) { - options.C.OptLevel = C.uint(level) -} - -func (options *MCJITCompilerOptions) SetMCJITNoFramePointerElim(nfp bool) { - options.C.NoFramePointerElim = boolToLLVMBool(nfp) -} - -func (options *MCJITCompilerOptions) SetMCJITEnableFastISel(fastisel bool) { - options.C.EnableFastISel = boolToLLVMBool(fastisel) -} - -func (options *MCJITCompilerOptions) SetMCJITCodeModel(CodeModel CodeModel) { - options.C.CodeModel = C.LLVMCodeModel(CodeModel) -} - -// helpers -func llvmGenericValueRefPtr(t *GenericValue) *C.LLVMGenericValueRef { - return (*C.LLVMGenericValueRef)(unsafe.Pointer(t)) -} - -//------------------------------------------------------------------------- -// llvm.GenericValue -//------------------------------------------------------------------------- - -func NewGenericValueFromInt(t Type, n uint64, signed bool) (g GenericValue) { - g.C = C.LLVMCreateGenericValueOfInt(t.C, C.ulonglong(n), boolToLLVMBool(signed)) - return -} -func NewGenericValueFromPointer(p unsafe.Pointer) (g GenericValue) { - g.C = C.LLVMCreateGenericValueOfPointer(p) - return -} -func NewGenericValueFromFloat(t Type, n float64) (g GenericValue) { - g.C = C.LLVMCreateGenericValueOfFloat(t.C, C.double(n)) - return -} -func (g GenericValue) IntWidth() int { return int(C.LLVMGenericValueIntWidth(g.C)) } -func (g GenericValue) Int(signed bool) uint64 { - return uint64(C.LLVMGenericValueToInt(g.C, boolToLLVMBool(signed))) -} -func (g GenericValue) Float(t Type) float64 { - return float64(C.LLVMGenericValueToFloat(t.C, g.C)) -} -func (g GenericValue) Pointer() unsafe.Pointer { - return C.LLVMGenericValueToPointer(g.C) -} -func (g GenericValue) Dispose() { C.LLVMDisposeGenericValue(g.C) } - -//------------------------------------------------------------------------- -// llvm.ExecutionEngine -//------------------------------------------------------------------------- - -func NewExecutionEngine(m Module) (ee ExecutionEngine, err error) { - var cmsg *C.char - fail := C.LLVMCreateExecutionEngineForModule(&ee.C, m.C, &cmsg) - if fail != 0 { - ee.C = nil - err = errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - } - return -} - -func NewInterpreter(m Module) (ee ExecutionEngine, err error) { - var cmsg *C.char - fail := C.LLVMCreateInterpreterForModule(&ee.C, m.C, &cmsg) - if fail != 0 { - ee.C = nil - err = errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - } - return -} - -func NewMCJITCompilerOptions() MCJITCompilerOptions { - var options C.struct_LLVMMCJITCompilerOptions - C.LLVMInitializeMCJITCompilerOptions(&options, C.size_t(unsafe.Sizeof(C.struct_LLVMMCJITCompilerOptions{}))) - return MCJITCompilerOptions{options} -} - -func NewMCJITCompiler(m Module, options MCJITCompilerOptions) (ee ExecutionEngine, err error) { - var cmsg *C.char - fail := C.LLVMCreateMCJITCompilerForModule(&ee.C, m.C, &options.C, C.size_t(unsafe.Sizeof(C.struct_LLVMMCJITCompilerOptions{})), &cmsg) - if fail != 0 { - ee.C = nil - err = errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - } - return -} - -func (ee ExecutionEngine) Dispose() { C.LLVMDisposeExecutionEngine(ee.C) } -func (ee ExecutionEngine) RunStaticConstructors() { C.LLVMRunStaticConstructors(ee.C) } -func (ee ExecutionEngine) RunStaticDestructors() { C.LLVMRunStaticDestructors(ee.C) } - -func (ee ExecutionEngine) RunFunction(f Value, args []GenericValue) (g GenericValue) { - nargs := len(args) - var argptr *GenericValue - if nargs > 0 { - argptr = &args[0] - } - g.C = C.LLVMRunFunction(ee.C, f.C, - C.unsigned(nargs), llvmGenericValueRefPtr(argptr)) - return -} - -func (ee ExecutionEngine) FreeMachineCodeForFunction(f Value) { - C.LLVMFreeMachineCodeForFunction(ee.C, f.C) -} -func (ee ExecutionEngine) AddModule(m Module) { C.LLVMAddModule(ee.C, m.C) } - -func (ee ExecutionEngine) RemoveModule(m Module) { - var modtmp C.LLVMModuleRef - C.LLVMRemoveModule(ee.C, m.C, &modtmp, nil) -} - -func (ee ExecutionEngine) FindFunction(name string) (f Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - C.LLVMFindFunction(ee.C, cname, &f.C) - return -} - -func (ee ExecutionEngine) RecompileAndRelinkFunction(f Value) unsafe.Pointer { - return C.LLVMRecompileAndRelinkFunction(ee.C, f.C) -} - -func (ee ExecutionEngine) TargetData() (td TargetData) { - td.C = C.LLVMGetExecutionEngineTargetData(ee.C) - return -} - -func (ee ExecutionEngine) AddGlobalMapping(global Value, addr unsafe.Pointer) { - C.LLVMAddGlobalMapping(ee.C, global.C, addr) -} - -func (ee ExecutionEngine) PointerToGlobal(global Value) unsafe.Pointer { - return C.LLVMGetPointerToGlobal(ee.C, global.C) -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/executionengine_test.go b/gnu/llvm/llvm/bindings/go/llvm/executionengine_test.go deleted file mode 100644 index 2369826db91..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/executionengine_test.go +++ /dev/null @@ -1,95 +0,0 @@ -//===- executionengine_test.go - Tests for executionengine ----------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file tests bindings for the executionengine component. -// -//===----------------------------------------------------------------------===// - -package llvm - -import ( - "testing" -) - -func TestFactorial(t *testing.T) { - LinkInMCJIT() - InitializeNativeTarget() - InitializeNativeAsmPrinter() - - mod := NewModule("fac_module") - - fac_args := []Type{Int32Type()} - fac_type := FunctionType(Int32Type(), fac_args, false) - fac := AddFunction(mod, "fac", fac_type) - fac.SetFunctionCallConv(CCallConv) - n := fac.Param(0) - - entry := AddBasicBlock(fac, "entry") - iftrue := AddBasicBlock(fac, "iftrue") - iffalse := AddBasicBlock(fac, "iffalse") - end := AddBasicBlock(fac, "end") - - builder := NewBuilder() - defer builder.Dispose() - - builder.SetInsertPointAtEnd(entry) - If := builder.CreateICmp(IntEQ, n, ConstInt(Int32Type(), 0, false), "cmptmp") - builder.CreateCondBr(If, iftrue, iffalse) - - builder.SetInsertPointAtEnd(iftrue) - res_iftrue := ConstInt(Int32Type(), 1, false) - builder.CreateBr(end) - - builder.SetInsertPointAtEnd(iffalse) - n_minus := builder.CreateSub(n, ConstInt(Int32Type(), 1, false), "subtmp") - call_fac_args := []Value{n_minus} - call_fac := builder.CreateCall(fac, call_fac_args, "calltmp") - res_iffalse := builder.CreateMul(n, call_fac, "multmp") - builder.CreateBr(end) - - builder.SetInsertPointAtEnd(end) - res := builder.CreatePHI(Int32Type(), "result") - phi_vals := []Value{res_iftrue, res_iffalse} - phi_blocks := []BasicBlock{iftrue, iffalse} - res.AddIncoming(phi_vals, phi_blocks) - builder.CreateRet(res) - - err := VerifyModule(mod, ReturnStatusAction) - if err != nil { - t.Errorf("Error verifying module: %s", err) - return - } - - options := NewMCJITCompilerOptions() - options.SetMCJITOptimizationLevel(2) - options.SetMCJITEnableFastISel(true) - options.SetMCJITNoFramePointerElim(true) - options.SetMCJITCodeModel(CodeModelJITDefault) - engine, err := NewMCJITCompiler(mod, options) - if err != nil { - t.Errorf("Error creating JIT: %s", err) - return - } - defer engine.Dispose() - - pass := NewPassManager() - defer pass.Dispose() - - pass.AddInstructionCombiningPass() - pass.AddPromoteMemoryToRegisterPass() - pass.AddGVNPass() - pass.AddCFGSimplificationPass() - pass.Run(mod) - - exec_args := []GenericValue{NewGenericValueFromInt(Int32Type(), 10, false)} - exec_res := engine.RunFunction(fac, exec_args) - var fac10 uint64 = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1 - if exec_res.Int(false) != fac10 { - t.Errorf("Expected %d, got %d", fac10, exec_res.Int(false)) - } -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/ir.go b/gnu/llvm/llvm/bindings/go/llvm/ir.go deleted file mode 100644 index c5060811dd4..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/ir.go +++ /dev/null @@ -1,2016 +0,0 @@ -//===- ir.go - Bindings for ir --------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the ir component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Core.h" -#include "llvm-c/Comdat.h" -#include "IRBindings.h" -#include -*/ -import "C" -import "unsafe" -import "errors" - -type ( - // We use these weird structs here because *Ref types are pointers and - // Go's spec says that a pointer cannot be used as a receiver base type. - Context struct { - C C.LLVMContextRef - } - Module struct { - C C.LLVMModuleRef - } - Type struct { - C C.LLVMTypeRef - } - Value struct { - C C.LLVMValueRef - } - Comdat struct { - C C.LLVMComdatRef - } - BasicBlock struct { - C C.LLVMBasicBlockRef - } - Builder struct { - C C.LLVMBuilderRef - } - ModuleProvider struct { - C C.LLVMModuleProviderRef - } - MemoryBuffer struct { - C C.LLVMMemoryBufferRef - } - PassManager struct { - C C.LLVMPassManagerRef - } - Use struct { - C C.LLVMUseRef - } - Metadata struct { - C C.LLVMMetadataRef - } - Attribute struct { - C C.LLVMAttributeRef - } - Opcode C.LLVMOpcode - AtomicRMWBinOp C.LLVMAtomicRMWBinOp - AtomicOrdering C.LLVMAtomicOrdering - TypeKind C.LLVMTypeKind - Linkage C.LLVMLinkage - Visibility C.LLVMVisibility - CallConv C.LLVMCallConv - ComdatSelectionKind C.LLVMComdatSelectionKind - IntPredicate C.LLVMIntPredicate - FloatPredicate C.LLVMRealPredicate - LandingPadClause C.LLVMLandingPadClauseTy - InlineAsmDialect C.LLVMInlineAsmDialect -) - -func (c Context) IsNil() bool { return c.C == nil } -func (c Module) IsNil() bool { return c.C == nil } -func (c Type) IsNil() bool { return c.C == nil } -func (c Value) IsNil() bool { return c.C == nil } -func (c BasicBlock) IsNil() bool { return c.C == nil } -func (c Builder) IsNil() bool { return c.C == nil } -func (c ModuleProvider) IsNil() bool { return c.C == nil } -func (c MemoryBuffer) IsNil() bool { return c.C == nil } -func (c PassManager) IsNil() bool { return c.C == nil } -func (c Use) IsNil() bool { return c.C == nil } -func (c Attribute) IsNil() bool { return c.C == nil } -func (c Metadata) IsNil() bool { return c.C == nil } - -// helpers -func llvmTypeRefPtr(t *Type) *C.LLVMTypeRef { return (*C.LLVMTypeRef)(unsafe.Pointer(t)) } -func llvmValueRefPtr(t *Value) *C.LLVMValueRef { return (*C.LLVMValueRef)(unsafe.Pointer(t)) } -func llvmMetadataRefPtr(t *Metadata) *C.LLVMMetadataRef { - return (*C.LLVMMetadataRef)(unsafe.Pointer(t)) -} -func llvmBasicBlockRefPtr(t *BasicBlock) *C.LLVMBasicBlockRef { - return (*C.LLVMBasicBlockRef)(unsafe.Pointer(t)) -} -func boolToLLVMBool(b bool) C.LLVMBool { - if b { - return C.LLVMBool(1) - } - return C.LLVMBool(0) -} - -func llvmValueRefs(values []Value) (*C.LLVMValueRef, C.unsigned) { - var pt *C.LLVMValueRef - ptlen := C.unsigned(len(values)) - if ptlen > 0 { - pt = llvmValueRefPtr(&values[0]) - } - return pt, ptlen -} - -func llvmMetadataRefs(mds []Metadata) (*C.LLVMMetadataRef, C.unsigned) { - var pt *C.LLVMMetadataRef - ptlen := C.unsigned(len(mds)) - if ptlen > 0 { - pt = llvmMetadataRefPtr(&mds[0]) - } - return pt, ptlen -} - -//------------------------------------------------------------------------- -// llvm.Opcode -//------------------------------------------------------------------------- - -const ( - Ret Opcode = C.LLVMRet - Br Opcode = C.LLVMBr - Switch Opcode = C.LLVMSwitch - IndirectBr Opcode = C.LLVMIndirectBr - Invoke Opcode = C.LLVMInvoke - Unreachable Opcode = C.LLVMUnreachable - - // Standard Binary Operators - Add Opcode = C.LLVMAdd - FAdd Opcode = C.LLVMFAdd - Sub Opcode = C.LLVMSub - FSub Opcode = C.LLVMFSub - Mul Opcode = C.LLVMMul - FMul Opcode = C.LLVMFMul - UDiv Opcode = C.LLVMUDiv - SDiv Opcode = C.LLVMSDiv - FDiv Opcode = C.LLVMFDiv - URem Opcode = C.LLVMURem - SRem Opcode = C.LLVMSRem - FRem Opcode = C.LLVMFRem - - // Logical Operators - Shl Opcode = C.LLVMShl - LShr Opcode = C.LLVMLShr - AShr Opcode = C.LLVMAShr - And Opcode = C.LLVMAnd - Or Opcode = C.LLVMOr - Xor Opcode = C.LLVMXor - - // Memory Operators - Alloca Opcode = C.LLVMAlloca - Load Opcode = C.LLVMLoad - Store Opcode = C.LLVMStore - GetElementPtr Opcode = C.LLVMGetElementPtr - - // Cast Operators - Trunc Opcode = C.LLVMTrunc - ZExt Opcode = C.LLVMZExt - SExt Opcode = C.LLVMSExt - FPToUI Opcode = C.LLVMFPToUI - FPToSI Opcode = C.LLVMFPToSI - UIToFP Opcode = C.LLVMUIToFP - SIToFP Opcode = C.LLVMSIToFP - FPTrunc Opcode = C.LLVMFPTrunc - FPExt Opcode = C.LLVMFPExt - PtrToInt Opcode = C.LLVMPtrToInt - IntToPtr Opcode = C.LLVMIntToPtr - BitCast Opcode = C.LLVMBitCast - - // Other Operators - ICmp Opcode = C.LLVMICmp - FCmp Opcode = C.LLVMFCmp - PHI Opcode = C.LLVMPHI - Call Opcode = C.LLVMCall - Select Opcode = C.LLVMSelect - // UserOp1 - // UserOp2 - VAArg Opcode = C.LLVMVAArg - ExtractElement Opcode = C.LLVMExtractElement - InsertElement Opcode = C.LLVMInsertElement - ShuffleVector Opcode = C.LLVMShuffleVector - ExtractValue Opcode = C.LLVMExtractValue - InsertValue Opcode = C.LLVMInsertValue -) - -const ( - AtomicRMWBinOpXchg AtomicRMWBinOp = C.LLVMAtomicRMWBinOpXchg - AtomicRMWBinOpAdd AtomicRMWBinOp = C.LLVMAtomicRMWBinOpAdd - AtomicRMWBinOpSub AtomicRMWBinOp = C.LLVMAtomicRMWBinOpSub - AtomicRMWBinOpAnd AtomicRMWBinOp = C.LLVMAtomicRMWBinOpAnd - AtomicRMWBinOpNand AtomicRMWBinOp = C.LLVMAtomicRMWBinOpNand - AtomicRMWBinOpOr AtomicRMWBinOp = C.LLVMAtomicRMWBinOpOr - AtomicRMWBinOpXor AtomicRMWBinOp = C.LLVMAtomicRMWBinOpXor - AtomicRMWBinOpMax AtomicRMWBinOp = C.LLVMAtomicRMWBinOpMax - AtomicRMWBinOpMin AtomicRMWBinOp = C.LLVMAtomicRMWBinOpMin - AtomicRMWBinOpUMax AtomicRMWBinOp = C.LLVMAtomicRMWBinOpUMax - AtomicRMWBinOpUMin AtomicRMWBinOp = C.LLVMAtomicRMWBinOpUMin -) - -const ( - AtomicOrderingNotAtomic AtomicOrdering = C.LLVMAtomicOrderingNotAtomic - AtomicOrderingUnordered AtomicOrdering = C.LLVMAtomicOrderingUnordered - AtomicOrderingMonotonic AtomicOrdering = C.LLVMAtomicOrderingMonotonic - AtomicOrderingAcquire AtomicOrdering = C.LLVMAtomicOrderingAcquire - AtomicOrderingRelease AtomicOrdering = C.LLVMAtomicOrderingRelease - AtomicOrderingAcquireRelease AtomicOrdering = C.LLVMAtomicOrderingAcquireRelease - AtomicOrderingSequentiallyConsistent AtomicOrdering = C.LLVMAtomicOrderingSequentiallyConsistent -) - -//------------------------------------------------------------------------- -// llvm.TypeKind -//------------------------------------------------------------------------- - -const ( - VoidTypeKind TypeKind = C.LLVMVoidTypeKind - FloatTypeKind TypeKind = C.LLVMFloatTypeKind - DoubleTypeKind TypeKind = C.LLVMDoubleTypeKind - X86_FP80TypeKind TypeKind = C.LLVMX86_FP80TypeKind - FP128TypeKind TypeKind = C.LLVMFP128TypeKind - PPC_FP128TypeKind TypeKind = C.LLVMPPC_FP128TypeKind - LabelTypeKind TypeKind = C.LLVMLabelTypeKind - IntegerTypeKind TypeKind = C.LLVMIntegerTypeKind - FunctionTypeKind TypeKind = C.LLVMFunctionTypeKind - StructTypeKind TypeKind = C.LLVMStructTypeKind - ArrayTypeKind TypeKind = C.LLVMArrayTypeKind - PointerTypeKind TypeKind = C.LLVMPointerTypeKind - MetadataTypeKind TypeKind = C.LLVMMetadataTypeKind - TokenTypeKind TypeKind = C.LLVMTokenTypeKind - VectorTypeKind TypeKind = C.LLVMVectorTypeKind - ScalableVectorTypeKind TypeKind = C.LLVMScalableVectorTypeKind -) - -//------------------------------------------------------------------------- -// llvm.Linkage -//------------------------------------------------------------------------- - -const ( - ExternalLinkage Linkage = C.LLVMExternalLinkage - AvailableExternallyLinkage Linkage = C.LLVMAvailableExternallyLinkage - LinkOnceAnyLinkage Linkage = C.LLVMLinkOnceAnyLinkage - LinkOnceODRLinkage Linkage = C.LLVMLinkOnceODRLinkage - WeakAnyLinkage Linkage = C.LLVMWeakAnyLinkage - WeakODRLinkage Linkage = C.LLVMWeakODRLinkage - AppendingLinkage Linkage = C.LLVMAppendingLinkage - InternalLinkage Linkage = C.LLVMInternalLinkage - PrivateLinkage Linkage = C.LLVMPrivateLinkage - ExternalWeakLinkage Linkage = C.LLVMExternalWeakLinkage - CommonLinkage Linkage = C.LLVMCommonLinkage -) - -//------------------------------------------------------------------------- -// llvm.Visibility -//------------------------------------------------------------------------- - -const ( - DefaultVisibility Visibility = C.LLVMDefaultVisibility - HiddenVisibility Visibility = C.LLVMHiddenVisibility - ProtectedVisibility Visibility = C.LLVMProtectedVisibility -) - -//------------------------------------------------------------------------- -// llvm.CallConv -//------------------------------------------------------------------------- - -const ( - CCallConv CallConv = C.LLVMCCallConv - FastCallConv CallConv = C.LLVMFastCallConv - ColdCallConv CallConv = C.LLVMColdCallConv - X86StdcallCallConv CallConv = C.LLVMX86StdcallCallConv - X86FastcallCallConv CallConv = C.LLVMX86FastcallCallConv -) - -//------------------------------------------------------------------------- -// llvm.ComdatSelectionKind -//------------------------------------------------------------------------- - -const ( - AnyComdatSelectionKind ComdatSelectionKind = C.LLVMAnyComdatSelectionKind - ExactMatchComdatSelectionKind ComdatSelectionKind = C.LLVMExactMatchComdatSelectionKind - LargestComdatSelectionKind ComdatSelectionKind = C.LLVMLargestComdatSelectionKind - NoDeduplicateComdatSelectionKind ComdatSelectionKind = C.LLVMNoDeduplicateComdatSelectionKind - SameSizeComdatSelectionKind ComdatSelectionKind = C.LLVMSameSizeComdatSelectionKind -) - -//------------------------------------------------------------------------- -// llvm.IntPredicate -//------------------------------------------------------------------------- - -const ( - IntEQ IntPredicate = C.LLVMIntEQ - IntNE IntPredicate = C.LLVMIntNE - IntUGT IntPredicate = C.LLVMIntUGT - IntUGE IntPredicate = C.LLVMIntUGE - IntULT IntPredicate = C.LLVMIntULT - IntULE IntPredicate = C.LLVMIntULE - IntSGT IntPredicate = C.LLVMIntSGT - IntSGE IntPredicate = C.LLVMIntSGE - IntSLT IntPredicate = C.LLVMIntSLT - IntSLE IntPredicate = C.LLVMIntSLE -) - -//------------------------------------------------------------------------- -// llvm.FloatPredicate -//------------------------------------------------------------------------- - -const ( - FloatPredicateFalse FloatPredicate = C.LLVMRealPredicateFalse - FloatOEQ FloatPredicate = C.LLVMRealOEQ - FloatOGT FloatPredicate = C.LLVMRealOGT - FloatOGE FloatPredicate = C.LLVMRealOGE - FloatOLT FloatPredicate = C.LLVMRealOLT - FloatOLE FloatPredicate = C.LLVMRealOLE - FloatONE FloatPredicate = C.LLVMRealONE - FloatORD FloatPredicate = C.LLVMRealORD - FloatUNO FloatPredicate = C.LLVMRealUNO - FloatUEQ FloatPredicate = C.LLVMRealUEQ - FloatUGT FloatPredicate = C.LLVMRealUGT - FloatUGE FloatPredicate = C.LLVMRealUGE - FloatULT FloatPredicate = C.LLVMRealULT - FloatULE FloatPredicate = C.LLVMRealULE - FloatUNE FloatPredicate = C.LLVMRealUNE - FloatPredicateTrue FloatPredicate = C.LLVMRealPredicateTrue -) - -//------------------------------------------------------------------------- -// llvm.LandingPadClause -//------------------------------------------------------------------------- - -const ( - LandingPadCatch LandingPadClause = C.LLVMLandingPadCatch - LandingPadFilter LandingPadClause = C.LLVMLandingPadFilter -) - -//------------------------------------------------------------------------- -// llvm.InlineAsmDialect -//------------------------------------------------------------------------- - -const ( - InlineAsmDialectATT InlineAsmDialect = C.LLVMInlineAsmDialectATT - InlineAsmDialectIntel InlineAsmDialect = C.LLVMInlineAsmDialectIntel -) - -//------------------------------------------------------------------------- -// llvm.Context -//------------------------------------------------------------------------- - -func NewContext() Context { return Context{C.LLVMContextCreate()} } -func GlobalContext() Context { return Context{C.LLVMGetGlobalContext()} } -func (c Context) Dispose() { C.LLVMContextDispose(c.C) } - -func (c Context) MDKindID(name string) (id int) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - id = int(C.LLVMGetMDKindIDInContext(c.C, cname, C.unsigned(len(name)))) - return -} - -func MDKindID(name string) (id int) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - id = int(C.LLVMGetMDKindID(cname, C.unsigned(len(name)))) - return -} - -//------------------------------------------------------------------------- -// llvm.Attribute -//------------------------------------------------------------------------- - -func AttributeKindID(name string) (id uint) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - id = uint(C.LLVMGetEnumAttributeKindForName(cname, C.size_t(len(name)))) - return -} - -func (c Context) CreateEnumAttribute(kind uint, val uint64) (a Attribute) { - a.C = C.LLVMCreateEnumAttribute(c.C, C.unsigned(kind), C.uint64_t(val)) - return -} - -func (a Attribute) GetEnumKind() (id int) { - id = int(C.LLVMGetEnumAttributeKind(a.C)) - return -} - -func (a Attribute) GetEnumValue() (val uint64) { - val = uint64(C.LLVMGetEnumAttributeValue(a.C)) - return -} - -func (c Context) CreateStringAttribute(kind string, val string) (a Attribute) { - ckind := C.CString(kind) - defer C.free(unsafe.Pointer(ckind)) - cval := C.CString(val) - defer C.free(unsafe.Pointer(cval)) - a.C = C.LLVMCreateStringAttribute(c.C, - ckind, C.unsigned(len(kind)), - cval, C.unsigned(len(val))) - return -} - -func (a Attribute) GetStringKind() string { - length := C.unsigned(0) - ckind := C.LLVMGetStringAttributeKind(a.C, &length) - return C.GoStringN(ckind, C.int(length)) -} - -func (a Attribute) GetStringValue() string { - length := C.unsigned(0) - ckind := C.LLVMGetStringAttributeValue(a.C, &length) - return C.GoStringN(ckind, C.int(length)) -} - -func (a Attribute) IsEnum() bool { - return C.LLVMIsEnumAttribute(a.C) != 0 -} - -func (a Attribute) IsString() bool { - return C.LLVMIsStringAttribute(a.C) != 0 -} - -//------------------------------------------------------------------------- -// llvm.Module -//------------------------------------------------------------------------- - -// Create and destroy modules. -// See llvm::Module::Module. -func NewModule(name string) (m Module) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - m.C = C.LLVMModuleCreateWithName(cname) - return -} - -func (c Context) NewModule(name string) (m Module) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - m.C = C.LLVMModuleCreateWithNameInContext(cname, c.C) - return -} - -// See llvm::Module::~Module -func (m Module) Dispose() { C.LLVMDisposeModule(m.C) } - -// Data layout. See Module::getDataLayout. -func (m Module) DataLayout() string { - clayout := C.LLVMGetDataLayout(m.C) - return C.GoString(clayout) -} - -func (m Module) SetDataLayout(layout string) { - clayout := C.CString(layout) - defer C.free(unsafe.Pointer(clayout)) - C.LLVMSetDataLayout(m.C, clayout) -} - -// Target triple. See Module::getTargetTriple. -func (m Module) Target() string { - ctarget := C.LLVMGetTarget(m.C) - return C.GoString(ctarget) -} -func (m Module) SetTarget(target string) { - ctarget := C.CString(target) - defer C.free(unsafe.Pointer(ctarget)) - C.LLVMSetTarget(m.C, ctarget) -} - -func (m Module) GetTypeByName(name string) (t Type) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - t.C = C.LLVMGetTypeByName(m.C, cname) - return -} - -// See Module::dump. -func (m Module) Dump() { - C.LLVMDumpModule(m.C) -} - -func (m Module) String() string { - cir := C.LLVMPrintModuleToString(m.C) - defer C.free(unsafe.Pointer(cir)) - ir := C.GoString(cir) - return ir -} - -// See Module::setModuleInlineAsm. -func (m Module) SetInlineAsm(asm string) { - casm := C.CString(asm) - defer C.free(unsafe.Pointer(casm)) - C.LLVMSetModuleInlineAsm(m.C, casm) -} - -func (m Module) AddNamedMetadataOperand(name string, operand Metadata) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - C.LLVMAddNamedMetadataOperand2(m.C, cname, operand.C) -} - -func (m Module) Context() (c Context) { - c.C = C.LLVMGetModuleContext(m.C) - return -} - -//------------------------------------------------------------------------- -// llvm.Type -//------------------------------------------------------------------------- - -// LLVM types conform to the following hierarchy: -// -// types: -// integer type -// real type -// function type -// sequence types: -// array type -// pointer type -// vector type -// void type -// label type -// opaque type - -// See llvm::LLVMTypeKind::getTypeID. -func (t Type) TypeKind() TypeKind { return TypeKind(C.LLVMGetTypeKind(t.C)) } - -// See llvm::LLVMType::getContext. -func (t Type) Context() (c Context) { - c.C = C.LLVMGetTypeContext(t.C) - return -} - -// Operations on integer types -func (c Context) Int1Type() (t Type) { t.C = C.LLVMInt1TypeInContext(c.C); return } -func (c Context) Int8Type() (t Type) { t.C = C.LLVMInt8TypeInContext(c.C); return } -func (c Context) Int16Type() (t Type) { t.C = C.LLVMInt16TypeInContext(c.C); return } -func (c Context) Int32Type() (t Type) { t.C = C.LLVMInt32TypeInContext(c.C); return } -func (c Context) Int64Type() (t Type) { t.C = C.LLVMInt64TypeInContext(c.C); return } -func (c Context) IntType(numbits int) (t Type) { - t.C = C.LLVMIntTypeInContext(c.C, C.unsigned(numbits)) - return -} - -func Int1Type() (t Type) { t.C = C.LLVMInt1Type(); return } -func Int8Type() (t Type) { t.C = C.LLVMInt8Type(); return } -func Int16Type() (t Type) { t.C = C.LLVMInt16Type(); return } -func Int32Type() (t Type) { t.C = C.LLVMInt32Type(); return } -func Int64Type() (t Type) { t.C = C.LLVMInt64Type(); return } - -func IntType(numbits int) (t Type) { - t.C = C.LLVMIntType(C.unsigned(numbits)) - return -} - -func (t Type) IntTypeWidth() int { - return int(C.LLVMGetIntTypeWidth(t.C)) -} - -// Operations on real types -func (c Context) FloatType() (t Type) { t.C = C.LLVMFloatTypeInContext(c.C); return } -func (c Context) DoubleType() (t Type) { t.C = C.LLVMDoubleTypeInContext(c.C); return } -func (c Context) X86FP80Type() (t Type) { t.C = C.LLVMX86FP80TypeInContext(c.C); return } -func (c Context) FP128Type() (t Type) { t.C = C.LLVMFP128TypeInContext(c.C); return } -func (c Context) PPCFP128Type() (t Type) { t.C = C.LLVMPPCFP128TypeInContext(c.C); return } - -func FloatType() (t Type) { t.C = C.LLVMFloatType(); return } -func DoubleType() (t Type) { t.C = C.LLVMDoubleType(); return } -func X86FP80Type() (t Type) { t.C = C.LLVMX86FP80Type(); return } -func FP128Type() (t Type) { t.C = C.LLVMFP128Type(); return } -func PPCFP128Type() (t Type) { t.C = C.LLVMPPCFP128Type(); return } - -// Operations on function types -func FunctionType(returnType Type, paramTypes []Type, isVarArg bool) (t Type) { - var pt *C.LLVMTypeRef - var ptlen C.unsigned - if len(paramTypes) > 0 { - pt = llvmTypeRefPtr(¶mTypes[0]) - ptlen = C.unsigned(len(paramTypes)) - } - t.C = C.LLVMFunctionType(returnType.C, - pt, - ptlen, - boolToLLVMBool(isVarArg)) - return -} - -func (t Type) IsFunctionVarArg() bool { return C.LLVMIsFunctionVarArg(t.C) != 0 } -func (t Type) ReturnType() (rt Type) { rt.C = C.LLVMGetReturnType(t.C); return } -func (t Type) ParamTypesCount() int { return int(C.LLVMCountParamTypes(t.C)) } -func (t Type) ParamTypes() []Type { - count := t.ParamTypesCount() - if count > 0 { - out := make([]Type, count) - C.LLVMGetParamTypes(t.C, llvmTypeRefPtr(&out[0])) - return out - } - return nil -} - -// Operations on struct types -func (c Context) StructType(elementTypes []Type, packed bool) (t Type) { - var pt *C.LLVMTypeRef - var ptlen C.unsigned - if len(elementTypes) > 0 { - pt = llvmTypeRefPtr(&elementTypes[0]) - ptlen = C.unsigned(len(elementTypes)) - } - t.C = C.LLVMStructTypeInContext(c.C, - pt, - ptlen, - boolToLLVMBool(packed)) - return -} - -func StructType(elementTypes []Type, packed bool) (t Type) { - var pt *C.LLVMTypeRef - var ptlen C.unsigned - if len(elementTypes) > 0 { - pt = llvmTypeRefPtr(&elementTypes[0]) - ptlen = C.unsigned(len(elementTypes)) - } - t.C = C.LLVMStructType(pt, ptlen, boolToLLVMBool(packed)) - return -} - -func (c Context) StructCreateNamed(name string) (t Type) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - t.C = C.LLVMStructCreateNamed(c.C, cname) - return -} - -func (t Type) StructName() string { - return C.GoString(C.LLVMGetStructName(t.C)) -} - -func (t Type) StructSetBody(elementTypes []Type, packed bool) { - var pt *C.LLVMTypeRef - var ptlen C.unsigned - if len(elementTypes) > 0 { - pt = llvmTypeRefPtr(&elementTypes[0]) - ptlen = C.unsigned(len(elementTypes)) - } - C.LLVMStructSetBody(t.C, pt, ptlen, boolToLLVMBool(packed)) -} - -func (t Type) IsStructPacked() bool { return C.LLVMIsPackedStruct(t.C) != 0 } -func (t Type) StructElementTypesCount() int { return int(C.LLVMCountStructElementTypes(t.C)) } -func (t Type) StructElementTypes() []Type { - out := make([]Type, t.StructElementTypesCount()) - if len(out) > 0 { - C.LLVMGetStructElementTypes(t.C, llvmTypeRefPtr(&out[0])) - } - return out -} - -// Operations on array, pointer, and vector types (sequence types) -func (t Type) Subtypes() (ret []Type) { - ret = make([]Type, C.LLVMGetNumContainedTypes(t.C)) - C.LLVMGetSubtypes(t.C, llvmTypeRefPtr(&ret[0])) - return -} - -func ArrayType(elementType Type, elementCount int) (t Type) { - t.C = C.LLVMArrayType(elementType.C, C.unsigned(elementCount)) - return -} -func PointerType(elementType Type, addressSpace int) (t Type) { - t.C = C.LLVMPointerType(elementType.C, C.unsigned(addressSpace)) - return -} -func VectorType(elementType Type, elementCount int) (t Type) { - t.C = C.LLVMVectorType(elementType.C, C.unsigned(elementCount)) - return -} - -func (t Type) ElementType() (rt Type) { rt.C = C.LLVMGetElementType(t.C); return } -func (t Type) ArrayLength() int { return int(C.LLVMGetArrayLength(t.C)) } -func (t Type) PointerAddressSpace() int { return int(C.LLVMGetPointerAddressSpace(t.C)) } -func (t Type) VectorSize() int { return int(C.LLVMGetVectorSize(t.C)) } - -// Operations on other types -func (c Context) VoidType() (t Type) { t.C = C.LLVMVoidTypeInContext(c.C); return } -func (c Context) LabelType() (t Type) { t.C = C.LLVMLabelTypeInContext(c.C); return } -func (c Context) TokenType() (t Type) { t.C = C.LLVMTokenTypeInContext(c.C); return } - -func VoidType() (t Type) { t.C = C.LLVMVoidType(); return } -func LabelType() (t Type) { t.C = C.LLVMLabelType(); return } - -//------------------------------------------------------------------------- -// llvm.Value -//------------------------------------------------------------------------- - -// Operations on all values -func (v Value) Type() (t Type) { t.C = C.LLVMTypeOf(v.C); return } -func (v Value) Name() string { return C.GoString(C.LLVMGetValueName(v.C)) } -func (v Value) SetName(name string) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - C.LLVMSetValueName(v.C, cname) -} -func (v Value) Dump() { C.LLVMDumpValue(v.C) } -func (v Value) ReplaceAllUsesWith(nv Value) { C.LLVMReplaceAllUsesWith(v.C, nv.C) } -func (v Value) HasMetadata() bool { return C.LLVMHasMetadata(v.C) != 0 } -func (v Value) Metadata(kind int) (rv Value) { - rv.C = C.LLVMGetMetadata(v.C, C.unsigned(kind)) - return -} -func (v Value) SetMetadata(kind int, node Metadata) { - C.LLVMSetMetadata2(v.C, C.unsigned(kind), node.C) -} - -// Conversion functions. -// Return the input value if it is an instance of the specified class, otherwise NULL. -// See llvm::dyn_cast_or_null<>. -func (v Value) IsAArgument() (rv Value) { rv.C = C.LLVMIsAArgument(v.C); return } -func (v Value) IsABasicBlock() (rv Value) { rv.C = C.LLVMIsABasicBlock(v.C); return } -func (v Value) IsAInlineAsm() (rv Value) { rv.C = C.LLVMIsAInlineAsm(v.C); return } -func (v Value) IsAUser() (rv Value) { rv.C = C.LLVMIsAUser(v.C); return } -func (v Value) IsAConstant() (rv Value) { rv.C = C.LLVMIsAConstant(v.C); return } -func (v Value) IsAConstantAggregateZero() (rv Value) { - rv.C = C.LLVMIsAConstantAggregateZero(v.C) - return -} -func (v Value) IsAConstantArray() (rv Value) { rv.C = C.LLVMIsAConstantArray(v.C); return } -func (v Value) IsAConstantExpr() (rv Value) { rv.C = C.LLVMIsAConstantExpr(v.C); return } -func (v Value) IsAConstantFP() (rv Value) { rv.C = C.LLVMIsAConstantFP(v.C); return } -func (v Value) IsAConstantInt() (rv Value) { rv.C = C.LLVMIsAConstantInt(v.C); return } -func (v Value) IsAConstantPointerNull() (rv Value) { rv.C = C.LLVMIsAConstantPointerNull(v.C); return } -func (v Value) IsAConstantStruct() (rv Value) { rv.C = C.LLVMIsAConstantStruct(v.C); return } -func (v Value) IsAConstantVector() (rv Value) { rv.C = C.LLVMIsAConstantVector(v.C); return } -func (v Value) IsAGlobalValue() (rv Value) { rv.C = C.LLVMIsAGlobalValue(v.C); return } -func (v Value) IsAFunction() (rv Value) { rv.C = C.LLVMIsAFunction(v.C); return } -func (v Value) IsAGlobalAlias() (rv Value) { rv.C = C.LLVMIsAGlobalAlias(v.C); return } -func (v Value) IsAGlobalVariable() (rv Value) { rv.C = C.LLVMIsAGlobalVariable(v.C); return } -func (v Value) IsAUndefValue() (rv Value) { rv.C = C.LLVMIsAUndefValue(v.C); return } -func (v Value) IsAInstruction() (rv Value) { rv.C = C.LLVMIsAInstruction(v.C); return } -func (v Value) IsABinaryOperator() (rv Value) { rv.C = C.LLVMIsABinaryOperator(v.C); return } -func (v Value) IsACallInst() (rv Value) { rv.C = C.LLVMIsACallInst(v.C); return } -func (v Value) IsAIntrinsicInst() (rv Value) { rv.C = C.LLVMIsAIntrinsicInst(v.C); return } -func (v Value) IsADbgInfoIntrinsic() (rv Value) { rv.C = C.LLVMIsADbgInfoIntrinsic(v.C); return } -func (v Value) IsADbgDeclareInst() (rv Value) { rv.C = C.LLVMIsADbgDeclareInst(v.C); return } -func (v Value) IsAMemIntrinsic() (rv Value) { rv.C = C.LLVMIsAMemIntrinsic(v.C); return } -func (v Value) IsAMemCpyInst() (rv Value) { rv.C = C.LLVMIsAMemCpyInst(v.C); return } -func (v Value) IsAMemMoveInst() (rv Value) { rv.C = C.LLVMIsAMemMoveInst(v.C); return } -func (v Value) IsAMemSetInst() (rv Value) { rv.C = C.LLVMIsAMemSetInst(v.C); return } -func (v Value) IsACmpInst() (rv Value) { rv.C = C.LLVMIsACmpInst(v.C); return } -func (v Value) IsAFCmpInst() (rv Value) { rv.C = C.LLVMIsAFCmpInst(v.C); return } -func (v Value) IsAICmpInst() (rv Value) { rv.C = C.LLVMIsAICmpInst(v.C); return } -func (v Value) IsAExtractElementInst() (rv Value) { rv.C = C.LLVMIsAExtractElementInst(v.C); return } -func (v Value) IsAGetElementPtrInst() (rv Value) { rv.C = C.LLVMIsAGetElementPtrInst(v.C); return } -func (v Value) IsAInsertElementInst() (rv Value) { rv.C = C.LLVMIsAInsertElementInst(v.C); return } -func (v Value) IsAInsertValueInst() (rv Value) { rv.C = C.LLVMIsAInsertValueInst(v.C); return } -func (v Value) IsAPHINode() (rv Value) { rv.C = C.LLVMIsAPHINode(v.C); return } -func (v Value) IsASelectInst() (rv Value) { rv.C = C.LLVMIsASelectInst(v.C); return } -func (v Value) IsAShuffleVectorInst() (rv Value) { rv.C = C.LLVMIsAShuffleVectorInst(v.C); return } -func (v Value) IsAStoreInst() (rv Value) { rv.C = C.LLVMIsAStoreInst(v.C); return } -func (v Value) IsABranchInst() (rv Value) { rv.C = C.LLVMIsABranchInst(v.C); return } -func (v Value) IsAInvokeInst() (rv Value) { rv.C = C.LLVMIsAInvokeInst(v.C); return } -func (v Value) IsAReturnInst() (rv Value) { rv.C = C.LLVMIsAReturnInst(v.C); return } -func (v Value) IsASwitchInst() (rv Value) { rv.C = C.LLVMIsASwitchInst(v.C); return } -func (v Value) IsAUnreachableInst() (rv Value) { rv.C = C.LLVMIsAUnreachableInst(v.C); return } -func (v Value) IsAUnaryInstruction() (rv Value) { rv.C = C.LLVMIsAUnaryInstruction(v.C); return } -func (v Value) IsAAllocaInst() (rv Value) { rv.C = C.LLVMIsAAllocaInst(v.C); return } -func (v Value) IsACastInst() (rv Value) { rv.C = C.LLVMIsACastInst(v.C); return } -func (v Value) IsABitCastInst() (rv Value) { rv.C = C.LLVMIsABitCastInst(v.C); return } -func (v Value) IsAFPExtInst() (rv Value) { rv.C = C.LLVMIsAFPExtInst(v.C); return } -func (v Value) IsAFPToSIInst() (rv Value) { rv.C = C.LLVMIsAFPToSIInst(v.C); return } -func (v Value) IsAFPToUIInst() (rv Value) { rv.C = C.LLVMIsAFPToUIInst(v.C); return } -func (v Value) IsAFPTruncInst() (rv Value) { rv.C = C.LLVMIsAFPTruncInst(v.C); return } -func (v Value) IsAIntToPtrInst() (rv Value) { rv.C = C.LLVMIsAIntToPtrInst(v.C); return } -func (v Value) IsAPtrToIntInst() (rv Value) { rv.C = C.LLVMIsAPtrToIntInst(v.C); return } -func (v Value) IsASExtInst() (rv Value) { rv.C = C.LLVMIsASExtInst(v.C); return } -func (v Value) IsASIToFPInst() (rv Value) { rv.C = C.LLVMIsASIToFPInst(v.C); return } -func (v Value) IsATruncInst() (rv Value) { rv.C = C.LLVMIsATruncInst(v.C); return } -func (v Value) IsAUIToFPInst() (rv Value) { rv.C = C.LLVMIsAUIToFPInst(v.C); return } -func (v Value) IsAZExtInst() (rv Value) { rv.C = C.LLVMIsAZExtInst(v.C); return } -func (v Value) IsAExtractValueInst() (rv Value) { rv.C = C.LLVMIsAExtractValueInst(v.C); return } -func (v Value) IsALoadInst() (rv Value) { rv.C = C.LLVMIsALoadInst(v.C); return } -func (v Value) IsAVAArgInst() (rv Value) { rv.C = C.LLVMIsAVAArgInst(v.C); return } - -// Operations on Uses -func (v Value) FirstUse() (u Use) { u.C = C.LLVMGetFirstUse(v.C); return } -func (u Use) NextUse() (ru Use) { ru.C = C.LLVMGetNextUse(u.C); return } -func (u Use) User() (v Value) { v.C = C.LLVMGetUser(u.C); return } -func (u Use) UsedValue() (v Value) { v.C = C.LLVMGetUsedValue(u.C); return } - -// Operations on Users -func (v Value) Operand(i int) (rv Value) { rv.C = C.LLVMGetOperand(v.C, C.unsigned(i)); return } -func (v Value) SetOperand(i int, op Value) { C.LLVMSetOperand(v.C, C.unsigned(i), op.C) } -func (v Value) OperandsCount() int { return int(C.LLVMGetNumOperands(v.C)) } - -// Operations on constants of any type -func ConstNull(t Type) (v Value) { v.C = C.LLVMConstNull(t.C); return } -func ConstAllOnes(t Type) (v Value) { v.C = C.LLVMConstAllOnes(t.C); return } -func Undef(t Type) (v Value) { v.C = C.LLVMGetUndef(t.C); return } -func (v Value) IsConstant() bool { return C.LLVMIsConstant(v.C) != 0 } -func (v Value) IsNull() bool { return C.LLVMIsNull(v.C) != 0 } -func (v Value) IsUndef() bool { return C.LLVMIsUndef(v.C) != 0 } -func ConstPointerNull(t Type) (v Value) { v.C = C.LLVMConstPointerNull(t.C); return } - -// Operations on metadata -func (c Context) MDString(str string) (md Metadata) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - md.C = C.LLVMMDString2(c.C, cstr, C.unsigned(len(str))) - return -} -func (c Context) MDNode(mds []Metadata) (md Metadata) { - ptr, nvals := llvmMetadataRefs(mds) - md.C = C.LLVMMDNode2(c.C, ptr, nvals) - return -} -func (v Value) ConstantAsMetadata() (md Metadata) { - md.C = C.LLVMConstantAsMetadata(v.C) - return -} - -// Operations on scalar constants -func ConstInt(t Type, n uint64, signExtend bool) (v Value) { - v.C = C.LLVMConstInt(t.C, - C.ulonglong(n), - boolToLLVMBool(signExtend)) - return -} -func ConstIntFromString(t Type, str string, radix int) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - v.C = C.LLVMConstIntOfString(t.C, cstr, C.uint8_t(radix)) - return -} -func ConstFloat(t Type, n float64) (v Value) { - v.C = C.LLVMConstReal(t.C, C.double(n)) - return -} -func ConstFloatFromString(t Type, str string) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - v.C = C.LLVMConstRealOfString(t.C, cstr) - return -} - -func (v Value) ZExtValue() uint64 { return uint64(C.LLVMConstIntGetZExtValue(v.C)) } -func (v Value) SExtValue() int64 { return int64(C.LLVMConstIntGetSExtValue(v.C)) } - -// Operations on composite constants -func (c Context) ConstString(str string, addnull bool) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - v.C = C.LLVMConstStringInContext(c.C, cstr, - C.unsigned(len(str)), boolToLLVMBool(!addnull)) - return -} -func (c Context) ConstStruct(constVals []Value, packed bool) (v Value) { - ptr, nvals := llvmValueRefs(constVals) - v.C = C.LLVMConstStructInContext(c.C, ptr, nvals, - boolToLLVMBool(packed)) - return -} -func ConstNamedStruct(t Type, constVals []Value) (v Value) { - ptr, nvals := llvmValueRefs(constVals) - v.C = C.LLVMConstNamedStruct(t.C, ptr, nvals) - return -} -func ConstString(str string, addnull bool) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - v.C = C.LLVMConstString(cstr, - C.unsigned(len(str)), boolToLLVMBool(!addnull)) - return -} -func ConstArray(t Type, constVals []Value) (v Value) { - ptr, nvals := llvmValueRefs(constVals) - v.C = C.LLVMConstArray(t.C, ptr, nvals) - return -} -func ConstStruct(constVals []Value, packed bool) (v Value) { - ptr, nvals := llvmValueRefs(constVals) - v.C = C.LLVMConstStruct(ptr, nvals, boolToLLVMBool(packed)) - return -} -func ConstVector(scalarConstVals []Value, packed bool) (v Value) { - ptr, nvals := llvmValueRefs(scalarConstVals) - v.C = C.LLVMConstVector(ptr, nvals) - return -} - -// Constant expressions -func (v Value) Opcode() Opcode { return Opcode(C.LLVMGetConstOpcode(v.C)) } -func (v Value) InstructionOpcode() Opcode { return Opcode(C.LLVMGetInstructionOpcode(v.C)) } -func AlignOf(t Type) (v Value) { v.C = C.LLVMAlignOf(t.C); return } -func SizeOf(t Type) (v Value) { v.C = C.LLVMSizeOf(t.C); return } -func ConstNeg(v Value) (rv Value) { rv.C = C.LLVMConstNeg(v.C); return } -func ConstNSWNeg(v Value) (rv Value) { rv.C = C.LLVMConstNSWNeg(v.C); return } -func ConstNUWNeg(v Value) (rv Value) { rv.C = C.LLVMConstNUWNeg(v.C); return } -func ConstFNeg(v Value) (rv Value) { rv.C = C.LLVMConstFNeg(v.C); return } -func ConstNot(v Value) (rv Value) { rv.C = C.LLVMConstNot(v.C); return } -func ConstAdd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstAdd(lhs.C, rhs.C); return } -func ConstNSWAdd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNSWAdd(lhs.C, rhs.C); return } -func ConstNUWAdd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWAdd(lhs.C, rhs.C); return } -func ConstFAdd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstFAdd(lhs.C, rhs.C); return } -func ConstSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstSub(lhs.C, rhs.C); return } -func ConstNSWSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNSWSub(lhs.C, rhs.C); return } -func ConstNUWSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWSub(lhs.C, rhs.C); return } -func ConstFSub(lhs, rhs Value) (v Value) { v.C = C.LLVMConstFSub(lhs.C, rhs.C); return } -func ConstMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstMul(lhs.C, rhs.C); return } -func ConstNSWMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNSWMul(lhs.C, rhs.C); return } -func ConstNUWMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstNUWMul(lhs.C, rhs.C); return } -func ConstFMul(lhs, rhs Value) (v Value) { v.C = C.LLVMConstFMul(lhs.C, rhs.C); return } -func ConstUDiv(lhs, rhs Value) (v Value) { v.C = C.LLVMConstUDiv(lhs.C, rhs.C); return } -func ConstSDiv(lhs, rhs Value) (v Value) { v.C = C.LLVMConstSDiv(lhs.C, rhs.C); return } -func ConstExactSDiv(lhs, rhs Value) (v Value) { v.C = C.LLVMConstExactSDiv(lhs.C, rhs.C); return } -func ConstFDiv(lhs, rhs Value) (v Value) { v.C = C.LLVMConstFDiv(lhs.C, rhs.C); return } -func ConstURem(lhs, rhs Value) (v Value) { v.C = C.LLVMConstURem(lhs.C, rhs.C); return } -func ConstSRem(lhs, rhs Value) (v Value) { v.C = C.LLVMConstSRem(lhs.C, rhs.C); return } -func ConstFRem(lhs, rhs Value) (v Value) { v.C = C.LLVMConstFRem(lhs.C, rhs.C); return } -func ConstAnd(lhs, rhs Value) (v Value) { v.C = C.LLVMConstAnd(lhs.C, rhs.C); return } -func ConstOr(lhs, rhs Value) (v Value) { v.C = C.LLVMConstOr(lhs.C, rhs.C); return } -func ConstXor(lhs, rhs Value) (v Value) { v.C = C.LLVMConstXor(lhs.C, rhs.C); return } - -func ConstICmp(pred IntPredicate, lhs, rhs Value) (v Value) { - v.C = C.LLVMConstICmp(C.LLVMIntPredicate(pred), lhs.C, rhs.C) - return -} -func ConstFCmp(pred FloatPredicate, lhs, rhs Value) (v Value) { - v.C = C.LLVMConstFCmp(C.LLVMRealPredicate(pred), lhs.C, rhs.C) - return -} - -func ConstShl(lhs, rhs Value) (v Value) { v.C = C.LLVMConstShl(lhs.C, rhs.C); return } -func ConstLShr(lhs, rhs Value) (v Value) { v.C = C.LLVMConstLShr(lhs.C, rhs.C); return } -func ConstAShr(lhs, rhs Value) (v Value) { v.C = C.LLVMConstAShr(lhs.C, rhs.C); return } - -func ConstGEP(v Value, indices []Value) (rv Value) { - ptr, nvals := llvmValueRefs(indices) - rv.C = C.LLVMConstGEP(v.C, ptr, nvals) - return -} -func ConstInBoundsGEP(v Value, indices []Value) (rv Value) { - ptr, nvals := llvmValueRefs(indices) - rv.C = C.LLVMConstInBoundsGEP(v.C, ptr, nvals) - return -} -func ConstTrunc(v Value, t Type) (rv Value) { rv.C = C.LLVMConstTrunc(v.C, t.C); return } -func ConstSExt(v Value, t Type) (rv Value) { rv.C = C.LLVMConstSExt(v.C, t.C); return } -func ConstZExt(v Value, t Type) (rv Value) { rv.C = C.LLVMConstZExt(v.C, t.C); return } -func ConstFPTrunc(v Value, t Type) (rv Value) { rv.C = C.LLVMConstFPTrunc(v.C, t.C); return } -func ConstFPExt(v Value, t Type) (rv Value) { rv.C = C.LLVMConstFPExt(v.C, t.C); return } -func ConstUIToFP(v Value, t Type) (rv Value) { rv.C = C.LLVMConstUIToFP(v.C, t.C); return } -func ConstSIToFP(v Value, t Type) (rv Value) { rv.C = C.LLVMConstSIToFP(v.C, t.C); return } -func ConstFPToUI(v Value, t Type) (rv Value) { rv.C = C.LLVMConstFPToUI(v.C, t.C); return } -func ConstFPToSI(v Value, t Type) (rv Value) { rv.C = C.LLVMConstFPToSI(v.C, t.C); return } -func ConstPtrToInt(v Value, t Type) (rv Value) { rv.C = C.LLVMConstPtrToInt(v.C, t.C); return } -func ConstIntToPtr(v Value, t Type) (rv Value) { rv.C = C.LLVMConstIntToPtr(v.C, t.C); return } -func ConstBitCast(v Value, t Type) (rv Value) { rv.C = C.LLVMConstBitCast(v.C, t.C); return } -func ConstZExtOrBitCast(v Value, t Type) (rv Value) { rv.C = C.LLVMConstZExtOrBitCast(v.C, t.C); return } -func ConstSExtOrBitCast(v Value, t Type) (rv Value) { rv.C = C.LLVMConstSExtOrBitCast(v.C, t.C); return } -func ConstTruncOrBitCast(v Value, t Type) (rv Value) { - rv.C = C.LLVMConstTruncOrBitCast(v.C, t.C) - return -} -func ConstPointerCast(v Value, t Type) (rv Value) { rv.C = C.LLVMConstPointerCast(v.C, t.C); return } -func ConstIntCast(v Value, t Type, signed bool) (rv Value) { - rv.C = C.LLVMConstIntCast(v.C, t.C, boolToLLVMBool(signed)) - return -} -func ConstFPCast(v Value, t Type) (rv Value) { rv.C = C.LLVMConstFPCast(v.C, t.C); return } -func ConstSelect(cond, iftrue, iffalse Value) (rv Value) { - rv.C = C.LLVMConstSelect(cond.C, iftrue.C, iffalse.C) - return -} -func ConstExtractElement(vec, i Value) (rv Value) { - rv.C = C.LLVMConstExtractElement(vec.C, i.C) - return -} -func ConstInsertElement(vec, elem, i Value) (rv Value) { - rv.C = C.LLVMConstInsertElement(vec.C, elem.C, i.C) - return -} -func ConstShuffleVector(veca, vecb, mask Value) (rv Value) { - rv.C = C.LLVMConstShuffleVector(veca.C, vecb.C, mask.C) - return -} - -//TODO -//LLVMValueRef LLVMConstExtractValue(LLVMValueRef AggConstant, unsigned *IdxList, -// unsigned NumIdx); - -func ConstExtractValue(agg Value, indices []uint32) (rv Value) { - n := len(indices) - if n == 0 { - panic("one or more indices are required") - } - ptr := (*C.unsigned)(&indices[0]) - rv.C = C.LLVMConstExtractValue(agg.C, ptr, C.unsigned(n)) - return -} - -func ConstInsertValue(agg, val Value, indices []uint32) (rv Value) { - n := len(indices) - if n == 0 { - panic("one or more indices are required") - } - ptr := (*C.unsigned)(&indices[0]) - rv.C = C.LLVMConstInsertValue(agg.C, val.C, ptr, C.unsigned(n)) - return -} - -func BlockAddress(f Value, bb BasicBlock) (v Value) { - v.C = C.LLVMBlockAddress(f.C, bb.C) - return -} - -// Operations on global variables, functions, and aliases (globals) -func (v Value) GlobalParent() (m Module) { m.C = C.LLVMGetGlobalParent(v.C); return } -func (v Value) IsDeclaration() bool { return C.LLVMIsDeclaration(v.C) != 0 } -func (v Value) Linkage() Linkage { return Linkage(C.LLVMGetLinkage(v.C)) } -func (v Value) SetLinkage(l Linkage) { C.LLVMSetLinkage(v.C, C.LLVMLinkage(l)) } -func (v Value) Section() string { return C.GoString(C.LLVMGetSection(v.C)) } -func (v Value) SetSection(str string) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - C.LLVMSetSection(v.C, cstr) -} -func (v Value) Visibility() Visibility { return Visibility(C.LLVMGetVisibility(v.C)) } -func (v Value) SetVisibility(vi Visibility) { C.LLVMSetVisibility(v.C, C.LLVMVisibility(vi)) } -func (v Value) Alignment() int { return int(C.LLVMGetAlignment(v.C)) } -func (v Value) SetAlignment(a int) { C.LLVMSetAlignment(v.C, C.unsigned(a)) } -func (v Value) SetUnnamedAddr(ua bool) { C.LLVMSetUnnamedAddr(v.C, boolToLLVMBool(ua)) } - -// Operations on global variables -func AddGlobal(m Module, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMAddGlobal(m.C, t.C, cname) - return -} -func AddGlobalInAddressSpace(m Module, t Type, name string, addressSpace int) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMAddGlobalInAddressSpace(m.C, t.C, cname, C.unsigned(addressSpace)) - return -} -func (m Module) NamedGlobal(name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMGetNamedGlobal(m.C, cname) - return -} - -func (m Module) FirstGlobal() (v Value) { v.C = C.LLVMGetFirstGlobal(m.C); return } -func (m Module) LastGlobal() (v Value) { v.C = C.LLVMGetLastGlobal(m.C); return } -func NextGlobal(v Value) (rv Value) { rv.C = C.LLVMGetNextGlobal(v.C); return } -func PrevGlobal(v Value) (rv Value) { rv.C = C.LLVMGetPreviousGlobal(v.C); return } -func (v Value) EraseFromParentAsGlobal() { C.LLVMDeleteGlobal(v.C) } -func (v Value) Initializer() (rv Value) { rv.C = C.LLVMGetInitializer(v.C); return } -func (v Value) SetInitializer(cv Value) { C.LLVMSetInitializer(v.C, cv.C) } -func (v Value) IsThreadLocal() bool { return C.LLVMIsThreadLocal(v.C) != 0 } -func (v Value) SetThreadLocal(tl bool) { C.LLVMSetThreadLocal(v.C, boolToLLVMBool(tl)) } -func (v Value) IsGlobalConstant() bool { return C.LLVMIsGlobalConstant(v.C) != 0 } -func (v Value) SetGlobalConstant(gc bool) { C.LLVMSetGlobalConstant(v.C, boolToLLVMBool(gc)) } -func (v Value) IsVolatile() bool { return C.LLVMGetVolatile(v.C) != 0 } -func (v Value) SetVolatile(volatile bool) { C.LLVMSetVolatile(v.C, boolToLLVMBool(volatile)) } -func (v Value) Ordering() AtomicOrdering { return AtomicOrdering(C.LLVMGetOrdering(v.C)) } -func (v Value) SetOrdering(ordering AtomicOrdering) { - C.LLVMSetOrdering(v.C, C.LLVMAtomicOrdering(ordering)) -} -func (v Value) IsAtomicSingleThread() bool { return C.LLVMIsAtomicSingleThread(v.C) != 0 } -func (v Value) SetAtomicSingleThread(singleThread bool) { - C.LLVMSetAtomicSingleThread(v.C, boolToLLVMBool(singleThread)) -} -func (v Value) CmpXchgSuccessOrdering() AtomicOrdering { - return AtomicOrdering(C.LLVMGetCmpXchgSuccessOrdering(v.C)) -} -func (v Value) SetCmpXchgSuccessOrdering(ordering AtomicOrdering) { - C.LLVMSetCmpXchgSuccessOrdering(v.C, C.LLVMAtomicOrdering(ordering)) -} -func (v Value) CmpXchgFailureOrdering() AtomicOrdering { - return AtomicOrdering(C.LLVMGetCmpXchgFailureOrdering(v.C)) -} -func (v Value) SetCmpXchgFailureOrdering(ordering AtomicOrdering) { - C.LLVMSetCmpXchgFailureOrdering(v.C, C.LLVMAtomicOrdering(ordering)) -} - -// Operations on aliases -func AddAlias(m Module, t Type, aliasee Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMAddAlias(m.C, t.C, aliasee.C, cname) - return -} - -// Operations on comdat -func (m Module) Comdat(name string) (c Comdat) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - c.C = C.LLVMGetOrInsertComdat(m.C, cname) - return -} - -func (v Value) Comdat() (c Comdat) { c.C = C.LLVMGetComdat(v.C); return } -func (v Value) SetComdat(c Comdat) { C.LLVMSetComdat(v.C, c.C) } - -func (c Comdat) SelectionKind() ComdatSelectionKind { - return ComdatSelectionKind(C.LLVMGetComdatSelectionKind(c.C)) -} - -func (c Comdat) SetSelectionKind(k ComdatSelectionKind) { - C.LLVMSetComdatSelectionKind(c.C, (C.LLVMComdatSelectionKind)(k)) -} - -// Operations on functions -func AddFunction(m Module, name string, ft Type) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMAddFunction(m.C, cname, ft.C) - return -} - -func (m Module) NamedFunction(name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMGetNamedFunction(m.C, cname) - return -} - -func (m Module) FirstFunction() (v Value) { v.C = C.LLVMGetFirstFunction(m.C); return } -func (m Module) LastFunction() (v Value) { v.C = C.LLVMGetLastFunction(m.C); return } -func NextFunction(v Value) (rv Value) { rv.C = C.LLVMGetNextFunction(v.C); return } -func PrevFunction(v Value) (rv Value) { rv.C = C.LLVMGetPreviousFunction(v.C); return } -func (v Value) EraseFromParentAsFunction() { C.LLVMDeleteFunction(v.C) } -func (v Value) IntrinsicID() int { return int(C.LLVMGetIntrinsicID(v.C)) } -func (v Value) FunctionCallConv() CallConv { - return CallConv(C.LLVMCallConv(C.LLVMGetFunctionCallConv(v.C))) -} -func (v Value) SetFunctionCallConv(cc CallConv) { C.LLVMSetFunctionCallConv(v.C, C.unsigned(cc)) } -func (v Value) GC() string { return C.GoString(C.LLVMGetGC(v.C)) } -func (v Value) SetGC(name string) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - C.LLVMSetGC(v.C, cname) -} -func (v Value) AddAttributeAtIndex(i int, a Attribute) { - C.LLVMAddAttributeAtIndex(v.C, C.LLVMAttributeIndex(i), a.C) -} -func (v Value) AddFunctionAttr(a Attribute) { - v.AddAttributeAtIndex(C.LLVMAttributeFunctionIndex, a) -} -func (v Value) GetEnumAttributeAtIndex(i int, kind uint) (a Attribute) { - a.C = C.LLVMGetEnumAttributeAtIndex(v.C, C.LLVMAttributeIndex(i), C.unsigned(kind)) - return -} -func (v Value) GetEnumFunctionAttribute(kind uint) Attribute { - return v.GetEnumAttributeAtIndex(C.LLVMAttributeFunctionIndex, kind) -} -func (v Value) GetStringAttributeAtIndex(i int, kind string) (a Attribute) { - ckind := C.CString(kind) - defer C.free(unsafe.Pointer(ckind)) - a.C = C.LLVMGetStringAttributeAtIndex(v.C, C.LLVMAttributeIndex(i), - ckind, C.unsigned(len(kind))) - return -} -func (v Value) RemoveEnumAttributeAtIndex(i int, kind uint) { - C.LLVMRemoveEnumAttributeAtIndex(v.C, C.LLVMAttributeIndex(i), C.unsigned(kind)) -} -func (v Value) RemoveEnumFunctionAttribute(kind uint) { - v.RemoveEnumAttributeAtIndex(C.LLVMAttributeFunctionIndex, kind) -} -func (v Value) RemoveStringAttributeAtIndex(i int, kind string) { - ckind := C.CString(kind) - defer C.free(unsafe.Pointer(ckind)) - C.LLVMRemoveStringAttributeAtIndex(v.C, C.LLVMAttributeIndex(i), - ckind, C.unsigned(len(kind))) -} -func (v Value) AddTargetDependentFunctionAttr(attr, value string) { - cattr := C.CString(attr) - defer C.free(unsafe.Pointer(cattr)) - cvalue := C.CString(value) - defer C.free(unsafe.Pointer(cvalue)) - C.LLVMAddTargetDependentFunctionAttr(v.C, cattr, cvalue) -} -func (v Value) SetPersonality(p Value) { - C.LLVMSetPersonalityFn(v.C, p.C) -} - -// Operations on parameters -func (v Value) ParamsCount() int { return int(C.LLVMCountParams(v.C)) } -func (v Value) Params() []Value { - out := make([]Value, v.ParamsCount()) - if len(out) > 0 { - C.LLVMGetParams(v.C, llvmValueRefPtr(&out[0])) - } - return out -} -func (v Value) Param(i int) (rv Value) { rv.C = C.LLVMGetParam(v.C, C.unsigned(i)); return } -func (v Value) ParamParent() (rv Value) { rv.C = C.LLVMGetParamParent(v.C); return } -func (v Value) FirstParam() (rv Value) { rv.C = C.LLVMGetFirstParam(v.C); return } -func (v Value) LastParam() (rv Value) { rv.C = C.LLVMGetLastParam(v.C); return } -func NextParam(v Value) (rv Value) { rv.C = C.LLVMGetNextParam(v.C); return } -func PrevParam(v Value) (rv Value) { rv.C = C.LLVMGetPreviousParam(v.C); return } -func (v Value) SetParamAlignment(align int) { C.LLVMSetParamAlignment(v.C, C.unsigned(align)) } - -// Operations on basic blocks -func (bb BasicBlock) AsValue() (v Value) { v.C = C.LLVMBasicBlockAsValue(bb.C); return } -func (v Value) IsBasicBlock() bool { return C.LLVMValueIsBasicBlock(v.C) != 0 } -func (v Value) AsBasicBlock() (bb BasicBlock) { bb.C = C.LLVMValueAsBasicBlock(v.C); return } -func (bb BasicBlock) Parent() (v Value) { v.C = C.LLVMGetBasicBlockParent(bb.C); return } -func (v Value) BasicBlocksCount() int { return int(C.LLVMCountBasicBlocks(v.C)) } -func (v Value) BasicBlocks() []BasicBlock { - out := make([]BasicBlock, v.BasicBlocksCount()) - C.LLVMGetBasicBlocks(v.C, llvmBasicBlockRefPtr(&out[0])) - return out -} -func (v Value) FirstBasicBlock() (bb BasicBlock) { bb.C = C.LLVMGetFirstBasicBlock(v.C); return } -func (v Value) LastBasicBlock() (bb BasicBlock) { bb.C = C.LLVMGetLastBasicBlock(v.C); return } -func NextBasicBlock(bb BasicBlock) (rbb BasicBlock) { rbb.C = C.LLVMGetNextBasicBlock(bb.C); return } -func PrevBasicBlock(bb BasicBlock) (rbb BasicBlock) { rbb.C = C.LLVMGetPreviousBasicBlock(bb.C); return } -func (v Value) EntryBasicBlock() (bb BasicBlock) { bb.C = C.LLVMGetEntryBasicBlock(v.C); return } -func (c Context) AddBasicBlock(f Value, name string) (bb BasicBlock) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - bb.C = C.LLVMAppendBasicBlockInContext(c.C, f.C, cname) - return -} -func (c Context) InsertBasicBlock(ref BasicBlock, name string) (bb BasicBlock) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - bb.C = C.LLVMInsertBasicBlockInContext(c.C, ref.C, cname) - return -} -func AddBasicBlock(f Value, name string) (bb BasicBlock) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - bb.C = C.LLVMAppendBasicBlock(f.C, cname) - return -} -func InsertBasicBlock(ref BasicBlock, name string) (bb BasicBlock) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - bb.C = C.LLVMInsertBasicBlock(ref.C, cname) - return -} -func (bb BasicBlock) EraseFromParent() { C.LLVMDeleteBasicBlock(bb.C) } -func (bb BasicBlock) MoveBefore(pos BasicBlock) { C.LLVMMoveBasicBlockBefore(bb.C, pos.C) } -func (bb BasicBlock) MoveAfter(pos BasicBlock) { C.LLVMMoveBasicBlockAfter(bb.C, pos.C) } - -// Operations on instructions -func (v Value) EraseFromParentAsInstruction() { C.LLVMInstructionEraseFromParent(v.C) } -func (v Value) RemoveFromParentAsInstruction() { C.LLVMInstructionRemoveFromParent(v.C) } -func (v Value) InstructionParent() (bb BasicBlock) { bb.C = C.LLVMGetInstructionParent(v.C); return } -func (v Value) InstructionDebugLoc() (md Metadata) { md.C = C.LLVMInstructionGetDebugLoc(v.C); return } -func (v Value) InstructionSetDebugLoc(md Metadata) { C.LLVMInstructionSetDebugLoc(v.C, md.C) } -func (bb BasicBlock) FirstInstruction() (v Value) { v.C = C.LLVMGetFirstInstruction(bb.C); return } -func (bb BasicBlock) LastInstruction() (v Value) { v.C = C.LLVMGetLastInstruction(bb.C); return } -func NextInstruction(v Value) (rv Value) { rv.C = C.LLVMGetNextInstruction(v.C); return } -func PrevInstruction(v Value) (rv Value) { rv.C = C.LLVMGetPreviousInstruction(v.C); return } - -// Operations on call sites -func (v Value) SetInstructionCallConv(cc CallConv) { - C.LLVMSetInstructionCallConv(v.C, C.unsigned(cc)) -} -func (v Value) InstructionCallConv() CallConv { - return CallConv(C.LLVMCallConv(C.LLVMGetInstructionCallConv(v.C))) -} -func (v Value) AddCallSiteAttribute(i int, a Attribute) { - C.LLVMAddCallSiteAttribute(v.C, C.LLVMAttributeIndex(i), a.C) -} -func (v Value) SetInstrParamAlignment(i int, align int) { - C.LLVMSetInstrParamAlignment(v.C, C.unsigned(i), C.unsigned(align)) -} -func (v Value) CalledValue() (rv Value) { - rv.C = C.LLVMGetCalledValue(v.C) - return -} - -// Operations on call instructions (only) -func (v Value) IsTailCall() bool { return C.LLVMIsTailCall(v.C) != 0 } -func (v Value) SetTailCall(is bool) { C.LLVMSetTailCall(v.C, boolToLLVMBool(is)) } - -// Operations on phi nodes -func (v Value) AddIncoming(vals []Value, blocks []BasicBlock) { - ptr, nvals := llvmValueRefs(vals) - C.LLVMAddIncoming(v.C, ptr, llvmBasicBlockRefPtr(&blocks[0]), nvals) -} -func (v Value) IncomingCount() int { return int(C.LLVMCountIncoming(v.C)) } -func (v Value) IncomingValue(i int) (rv Value) { - rv.C = C.LLVMGetIncomingValue(v.C, C.unsigned(i)) - return -} -func (v Value) IncomingBlock(i int) (bb BasicBlock) { - bb.C = C.LLVMGetIncomingBlock(v.C, C.unsigned(i)) - return -} - -// Operations on inline assembly -func InlineAsm(t Type, asmString, constraints string, hasSideEffects, isAlignStack bool, dialect InlineAsmDialect, canThrow bool) (rv Value) { - casm := C.CString(asmString) - defer C.free(unsafe.Pointer(casm)) - cconstraints := C.CString(constraints) - defer C.free(unsafe.Pointer(cconstraints)) - rv.C = C.LLVMGetInlineAsm(t.C, casm, C.size_t(len(asmString)), cconstraints, C.size_t(len(constraints)), boolToLLVMBool(hasSideEffects), boolToLLVMBool(isAlignStack), C.LLVMInlineAsmDialect(dialect), boolToLLVMBool(canThrow)) - return -} - -// Operations on aggregates -func (v Value) Indices() []uint32 { - num := C.LLVMGetNumIndices(v.C) - indicesPtr := C.LLVMGetIndices(v.C) - // https://github.com/golang/go/wiki/cgo#turning-c-arrays-into-go-slices - rawIndices := (*[1 << 20]C.uint)(unsafe.Pointer(indicesPtr))[:num:num] - indices := make([]uint32, num) - for i := range indices { - indices[i] = uint32(rawIndices[i]) - } - return indices -} - -// Operations on comparisons -func (v Value) IntPredicate() IntPredicate { return IntPredicate(C.LLVMGetICmpPredicate(v.C)) } -func (v Value) FloatPredicate() FloatPredicate { return FloatPredicate(C.LLVMGetFCmpPredicate(v.C)) } - -//------------------------------------------------------------------------- -// llvm.Builder -//------------------------------------------------------------------------- - -// An instruction builder represents a point within a basic block, and is the -// exclusive means of building instructions using the C interface. - -func (c Context) NewBuilder() (b Builder) { b.C = C.LLVMCreateBuilderInContext(c.C); return } -func NewBuilder() (b Builder) { b.C = C.LLVMCreateBuilder(); return } -func (b Builder) SetInsertPoint(block BasicBlock, instr Value) { - C.LLVMPositionBuilder(b.C, block.C, instr.C) -} -func (b Builder) SetInsertPointBefore(instr Value) { C.LLVMPositionBuilderBefore(b.C, instr.C) } -func (b Builder) SetInsertPointAtEnd(block BasicBlock) { C.LLVMPositionBuilderAtEnd(b.C, block.C) } -func (b Builder) GetInsertBlock() (bb BasicBlock) { bb.C = C.LLVMGetInsertBlock(b.C); return } -func (b Builder) ClearInsertionPoint() { C.LLVMClearInsertionPosition(b.C) } -func (b Builder) Insert(instr Value) { C.LLVMInsertIntoBuilder(b.C, instr.C) } -func (b Builder) InsertWithName(instr Value, name string) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - C.LLVMInsertIntoBuilderWithName(b.C, instr.C, cname) -} -func (b Builder) Dispose() { C.LLVMDisposeBuilder(b.C) } - -// Metadata -type DebugLoc struct { - Line, Col uint - Scope Metadata - InlinedAt Metadata -} - -func (b Builder) SetCurrentDebugLocation(line, col uint, scope, inlinedAt Metadata) { - C.LLVMGoSetCurrentDebugLocation(b.C, C.unsigned(line), C.unsigned(col), scope.C, inlinedAt.C) -} - -// Get current debug location. Please do not call this function until setting debug location with SetCurrentDebugLocation() -func (b Builder) GetCurrentDebugLocation() (loc DebugLoc) { - md := C.LLVMGoGetCurrentDebugLocation(b.C) - loc.Line = uint(md.Line) - loc.Col = uint(md.Col) - loc.Scope = Metadata{C: md.Scope} - loc.InlinedAt = Metadata{C: md.InlinedAt} - return -} -func (b Builder) SetInstDebugLocation(v Value) { C.LLVMSetInstDebugLocation(b.C, v.C) } -func (b Builder) InsertDeclare(module Module, storage Value, md Value) Value { - f := module.NamedFunction("llvm.dbg.declare") - if f.IsNil() { - ftyp := FunctionType(VoidType(), []Type{storage.Type(), md.Type()}, false) - f = AddFunction(module, "llvm.dbg.declare", ftyp) - } - return b.CreateCall(f, []Value{storage, md}, "") -} - -// Terminators -func (b Builder) CreateRetVoid() (rv Value) { rv.C = C.LLVMBuildRetVoid(b.C); return } -func (b Builder) CreateRet(v Value) (rv Value) { rv.C = C.LLVMBuildRet(b.C, v.C); return } -func (b Builder) CreateAggregateRet(vs []Value) (rv Value) { - ptr, nvals := llvmValueRefs(vs) - rv.C = C.LLVMBuildAggregateRet(b.C, ptr, nvals) - return -} -func (b Builder) CreateBr(bb BasicBlock) (rv Value) { rv.C = C.LLVMBuildBr(b.C, bb.C); return } -func (b Builder) CreateCondBr(ifv Value, thenb, elseb BasicBlock) (rv Value) { - rv.C = C.LLVMBuildCondBr(b.C, ifv.C, thenb.C, elseb.C) - return -} -func (b Builder) CreateSwitch(v Value, elseb BasicBlock, numCases int) (rv Value) { - rv.C = C.LLVMBuildSwitch(b.C, v.C, elseb.C, C.unsigned(numCases)) - return -} -func (b Builder) CreateIndirectBr(addr Value, numDests int) (rv Value) { - rv.C = C.LLVMBuildIndirectBr(b.C, addr.C, C.unsigned(numDests)) - return -} -func (b Builder) CreateInvoke(fn Value, args []Value, then, catch BasicBlock, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - ptr, nvals := llvmValueRefs(args) - rv.C = C.LLVMBuildInvoke(b.C, fn.C, ptr, nvals, then.C, catch.C, cname) - return -} -func (b Builder) CreateUnreachable() (rv Value) { rv.C = C.LLVMBuildUnreachable(b.C); return } - -// Add a case to the switch instruction -func (v Value) AddCase(on Value, dest BasicBlock) { C.LLVMAddCase(v.C, on.C, dest.C) } - -// Add a destination to the indirectbr instruction -func (v Value) AddDest(dest BasicBlock) { C.LLVMAddDestination(v.C, dest.C) } - -// Arithmetic -func (b Builder) CreateAdd(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildAdd(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNSWAdd(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNSWAdd(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNUWAdd(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNUWAdd(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFAdd(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFAdd(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateSub(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSub(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNSWSub(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNSWSub(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNUWSub(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNUWSub(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFSub(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - v.C = C.LLVMBuildFSub(b.C, lhs.C, rhs.C, cname) - C.free(unsafe.Pointer(cname)) - return -} -func (b Builder) CreateMul(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildMul(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNSWMul(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNSWMul(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNUWMul(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildNUWMul(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFMul(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFMul(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateUDiv(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildUDiv(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateSDiv(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSDiv(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateExactSDiv(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildExactSDiv(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFDiv(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFDiv(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateURem(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildURem(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateSRem(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSRem(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFRem(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFRem(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateShl(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildShl(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateLShr(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildLShr(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateAShr(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildAShr(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateAnd(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildAnd(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateOr(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildOr(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateXor(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildXor(b.C, lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateBinOp(op Opcode, lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildBinOp(b.C, C.LLVMOpcode(op), lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateNeg(v Value, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - rv.C = C.LLVMBuildNeg(b.C, v.C, cname) - return -} -func (b Builder) CreateNSWNeg(v Value, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - rv.C = C.LLVMBuildNSWNeg(b.C, v.C, cname) - return -} -func (b Builder) CreateNUWNeg(v Value, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - rv.C = C.LLVMBuildNUWNeg(b.C, v.C, cname) - return -} -func (b Builder) CreateFNeg(v Value, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - rv.C = C.LLVMBuildFNeg(b.C, v.C, cname) - return -} -func (b Builder) CreateNot(v Value, name string) (rv Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - rv.C = C.LLVMBuildNot(b.C, v.C, cname) - return -} - -// Memory - -func (b Builder) CreateMalloc(t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildMalloc(b.C, t.C, cname) - return -} -func (b Builder) CreateArrayMalloc(t Type, val Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildArrayMalloc(b.C, t.C, val.C, cname) - return -} -func (b Builder) CreateAlloca(t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildAlloca(b.C, t.C, cname) - return -} -func (b Builder) CreateArrayAlloca(t Type, val Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildArrayAlloca(b.C, t.C, val.C, cname) - return -} -func (b Builder) CreateFree(p Value) (v Value) { - v.C = C.LLVMBuildFree(b.C, p.C) - return -} -func (b Builder) CreateLoad(p Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildLoad(b.C, p.C, cname) - return -} -func (b Builder) CreateStore(val Value, p Value) (v Value) { - v.C = C.LLVMBuildStore(b.C, val.C, p.C) - return -} -func (b Builder) CreateGEP(p Value, indices []Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - ptr, nvals := llvmValueRefs(indices) - v.C = C.LLVMBuildGEP(b.C, p.C, ptr, nvals, cname) - return -} -func (b Builder) CreateInBoundsGEP(p Value, indices []Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - ptr, nvals := llvmValueRefs(indices) - v.C = C.LLVMBuildInBoundsGEP(b.C, p.C, ptr, nvals, cname) - return -} -func (b Builder) CreateStructGEP(p Value, i int, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildStructGEP(b.C, p.C, C.unsigned(i), cname) - return -} -func (b Builder) CreateGlobalString(str, name string) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildGlobalString(b.C, cstr, cname) - return -} -func (b Builder) CreateGlobalStringPtr(str, name string) (v Value) { - cstr := C.CString(str) - defer C.free(unsafe.Pointer(cstr)) - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildGlobalStringPtr(b.C, cstr, cname) - return -} -func (b Builder) CreateAtomicRMW(op AtomicRMWBinOp, ptr, val Value, ordering AtomicOrdering, singleThread bool) (v Value) { - v.C = C.LLVMBuildAtomicRMW(b.C, C.LLVMAtomicRMWBinOp(op), ptr.C, val.C, C.LLVMAtomicOrdering(ordering), boolToLLVMBool(singleThread)) - return -} -func (b Builder) CreateAtomicCmpXchg(ptr, cmp, newVal Value, successOrdering, failureOrdering AtomicOrdering, singleThread bool) (v Value) { - v.C = C.LLVMBuildAtomicCmpXchg(b.C, ptr.C, cmp.C, newVal.C, C.LLVMAtomicOrdering(successOrdering), C.LLVMAtomicOrdering(failureOrdering), boolToLLVMBool(singleThread)) - return -} - -// Casts -func (b Builder) CreateTrunc(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildTrunc(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateZExt(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildZExt(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateSExt(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSExt(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateFPToUI(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFPToUI(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateFPToSI(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFPToSI(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateUIToFP(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildUIToFP(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateSIToFP(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSIToFP(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateFPTrunc(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFPTrunc(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateFPExt(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFPExt(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreatePtrToInt(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildPtrToInt(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateIntToPtr(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildIntToPtr(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateBitCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildBitCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateZExtOrBitCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildZExtOrBitCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateSExtOrBitCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSExtOrBitCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateTruncOrBitCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildTruncOrBitCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateCast(val Value, op Opcode, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildCast(b.C, C.LLVMOpcode(op), val.C, t.C, cname) - return -} // -func (b Builder) CreatePointerCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildPointerCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateIntCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildIntCast(b.C, val.C, t.C, cname) - return -} -func (b Builder) CreateFPCast(val Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFPCast(b.C, val.C, t.C, cname) - return -} - -// Comparisons -func (b Builder) CreateICmp(pred IntPredicate, lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildICmp(b.C, C.LLVMIntPredicate(pred), lhs.C, rhs.C, cname) - return -} -func (b Builder) CreateFCmp(pred FloatPredicate, lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildFCmp(b.C, C.LLVMRealPredicate(pred), lhs.C, rhs.C, cname) - return -} - -// Miscellaneous instructions -func (b Builder) CreatePHI(t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildPhi(b.C, t.C, cname) - return -} -func (b Builder) CreateCall(fn Value, args []Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - ptr, nvals := llvmValueRefs(args) - v.C = C.LLVMBuildCall(b.C, fn.C, ptr, nvals, cname) - return -} - -func (b Builder) CreateSelect(ifv, thenv, elsev Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildSelect(b.C, ifv.C, thenv.C, elsev.C, cname) - return -} - -func (b Builder) CreateVAArg(list Value, t Type, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildVAArg(b.C, list.C, t.C, cname) - return -} -func (b Builder) CreateExtractElement(vec, i Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildExtractElement(b.C, vec.C, i.C, cname) - return -} -func (b Builder) CreateInsertElement(vec, elt, i Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildInsertElement(b.C, vec.C, elt.C, i.C, cname) - return -} -func (b Builder) CreateShuffleVector(v1, v2, mask Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildShuffleVector(b.C, v1.C, v2.C, mask.C, cname) - return -} -func (b Builder) CreateExtractValue(agg Value, i int, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildExtractValue(b.C, agg.C, C.unsigned(i), cname) - return -} -func (b Builder) CreateInsertValue(agg, elt Value, i int, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildInsertValue(b.C, agg.C, elt.C, C.unsigned(i), cname) - return -} - -func (b Builder) CreateIsNull(val Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildIsNull(b.C, val.C, cname) - return -} -func (b Builder) CreateIsNotNull(val Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildIsNotNull(b.C, val.C, cname) - return -} -func (b Builder) CreatePtrDiff(lhs, rhs Value, name string) (v Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - v.C = C.LLVMBuildPtrDiff(b.C, lhs.C, rhs.C, cname) - return -} - -func (b Builder) CreateLandingPad(t Type, nclauses int, name string) (l Value) { - cname := C.CString(name) - defer C.free(unsafe.Pointer(cname)) - l.C = C.LLVMBuildLandingPad(b.C, t.C, nil, C.unsigned(nclauses), cname) - return l -} - -func (l Value) AddClause(v Value) { - C.LLVMAddClause(l.C, v.C) -} - -func (l Value) SetCleanup(cleanup bool) { - C.LLVMSetCleanup(l.C, boolToLLVMBool(cleanup)) -} - -func (b Builder) CreateResume(ex Value) (v Value) { - v.C = C.LLVMBuildResume(b.C, ex.C) - return -} - -//------------------------------------------------------------------------- -// llvm.ModuleProvider -//------------------------------------------------------------------------- - -// Changes the type of M so it can be passed to FunctionPassManagers and the -// JIT. They take ModuleProviders for historical reasons. -func NewModuleProviderForModule(m Module) (mp ModuleProvider) { - mp.C = C.LLVMCreateModuleProviderForExistingModule(m.C) - return -} - -// Destroys the module M. -func (mp ModuleProvider) Dispose() { C.LLVMDisposeModuleProvider(mp.C) } - -//------------------------------------------------------------------------- -// llvm.MemoryBuffer -//------------------------------------------------------------------------- - -func NewMemoryBufferFromFile(path string) (b MemoryBuffer, err error) { - var cmsg *C.char - cpath := C.CString(path) - defer C.free(unsafe.Pointer(cpath)) - fail := C.LLVMCreateMemoryBufferWithContentsOfFile(cpath, &b.C, &cmsg) - if fail != 0 { - b.C = nil - err = errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - } - return -} - -func NewMemoryBufferFromStdin() (b MemoryBuffer, err error) { - var cmsg *C.char - fail := C.LLVMCreateMemoryBufferWithSTDIN(&b.C, &cmsg) - if fail != 0 { - b.C = nil - err = errors.New(C.GoString(cmsg)) - C.LLVMDisposeMessage(cmsg) - } - return -} - -func (b MemoryBuffer) Bytes() []byte { - cstart := C.LLVMGetBufferStart(b.C) - csize := C.LLVMGetBufferSize(b.C) - return C.GoBytes(unsafe.Pointer(cstart), C.int(csize)) -} - -func (b MemoryBuffer) Dispose() { C.LLVMDisposeMemoryBuffer(b.C) } - -//------------------------------------------------------------------------- -// llvm.PassManager -//------------------------------------------------------------------------- - -// Constructs a new whole-module pass pipeline. This type of pipeline is -// suitable for link-time optimization and whole-module transformations. -// See llvm::PassManager::PassManager. -func NewPassManager() (pm PassManager) { pm.C = C.LLVMCreatePassManager(); return } - -// Constructs a new function-by-function pass pipeline over the module -// provider. It does not take ownership of the module provider. This type of -// pipeline is suitable for code generation and JIT compilation tasks. -// See llvm::FunctionPassManager::FunctionPassManager. -func NewFunctionPassManagerForModule(m Module) (pm PassManager) { - pm.C = C.LLVMCreateFunctionPassManagerForModule(m.C) - return -} - -// Initializes, executes on the provided module, and finalizes all of the -// passes scheduled in the pass manager. Returns 1 if any of the passes -// modified the module, 0 otherwise. See llvm::PassManager::run(Module&). -func (pm PassManager) Run(m Module) bool { return C.LLVMRunPassManager(pm.C, m.C) != 0 } - -// Initializes all of the function passes scheduled in the function pass -// manager. Returns 1 if any of the passes modified the module, 0 otherwise. -// See llvm::FunctionPassManager::doInitialization. -func (pm PassManager) InitializeFunc() bool { return C.LLVMInitializeFunctionPassManager(pm.C) != 0 } - -// Executes all of the function passes scheduled in the function pass manager -// on the provided function. Returns 1 if any of the passes modified the -// function, false otherwise. -// See llvm::FunctionPassManager::run(Function&). -func (pm PassManager) RunFunc(f Value) bool { return C.LLVMRunFunctionPassManager(pm.C, f.C) != 0 } - -// Finalizes all of the function passes scheduled in the function pass -// manager. Returns 1 if any of the passes modified the module, 0 otherwise. -// See llvm::FunctionPassManager::doFinalization. -func (pm PassManager) FinalizeFunc() bool { return C.LLVMFinalizeFunctionPassManager(pm.C) != 0 } - -// Frees the memory of a pass pipeline. For function pipelines, does not free -// the module provider. -// See llvm::PassManagerBase::~PassManagerBase. -func (pm PassManager) Dispose() { C.LLVMDisposePassManager(pm.C) } diff --git a/gnu/llvm/llvm/bindings/go/llvm/ir_test.go b/gnu/llvm/llvm/bindings/go/llvm/ir_test.go deleted file mode 100644 index 71c47d94a0e..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/ir_test.go +++ /dev/null @@ -1,164 +0,0 @@ -//===- ir_test.go - Tests for ir ------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file tests bindings for the ir component. -// -//===----------------------------------------------------------------------===// - -package llvm - -import ( - "strings" - "testing" -) - -func testAttribute(t *testing.T, name string) { - mod := NewModule("") - defer mod.Dispose() - - ftyp := FunctionType(VoidType(), nil, false) - fn := AddFunction(mod, "foo", ftyp) - - kind := AttributeKindID(name) - attr := mod.Context().CreateEnumAttribute(kind, 0) - - fn.AddFunctionAttr(attr) - newattr := fn.GetEnumFunctionAttribute(kind) - if attr != newattr { - t.Errorf("got attribute %p, want %p", newattr.C, attr.C) - } - - text := mod.String() - if !strings.Contains(text, " "+name+" ") { - t.Errorf("expected attribute '%s', got:\n%s", name, text) - } - - fn.RemoveEnumFunctionAttribute(kind) - newattr = fn.GetEnumFunctionAttribute(kind) - if !newattr.IsNil() { - t.Errorf("got attribute %p, want 0", newattr.C) - } -} - -func TestAttributes(t *testing.T) { - // Tests that our attribute constants haven't drifted from LLVM's. - attrTests := []string{ - "sanitize_address", - "alwaysinline", - "builtin", - "convergent", - "inlinehint", - "inreg", - "jumptable", - "minsize", - "naked", - "nest", - "noalias", - "nobuiltin", - "nocapture", - "noduplicate", - "noimplicitfloat", - "noinline", - "nonlazybind", - "nonnull", - "noredzone", - "noreturn", - "nounwind", - "nosanitize_coverage", - "optnone", - "optsize", - "readnone", - "readonly", - "returned", - "returns_twice", - "signext", - "safestack", - "ssp", - "sspreq", - "sspstrong", - "sanitize_thread", - "sanitize_memory", - "uwtable", - "zeroext", - "cold", - "nocf_check", - } - - for _, name := range attrTests { - testAttribute(t, name) - } -} - -func TestDebugLoc(t *testing.T) { - mod := NewModule("") - defer mod.Dispose() - - ctx := mod.Context() - - b := ctx.NewBuilder() - defer b.Dispose() - - d := NewDIBuilder(mod) - defer func() { - d.Destroy() - }() - file := d.CreateFile("dummy_file", "dummy_dir") - voidInfo := d.CreateBasicType(DIBasicType{Name: "void"}) - typeInfo := d.CreateSubroutineType(DISubroutineType{ - File: file, - Parameters: []Metadata{voidInfo}, - Flags: 0, - }) - scope := d.CreateFunction(file, DIFunction{ - Name: "foo", - LinkageName: "foo", - Line: 10, - ScopeLine: 10, - Type: typeInfo, - File: file, - IsDefinition: true, - }) - - b.SetCurrentDebugLocation(10, 20, scope, Metadata{}) - loc := b.GetCurrentDebugLocation() - if loc.Line != 10 { - t.Errorf("Got line %d, though wanted 10", loc.Line) - } - if loc.Col != 20 { - t.Errorf("Got column %d, though wanted 20", loc.Col) - } - if loc.Scope.C != scope.C { - t.Errorf("Got metadata %v as scope, though wanted %v", loc.Scope.C, scope.C) - } -} - -func TestSubtypes(t *testing.T) { - cont := NewContext() - defer cont.Dispose() - - int_pointer := PointerType(cont.Int32Type(), 0) - int_inner := int_pointer.Subtypes() - if len(int_inner) != 1 { - t.Errorf("Got size %d, though wanted 1", len(int_inner)) - } - if int_inner[0] != cont.Int32Type() { - t.Errorf("Expected int32 type") - } - - st_pointer := cont.StructType([]Type{cont.Int32Type(), cont.Int8Type()}, false) - st_inner := st_pointer.Subtypes() - if len(st_inner) != 2 { - t.Errorf("Got size %d, though wanted 2", len(int_inner)) - } - if st_inner[0] != cont.Int32Type() { - t.Errorf("Expected first struct field to be int32") - } - if st_inner[1] != cont.Int8Type() { - t.Errorf("Expected second struct field to be int8") - } -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/linker.go b/gnu/llvm/llvm/bindings/go/llvm/linker.go deleted file mode 100644 index 8e2e953fd46..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/linker.go +++ /dev/null @@ -1,30 +0,0 @@ -//===- linker.go - Bindings for linker ------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the linker component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Core.h" -#include "llvm-c/Linker.h" -#include -*/ -import "C" -import "errors" - -func LinkModules(Dest, Src Module) error { - failed := C.LLVMLinkModules2(Dest.C, Src.C) - if failed != 0 { - err := errors.New("Linking failed") - return err - } - return nil -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/llvm_config.go.in b/gnu/llvm/llvm/bindings/go/llvm/llvm_config.go.in deleted file mode 100644 index 4c63ed10cfb..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/llvm_config.go.in +++ /dev/null @@ -1,12 +0,0 @@ -// +build !byollvm - -package llvm - -/* -#cgo CXXFLAGS: -std=c++14 -#cgo CPPFLAGS: @LLVM_CFLAGS@ -#cgo LDFLAGS: @LLVM_LDFLAGS@ -*/ -import "C" - -type (run_build_sh int) diff --git a/gnu/llvm/llvm/bindings/go/llvm/llvm_dep.go b/gnu/llvm/llvm/bindings/go/llvm/llvm_dep.go deleted file mode 100644 index 9484e6ddf87..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/llvm_dep.go +++ /dev/null @@ -1,18 +0,0 @@ -//===- llvm_dep.go - creates LLVM dependency ------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file ensures that the LLVM libraries are built before using the -// bindings. -// -//===----------------------------------------------------------------------===// - -// +build !byollvm - -package llvm - -var _ run_build_sh diff --git a/gnu/llvm/llvm/bindings/go/llvm/string.go b/gnu/llvm/llvm/bindings/go/llvm/string.go deleted file mode 100644 index 7c8bf8da5b3..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/string.go +++ /dev/null @@ -1,106 +0,0 @@ -//===- string.go - Stringer implementation for Type -----------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file implements the Stringer interface for the Type type. -// -//===----------------------------------------------------------------------===// - -package llvm - -import "fmt" - -func (t TypeKind) String() string { - switch t { - case VoidTypeKind: - return "VoidTypeKind" - case FloatTypeKind: - return "FloatTypeKind" - case DoubleTypeKind: - return "DoubleTypeKind" - case X86_FP80TypeKind: - return "X86_FP80TypeKind" - case FP128TypeKind: - return "FP128TypeKind" - case PPC_FP128TypeKind: - return "PPC_FP128TypeKind" - case LabelTypeKind: - return "LabelTypeKind" - case IntegerTypeKind: - return "IntegerTypeKind" - case FunctionTypeKind: - return "FunctionTypeKind" - case StructTypeKind: - return "StructTypeKind" - case ArrayTypeKind: - return "ArrayTypeKind" - case PointerTypeKind: - return "PointerTypeKind" - case MetadataTypeKind: - return "MetadataTypeKind" - case VectorTypeKind: - return "VectorTypeKind" - case ScalableVectorTypeKind: - return "ScalableVectorTypeKind" - } - panic("unreachable") -} - -func (t Type) String() string { - ts := typeStringer{s: make(map[Type]string)} - return ts.typeString(t) -} - -type typeStringer struct { - s map[Type]string -} - -func (ts *typeStringer) typeString(t Type) string { - if s, ok := ts.s[t]; ok { - return s - } - - k := t.TypeKind() - s := k.String() - s = s[:len(s)-len("Kind")] - - switch k { - case ArrayTypeKind: - s += fmt.Sprintf("(%v[%v])", ts.typeString(t.ElementType()), t.ArrayLength()) - case PointerTypeKind: - s += fmt.Sprintf("(%v)", ts.typeString(t.ElementType())) - case FunctionTypeKind: - params := t.ParamTypes() - s += "(" - if len(params) > 0 { - s += fmt.Sprintf("%v", ts.typeString(params[0])) - for i := 1; i < len(params); i++ { - s += fmt.Sprintf(", %v", ts.typeString(params[i])) - } - } - s += fmt.Sprintf("):%v", ts.typeString(t.ReturnType())) - case StructTypeKind: - if name := t.StructName(); name != "" { - ts.s[t] = "%" + name - s = fmt.Sprintf("%%%s: %s", name, s) - } - etypes := t.StructElementTypes() - s += "(" - if n := len(etypes); n > 0 { - s += ts.typeString(etypes[0]) - for i := 1; i < n; i++ { - s += fmt.Sprintf(", %v", ts.typeString(etypes[i])) - } - } - s += ")" - case IntegerTypeKind: - s += fmt.Sprintf("(%d bits)", t.IntTypeWidth()) - } - - ts.s[t] = s - return s -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/string_test.go b/gnu/llvm/llvm/bindings/go/llvm/string_test.go deleted file mode 100644 index 56cbc9f3e7f..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/string_test.go +++ /dev/null @@ -1,27 +0,0 @@ -//===- string_test.go - test Stringer implementation for Type -------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file tests the Stringer interface for the Type type. -// -//===----------------------------------------------------------------------===// - -package llvm - -import ( - "testing" -) - -func TestStringRecursiveType(t *testing.T) { - ctx := NewContext() - defer ctx.Dispose() - s := ctx.StructCreateNamed("recursive") - s.StructSetBody([]Type{s, s}, false) - if str := s.String(); str != "%recursive: StructType(%recursive, %recursive)" { - t.Errorf("incorrect string result %q", str) - } -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/support.go b/gnu/llvm/llvm/bindings/go/llvm/support.go deleted file mode 100644 index 8a663fee502..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/support.go +++ /dev/null @@ -1,53 +0,0 @@ -//===- support.go - Bindings for support ----------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the support component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Support.h" -#include "SupportBindings.h" -#include -*/ -import "C" - -import ( - "errors" - "unsafe" -) - -// Loads a dynamic library such that it may be used as an LLVM plugin. -// See llvm::sys::DynamicLibrary::LoadLibraryPermanently. -func LoadLibraryPermanently(lib string) error { - var errstr *C.char - libstr := C.CString(lib) - defer C.free(unsafe.Pointer(libstr)) - C.LLVMLoadLibraryPermanently2(libstr, &errstr) - if errstr != nil { - err := errors.New(C.GoString(errstr)) - C.free(unsafe.Pointer(errstr)) - return err - } - return nil -} - -// Parse the given arguments using the LLVM command line parser. -// See llvm::cl::ParseCommandLineOptions. -func ParseCommandLineOptions(args []string, overview string) { - argstrs := make([]*C.char, len(args)) - for i, arg := range args { - argstrs[i] = C.CString(arg) - defer C.free(unsafe.Pointer(argstrs[i])) - } - overviewstr := C.CString(overview) - defer C.free(unsafe.Pointer(overviewstr)) - C.LLVMParseCommandLineOptions(C.int(len(args)), &argstrs[0], overviewstr) -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/target.go b/gnu/llvm/llvm/bindings/go/llvm/target.go deleted file mode 100644 index cdd0fa30c3f..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/target.go +++ /dev/null @@ -1,296 +0,0 @@ -//===- target.go - Bindings for target ------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the target component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Core.h" -#include "llvm-c/Target.h" -#include "llvm-c/TargetMachine.h" -#include -*/ -import "C" -import "unsafe" -import "errors" - -type ( - TargetData struct { - C C.LLVMTargetDataRef - } - Target struct { - C C.LLVMTargetRef - } - TargetMachine struct { - C C.LLVMTargetMachineRef - } - ByteOrdering C.enum_LLVMByteOrdering - RelocMode C.LLVMRelocMode - CodeGenOptLevel C.LLVMCodeGenOptLevel - CodeGenFileType C.LLVMCodeGenFileType - CodeModel C.LLVMCodeModel -) - -const ( - BigEndian ByteOrdering = C.LLVMBigEndian - LittleEndian ByteOrdering = C.LLVMLittleEndian -) - -const ( - RelocDefault RelocMode = C.LLVMRelocDefault - RelocStatic RelocMode = C.LLVMRelocStatic - RelocPIC RelocMode = C.LLVMRelocPIC - RelocDynamicNoPic RelocMode = C.LLVMRelocDynamicNoPic -) - -const ( - CodeGenLevelNone CodeGenOptLevel = C.LLVMCodeGenLevelNone - CodeGenLevelLess CodeGenOptLevel = C.LLVMCodeGenLevelLess - CodeGenLevelDefault CodeGenOptLevel = C.LLVMCodeGenLevelDefault - CodeGenLevelAggressive CodeGenOptLevel = C.LLVMCodeGenLevelAggressive -) - -const ( - CodeModelDefault CodeModel = C.LLVMCodeModelDefault - CodeModelJITDefault CodeModel = C.LLVMCodeModelJITDefault - CodeModelTiny CodeModel = C.LLVMCodeModelTiny - CodeModelSmall CodeModel = C.LLVMCodeModelSmall - CodeModelKernel CodeModel = C.LLVMCodeModelKernel - CodeModelMedium CodeModel = C.LLVMCodeModelMedium - CodeModelLarge CodeModel = C.LLVMCodeModelLarge -) - -const ( - AssemblyFile CodeGenFileType = C.LLVMAssemblyFile - ObjectFile CodeGenFileType = C.LLVMObjectFile -) - -// InitializeAllTargetInfos - The main program should call this function if it -// wants access to all available targets that LLVM is configured to support. -func InitializeAllTargetInfos() { C.LLVMInitializeAllTargetInfos() } - -// InitializeAllTargets - The main program should call this function if it wants -// to link in all available targets that LLVM is configured to support. -func InitializeAllTargets() { C.LLVMInitializeAllTargets() } - -func InitializeAllTargetMCs() { C.LLVMInitializeAllTargetMCs() } - -func InitializeAllAsmParsers() { C.LLVMInitializeAllAsmParsers() } - -func InitializeAllAsmPrinters() { C.LLVMInitializeAllAsmPrinters() } - -var initializeNativeTargetError = errors.New("Failed to initialize native target") - -// InitializeNativeTarget - The main program should call this function to -// initialize the native target corresponding to the host. This is useful -// for JIT applications to ensure that the target gets linked in correctly. -func InitializeNativeTarget() error { - fail := C.LLVMInitializeNativeTarget() - if fail != 0 { - return initializeNativeTargetError - } - return nil -} - -func InitializeNativeAsmPrinter() error { - fail := C.LLVMInitializeNativeAsmPrinter() - if fail != 0 { - return initializeNativeTargetError - } - return nil -} - -//------------------------------------------------------------------------- -// llvm.TargetData -//------------------------------------------------------------------------- - -// Creates target data from a target layout string. -// See the constructor llvm::TargetData::TargetData. -func NewTargetData(rep string) (td TargetData) { - crep := C.CString(rep) - defer C.free(unsafe.Pointer(crep)) - td.C = C.LLVMCreateTargetData(crep) - return -} - -// Converts target data to a target layout string. The string must be disposed -// with LLVMDisposeMessage. -// See the constructor llvm::TargetData::TargetData. -func (td TargetData) String() (s string) { - cmsg := C.LLVMCopyStringRepOfTargetData(td.C) - s = C.GoString(cmsg) - C.LLVMDisposeMessage(cmsg) - return -} - -// Returns the byte order of a target, either BigEndian or LittleEndian. -// See the method llvm::TargetData::isLittleEndian. -func (td TargetData) ByteOrder() ByteOrdering { return ByteOrdering(C.LLVMByteOrder(td.C)) } - -// Returns the pointer size in bytes for a target. -// See the method llvm::TargetData::getPointerSize. -func (td TargetData) PointerSize() int { return int(C.LLVMPointerSize(td.C)) } - -// Returns the integer type that is the same size as a pointer on a target. -// See the method llvm::TargetData::getIntPtrType. -func (td TargetData) IntPtrType() (t Type) { t.C = C.LLVMIntPtrType(td.C); return } - -// Computes the size of a type in bytes for a target. -// See the method llvm::TargetData::getTypeSizeInBits. -func (td TargetData) TypeSizeInBits(t Type) uint64 { - return uint64(C.LLVMSizeOfTypeInBits(td.C, t.C)) -} - -// Computes the storage size of a type in bytes for a target. -// See the method llvm::TargetData::getTypeStoreSize. -func (td TargetData) TypeStoreSize(t Type) uint64 { - return uint64(C.LLVMStoreSizeOfType(td.C, t.C)) -} - -// Computes the ABI size of a type in bytes for a target. -// See the method llvm::TargetData::getTypeAllocSize. -func (td TargetData) TypeAllocSize(t Type) uint64 { - return uint64(C.LLVMABISizeOfType(td.C, t.C)) -} - -// Computes the ABI alignment of a type in bytes for a target. -// See the method llvm::TargetData::getABITypeAlignment. -func (td TargetData) ABITypeAlignment(t Type) int { - return int(C.LLVMABIAlignmentOfType(td.C, t.C)) -} - -// Computes the call frame alignment of a type in bytes for a target. -// See the method llvm::TargetData::getCallFrameTypeAlignment. -func (td TargetData) CallFrameTypeAlignment(t Type) int { - return int(C.LLVMCallFrameAlignmentOfType(td.C, t.C)) -} - -// Computes the preferred alignment of a type in bytes for a target. -// See the method llvm::TargetData::getPrefTypeAlignment. -func (td TargetData) PrefTypeAlignment(t Type) int { - return int(C.LLVMPreferredAlignmentOfType(td.C, t.C)) -} - -// Computes the preferred alignment of a global variable in bytes for a target. -// See the method llvm::TargetData::getPreferredAlignment. -func (td TargetData) PreferredAlignment(g Value) int { - return int(C.LLVMPreferredAlignmentOfGlobal(td.C, g.C)) -} - -// Computes the structure element that contains the byte offset for a target. -// See the method llvm::StructLayout::getElementContainingOffset. -func (td TargetData) ElementContainingOffset(t Type, offset uint64) int { - return int(C.LLVMElementAtOffset(td.C, t.C, C.ulonglong(offset))) -} - -// Computes the byte offset of the indexed struct element for a target. -// See the method llvm::StructLayout::getElementOffset. -func (td TargetData) ElementOffset(t Type, element int) uint64 { - return uint64(C.LLVMOffsetOfElement(td.C, t.C, C.unsigned(element))) -} - -// Deallocates a TargetData. -// See the destructor llvm::TargetData::~TargetData. -func (td TargetData) Dispose() { C.LLVMDisposeTargetData(td.C) } - -//------------------------------------------------------------------------- -// llvm.Target -//------------------------------------------------------------------------- - -func FirstTarget() Target { - return Target{C.LLVMGetFirstTarget()} -} - -func (t Target) NextTarget() Target { - return Target{C.LLVMGetNextTarget(t.C)} -} - -func GetTargetFromTriple(triple string) (t Target, err error) { - var errstr *C.char - ctriple := C.CString(triple) - defer C.free(unsafe.Pointer(ctriple)) - fail := C.LLVMGetTargetFromTriple(ctriple, &t.C, &errstr) - if fail != 0 { - err = errors.New(C.GoString(errstr)) - C.free(unsafe.Pointer(errstr)) - } - return -} - -func (t Target) Name() string { - return C.GoString(C.LLVMGetTargetName(t.C)) -} - -func (t Target) Description() string { - return C.GoString(C.LLVMGetTargetDescription(t.C)) -} - -//------------------------------------------------------------------------- -// llvm.TargetMachine -//------------------------------------------------------------------------- - -// CreateTargetMachine creates a new TargetMachine. -func (t Target) CreateTargetMachine(Triple string, CPU string, Features string, - Level CodeGenOptLevel, Reloc RelocMode, - CodeModel CodeModel) (tm TargetMachine) { - cTriple := C.CString(Triple) - defer C.free(unsafe.Pointer(cTriple)) - cCPU := C.CString(CPU) - defer C.free(unsafe.Pointer(cCPU)) - cFeatures := C.CString(Features) - defer C.free(unsafe.Pointer(cFeatures)) - tm.C = C.LLVMCreateTargetMachine(t.C, cTriple, cCPU, cFeatures, - C.LLVMCodeGenOptLevel(Level), - C.LLVMRelocMode(Reloc), - C.LLVMCodeModel(CodeModel)) - return -} - -// CreateTargetData returns a new TargetData describing the TargetMachine's -// data layout. The returned TargetData is owned by the caller, who is -// responsible for disposing of it by calling the TargetData.Dispose method. -func (tm TargetMachine) CreateTargetData() TargetData { - return TargetData{C.LLVMCreateTargetDataLayout(tm.C)} -} - -// Triple returns the triple describing the machine (arch-vendor-os). -func (tm TargetMachine) Triple() string { - cstr := C.LLVMGetTargetMachineTriple(tm.C) - return C.GoString(cstr) -} - -func (tm TargetMachine) EmitToMemoryBuffer(m Module, ft CodeGenFileType) (MemoryBuffer, error) { - var errstr *C.char - var mb MemoryBuffer - fail := C.LLVMTargetMachineEmitToMemoryBuffer(tm.C, m.C, C.LLVMCodeGenFileType(ft), &errstr, &mb.C) - if fail != 0 { - err := errors.New(C.GoString(errstr)) - C.free(unsafe.Pointer(errstr)) - return MemoryBuffer{}, err - } - return mb, nil -} - -func (tm TargetMachine) AddAnalysisPasses(pm PassManager) { - C.LLVMAddAnalysisPasses(tm.C, pm.C) -} - -// Dispose releases resources related to the TargetMachine. -func (tm TargetMachine) Dispose() { - C.LLVMDisposeTargetMachine(tm.C) -} - -func DefaultTargetTriple() (triple string) { - cTriple := C.LLVMGetDefaultTargetTriple() - defer C.free(unsafe.Pointer(cTriple)) - triple = C.GoString(cTriple) - return -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/transforms_coroutines.go b/gnu/llvm/llvm/bindings/go/llvm/transforms_coroutines.go deleted file mode 100644 index c18c3fe936c..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/transforms_coroutines.go +++ /dev/null @@ -1,23 +0,0 @@ -//===- transforms_coroutines.go - Bindings for coroutines -----------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the coroutines component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Transforms/Coroutines.h" -*/ -import "C" - -func (pm PassManager) AddCoroEarlyPass() { C.LLVMAddCoroEarlyPass(pm.C) } -func (pm PassManager) AddCoroSplitPass() { C.LLVMAddCoroSplitPass(pm.C) } -func (pm PassManager) AddCoroElidePass() { C.LLVMAddCoroElidePass(pm.C) } -func (pm PassManager) AddCoroCleanupPass() { C.LLVMAddCoroCleanupPass(pm.C) } diff --git a/gnu/llvm/llvm/bindings/go/llvm/transforms_instrumentation.go b/gnu/llvm/llvm/bindings/go/llvm/transforms_instrumentation.go deleted file mode 100644 index 68e0ed69679..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/transforms_instrumentation.go +++ /dev/null @@ -1,45 +0,0 @@ -//===- transforms_instrumentation.go - Bindings for instrumentation -------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the instrumentation component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "InstrumentationBindings.h" -#include -*/ -import "C" -import "unsafe" - -func (pm PassManager) AddAddressSanitizerFunctionPass() { - C.LLVMAddAddressSanitizerFunctionPass(pm.C) -} - -func (pm PassManager) AddAddressSanitizerModulePass() { - C.LLVMAddAddressSanitizerModulePass(pm.C) -} - -func (pm PassManager) AddThreadSanitizerPass() { - C.LLVMAddThreadSanitizerPass(pm.C) -} - -func (pm PassManager) AddMemorySanitizerLegacyPassPass() { - C.LLVMAddMemorySanitizerLegacyPassPass(pm.C) -} - -func (pm PassManager) AddDataFlowSanitizerPass(abilist []string) { - abiliststrs := make([]*C.char, len(abilist)) - for i, arg := range abilist { - abiliststrs[i] = C.CString(arg) - defer C.free(unsafe.Pointer(abiliststrs[i])) - } - C.LLVMAddDataFlowSanitizerPass(pm.C, C.int(len(abilist)), &abiliststrs[0]) -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/transforms_ipo.go b/gnu/llvm/llvm/bindings/go/llvm/transforms_ipo.go deleted file mode 100644 index 8a158f208be..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/transforms_ipo.go +++ /dev/null @@ -1,40 +0,0 @@ -//===- transforms_ipo.go - Bindings for ipo -------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the ipo component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Transforms/IPO.h" -*/ -import "C" - -// helpers -func boolToUnsigned(b bool) C.unsigned { - if b { - return 1 - } - return 0 -} - -func (pm PassManager) AddArgumentPromotionPass() { C.LLVMAddArgumentPromotionPass(pm.C) } -func (pm PassManager) AddConstantMergePass() { C.LLVMAddConstantMergePass(pm.C) } -func (pm PassManager) AddDeadArgEliminationPass() { C.LLVMAddDeadArgEliminationPass(pm.C) } -func (pm PassManager) AddFunctionAttrsPass() { C.LLVMAddFunctionAttrsPass(pm.C) } -func (pm PassManager) AddFunctionInliningPass() { C.LLVMAddFunctionInliningPass(pm.C) } -func (pm PassManager) AddGlobalDCEPass() { C.LLVMAddGlobalDCEPass(pm.C) } -func (pm PassManager) AddGlobalOptimizerPass() { C.LLVMAddGlobalOptimizerPass(pm.C) } -func (pm PassManager) AddPruneEHPass() { C.LLVMAddPruneEHPass(pm.C) } -func (pm PassManager) AddIPSCCPPass() { C.LLVMAddIPSCCPPass(pm.C) } -func (pm PassManager) AddInternalizePass(allButMain bool) { - C.LLVMAddInternalizePass(pm.C, boolToUnsigned(allButMain)) -} -func (pm PassManager) AddStripDeadPrototypesPass() { C.LLVMAddStripDeadPrototypesPass(pm.C) } diff --git a/gnu/llvm/llvm/bindings/go/llvm/transforms_pmbuilder.go b/gnu/llvm/llvm/bindings/go/llvm/transforms_pmbuilder.go deleted file mode 100644 index badd148c195..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/transforms_pmbuilder.go +++ /dev/null @@ -1,72 +0,0 @@ -//===- transforms_pmbuilder.go - Bindings for PassManagerBuilder ----------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the PassManagerBuilder class. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Transforms/PassManagerBuilder.h" -#include "llvm-c/Transforms/Coroutines.h" -*/ -import "C" - -type PassManagerBuilder struct { - C C.LLVMPassManagerBuilderRef -} - -func NewPassManagerBuilder() (pmb PassManagerBuilder) { - pmb.C = C.LLVMPassManagerBuilderCreate() - return -} - -func (pmb PassManagerBuilder) SetOptLevel(level int) { - C.LLVMPassManagerBuilderSetOptLevel(pmb.C, C.uint(level)) -} - -func (pmb PassManagerBuilder) SetSizeLevel(level int) { - C.LLVMPassManagerBuilderSetSizeLevel(pmb.C, C.uint(level)) -} - -func (pmb PassManagerBuilder) Populate(pm PassManager) { - C.LLVMPassManagerBuilderPopulateModulePassManager(pmb.C, pm.C) -} - -func (pmb PassManagerBuilder) PopulateFunc(pm PassManager) { - C.LLVMPassManagerBuilderPopulateFunctionPassManager(pmb.C, pm.C) -} - -func (pmb PassManagerBuilder) PopulateLTOPassManager(pm PassManager, internalize bool, runInliner bool) { - C.LLVMPassManagerBuilderPopulateLTOPassManager(pmb.C, pm.C, boolToLLVMBool(internalize), boolToLLVMBool(runInliner)) -} - -func (pmb PassManagerBuilder) Dispose() { - C.LLVMPassManagerBuilderDispose(pmb.C) -} - -func (pmb PassManagerBuilder) SetDisableUnitAtATime(val bool) { - C.LLVMPassManagerBuilderSetDisableUnitAtATime(pmb.C, boolToLLVMBool(val)) -} - -func (pmb PassManagerBuilder) SetDisableUnrollLoops(val bool) { - C.LLVMPassManagerBuilderSetDisableUnrollLoops(pmb.C, boolToLLVMBool(val)) -} - -func (pmb PassManagerBuilder) SetDisableSimplifyLibCalls(val bool) { - C.LLVMPassManagerBuilderSetDisableSimplifyLibCalls(pmb.C, boolToLLVMBool(val)) -} - -func (pmb PassManagerBuilder) UseInlinerWithThreshold(threshold uint) { - C.LLVMPassManagerBuilderUseInlinerWithThreshold(pmb.C, C.uint(threshold)) -} - -func (pmb PassManagerBuilder) AddCoroutinePassesToExtensionPoints() { - C.LLVMPassManagerBuilderAddCoroutinePassesToExtensionPoints(pmb.C); -} diff --git a/gnu/llvm/llvm/bindings/go/llvm/transforms_scalar.go b/gnu/llvm/llvm/bindings/go/llvm/transforms_scalar.go deleted file mode 100644 index d1b54bd2a19..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/transforms_scalar.go +++ /dev/null @@ -1,44 +0,0 @@ -//===- transforms_scalar.go - Bindings for scalaropts ---------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines bindings for the scalaropts component. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm-c/Transforms/Scalar.h" -#include "llvm-c/Transforms/Utils.h" -*/ -import "C" - -func (pm PassManager) AddAggressiveDCEPass() { C.LLVMAddAggressiveDCEPass(pm.C) } -func (pm PassManager) AddCFGSimplificationPass() { C.LLVMAddCFGSimplificationPass(pm.C) } -func (pm PassManager) AddDeadStoreEliminationPass() { C.LLVMAddDeadStoreEliminationPass(pm.C) } -func (pm PassManager) AddGVNPass() { C.LLVMAddGVNPass(pm.C) } -func (pm PassManager) AddIndVarSimplifyPass() { C.LLVMAddIndVarSimplifyPass(pm.C) } -func (pm PassManager) AddInstructionCombiningPass() { C.LLVMAddInstructionCombiningPass(pm.C) } -func (pm PassManager) AddJumpThreadingPass() { C.LLVMAddJumpThreadingPass(pm.C) } -func (pm PassManager) AddLICMPass() { C.LLVMAddLICMPass(pm.C) } -func (pm PassManager) AddLoopDeletionPass() { C.LLVMAddLoopDeletionPass(pm.C) } -func (pm PassManager) AddLoopRotatePass() { C.LLVMAddLoopRotatePass(pm.C) } -func (pm PassManager) AddLoopUnrollPass() { C.LLVMAddLoopUnrollPass(pm.C) } -func (pm PassManager) AddLoopUnswitchPass() { C.LLVMAddLoopUnswitchPass(pm.C) } -func (pm PassManager) AddMemCpyOptPass() { C.LLVMAddMemCpyOptPass(pm.C) } -func (pm PassManager) AddPromoteMemoryToRegisterPass() { C.LLVMAddPromoteMemoryToRegisterPass(pm.C) } -func (pm PassManager) AddReassociatePass() { C.LLVMAddReassociatePass(pm.C) } -func (pm PassManager) AddSCCPPass() { C.LLVMAddSCCPPass(pm.C) } -func (pm PassManager) AddScalarReplAggregatesPass() { C.LLVMAddScalarReplAggregatesPass(pm.C) } -func (pm PassManager) AddScalarReplAggregatesPassWithThreshold(threshold int) { - C.LLVMAddScalarReplAggregatesPassWithThreshold(pm.C, C.int(threshold)) -} -func (pm PassManager) AddSimplifyLibCallsPass() { C.LLVMAddSimplifyLibCallsPass(pm.C) } -func (pm PassManager) AddTailCallEliminationPass() { C.LLVMAddTailCallEliminationPass(pm.C) } -func (pm PassManager) AddDemoteMemoryToRegisterPass() { C.LLVMAddDemoteMemoryToRegisterPass(pm.C) } -func (pm PassManager) AddVerifierPass() { C.LLVMAddVerifierPass(pm.C) } diff --git a/gnu/llvm/llvm/bindings/go/llvm/version.go b/gnu/llvm/llvm/bindings/go/llvm/version.go deleted file mode 100644 index 1183fe431b9..00000000000 --- a/gnu/llvm/llvm/bindings/go/llvm/version.go +++ /dev/null @@ -1,20 +0,0 @@ -//===- version.go - LLVM version info -------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines LLVM version information. -// -//===----------------------------------------------------------------------===// - -package llvm - -/* -#include "llvm/Config/llvm-config.h" -*/ -import "C" - -const Version = C.LLVM_VERSION_STRING diff --git a/gnu/llvm/llvm/cmake/modules/AddLLVMDefinitions.cmake b/gnu/llvm/llvm/cmake/modules/AddLLVMDefinitions.cmake deleted file mode 100644 index dab16236d3e..00000000000 --- a/gnu/llvm/llvm/cmake/modules/AddLLVMDefinitions.cmake +++ /dev/null @@ -1,17 +0,0 @@ -# There is no clear way of keeping track of compiler command-line -# options chosen via `add_definitions', so we need our own method for -# using it on tools/llvm-config/CMakeLists.txt. - -# Beware that there is no implementation of remove_llvm_definitions. - -macro(add_llvm_definitions) - # We don't want no semicolons on LLVM_DEFINITIONS: - foreach(arg ${ARGN}) - if(DEFINED LLVM_DEFINITIONS) - set(LLVM_DEFINITIONS "${LLVM_DEFINITIONS} ${arg}") - else() - set(LLVM_DEFINITIONS ${arg}) - endif() - endforeach(arg) - add_definitions( ${ARGN} ) -endmacro(add_llvm_definitions) diff --git a/gnu/llvm/llvm/cmake/modules/FindGRPC.cmake b/gnu/llvm/llvm/cmake/modules/FindGRPC.cmake deleted file mode 100644 index e058f544cb2..00000000000 --- a/gnu/llvm/llvm/cmake/modules/FindGRPC.cmake +++ /dev/null @@ -1,146 +0,0 @@ -option(ENABLE_GRPC_REFLECTION "Link clangd-index-server to gRPC Reflection library" OFF) - -# FIXME(kirillbobyrev): Check if gRPC and Protobuf headers can be included at -# configure time. -find_package(Threads REQUIRED) -if (GRPC_INSTALL_PATH) - # This setup requires gRPC to be built from sources using CMake and installed - # to ${GRPC_INSTALL_PATH} via -DCMAKE_INSTALL_PREFIX=${GRPC_INSTALL_PATH}. - # Libraries will be linked according to gRPC build policy which generates - # static libraries when BUILD_SHARED_LIBS is Off and dynamic libraries when - # it's On (NOTE: This is a variable passed to gRPC CMake build invocation, - # LLVM's BUILD_SHARED_LIBS has no effect). - set(protobuf_MODULE_COMPATIBLE TRUE) - find_package(Protobuf CONFIG REQUIRED HINTS ${GRPC_INSTALL_PATH}) - message(STATUS "Using protobuf ${Protobuf_VERSION}") - find_package(gRPC CONFIG REQUIRED HINTS ${GRPC_INSTALL_PATH}) - message(STATUS "Using gRPC ${gRPC_VERSION}") - - include_directories(${Protobuf_INCLUDE_DIRS}) - - # gRPC CMake CONFIG gives the libraries slightly odd names, make them match - # the conventional system-installed names. - set_target_properties(protobuf::libprotobuf PROPERTIES IMPORTED_GLOBAL TRUE) - add_library(protobuf ALIAS protobuf::libprotobuf) - set_target_properties(gRPC::grpc++ PROPERTIES IMPORTED_GLOBAL TRUE) - add_library(grpc++ ALIAS gRPC::grpc++) - if (ENABLE_GRPC_REFLECTION) - set_target_properties(gRPC::grpc++_reflection PROPERTIES IMPORTED_GLOBAL TRUE) - add_library(grpc++_reflection ALIAS gRPC::grpc++_reflection) - endif() - - set(GRPC_CPP_PLUGIN $) - set(PROTOC ${Protobuf_PROTOC_EXECUTABLE}) -else() - # This setup requires system-installed gRPC and Protobuf. - # We always link dynamically in this mode. While the static libraries are - # usually installed, the CMake files telling us *which* static libraries to - # link are not. - if (NOT BUILD_SHARED_LIBS) - message(NOTICE "gRPC and Protobuf will be linked dynamically. If you want static linking, build gRPC from sources with -DBUILD_SHARED_LIBS=Off.") - endif() - find_program(GRPC_CPP_PLUGIN grpc_cpp_plugin) - find_program(PROTOC protoc) - if (NOT GRPC_CPP_PLUGIN OR NOT PROTOC) - message(FATAL_ERROR "gRPC C++ Plugin and Protoc must be on $PATH for Clangd remote index build.") - endif() - # On macOS the libraries are typically installed via Homebrew and are not on - # the system path. - set(GRPC_OPTS "") - set(PROTOBUF_OPTS "") - if (${APPLE}) - find_program(HOMEBREW brew) - # If Homebrew is not found, the user might have installed libraries - # manually. Fall back to the system path. - if (HOMEBREW) - execute_process(COMMAND ${HOMEBREW} --prefix grpc - OUTPUT_VARIABLE GRPC_HOMEBREW_PATH - RESULT_VARIABLE GRPC_HOMEBREW_RETURN_CODE - OUTPUT_STRIP_TRAILING_WHITESPACE) - execute_process(COMMAND ${HOMEBREW} --prefix protobuf - OUTPUT_VARIABLE PROTOBUF_HOMEBREW_PATH - RESULT_VARIABLE PROTOBUF_HOMEBREW_RETURN_CODE - OUTPUT_STRIP_TRAILING_WHITESPACE) - # If either library is not installed via Homebrew, fall back to the - # system path. - if (GRPC_HOMEBREW_RETURN_CODE EQUAL "0") - include_directories(${GRPC_HOMEBREW_PATH}/include) - list(APPEND GRPC_OPTS PATHS ${GRPC_HOMEBREW_PATH}/lib NO_DEFAULT_PATH) - endif() - if (PROTOBUF_HOMEBREW_RETURN_CODE EQUAL "0") - include_directories(${PROTOBUF_HOMEBREW_PATH}/include) - list(APPEND PROTOBUF_OPTS PATHS ${PROTOBUF_HOMEBREW_PATH}/lib NO_DEFAULT_PATH) - endif() - endif() - endif() - find_library(GRPC_LIBRARY grpc++ $GRPC_OPTS REQUIRED) - add_library(grpc++ UNKNOWN IMPORTED GLOBAL) - message(STATUS "Using grpc++: " ${GRPC_LIBRARY}) - set_target_properties(grpc++ PROPERTIES IMPORTED_LOCATION ${GRPC_LIBRARY}) - if (ENABLE_GRPC_REFLECTION) - find_library(GRPC_REFLECTION_LIBRARY grpc++_reflection $GRPC_OPTS REQUIRED) - add_library(grpc++_reflection UNKNOWN IMPORTED GLOBAL) - set_target_properties(grpc++_reflection PROPERTIES IMPORTED_LOCATION ${GRPC_REFLECTION_LIBRARY}) - endif() - find_library(PROTOBUF_LIBRARY protobuf $PROTOBUF_OPTS REQUIRED) - message(STATUS "Using protobuf: " ${PROTOBUF_LIBRARY}) - add_library(protobuf UNKNOWN IMPORTED GLOBAL) - set_target_properties(protobuf PROPERTIES IMPORTED_LOCATION ${PROTOBUF_LIBRARY}) -endif() - -if (ENABLE_GRPC_REFLECTION) - set(REFLECTION_LIBRARY grpc++_reflection) -endif() - -# Proto headers are generated in ${CMAKE_CURRENT_BINARY_DIR}. -# Libraries that use these headers should adjust the include path. -# If the "GRPC" argument is given, services are also generated. -# The DEPENDS list should name *.proto source files that are imported. -# They may be relative to the source dir or absolute (for generated protos). -function(generate_protos LibraryName ProtoFile) - cmake_parse_arguments(PARSE_ARGV 2 PROTO "GRPC" "" "DEPENDS") - get_filename_component(ProtoSourceAbsolutePath "${CMAKE_CURRENT_SOURCE_DIR}/${ProtoFile}" ABSOLUTE) - get_filename_component(ProtoSourcePath ${ProtoSourceAbsolutePath} PATH) - get_filename_component(Basename ${ProtoSourceAbsolutePath} NAME_WLE) - - set(GeneratedProtoSource "${CMAKE_CURRENT_BINARY_DIR}/${Basename}.pb.cc") - set(GeneratedProtoHeader "${CMAKE_CURRENT_BINARY_DIR}/${Basename}.pb.h") - set(Flags - --cpp_out="${CMAKE_CURRENT_BINARY_DIR}" - --proto_path="${ProtoSourcePath}") - if (PROTO_GRPC) - list(APPEND Flags - --grpc_out="${CMAKE_CURRENT_BINARY_DIR}" - --plugin=protoc-gen-grpc="${GRPC_CPP_PLUGIN}") - list(APPEND GeneratedProtoSource "${CMAKE_CURRENT_BINARY_DIR}/${Basename}.grpc.pb.cc") - list(APPEND GeneratedProtoHeader "${CMAKE_CURRENT_BINARY_DIR}/${Basename}.grpc.pb.h") - endif() - add_custom_command( - OUTPUT ${GeneratedProtoSource} ${GeneratedProtoHeader} - COMMAND ${PROTOC} - ARGS ${Flags} "${ProtoSourceAbsolutePath}" - DEPENDS "${ProtoSourceAbsolutePath}") - - add_clang_library(${LibraryName} ${GeneratedProtoSource} - PARTIAL_SOURCES_INTENDED - LINK_LIBS PUBLIC grpc++ protobuf) - - # Ensure dependency headers are generated before dependent protos are built. - # DEPENDS arg is a list of "Foo.proto". While they're logically relative to - # the source dir, the generated headers we need are in the binary dir. - foreach(ImportedProto IN LISTS PROTO_DEPENDS) - # Foo.proto -> Foo.pb.h - STRING(REGEX REPLACE "\\.proto$" ".pb.h" ImportedHeader "${ImportedProto}") - # Foo.pb.h -> ${CMAKE_CURRENT_BINARY_DIR}/Foo.pb.h - get_filename_component(ImportedHeader "${ImportedHeader}" - ABSOLUTE - BASE_DIR "${CMAKE_CURRENT_BINARY_DIR}") - # Compilation of each generated source depends on ${BINARY}/Foo.pb.h. - foreach(Generated IN LISTS GeneratedProtoSource) - # FIXME: CMake docs suggest OBJECT_DEPENDS isn't needed, but I can't get - # the recommended add_dependencies() approach to work. - set_source_files_properties("${Generated}" - PROPERTIES OBJECT_DEPENDS "${ImportedHeader}") - endforeach(Generated) - endforeach(ImportedProto) -endfunction() diff --git a/gnu/llvm/llvm/cmake/modules/GetLibraryName.cmake b/gnu/llvm/llvm/cmake/modules/GetLibraryName.cmake index 13c0080671a..c226b57dc8a 100644 --- a/gnu/llvm/llvm/cmake/modules/GetLibraryName.cmake +++ b/gnu/llvm/llvm/cmake/modules/GetLibraryName.cmake @@ -2,7 +2,7 @@ function(get_library_name path name) get_filename_component(path ${path} NAME) set(prefixes ${CMAKE_FIND_LIBRARY_PREFIXES}) - set(suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES}) + set(suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES} ".so.[0-9]+.[0-9]+") list(FILTER prefixes EXCLUDE REGEX "^\\s*$") list(FILTER suffixes EXCLUDE REGEX "^\\s*$") if(prefixes) diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_0.rst deleted file mode 100644 index 8d82f4171f6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_1.rst deleted file mode 100644 index b923912d041..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_2.rst deleted file mode 100644 index 6c62701709a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_3.rst deleted file mode 100644 index 00ffe231756..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_type_dev.rst deleted file mode 100644 index c7ddb82757e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vdst32_0.rst deleted file mode 100644 index 115b8527fb6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vsrc32_0.rst deleted file mode 100644 index be63c654949..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx1011_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid1011_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_buf.rst deleted file mode 100644 index bd57e9e2fcd..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_buf.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_addr_buf: - -vaddr -=========================== - -This is an optional operand which may specify offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`offen` and :ref:`idxen`: - -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both modifiers are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_ds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_ds.rst deleted file mode 100644 index b31862f2ec7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_ds.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_addr_ds: - -vaddr -=========================== - -An offset from the start of GDS/LDS memory. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_flat.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_flat.rst deleted file mode 100644 index cd780ca0cbe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_flat.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_addr_flat: - -vaddr -=========================== - -A 64-bit flat address. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_mimg.rst deleted file mode 100644 index 7555e2836ee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_addr_mimg.rst +++ /dev/null @@ -1,23 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_addr_mimg: - -vaddr -=========================== - -Image address which includes from one to four dimensional coordinates and other data used to locate a position in the image. - -This operand may be specified using either :ref:`standard VGPR syntax` or special :ref:`NSA VGPR syntax`. - -*Size:* 1-13 dwords. Actual size depends on syntax, opcode, :ref:`dim` and :ref:`a16`. - -* If specified using :ref:`NSA VGPR syntax`, the size is 1-13 dwords. -* If specified using :ref:`standard VGPR syntax`, the size is 1, 2, 3, 4, 8 or 16 dwords. Note that assembler currently supports a limited range of register sequences. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_addr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_addr.rst deleted file mode 100644 index 9d5211432f9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_addr.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_base_smem_addr: - -sbase -=========================== - -A 64-bit base address for scalar memory operations. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_buf.rst deleted file mode 100644 index 00e987d7bb4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_base_smem_buf: - -sbase -=========================== - -A 128-bit buffer resource constant for scalar memory operations which provides a base address, a size and a stride. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_scratch.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_scratch.rst deleted file mode 100644 index 2b7e8b4cd4b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_base_smem_scratch.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_base_smem_scratch: - -sbase -=========================== - -This operand is ignored by H/W and :ref:`flat_scratch` is supplied instead. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm16.rst deleted file mode 100644 index b871ef27f96..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_bimm16: - -imm16 -=========================== - -A 16-bit :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm32.rst deleted file mode 100644 index ebcc691ee25..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_bimm32.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_bimm32: - -imm32 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value is truncated to 32 bits. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic128.rst deleted file mode 100644 index 3ca9fb9c3ea..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic128.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_buf_atomic128: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic32.rst deleted file mode 100644 index a8e6d9fd61d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic32.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_buf_atomic32: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic64.rst deleted file mode 100644 index 3840cd5d92e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_buf_atomic64.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_buf_atomic64: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_cmp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_cmp.rst deleted file mode 100644 index 6b5cd681435..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_cmp.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_mimg_atomic_cmp: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_reg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_reg.rst deleted file mode 100644 index 7b74290a565..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_atomic_reg.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_mimg_atomic_reg: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store.rst deleted file mode 100644 index 156c1b0180e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_mimg_store: - -vdata -=========================== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` which may specify from 1 to 4 data elements. Each data element occupies 1 dword. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store_d16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store_d16.rst deleted file mode 100644 index 142b3060422..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_mimg_store_d16.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_mimg_store_d16: - -vdata -=========================== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data in registers are packed; each value occupies 16 bits. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic128.rst deleted file mode 100644 index c59c4888fab..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic128.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_smem_atomic128: - -sdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic32.rst deleted file mode 100644 index 5e8f7ca3020..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic32.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_smem_atomic32: - -sdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic64.rst deleted file mode 100644 index 4cd5a05b41a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_data_smem_atomic64.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_data_smem_atomic64: - -sdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_128.rst deleted file mode 100644 index 56cfc2f1018..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_128.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_buf_128: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_32.rst deleted file mode 100644 index a1f1dc99ffb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_32.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_buf_32: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_64.rst deleted file mode 100644 index ebd3c7e3f17..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_64.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_buf_64: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_96.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_96.rst deleted file mode 100644 index 13a7e2bfc96..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_96.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_buf_96: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 3 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_lds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_lds.rst deleted file mode 100644 index ec83bf56931..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_buf_lds.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_buf_lds: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -If :ref:`lds` is specified, this operand is ignored by H/W and data are stored directly into LDS. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - - Note that :ref:`tfe` and :ref:`lds` cannot be used together. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic32.rst deleted file mode 100644 index e8d94b85595..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic32.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_flat_atomic32: - -vdst -=========================== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic64.rst deleted file mode 100644 index 19d9b11ba8c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_flat_atomic64.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_flat_atomic64: - -vdst -=========================== - -Data returned by a 64-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_gather4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_gather4.rst deleted file mode 100644 index 90b85935388..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_gather4.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_mimg_gather4: - -vdst -=========================== - -Image data to load by an *image_gather4* instruction. - -*Size:* 4 data elements by default. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. - -:ref:`d16` and :ref:`tfe` affect operand size as follows: - -* :ref:`d16` specifies that data elements in registers are packed; each value occupies 16 bits. -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular.rst deleted file mode 100644 index d3379356ee7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_mimg_regular: - -vdst -=========================== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular_d16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular_d16.rst deleted file mode 100644 index 9217574c9c4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_dst_mimg_regular_d16.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_dst_mimg_regular_d16: - -vdst -=========================== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask`, :ref:`tfe` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data elements in registers are packed; each value occupies 16 bits. -* :ref:`tfe` adds 1 dword if specified. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm16.rst deleted file mode 100644 index 9ac39c61790..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm16.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_fimm16: - -imm32 -=========================== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f16* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm32.rst deleted file mode 100644 index 7b181912e38..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_fimm32.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_fimm32: - -imm32 -=========================== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f32* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mad_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_mad_type_dev.rst deleted file mode 100644 index 6bffb83d647..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mad_type_dev.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_mad_type_dev: - -fx -=========================== - -This is an *f32* or *f16* operand depending on instruction modifiers: - -* Operand size is controlled by :ref:`m_op_sel_hi`. -* Location of 16-bit operand is controlled by :ref:`m_op_sel`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_dpp_sdwa_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_dpp_sdwa_abs_neg.rst deleted file mode 100644 index 05bcc033084..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_dpp_sdwa_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_mod_dpp_sdwa_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_sdwa_sext.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_sdwa_sext.rst deleted file mode 100644 index 15671007c10..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_sdwa_sext.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_mod_sdwa_sext: - -m -=========================== - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_vop3_abs_neg.rst deleted file mode 100644 index 50c29b66594..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_buf.rst deleted file mode 100644 index 99598fdd151..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_offset_buf: - -soffset -=========================== - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_buf.rst deleted file mode 100644 index b7acd418e89..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_offset_smem_buf: - -soffset -=========================== - -An unsigned 20-bit offset added to the base address to get memory address. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`uimm20` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_plain.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_plain.rst deleted file mode 100644 index 30763e7f9bb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_offset_smem_plain.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_offset_smem_plain: - -soffset -=========================== - -An offset added to the base address to get memory address. - -* If offset is specified as a register, it supplies an unsigned byte offset. -* If offset is specified as a 21-bit immediate, it supplies a signed byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`simm21` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_opt.rst deleted file mode 100644 index 16acc93a041..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_opt: - -opt -=========================== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_perm_smem.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_perm_smem.rst deleted file mode 100644 index d6b3d07024d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_perm_smem.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_perm_smem: - -imm3 -=========================== - -A bit mask which indicates request permissions. - -This operand must be specified as an :ref:`integer_number` or an :ref:`absolute_expression`. -The value is truncated to 7 bits, but only 3 low bits are significant. - - ============ ============================== - Bit Number Description - ============ ============================== - 0 Request *read* permission. - 1 Request *write* permission. - 2 Request *execute* permission. - ============ ============================== diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ret.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ret.rst deleted file mode 100644 index 0809f6ca913..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ret.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ret: - -dst -=========================== - -This is an input operand. It may optionally serve as a destination if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_buf.rst deleted file mode 100644 index a3f454b4019..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_rsrc_buf: - -srsrc -=========================== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_mimg.rst deleted file mode 100644 index af830b0a2c8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_rsrc_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_rsrc_mimg: - -srsrc -=========================== - -Image resource constant which defines the location of the image buffer in memory, its dimensions, tiling, and data format. - -*Size:* 8 dwords by default, 4 dwords if :ref:`r128` is specified. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_global.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_global.rst deleted file mode 100644 index 2362d0c020e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_global.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_saddr_flat_global: - -saddr -=========================== - -An optional 64-bit flat global address. Must be specified as :ref:`off` if not used. - -See :ref:`vaddr` for description of available addressing modes. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_scratch.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_scratch.rst deleted file mode 100644 index 8fea5d30428..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_saddr_flat_scratch.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_saddr_flat_scratch: - -saddr -=========================== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`vaddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_samp_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_samp_mimg.rst deleted file mode 100644 index 5f2aed088f1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_samp_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_samp_mimg: - -ssamp -=========================== - -Sampler constant used to specify filtering options applied to the image data after it is read. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata128_0.rst deleted file mode 100644 index 19d6e5bc2ee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdata128_0: - -sdata -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata32_0.rst deleted file mode 100644 index 10e10caf626..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdata32_0: - -sdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata64_0.rst deleted file mode 100644 index f03938a3c8a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdata64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdata64_0: - -sdata -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst128_0.rst deleted file mode 100644 index e1bfc693c0e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst128_0: - -sdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst256_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst256_0.rst deleted file mode 100644 index c352bffeebb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst256_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst256_0: - -sdst -=========================== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_0.rst deleted file mode 100644 index 1000d83ffc2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst32_0: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_1.rst deleted file mode 100644 index ddfb348c3de..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst32_1: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_2.rst deleted file mode 100644 index 41a078ba423..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst32_2: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst512_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst512_0.rst deleted file mode 100644 index f72a2d5e028..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst512_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst512_0: - -sdst -=========================== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_0.rst deleted file mode 100644 index 75797f2a433..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst64_0: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_1.rst deleted file mode 100644 index be8b6a06cec..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_sdst64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_sdst64_1: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_simm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_simm16.rst deleted file mode 100644 index e88003ffaf0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_simm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_simm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_0.rst deleted file mode 100644 index f4ae944c960..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_1.rst deleted file mode 100644 index f786f406695..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_2.rst deleted file mode 100644 index bb976167ef5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_3.rst deleted file mode 100644 index 43bb76b5ac8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_4.rst deleted file mode 100644 index 127990f08be..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_4: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_5.rst deleted file mode 100644 index b856aa975fa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_5: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_6.rst deleted file mode 100644 index 3db381aa1f4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src32_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src32_6: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src64_0.rst deleted file mode 100644 index f88ccf2a68c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src64_0: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src_exp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_src_exp.rst deleted file mode 100644 index 4dd387a3aed..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_src_exp.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_src_exp: - -vsrc -=========================== - -Data to copy to export buffers. This is an optional operand. Must be specified as :ref:`off` if not used. - -:ref:`compr` modifier indicates use of compressed (16-bit) data. This limits number of source operands from 4 to 2: - -* src0 and src1 must specify the first register (or :ref:`off`). -* src2 and src3 must specify the second register (or :ref:`off`). - -An example: - -.. parsed-literal:: - - exp mrtz v3, v3, off, off compr - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_0.rst deleted file mode 100644 index e444898cdc1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_1.rst deleted file mode 100644 index 4fdbe1c099e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_2.rst deleted file mode 100644 index 1b46e77a43c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_2: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_3.rst deleted file mode 100644 index ec6b1152dfa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_3: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_4.rst deleted file mode 100644 index bba8d5aeaa1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_4: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_5.rst deleted file mode 100644 index a0b1bbf0463..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc32_5: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_0.rst deleted file mode 100644 index 7e351f44a4c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc64_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_1.rst deleted file mode 100644 index 45116b00c18..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_ssrc64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_ssrc64_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp`, :ref:`null` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_type_dev.rst deleted file mode 100644 index dd3d14faaaf..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_uimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_uimm16.rst deleted file mode 100644 index 2814a4b836d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_uimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_uimm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range 0..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_global.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_global.rst deleted file mode 100644 index 06713f93196..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_global.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vaddr_flat_global: - -vaddr -=========================== - -A 64-bit flat global address or a 32-bit offset depending on addressing mode: - -* Address = :ref:`vaddr` + :ref:`offset12s`. :ref:`vaddr` is a 64-bit address. This mode is indicated by :ref:`saddr` set to :ref:`off`. -* Address = :ref:`saddr` + :ref:`vaddr` + :ref:`offset12s`. :ref:`vaddr` is a 32-bit offset. This mode is used when :ref:`saddr` is not :ref:`off`. - -*Size:* 1 or 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_scratch.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_scratch.rst deleted file mode 100644 index cc6d1af64ee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vaddr_flat_scratch.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vaddr_flat_scratch: - -vaddr -=========================== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`saddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vcc_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vcc_32.rst deleted file mode 100644 index 1525dab0fd5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vcc_32.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vcc_32: - -vcc -=========================== - -Vector condition code. This operand depends on wavefront size: - -* Should be :ref:`vcc_lo` if wavefront size is 32. -* Should be :ref:`vcc` if wavefront size is 64. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata128_0.rst deleted file mode 100644 index 0e25049065e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdata128_0: - -vdata -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata32_0.rst deleted file mode 100644 index e2ddcee736b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdata32_0: - -vdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata64_0.rst deleted file mode 100644 index 4552a3998fe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdata64_0: - -vdata -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata96_0.rst deleted file mode 100644 index 084825a6331..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdata96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdata96_0: - -vdata -=========================== - -Instruction input. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst128_0.rst deleted file mode 100644 index a0a786c3b69..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdst128_0: - -vdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst32_0.rst deleted file mode 100644 index d04548ec1ea..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst64_0.rst deleted file mode 100644 index 6e44c28a07b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdst64_0: - -vdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst96_0.rst deleted file mode 100644 index a30e2ee8ae7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vdst96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vdst96_0: - -vdst -=========================== - -Instruction output. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc128_0.rst deleted file mode 100644 index 1808061d510..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vsrc128_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_0.rst deleted file mode 100644 index 95cecb42825..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_1.rst deleted file mode 100644 index fd8c6bd28bd..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vsrc32_1: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`lds_direct` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc64_0.rst deleted file mode 100644 index 56c8fff09eb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_vsrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_vsrc64_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_wsdst.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_wsdst.rst deleted file mode 100644 index 1e39990f890..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_wsdst.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_wsdst: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword if wavefront size is 32, otherwise 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx10_wssrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx10_wssrc.rst deleted file mode 100644 index 35fdb02a0ea..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx10_wssrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid10_wssrc: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword if wavefront size is 32, otherwise 2 dwords. - -*Operands:* :ref:`s`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_buf.rst deleted file mode 100644 index 22dc7d35338..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_buf.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_addr_buf: - -vaddr -=========================== - -This is an optional operand which may specify a 64-bit address, offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`addr64`, :ref:`offen` and :ref:`idxen`: - -* If only :ref:`addr64` is specified, this operand supplies a 64-bit address. Size is 2 dwords. -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both :ref:`idxen` and :ref:`offen` are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. -* All other combinations of these modifiers are illegal. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_ds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_ds.rst deleted file mode 100644 index c9cab7d45ec..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_ds.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_addr_ds: - -vaddr -=========================== - -An offset from the start of GDS/LDS memory. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_flat.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_flat.rst deleted file mode 100644 index 93deea6d7a2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_flat.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_addr_flat: - -vaddr -=========================== - -A 64-bit flat address. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_mimg.rst deleted file mode 100644 index 76eb4846f1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_addr_mimg.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_addr_mimg: - -vaddr -=========================== - -Image address which includes from one to four dimensional coordinates and other data used to locate a position in the image. - -*Size:* 1, 2, 3, 4, 8 or 16 dwords. Actual size depends on opcode and specific image being handled. - - Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction. - - Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_addr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_addr.rst deleted file mode 100644 index 9cc3cc71fdf..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_addr.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_base_smem_addr: - -sbase -=========================== - -A 64-bit base address for scalar memory operations. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_buf.rst deleted file mode 100644 index 416cac715c7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_base_smem_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_base_smem_buf: - -sbase -=========================== - -A 128-bit buffer resource constant for scalar memory operations which provides a base address, a size and a stride. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm16.rst deleted file mode 100644 index 9b0fb57db37..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_bimm16: - -imm16 -=========================== - -A 16-bit :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm32.rst deleted file mode 100644 index c4ffef8bcde..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_bimm32.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_bimm32: - -imm32 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value is truncated to 32 bits. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic128.rst deleted file mode 100644 index 33ff26c6c59..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic128.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_buf_atomic128: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic32.rst deleted file mode 100644 index df4a6e42ad4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic32.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_buf_atomic32: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic64.rst deleted file mode 100644 index 4892e41631f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_buf_atomic64.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_buf_atomic64: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_cmp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_cmp.rst deleted file mode 100644 index 0328519d17b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_cmp.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_mimg_atomic_cmp: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_reg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_reg.rst deleted file mode 100644 index 30785e47ff9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_atomic_reg.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_mimg_atomic_reg: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_store.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_store.rst deleted file mode 100644 index 1858547a7c0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_data_mimg_store.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_data_mimg_store: - -vdata -=========================== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` which may specify from 1 to 4 data elements. Each data element occupies 1 dword. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_128.rst deleted file mode 100644 index 701616ed320..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_128.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_buf_128: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_32.rst deleted file mode 100644 index 101941195d5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_32.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_buf_32: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_64.rst deleted file mode 100644 index de62a568bf5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_64.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_buf_64: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_96.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_96.rst deleted file mode 100644 index 1abfcc07aec..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_96.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_buf_96: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 3 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_lds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_lds.rst deleted file mode 100644 index 435f6bb874b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_buf_lds.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_buf_lds: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -If :ref:`lds` is specified, this operand is ignored by H/W and data are stored directly into LDS. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - - Note that :ref:`tfe` and :ref:`lds` cannot be used together. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic32.rst deleted file mode 100644 index 4a85656ca86..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic32.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_flat_atomic32: - -vdst -=========================== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic64.rst deleted file mode 100644 index cb1fddd9318..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_flat_atomic64.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_flat_atomic64: - -vdst -=========================== - -Data returned by a 64-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_gather4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_gather4.rst deleted file mode 100644 index 17fcff5246a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_gather4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_mimg_gather4: - -vdst -=========================== - -Image data to load by an *image_gather4* instruction. - -*Size:* 4 data elements by default. Each data element occupies 1 dword. :ref:`tfe` adds one more dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_regular.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_regular.rst deleted file mode 100644 index aa165b81e62..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_dst_mimg_regular.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_dst_mimg_regular: - -vdst -=========================== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_fimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_fimm32.rst deleted file mode 100644 index b086074604c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_fimm32.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_fimm32: - -imm32 -=========================== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f32* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_mod.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_mod.rst deleted file mode 100644 index 0b03299b254..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_mod.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_mod: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_buf.rst deleted file mode 100644 index b78affa6db6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_offset_buf: - -soffset -=========================== - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_smem.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_smem.rst deleted file mode 100644 index 85ed5f18673..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_offset_smem.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_offset_smem: - -soffset -=========================== - -An unsigned offset added to the base address to get memory address. - -* If offset is specified as a register, it supplies an unsigned byte offset but 2 lsb's are ignored. -* If offset is specified as an :ref:`uimm32`, it supplies a 32-bit unsigned byte offset but 2 lsb's are ignored. -* If offset is specified as an :ref:`uimm8`, it supplies an 8-bit unsigned dword offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`uimm8`, :ref:`uimm32` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_opt.rst deleted file mode 100644 index d7e59463464..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_opt: - -opt -=========================== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ret.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ret.rst deleted file mode 100644 index 899a200c38f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ret.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ret: - -dst -=========================== - -This is an input operand. It may optionally serve as a destination if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_buf.rst deleted file mode 100644 index 7ebcebc68ef..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_rsrc_buf: - -srsrc -=========================== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_mimg.rst deleted file mode 100644 index b0e40fe09cc..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_rsrc_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_rsrc_mimg: - -srsrc -=========================== - -Image resource constant which defines the location of the image buffer in memory, its dimensions, tiling, and data format. - -*Size:* 8 dwords by default, 4 dwords if :ref:`r128` is specified. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_samp_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_samp_mimg.rst deleted file mode 100644 index 738cad415fe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_samp_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_samp_mimg: - -ssamp -=========================== - -Sampler constant used to specify filtering options applied to the image data after it is read. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst128_0.rst deleted file mode 100644 index 735a30cefd6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst128_0: - -sdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst256_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst256_0.rst deleted file mode 100644 index c4e6f9fcf66..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst256_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst256_0: - -sdst -=========================== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_0.rst deleted file mode 100644 index 183d89f9e90..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst32_0: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_1.rst deleted file mode 100644 index 2e49e20f9d5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst32_1: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_2.rst deleted file mode 100644 index 8212e5d7a61..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst32_2: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst512_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst512_0.rst deleted file mode 100644 index d8c64b1e395..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst512_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst512_0: - -sdst -=========================== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`s` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_0.rst deleted file mode 100644 index af608801b39..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst64_0: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_1.rst deleted file mode 100644 index 207df73932c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_sdst64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_sdst64_1: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_simm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_simm16.rst deleted file mode 100644 index d6890d429c1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_simm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_simm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_0.rst deleted file mode 100644 index 6a9c977a3a1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_1.rst deleted file mode 100644 index 990d22973c0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_2.rst deleted file mode 100644 index 2fdb6462cc4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_3.rst deleted file mode 100644 index 19bbde9c785..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_4.rst deleted file mode 100644 index 7b0c3a89c1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_4: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_5.rst deleted file mode 100644 index bcfbaeb013d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_5: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_6.rst deleted file mode 100644 index 8c49d5954d0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src32_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src32_6: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_0.rst deleted file mode 100644 index 9088418da5b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src64_0: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_1.rst deleted file mode 100644 index feb657c1f5d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src64_1: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_2.rst deleted file mode 100644 index 4a50df7046d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src64_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src64_2: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src_exp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_src_exp.rst deleted file mode 100644 index 32f71a88b64..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_src_exp.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_src_exp: - -vsrc -=========================== - -Data to copy to export buffers. This is an optional operand. Must be specified as :ref:`off` if not used. - -:ref:`compr` modifier indicates use of compressed (16-bit) data. This limits number of source operands from 4 to 2: - -* src0 and src1 must specify the first register (or :ref:`off`). -* src2 and src3 must specify the second register (or :ref:`off`). - -An example: - -.. parsed-literal:: - - exp mrtz v3, v3, off, off compr - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_0.rst deleted file mode 100644 index 589d9ccd978..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_1.rst deleted file mode 100644 index 4f04b0bc225..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_2.rst deleted file mode 100644 index c7ff032f880..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_2: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_3.rst deleted file mode 100644 index 2ec4af2f6d5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_3: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_4.rst deleted file mode 100644 index e07ffe5a9ec..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_4: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_5.rst deleted file mode 100644 index 71402a7d000..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_5: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_6.rst deleted file mode 100644 index 32bc3058590..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc32_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc32_6: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_0.rst deleted file mode 100644 index 49add61fc94..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc64_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_1.rst deleted file mode 100644 index 42dc8c56906..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc64_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_2.rst deleted file mode 100644 index 52559305546..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc64_2: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_3.rst deleted file mode 100644 index 173f550d4ec..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_ssrc64_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_ssrc64_3: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`vcc`, :ref:`trap`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_type_dev.rst deleted file mode 100644 index faef5f4ee3a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_uimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_uimm16.rst deleted file mode 100644 index a49ddeb554c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_uimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_uimm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range 0..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vcc_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vcc_64.rst deleted file mode 100644 index b1285e0e8b8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vcc_64.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vcc_64: - -vcc -=========================== - -Vector condition code. - -*Size:* 2 dwords. - -*Operands:* :ref:`vcc` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata128_0.rst deleted file mode 100644 index 5ed2b823bf7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdata128_0: - -vdata -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata32_0.rst deleted file mode 100644 index 1615abb4f6c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdata32_0: - -vdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata64_0.rst deleted file mode 100644 index fceea9fd4b1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdata64_0: - -vdata -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata96_0.rst deleted file mode 100644 index b9fe5996e53..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdata96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdata96_0: - -vdata -=========================== - -Instruction input. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst128_0.rst deleted file mode 100644 index c18652e8841..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdst128_0: - -vdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst32_0.rst deleted file mode 100644 index e93620355e6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst64_0.rst deleted file mode 100644 index 4cacaa0d63f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdst64_0: - -vdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst96_0.rst deleted file mode 100644 index 3c5bf880ce9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vdst96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vdst96_0: - -vdst -=========================== - -Instruction output. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc128_0.rst deleted file mode 100644 index 975237916bb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vsrc128_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_0.rst deleted file mode 100644 index 93b12b00a1c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_1.rst deleted file mode 100644 index 063216a5e04..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vsrc32_1: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`lds_direct` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc64_0.rst deleted file mode 100644 index d8c9d45ddb5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx7_vsrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid7_vsrc64_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_buf.rst deleted file mode 100644 index 74aa275c199..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_buf.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_addr_buf: - -vaddr -=========================== - -This is an optional operand which may specify offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`offen` and :ref:`idxen`: - -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both modifiers are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_ds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_ds.rst deleted file mode 100644 index 7115ff0cf04..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_ds.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_addr_ds: - -vaddr -=========================== - -An offset from the start of GDS/LDS memory. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_flat.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_flat.rst deleted file mode 100644 index 53dfcc3e895..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_flat.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_addr_flat: - -vaddr -=========================== - -A 64-bit flat address. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_mimg.rst deleted file mode 100644 index f1052badacd..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_addr_mimg.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_addr_mimg: - -vaddr -=========================== - -Image address which includes from one to four dimensional coordinates and other data used to locate a position in the image. - -*Size:* 1, 2, 3, 4, 8 or 16 dwords. Actual size depends on opcode and specific image being handled. - - Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction. - - Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_addr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_addr.rst deleted file mode 100644 index 81ef25586d6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_addr.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_base_smem_addr: - -sbase -=========================== - -A 64-bit base address for scalar memory operations. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_buf.rst deleted file mode 100644 index fb243d0f262..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_base_smem_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_base_smem_buf: - -sbase -=========================== - -A 128-bit buffer resource constant for scalar memory operations which provides a base address, a size and a stride. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm16.rst deleted file mode 100644 index 83cac003e48..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_bimm16: - -imm16 -=========================== - -A 16-bit :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm32.rst deleted file mode 100644 index ab5c53a6540..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_bimm32.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_bimm32: - -imm32 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value is truncated to 32 bits. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic128.rst deleted file mode 100644 index 40b6d3a236e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic128.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_atomic128: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic32.rst deleted file mode 100644 index 51121820d74..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic32.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_atomic32: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic64.rst deleted file mode 100644 index 107998e37d9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_atomic64.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_atomic64: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_128.rst deleted file mode 100644 index 3c98a360252..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_128.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_d16_128: - -vdata -=========================== - -16-bit data to store by a buffer instruction. - -*Size:* depends on GFX8 GPU revision: - -* 4 dwords for GFX8.0. This H/W supports no packing. -* 2 dwords for GFX8.1+. This H/W supports data packing. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_32.rst deleted file mode 100644 index 64328756f84..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_32.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_d16_32: - -vdata -=========================== - -16-bit data to store by a buffer instruction. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_64.rst deleted file mode 100644 index 932ce6920fc..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_64.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_d16_64: - -vdata -=========================== - -16-bit data to store by a buffer instruction. - -*Size:* depends on GFX8 GPU revision: - -* 2 dwords for GFX8.0. This H/W supports no packing. -* 1 dword for GFX8.1+. This H/W supports data packing. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_96.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_96.rst deleted file mode 100644 index b9e6915229f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_buf_d16_96.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_buf_d16_96: - -vdata -=========================== - -16-bit data to store by a buffer instruction. - -*Size:* depends on GFX8 GPU revision: - -* 3 dwords for GFX8.0. This H/W supports no packing. -* 2 dwords for GFX8.1+. This H/W supports data packing. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_cmp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_cmp.rst deleted file mode 100644 index 237b91cadfe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_cmp.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_mimg_atomic_cmp: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_reg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_reg.rst deleted file mode 100644 index 35bcdc379a1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_atomic_reg.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_mimg_atomic_reg: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store.rst deleted file mode 100644 index 65a1a49f67e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_mimg_store: - -vdata -=========================== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` which may specify from 1 to 4 data elements. Each data element occupies 1 dword. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store_d16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store_d16.rst deleted file mode 100644 index 7524c884e76..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_data_mimg_store_d16.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_data_mimg_store_d16: - -vdata -=========================== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` has different meaning for GFX8.0 and GFX8.1: - - * For GFX8.0 this modifier does not affect size of data elements in registers. Data in registers are stored in low 16 bits, high 16 bits are unused. There is no packing. - * Starting from GFX8.1 this modifier specifies that data elements in registers are packed; each value occupies 16 bits. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_128.rst deleted file mode 100644 index d076c7025f6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_128.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_128: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_32.rst deleted file mode 100644 index e747530d995..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_32.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_32: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_64.rst deleted file mode 100644 index f5da65bf573..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_64.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_64: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_96.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_96.rst deleted file mode 100644 index 0012c1a88d3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_96.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_96: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -*Size:* 3 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_128.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_128.rst deleted file mode 100644 index 0f5318d8d8c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_128.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_d16_128: - -vdst -=========================== - -Instruction output: data read from a memory buffer and converted to a 16-bit format. - -*Size:* depends on GFX8 GPU revision and :ref:`tfe`: - -* 4 dwords for GFX8.0. This H/W supports no packing. -* 2 dwords for GFX8.1+. This H/W supports data packing. -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_32.rst deleted file mode 100644 index 6288c2def70..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_32.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_d16_32: - -vdst -=========================== - -Instruction output: data read from a memory buffer and converted to a 16-bit format. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_64.rst deleted file mode 100644 index b46310fd524..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_64.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_d16_64: - -vdst -=========================== - -Instruction output: data read from a memory buffer and converted to a 16-bit format. - -*Size:* depends on GFX8 GPU revision and :ref:`tfe`: - -* 2 dwords for GFX8.0. This H/W supports no packing. -* 1 dword for GFX8.1+. This H/W supports data packing. -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_96.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_96.rst deleted file mode 100644 index 15e7e890197..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_d16_96.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_d16_96: - -vdst -=========================== - -Instruction output: data read from a memory buffer and converted to a 16-bit format. - -*Size:* depends on GFX8 GPU revision and :ref:`tfe`: - -* 3 dwords for GFX8.0. This H/W supports no packing. -* 2 dwords for GFX8.1+. This H/W supports data packing. -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_lds.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_lds.rst deleted file mode 100644 index b1cb1458dfa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_buf_lds.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_buf_lds: - -vdst -=========================== - -Instruction output: data read from a memory buffer. - -If :ref:`lds` is specified, this operand is ignored by H/W and data are stored directly into LDS. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - - Note that :ref:`tfe` and :ref:`lds` cannot be used together. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic32.rst deleted file mode 100644 index a8ae4646ae9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic32.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_flat_atomic32: - -vdst -=========================== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic64.rst deleted file mode 100644 index 5b46e88f561..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_flat_atomic64.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_flat_atomic64: - -vdst -=========================== - -Data returned by a 64-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_gather4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_gather4.rst deleted file mode 100644 index 6fc01926ed1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_gather4.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_mimg_gather4: - -vdst -=========================== - -Image data to load by an *image_gather4* instruction. - -*Size:* 4 data elements by default. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. - -:ref:`d16` and :ref:`tfe` affect operand size as follows: - -* :ref:`d16` has different meaning for GFX8.0 and GFX8.1: - - * For GFX8.0 this modifier does not affect size of data elements in registers. Data in registers are stored in low 16 bits, high 16 bits are unused. There is no packing. - * Starting from GFX8.1 this modifier specifies that data elements in registers are packed; each value occupies 16 bits. - -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular.rst deleted file mode 100644 index be1037a5ce5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_mimg_regular: - -vdst -=========================== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular_d16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular_d16.rst deleted file mode 100644 index 4eb7037386f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_dst_mimg_regular_d16.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_dst_mimg_regular_d16: - -vdst -=========================== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask`, :ref:`tfe` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` has different meaning for GFX8.0 and GFX8.1: - - * For GFX8.0 this modifier does not affect size of data elements in registers. Data in registers are stored in low 16 bits, high 16 bits are unused. There is no packing. - * Starting from GFX8.1 this modifier specifies that data elements in registers are packed; each value occupies 16 bits. - -* :ref:`tfe` adds 1 dword if specified. - - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm16.rst deleted file mode 100644 index 2050af2e287..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm16.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_fimm16: - -imm32 -=========================== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f16* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm32.rst deleted file mode 100644 index 49796b47ed0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_fimm32.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_fimm32: - -imm32 -=========================== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f32* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_dpp_sdwa_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_dpp_sdwa_abs_neg.rst deleted file mode 100644 index 09790e48bc1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_dpp_sdwa_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_mod_dpp_sdwa_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_sdwa_sext.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_sdwa_sext.rst deleted file mode 100644 index 64141c5104f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_sdwa_sext.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_mod_sdwa_sext: - -m -=========================== - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_vop3_abs_neg.rst deleted file mode 100644 index a3a4c604383..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_buf.rst deleted file mode 100644 index 7b72bb64a3e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_offset_buf: - -soffset -=========================== - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_load.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_load.rst deleted file mode 100644 index 5c30a87f569..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_load.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_offset_smem_load: - -soffset -=========================== - -An unsigned byte offset added to the base address to get memory address. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`uimm20` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_store.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_store.rst deleted file mode 100644 index 9ff90f98b35..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_offset_smem_store.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_offset_smem_store: - -soffset -=========================== - -An unsigned byte offset added to the base address to get memory address. - -*Size:* 1 dword. - -*Operands:* :ref:`m0`, :ref:`uimm20` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_opt.rst deleted file mode 100644 index f9352288d07..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_opt: - -opt -=========================== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_perm_smem.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_perm_smem.rst deleted file mode 100644 index b18920bd114..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_perm_smem.rst +++ /dev/null @@ -1,24 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_perm_smem: - -imm3 -=========================== - -A bit mask which indicates request permissions. - -This operand must be specified as an :ref:`integer_number` or an :ref:`absolute_expression`. -The value is truncated to 7 bits, but only 3 low bits are significant. - - ============ ============================== - Bit Number Description - ============ ============================== - 0 Request *read* permission. - 1 Request *write* permission. - 2 Request *execute* permission. - ============ ============================== diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ret.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ret.rst deleted file mode 100644 index b4b89d8e647..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ret.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ret: - -dst -=========================== - -This is an input operand. It may optionally serve as a destination if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_buf.rst deleted file mode 100644 index ecdb0a0d9dc..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_rsrc_buf: - -srsrc -=========================== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_mimg.rst deleted file mode 100644 index 3ca25592898..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_rsrc_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_rsrc_mimg: - -srsrc -=========================== - -Image resource constant which defines the location of the image buffer in memory, its dimensions, tiling, and data format. - -*Size:* 8 dwords by default, 4 dwords if :ref:`r128` is specified. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_samp_mimg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_samp_mimg.rst deleted file mode 100644 index c4b27125768..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_samp_mimg.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_samp_mimg: - -ssamp -=========================== - -Sampler constant used to specify filtering options applied to the image data after it is read. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata128_0.rst deleted file mode 100644 index a52703c3545..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdata128_0: - -sdata -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata32_0.rst deleted file mode 100644 index 9ccd7bd8c71..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdata32_0: - -sdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata64_0.rst deleted file mode 100644 index 8718449228c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdata64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdata64_0: - -sdata -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst128_0.rst deleted file mode 100644 index 277e3db02c4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst128_0: - -sdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst256_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst256_0.rst deleted file mode 100644 index 2e54b9b1462..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst256_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst256_0: - -sdst -=========================== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_0.rst deleted file mode 100644 index 44e6cdc8f7f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst32_0: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_1.rst deleted file mode 100644 index 7156225fa3c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst32_1: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_2.rst deleted file mode 100644 index af446d3e54c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst32_2: - -sdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst512_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst512_0.rst deleted file mode 100644 index 95b82a7d024..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst512_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst512_0: - -sdst -=========================== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`s` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_0.rst deleted file mode 100644 index 9195778a5e8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst64_0: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_1.rst deleted file mode 100644 index 165e0c0175f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_sdst64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_sdst64_1: - -sdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_simm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_simm16.rst deleted file mode 100644 index 4155272ebfe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_simm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_simm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_0.rst deleted file mode 100644 index 2e4d42b35f2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_1.rst deleted file mode 100644 index bd06181f7d3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_2.rst deleted file mode 100644 index 3d8c63b19e3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_3.rst deleted file mode 100644 index 19071fa8fde..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_4.rst deleted file mode 100644 index 0b71eec0f2c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_4: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_5.rst deleted file mode 100644 index f37bd89321d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_5: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_6.rst deleted file mode 100644 index 2fe88a33a46..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_6: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_7.rst deleted file mode 100644 index c6b2cacd0b2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src32_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src32_7: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_0.rst deleted file mode 100644 index d62c37e3b60..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src64_0: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_1.rst deleted file mode 100644 index cd5ab8b1b75..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src64_1: - -src -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src_exp.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_src_exp.rst deleted file mode 100644 index 10449b4e36e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_src_exp.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_src_exp: - -vsrc -=========================== - -Data to copy to export buffers. This is an optional operand. Must be specified as :ref:`off` if not used. - -:ref:`compr` modifier indicates use of compressed (16-bit) data. This limits number of source operands from 4 to 2: - -* src0 and src1 must specify the first register (or :ref:`off`). -* src2 and src3 must specify the second register (or :ref:`off`). - -An example: - -.. parsed-literal:: - - exp mrtz v3, v3, off, off compr - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_0.rst deleted file mode 100644 index 1f7d9fbdb23..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc32_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_1.rst deleted file mode 100644 index 203d9c5397f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc32_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_2.rst deleted file mode 100644 index 9b893e962a0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc32_2: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_3.rst deleted file mode 100644 index 131765fee50..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc32_3: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_4.rst deleted file mode 100644 index eb5e2247fe0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc32_4: - -ssrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_0.rst deleted file mode 100644 index 6c7efe5d530..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc64_0: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_1.rst deleted file mode 100644 index c4fddf4ace2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc64_1: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_2.rst deleted file mode 100644 index 3252202ce98..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc64_2: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_3.rst deleted file mode 100644 index 9ab5436572d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_ssrc64_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_ssrc64_3: - -ssrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`trap`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_type_dev.rst deleted file mode 100644 index cf8f7f7f00e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_uimm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_uimm16.rst deleted file mode 100644 index 591d0150312..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_uimm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_uimm16: - -imm16 -=========================== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range 0..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vcc_64.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vcc_64.rst deleted file mode 100644 index e31df0e51c2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vcc_64.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vcc_64: - -vcc -=========================== - -Vector condition code. - -*Size:* 2 dwords. - -*Operands:* :ref:`vcc` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata128_0.rst deleted file mode 100644 index bf7e3db732b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdata128_0: - -vdata -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata32_0.rst deleted file mode 100644 index b89d65b1c79..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdata32_0: - -vdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata64_0.rst deleted file mode 100644 index 43805445606..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdata64_0: - -vdata -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata96_0.rst deleted file mode 100644 index b8ad22d1f24..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdata96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdata96_0: - -vdata -=========================== - -Instruction input. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst128_0.rst deleted file mode 100644 index 1eccc952309..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdst128_0: - -vdst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst32_0.rst deleted file mode 100644 index 781fcb6ec35..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst64_0.rst deleted file mode 100644 index af2dfe9bf38..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdst64_0: - -vdst -=========================== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst96_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst96_0.rst deleted file mode 100644 index 4895b657900..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vdst96_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vdst96_0: - -vdst -=========================== - -Instruction output. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc128_0.rst deleted file mode 100644 index 25b1794d85f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vsrc128_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_0.rst deleted file mode 100644 index 524f36a0a89..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_1.rst deleted file mode 100644 index 5ed15a15226..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vsrc32_1: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`lds_direct` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc64_0.rst deleted file mode 100644 index 7c2c39ff753..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx8_vsrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid8_vsrc64_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx900_mad_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx900_mad_type_dev.rst deleted file mode 100644 index 45f5dab2159..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx900_mad_type_dev.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid900_mad_type_dev: - -fx -=========================== - -This is an *f32* or *f16* operand depending on instruction modifiers: - -* Operand size is controlled by :ref:`m_op_sel_hi`. -* Location of 16-bit operand is controlled by :ref:`m_op_sel`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst deleted file mode 100644 index b5ccdfbd8a6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx900_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid900_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_0.rst deleted file mode 100644 index 9d7c573e78e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid900_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_1.rst deleted file mode 100644 index a5c23c635c4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx900_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid900_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx900_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx900_vdst32_0.rst deleted file mode 100644 index 0ae76da5315..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx900_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid900_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx904_mad_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx904_mad_type_dev.rst deleted file mode 100644 index 13cd62a2947..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx904_mad_type_dev.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid904_mad_type_dev: - -fx -=========================== - -This is an *f32* or *f16* operand depending on instruction modifiers: - -* Operand size is controlled by :ref:`m_op_sel_hi`. -* Location of 16-bit operand is controlled by :ref:`m_op_sel`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst deleted file mode 100644 index f9542496042..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx904_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid904_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_0.rst deleted file mode 100644 index dbc5ee38739..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid904_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_1.rst deleted file mode 100644 index 38dcc4fc126..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx904_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid904_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx904_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx904_vdst32_0.rst deleted file mode 100644 index 6eb8bdf5b50..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx904_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid904_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mad_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_mad_type_dev.rst deleted file mode 100644 index 5b5d4b7c282..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mad_type_dev.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_mad_type_dev: - -fx -=========================== - -This is an *f32* or *f16* operand depending on instruction modifiers: - -* Operand size is controlled by :ref:`m_op_sel_hi`. -* Location of 16-bit operand is controlled by :ref:`m_op_sel`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst deleted file mode 100644 index 3ddc6fda098..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_dpp_sdwa_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_mod_dpp_sdwa_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst deleted file mode 100644 index dbb95496c10..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_sdwa_sext.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_mod_sdwa_sext: - -m -=========================== - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst deleted file mode 100644 index 1c1e498eb80..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_0.rst deleted file mode 100644 index d755bd98e1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_1.rst deleted file mode 100644 index 8176522793e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_2.rst deleted file mode 100644 index 92e91c5b541..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_3.rst deleted file mode 100644 index 98fa3dc575b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_4.rst deleted file mode 100644 index 624f9dff211..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_src32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_src32_4: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_type_dev.rst deleted file mode 100644 index 624d96c8bee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_vdst32_0.rst deleted file mode 100644 index faf0a2d2f9d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx906_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx906_vsrc32_0.rst deleted file mode 100644 index ed350d997eb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx906_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid906_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_addr_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_addr_buf.rst deleted file mode 100644 index 9dc593be69e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_addr_buf.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_addr_buf: - -vaddr -=========================== - -This is an optional operand which may specify offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`offen` and :ref:`idxen`: - -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both modifiers are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst1024_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst1024_0.rst deleted file mode 100644 index 3dfe45ede46..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst1024_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_adst1024_0: - -adst -=========================== - -Instruction output. - -*Size:* 32 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst128_0.rst deleted file mode 100644 index 23c7f9db057..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_adst128_0: - -adst -=========================== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst32_0.rst deleted file mode 100644 index 80546fa1c83..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_adst32_0: - -adst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst512_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst512_0.rst deleted file mode 100644 index 446eb02bf03..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_adst512_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_adst512_0: - -adst -=========================== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc1024_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc1024_0.rst deleted file mode 100644 index 00e1fc7f0f6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc1024_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_asrc1024_0: - -asrc -=========================== - -Instruction input. - -*Size:* 32 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc128_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc128_0.rst deleted file mode 100644 index 91af6b7357b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc128_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_asrc128_0: - -asrc -=========================== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc32_0.rst deleted file mode 100644 index 8e46317254d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_asrc32_0: - -asrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc512_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc512_0.rst deleted file mode 100644 index 59e22040c22..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_asrc512_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_asrc512_0: - -asrc -=========================== - -Instruction input. - -*Size:* 16 dwords. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst deleted file mode 100644 index 03163f55fe5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_data_buf_atomic32.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_data_buf_atomic32: - -vdata -=========================== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst deleted file mode 100644 index 045058314cb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_dst_flat_atomic32.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_dst_flat_atomic32: - -vdst -=========================== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mad_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_mad_type_dev.rst deleted file mode 100644 index e86e6d058cb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mad_type_dev.rst +++ /dev/null @@ -1,16 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_mad_type_dev: - -fx -=========================== - -This is an *f32* or *f16* operand depending on instruction modifiers: - -* Operand size is controlled by :ref:`m_op_sel_hi`. -* Location of 16-bit operand is controlled by :ref:`m_op_sel`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst deleted file mode 100644 index d89f9832eee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_dpp_sdwa_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_mod_dpp_sdwa_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst deleted file mode 100644 index 844c7433ac1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_sdwa_sext.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_mod_sdwa_sext: - -m -=========================== - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst deleted file mode 100644 index 6bdd76bb6c3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_mod_vop3_abs_neg.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_mod_vop3_abs_neg: - -m -=========================== - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_offset_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_offset_buf.rst deleted file mode 100644 index 7e39ac3bbb9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_offset_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_offset_buf: - -soffset -=========================== - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_opt.rst deleted file mode 100644 index 950d8c3ab31..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_opt: - -opt -=========================== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_ret.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_ret.rst deleted file mode 100644 index 20907addb36..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_ret.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_ret: - -dst -=========================== - -This is an input operand. It may optionally serve as a destination if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_rsrc_buf.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_rsrc_buf.rst deleted file mode 100644 index 832adfe0763..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_rsrc_buf.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_rsrc_buf: - -srsrc -=========================== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst deleted file mode 100644 index 050d60f249e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_saddr_flat_global.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_saddr_flat_global: - -saddr -=========================== - -An optional 64-bit flat global address. Must be specified as :ref:`off` if not used. - -See :ref:`vaddr` for description of available addressing modes. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_0.rst deleted file mode 100644 index 9491a6490ca..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_0: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_1.rst deleted file mode 100644 index db717a93ac1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_1: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_2.rst deleted file mode 100644 index f375c555a4d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_2: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_3.rst deleted file mode 100644 index ca445e87ef1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_3: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_4.rst deleted file mode 100644 index aab1b9978ac..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_4: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_5.rst deleted file mode 100644 index 220dc443e89..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_src32_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_src32_5: - -src -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_type_dev.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_type_dev.rst deleted file mode 100644 index 1321aae8e26..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_type_dev.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_type_dev: - -Type deviation -=========================== - -*Type* of this operand differs from *type* :ref:`implied by the opcode`. This tag specifies actual operand *type*. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst deleted file mode 100644 index d7da4774a94..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vaddr_flat_global.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vaddr_flat_global: - -vaddr -=========================== - -A 64-bit flat global address or a 32-bit offset depending on addressing mode: - -* Address = :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 64-bit address. This mode is indicated by :ref:`saddr` set to :ref:`off`. -* Address = :ref:`saddr` + :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 32-bit offset. This mode is used when :ref:`saddr` is not :ref:`off`. - -*Size:* 1 or 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc32_0.rst deleted file mode 100644 index 52aaaadc580..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vasrc32_0: - -vasrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc64_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc64_0.rst deleted file mode 100644 index bef80d9637a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vasrc64_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vasrc64_0: - -vasrc -=========================== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdata32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdata32_0.rst deleted file mode 100644 index 7571818881d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdata32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vdata32_0: - -vdata -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdst32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdst32_0.rst deleted file mode 100644 index ed2214a8fbe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vdst32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vdst32_0: - -vdst -=========================== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vsrc32_0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx908_vsrc32_0.rst deleted file mode 100644 index c990b504515..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx908_vsrc32_0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid908_vsrc32_0: - -vsrc -=========================== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16.rst deleted file mode 100644 index 8d43cf4af06..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_imm16: - -imm16 -===== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_1.rst deleted file mode 100644 index f270aa43385..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_1.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_imm16_1: - -imm16 -===== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range 0..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_2.rst deleted file mode 100644 index 17fce930d9c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_imm16_2.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_imm16_2: - -imm16 -===== - -A 16-bit :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m.rst deleted file mode 100644 index 501379d0153..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_m: - -m -= - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m_1.rst deleted file mode 100644 index 0d1dd6fefc7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_m_1.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_m_1: - -m -= - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_opt.rst deleted file mode 100644 index dd035b8149e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_opt: - -opt -=== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr.rst deleted file mode 100644 index 4e4c84784e9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_saddr: - -saddr -===== - -An optional 64-bit flat global address. Must be specified as :ref:`off` if not used. - -See :ref:`vaddr` for description of available addressing modes. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr_1.rst deleted file mode 100644 index 34d8ad7f66c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_saddr_1.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_saddr_1: - -saddr -===== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`vaddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase.rst deleted file mode 100644 index 669b8f2b8fc..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sbase: - -sbase -===== - -A 64-bit base address for scalar memory operations. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_1.rst deleted file mode 100644 index 94f45c157b8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sbase_1: - -sbase -===== - -A 128-bit buffer resource constant for scalar memory operations which provides a base address, a size and a stride. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_2.rst deleted file mode 100644 index 75f00f38e10..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sbase_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sbase_2: - -sbase -===== - -This operand is ignored by H/W and :ref:`flat_scratch` is supplied instead. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata.rst deleted file mode 100644 index 80d59338c96..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_1.rst deleted file mode 100644 index 34df71ebfda..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_1.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata_1: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_2.rst deleted file mode 100644 index b0bad7c2651..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_2.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata_2: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_3.rst deleted file mode 100644 index 9d838f5605c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata_3: - -sdata -===== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_4.rst deleted file mode 100644 index fd7f62b7c4c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata_4: - -sdata -===== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_5.rst deleted file mode 100644 index 7554d386093..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdata_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdata_5: - -sdata -===== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst.rst deleted file mode 100644 index c1980515a1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_1.rst deleted file mode 100644 index cfaedb8befa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_1: - -sdst -==== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_2.rst deleted file mode 100644 index 58d3d7e598e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_2: - -sdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_3.rst deleted file mode 100644 index 180f4bb68e1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_3: - -sdst -==== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_4.rst deleted file mode 100644 index d183c0b2f12..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_4: - -sdst -==== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_5.rst deleted file mode 100644 index a2ae6920e71..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_5: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_6.rst deleted file mode 100644 index 8a8fddc9bee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_6: - -sdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_7.rst deleted file mode 100644 index 079d3bea33c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_sdst_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_sdst_7: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32.rst deleted file mode 100644 index cb0710fdeab..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_simm32: - -simm32 -====== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value is truncated to 32 bits. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_1.rst deleted file mode 100644 index dbf68535032..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_1.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_simm32_1: - -simm32 -====== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f16* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_2.rst deleted file mode 100644 index 63b8ad3d110..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_simm32_2.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_simm32_2: - -simm32 -====== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f32* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset.rst deleted file mode 100644 index 1a4623404c2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_soffset: - -soffset -======= - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_1.rst deleted file mode 100644 index 13728978887..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_1.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_soffset_1: - -soffset -======= - -An offset added to the base address to get memory address. - -* If offset is specified as a register, it supplies an unsigned byte offset. -* If offset is specified as a 21-bit immediate, it supplies a signed byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`simm21` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_2.rst deleted file mode 100644 index e94fda005b2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_soffset_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_soffset_2: - -soffset -======= - -An unsigned 20-bit offset added to the base address to get memory address. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`uimm20` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src.rst deleted file mode 100644 index 56a69b4b831..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_1.rst deleted file mode 100644 index a939cecc679..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_1: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_10.rst deleted file mode 100644 index d53a92673af..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_10.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_10: - -src -=== - -Instruction input. - -*Size:* 8 dwords. - -*Operands:* :ref:`v`, :ref:`a`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_11.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_11.rst deleted file mode 100644 index bfcf55f08aa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_11.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_11: - -src -=== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_2.rst deleted file mode 100644 index f4750b299e1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_2: - -src -=== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_3.rst deleted file mode 100644 index 7646f4baa9d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_3: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_4.rst deleted file mode 100644 index 691af89ef8a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_4: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_5.rst deleted file mode 100644 index ece72dfc7d7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_5: - -src -=== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_6.rst deleted file mode 100644 index 6c257991281..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_6: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_7.rst deleted file mode 100644 index 968984b379e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_7: - -src -=== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v`, :ref:`a`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_8.rst deleted file mode 100644 index dfcd66e98d0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_8.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_8: - -src -=== - -Instruction input. - -*Size:* 16 dwords. - -*Operands:* :ref:`v`, :ref:`a`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_9.rst deleted file mode 100644 index fbf03083e0d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_src_9.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_src_9: - -src -=== - -Instruction input. - -*Size:* 32 dwords. - -*Operands:* :ref:`v`, :ref:`a`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc.rst deleted file mode 100644 index 4330c4f5165..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_srsrc: - -srsrc -===== - -Image resource constant which defines the location of the image buffer in memory, its dimensions, tiling, and data format. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc_1.rst deleted file mode 100644 index 77a94170df2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_srsrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_srsrc_1: - -srsrc -===== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc.rst deleted file mode 100644 index c152bb25940..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_1.rst deleted file mode 100644 index 809f04b8a1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_1: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_2.rst deleted file mode 100644 index b47ed39496e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_2: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_3.rst deleted file mode 100644 index 759634338e9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_3: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_4.rst deleted file mode 100644 index 709278b864e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_4: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_5.rst deleted file mode 100644 index cf95369da31..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_5: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_6.rst deleted file mode 100644 index bacb7be2aed..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_6: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_7.rst deleted file mode 100644 index c4c5c60554b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_7: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_8.rst deleted file mode 100644 index cd435b19a71..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_ssrc_8.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_ssrc_8: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr.rst deleted file mode 100644 index 511d90fa8d8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr: - -vaddr -===== - -An offset from the start of GDS/LDS memory. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_1.rst deleted file mode 100644 index 163642c0c13..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr_1: - -vaddr -===== - -A 64-bit flat address. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_2.rst deleted file mode 100644 index ce380368eb8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_2.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr_2: - -vaddr -===== - -A 64-bit flat global address or a 32-bit offset depending on addressing mode: - -* Address = :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 64-bit address. This mode is indicated by :ref:`saddr` set to :ref:`off`. -* Address = :ref:`saddr` + :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 32-bit offset. This mode is used when :ref:`saddr` is not :ref:`off`. - -*Size:* 1 or 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_3.rst deleted file mode 100644 index 3ad704705b4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_3.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr_3: - -vaddr -===== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`saddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_4.rst deleted file mode 100644 index 5647d4ab33f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_4.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr_4: - -vaddr -===== - -Image address which includes from one to four dimensional coordinates and other data used to locate a position in the image. - -*Size:* 1, 2, 3, 4, 8 or 16 dwords. Actual size depends on opcode, specific image being handled and :ref:`a16`. - - Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction. - - Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_5.rst deleted file mode 100644 index 19209225c78..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vaddr_5.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vaddr_5: - -vaddr -===== - -This is an optional operand which may specify offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`offen` and :ref:`idxen`: - -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both modifiers are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata.rst deleted file mode 100644 index 8f3d77feb62..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata: - -vdata -===== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0.rst deleted file mode 100644 index f93566d11f4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata0: - -vdata0 -====== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0_1.rst deleted file mode 100644 index bb40b08ab5e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata0_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata0_1: - -vdata0 -====== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1.rst deleted file mode 100644 index d30c31aff93..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata1: - -vdata1 -====== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1_1.rst deleted file mode 100644 index 6c39bb78179..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata1_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata1_1: - -vdata1 -====== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_1.rst deleted file mode 100644 index 9dbeaed2381..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_1: - -vdata -===== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_10.rst deleted file mode 100644 index 0fa492ed287..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_10.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_10: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_2.rst deleted file mode 100644 index 11452b2e399..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_2: - -vdata -===== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_3.rst deleted file mode 100644 index 46ba3338d8c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_3: - -vdata -===== - -Instruction input. - -*Size:* 3 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_4.rst deleted file mode 100644 index 1a8450038be..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_4.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_4: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_5.rst deleted file mode 100644 index 6abc50efe97..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_5.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_5: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_6.rst deleted file mode 100644 index 8deeb8de8db..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_6.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_6: - -vdata -===== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data in registers are packed; each value occupies 16 bits. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_7.rst deleted file mode 100644 index 58860a450da..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_7: - -vdata -===== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` which may specify from 1 to 4 data elements. Each data element occupies 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_8.rst deleted file mode 100644 index 0753155bb0e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_8.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_8: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_9.rst deleted file mode 100644 index 158f7a5de4e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdata_9.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdata_9: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst.rst deleted file mode 100644 index 635809c2eb1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst: - -vdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_1.rst deleted file mode 100644 index 95502774380..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_1: - -vdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_10.rst deleted file mode 100644 index b824f2087c8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_10.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_10: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 3 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_11.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_11.rst deleted file mode 100644 index 36477152c56..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_11.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_11: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_12.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_12.rst deleted file mode 100644 index 01d2df9b093..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_12.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_12: - -vdst -==== - -Instruction output: data read from a memory buffer. - -If :ref:`lds` is specified, this operand is ignored by H/W and data are stored directly into LDS. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - - Note that :ref:`tfe` and :ref:`lds` cannot be used together. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_13.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_13.rst deleted file mode 100644 index 60ea58ec1f6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_13.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_13: - -vdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_14.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_14.rst deleted file mode 100644 index d63a6ce179a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_14.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_14: - -vdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_15.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_15.rst deleted file mode 100644 index 75f97e627f9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_15.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_15: - -vdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_16.rst deleted file mode 100644 index b2028a9ed2f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_16.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_16: - -vdst -==== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_17.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_17.rst deleted file mode 100644 index df6d067592f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_17.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_17: - -vdst -==== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_18.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_18.rst deleted file mode 100644 index d9aecae4b93..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_18.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_18: - -vdst -==== - -Instruction output. - -*Size:* 32 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_19.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_19.rst deleted file mode 100644 index 426b2c25fa1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_19.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_19: - -vdst -==== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_2.rst deleted file mode 100644 index 876a2350fcf..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_2: - -vdst -==== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_3.rst deleted file mode 100644 index 53869b1a9eb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_3: - -vdst -==== - -Instruction output. - -*Size:* 3 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_4.rst deleted file mode 100644 index dbab63177b9..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_4.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_4: - -vdst -==== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_5.rst deleted file mode 100644 index fba2e0a2589..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_5.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_5: - -vdst -==== - -Data returned by a 64-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_6.rst deleted file mode 100644 index f3bc6ae3758..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_6.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_6: - -vdst -==== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_7.rst deleted file mode 100644 index c4a50804eac..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_7.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_7: - -vdst -==== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask`, :ref:`tfe` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data elements in registers are packed; each value occupies 16 bits. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_8.rst deleted file mode 100644 index 01b73aee146..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_8.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_8: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_9.rst deleted file mode 100644 index 9d2a42dcff3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vdst_9.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vdst_9: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc.rst deleted file mode 100644 index 5b5934e19d2..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc: - -vsrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_1.rst deleted file mode 100644 index b9e7b0ed98f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc_1: - -vsrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_2.rst deleted file mode 100644 index 1793c49e8b5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc_2: - -vsrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_3.rst deleted file mode 100644 index 13bffbad38e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc_3: - -vsrc -==== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_4.rst deleted file mode 100644 index 29f30b42186..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc_4: - -vsrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_5.rst deleted file mode 100644 index fbfb8795691..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx90a_vsrc_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx90a_vsrc_5: - -vsrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`a` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16.rst deleted file mode 100644 index 713a63b1af5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_imm16: - -imm16 -===== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_1.rst deleted file mode 100644 index 2ce77ef48d6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_1.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_imm16_1: - -imm16 -===== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range 0..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_2.rst deleted file mode 100644 index f71887425af..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_imm16_2.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_imm16_2: - -imm16 -===== - -A 16-bit :ref:`integer_number` or an :ref:`absolute_expression`. The value must be in the range -32768..65535. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_m.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_m.rst deleted file mode 100644 index e7759aa1352..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_m.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_m: - -m -= - -This operand may be used with integer operand modifier :ref:`sext`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_m_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_m_1.rst deleted file mode 100644 index f4dec5955e7..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_m_1.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_m_1: - -m -= - -This operand may be used with floating point operand modifiers :ref:`abs` and :ref:`neg`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_opt.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_opt.rst deleted file mode 100644 index 913bb51b039..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_opt.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_opt: - -opt -=== - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr.rst deleted file mode 100644 index 442f523d734..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_saddr: - -saddr -===== - -An optional 64-bit flat global address. Must be specified as :ref:`off` if not used. - -See :ref:`vaddr` for description of available addressing modes. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr_1.rst deleted file mode 100644 index b2a9277514a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_saddr_1.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_saddr_1: - -saddr -===== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`vaddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase.rst deleted file mode 100644 index 9ab35cfdb85..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sbase: - -sbase -===== - -A 64-bit base address for scalar memory operations. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_1.rst deleted file mode 100644 index 7ddb7347f36..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sbase_1: - -sbase -===== - -A 128-bit buffer resource constant for scalar memory operations which provides a base address, a size and a stride. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_2.rst deleted file mode 100644 index 69a9c77e63a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sbase_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sbase_2: - -sbase -===== - -This operand is ignored by H/W and :ref:`flat_scratch` is supplied instead. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata.rst deleted file mode 100644 index b76aea265e8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_1.rst deleted file mode 100644 index eff06aecf6d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_1.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata_1: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_2.rst deleted file mode 100644 index af0f92ee207..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_2.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata_2: - -sdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_3.rst deleted file mode 100644 index 7f4bd43ac1a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata_3: - -sdata -===== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_4.rst deleted file mode 100644 index e63b71b71e5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata_4: - -sdata -===== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_5.rst deleted file mode 100644 index 57b13d24e28..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdata_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdata_5: - -sdata -===== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst.rst deleted file mode 100644 index c6d93c746fe..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_1.rst deleted file mode 100644 index 3687964c95a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_1: - -sdst -==== - -Instruction output. - -*Size:* 16 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_2.rst deleted file mode 100644 index 3f2e0270d22..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_2: - -sdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_3.rst deleted file mode 100644 index fc53889b86f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_3: - -sdst -==== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_4.rst deleted file mode 100644 index 9f5c4eee379..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_4: - -sdst -==== - -Instruction output. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_5.rst deleted file mode 100644 index 7987c7fb053..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_5: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_6.rst deleted file mode 100644 index 80bbd65fb6f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_6: - -sdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_7.rst deleted file mode 100644 index 425a331e20b..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_sdst_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_sdst_7: - -sdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32.rst deleted file mode 100644 index 7e8521351c8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_simm32: - -simm32 -====== - -An :ref:`integer_number` or an :ref:`absolute_expression`. The value is truncated to 32 bits. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_1.rst deleted file mode 100644 index 00d0de18847..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_1.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_simm32_1: - -simm32 -====== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f16* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_2.rst deleted file mode 100644 index 8698c8a7225..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_simm32_2.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_simm32_2: - -simm32 -====== - -A :ref:`floating-point_number`, an :ref:`integer_number`, or an :ref:`absolute_expression`. -The value is converted to *f32* as described :ref:`here`. diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset.rst deleted file mode 100644 index 9b55558bb6e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_soffset: - -soffset -======= - -An unsigned byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_1.rst deleted file mode 100644 index ecac0608d1c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_1.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_soffset_1: - -soffset -======= - -An offset added to the base address to get memory address. - -* If offset is specified as a register, it supplies an unsigned byte offset. -* If offset is specified as a 21-bit immediate, it supplies a signed byte offset. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`simm21` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_2.rst deleted file mode 100644 index 8faf02db065..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_soffset_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_soffset_2: - -soffset -======= - -An unsigned 20-bit offset added to the base address to get memory address. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`uimm20` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src.rst deleted file mode 100644 index f0fe23228f6..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_1.rst deleted file mode 100644 index ac4dea9107a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_1: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_10.rst deleted file mode 100644 index 9c46c019d5c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_10.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_10: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst`, :ref:`ival` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_2.rst deleted file mode 100644 index a2a0b35f3ee..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_2: - -src -=== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_3.rst deleted file mode 100644 index 7f2de41e458..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_3: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`iconst`, :ref:`ival`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_4.rst deleted file mode 100644 index d9c94428114..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_4: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`ival` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_5.rst deleted file mode 100644 index acbac62e7bd..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_5: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`lds_direct` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_6.rst deleted file mode 100644 index ebae6c08834..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_6: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`iconst`, :ref:`ival`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_7.rst deleted file mode 100644 index 2b736f8e86e..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_7: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_8.rst deleted file mode 100644 index f610fc23125..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_8.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_8: - -src -=== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`lds_direct`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_9.rst deleted file mode 100644 index 83cb0b4c3e1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_src_9.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_src_9: - -src -=== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v`, :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc.rst deleted file mode 100644 index 5916602cb10..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_srsrc: - -srsrc -===== - -Image resource constant which defines the location of the image buffer in memory, its dimensions, tiling, and data format. - -*Size:* 8 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc_1.rst deleted file mode 100644 index 4cbcb1fb829..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_srsrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_srsrc_1: - -srsrc -===== - -Buffer resource constant which defines the address and characteristics of the buffer in memory. - -*Size:* 4 dwords. - -*Operands:* :ref:`s`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc.rst deleted file mode 100644 index 59f44c6a934..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_1.rst deleted file mode 100644 index 6fd4eafb60a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_1: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant`, :ref:`literal` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_2.rst deleted file mode 100644 index 60a15bbab08..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_2: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_3.rst deleted file mode 100644 index 98b002065aa..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_3: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_4.rst deleted file mode 100644 index a5a60d3c409..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_4.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_4: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_5.rst deleted file mode 100644 index bd0dcfd1687..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_5.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_5: - -ssrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_6.rst deleted file mode 100644 index 02faee4dc6f..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_6.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_6: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_7.rst deleted file mode 100644 index ed05b75f75d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_7: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`iconst` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_8.rst deleted file mode 100644 index 8457952c025..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_ssrc_8.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_ssrc_8: - -ssrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`s`, :ref:`flat_scratch`, :ref:`xnack_mask`, :ref:`vcc`, :ref:`ttmp`, :ref:`m0`, :ref:`exec`, :ref:`vccz`, :ref:`execz`, :ref:`scc`, :ref:`constant` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr.rst deleted file mode 100644 index 194b2688f93..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr: - -vaddr -===== - -An offset from the start of GDS/LDS memory. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_1.rst deleted file mode 100644 index aabf5655f05..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr_1: - -vaddr -===== - -A 64-bit flat address. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_2.rst deleted file mode 100644 index 0ee1edd2d9d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_2.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr_2: - -vaddr -===== - -A 64-bit flat global address or a 32-bit offset depending on addressing mode: - -* Address = :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 64-bit address. This mode is indicated by :ref:`saddr` set to :ref:`off`. -* Address = :ref:`saddr` + :ref:`vaddr` + :ref:`offset13s`. :ref:`vaddr` is a 32-bit offset. This mode is used when :ref:`saddr` is not :ref:`off`. - -*Size:* 1 or 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_3.rst deleted file mode 100644 index f332cb6151c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_3.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr_3: - -vaddr -===== - -An optional 32-bit flat scratch offset. Must be specified as :ref:`off` if not used. - -Either this operand or :ref:`saddr` must be set to :ref:`off`. - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_4.rst deleted file mode 100644 index ccee5f4c493..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_4.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr_4: - -vaddr -===== - -Image address which includes from one to four dimensional coordinates and other data used to locate a position in the image. - -*Size:* 1, 2, 3, 4, 8 or 16 dwords. Actual size depends on opcode, specific image being handled and :ref:`a16`. - - Note 1. Image format and dimensions are encoded in the image resource constant but not in the instruction. - - Note 2. Actually image address size may vary from 1 to 13 dwords, but assembler currently supports a limited range of register sequences. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_5.rst deleted file mode 100644 index 0c2b159f826..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vaddr_5.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vaddr_5: - -vaddr -===== - -This is an optional operand which may specify offset and/or index. - -*Size:* 0, 1 or 2 dwords. Size is controlled by modifiers :ref:`offen` and :ref:`idxen`: - -* If only :ref:`idxen` is specified, this operand supplies an index. Size is 1 dword. -* If only :ref:`offen` is specified, this operand supplies an offset. Size is 1 dword. -* If both modifiers are specified, index is in the first register and offset is in the second. Size is 2 dwords. -* If none of these modifiers are specified, this operand must be set to :ref:`off`. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata.rst deleted file mode 100644 index fa754016904..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata: - -vdata -===== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0.rst deleted file mode 100644 index 4df069ff9ff..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata0: - -vdata0 -====== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0_1.rst deleted file mode 100644 index 00595e258f0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata0_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata0_1: - -vdata0 -====== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1.rst deleted file mode 100644 index 07e21e3ddcf..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata1: - -vdata1 -====== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1_1.rst deleted file mode 100644 index a5083fb8829..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata1_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata1_1: - -vdata1 -====== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_1.rst deleted file mode 100644 index 585f816e3e3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_1: - -vdata -===== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_10.rst deleted file mode 100644 index 2d420877eed..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_10.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_10: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_2.rst deleted file mode 100644 index 5cd172bfc7d..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_2: - -vdata -===== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_3.rst deleted file mode 100644 index a705537d155..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_3: - -vdata -===== - -Instruction input. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_4.rst deleted file mode 100644 index 1d8eb16be77..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_4.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_4: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 1 data element for 32-bit-per-pixel surfaces or 2 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_5.rst deleted file mode 100644 index 1a9ee65b0d1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_5.rst +++ /dev/null @@ -1,26 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_5: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify 2 data elements for 32-bit-per-pixel surfaces or 4 data elements for 64-bit-per-pixel surfaces. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - - Note: the surface data format is indicated in the image resource constant but not in the instruction. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_6.rst deleted file mode 100644 index fab039c6757..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_6.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_6: - -vdata -===== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data in registers are packed; each value occupies 16 bits. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_7.rst deleted file mode 100644 index df1dca53ba0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_7.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_7: - -vdata -===== - -Image data to store by an *image_store* instruction. - -*Size:* depends on :ref:`dmask` which may specify from 1 to 4 data elements. Each data element occupies 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_8.rst deleted file mode 100644 index df9d32e69c4..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_8.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_8: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_9.rst deleted file mode 100644 index caafea5bead..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdata_9.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdata_9: - -vdata -===== - -Input data for an atomic instruction. - -Optionally may serve as an output data: - -* If :ref:`glc` is specified, gets the memory value before the operation. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst.rst deleted file mode 100644 index 1c003ac22fb..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst: - -vdst -==== - -Instruction output. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_1.rst deleted file mode 100644 index 7e2f6317ef3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_1: - -vdst -==== - -Instruction output. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_10.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_10.rst deleted file mode 100644 index 8e7b9908aa5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_10.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_10: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 2 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_11.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_11.rst deleted file mode 100644 index f3512d3aa21..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_11.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_11: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 3 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_12.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_12.rst deleted file mode 100644 index 09d4d7a1bb5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_12.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_12: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 4 dwords by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_13.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_13.rst deleted file mode 100644 index ff27ff0d0d1..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_13.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_13: - -vdst -==== - -Instruction output: data read from a memory buffer. - -If :ref:`lds` is specified, this operand is ignored by H/W and data are stored directly into LDS. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - - Note that :ref:`tfe` and :ref:`lds` cannot be used together. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_2.rst deleted file mode 100644 index 11c1fdbbecd..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_2: - -vdst -==== - -Instruction output. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_3.rst deleted file mode 100644 index cfc129198c0..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_3: - -vdst -==== - -Instruction output. - -*Size:* 3 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_4.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_4.rst deleted file mode 100644 index b7d5ebef61a..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_4.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_4: - -vdst -==== - -Data returned by a 32-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_5.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_5.rst deleted file mode 100644 index faf7f8d86d5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_5.rst +++ /dev/null @@ -1,19 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_5: - -vdst -==== - -Data returned by a 64-bit atomic flat instruction. - -This is an optional operand. It must be used if and only if :ref:`glc` is specified. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_6.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_6.rst deleted file mode 100644 index d82c8989c5c..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_6.rst +++ /dev/null @@ -1,22 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_6: - -vdst -==== - -Image data to load by an *image_gather4* instruction. - -*Size:* 4 data elements by default. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. - -:ref:`d16` and :ref:`tfe` affect operand size as follows: - -* :ref:`d16` specifies that data elements in registers are packed; each value occupies 16 bits. -* :ref:`tfe` adds one dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_7.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_7.rst deleted file mode 100644 index 6c4860c9bf8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_7.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_7: - -vdst -==== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask` and :ref:`tfe`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies 1 dword. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_8.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_8.rst deleted file mode 100644 index 4a507b19372..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_8.rst +++ /dev/null @@ -1,21 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_8: - -vdst -==== - -Image data to load by an image instruction. - -*Size:* depends on :ref:`dmask`, :ref:`tfe` and :ref:`d16`: - -* :ref:`dmask` may specify from 1 to 4 data elements. Each data element occupies either 32 bits or 16 bits depending on :ref:`d16`. -* :ref:`d16` specifies that data elements in registers are packed; each value occupies 16 bits. -* :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_9.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_9.rst deleted file mode 100644 index dabefd27c16..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vdst_9.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vdst_9: - -vdst -==== - -Instruction output: data read from a memory buffer. - -*Size:* 1 dword by default. :ref:`tfe` adds 1 dword if specified. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc.rst deleted file mode 100644 index efe436c9485..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc.rst +++ /dev/null @@ -1,28 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vsrc: - -vsrc -==== - -Data to copy to export buffers. This is an optional operand. Must be specified as :ref:`off` if not used. - -:ref:`compr` modifier indicates use of compressed (16-bit) data. This limits number of source operands from 4 to 2: - -* src0 and src1 must specify the first register (or :ref:`off`). -* src2 and src3 must specify the second register (or :ref:`off`). - -An example: - -.. parsed-literal:: - - exp mrtz v3, v3, off, off compr - -*Size:* 1 dword. - -*Operands:* :ref:`v`, :ref:`off` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_1.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_1.rst deleted file mode 100644 index 15035b4d3e5..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_1.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vsrc_1: - -vsrc -==== - -Instruction input. - -*Size:* 1 dword. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_2.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_2.rst deleted file mode 100644 index 3eb9e5fb5b3..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_2.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vsrc_2: - -vsrc -==== - -Instruction input. - -*Size:* 4 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_3.rst b/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_3.rst deleted file mode 100644 index 886257f20c8..00000000000 --- a/gnu/llvm/llvm/docs/AMDGPU/gfx9_vsrc_3.rst +++ /dev/null @@ -1,17 +0,0 @@ -.. - ************************************************** - * * - * Automatically generated file, do not edit! * - * * - ************************************************** - -.. _amdgpu_synid_gfx9_vsrc_3: - -vsrc -==== - -Instruction input. - -*Size:* 2 dwords. - -*Operands:* :ref:`v` diff --git a/gnu/llvm/llvm/docs/Makefile.sphinx b/gnu/llvm/llvm/docs/Makefile.sphinx deleted file mode 100644 index 21f66488b2b..00000000000 --- a/gnu/llvm/llvm/docs/Makefile.sphinx +++ /dev/null @@ -1,155 +0,0 @@ -# Makefile for Sphinx documentation -# - -# You can set these variables from the command line. -SPHINXOPTS = -SPHINXBUILD = sphinx-build -PAPER = -BUILDDIR = _build - -# Internal variables. -PAPEROPT_a4 = -D latex_paper_size=a4 -PAPEROPT_letter = -D latex_paper_size=letter -ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . -# the i18n builder cannot share the environment and doctrees with the others -I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) . - -.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext - -all: html - -help: - @echo "Please use \`make ' where is one of" - @echo " html to make standalone HTML files" - @echo " dirhtml to make HTML files named index.html in directories" - @echo " singlehtml to make a single large HTML file" - @echo " pickle to make pickle files" - @echo " json to make JSON files" - @echo " htmlhelp to make HTML files and a HTML help project" - @echo " qthelp to make HTML files and a qthelp project" - @echo " devhelp to make HTML files and a Devhelp project" - @echo " epub to make an epub" - @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter" - @echo " latexpdf to make LaTeX files and run them through pdflatex" - @echo " text to make text files" - @echo " man to make manual pages" - @echo " texinfo to make Texinfo files" - @echo " info to make Texinfo files and run them through makeinfo" - @echo " gettext to make PO message catalogs" - @echo " changes to make an overview of all changed/added/deprecated items" - @echo " linkcheck to check all external links for integrity" - @echo " doctest to run all doctests embedded in the documentation (if enabled)" - -clean: - -rm -rf $(BUILDDIR)/* - -html: - $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/html." - -dirhtml: - $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml - @echo - @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml." - -singlehtml: - $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml - @echo - @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml." - -pickle: - $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle - @echo - @echo "Build finished; now you can process the pickle files." - -json: - $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json - @echo - @echo "Build finished; now you can process the JSON files." - -htmlhelp: - $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp - @echo - @echo "Build finished; now you can run HTML Help Workshop with the" \ - ".hhp project file in $(BUILDDIR)/htmlhelp." - -qthelp: - $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp - @echo - @echo "Build finished; now you can run "qcollectiongenerator" with the" \ - ".qhcp project file in $(BUILDDIR)/qthelp, like this:" - @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/llvm.qhcp" - @echo "To view the help file:" - @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/llvm.qhc" - -devhelp: - $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp - @echo - @echo "Build finished." - @echo "To view the help file:" - @echo "# mkdir -p $$HOME/.local/share/devhelp/llvm" - @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/llvm" - @echo "# devhelp" - -epub: - $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub - @echo - @echo "Build finished. The epub file is in $(BUILDDIR)/epub." - -latex: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo - @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex." - @echo "Run \`make' in that directory to run these through (pdf)latex" \ - "(use \`make latexpdf' here to do that automatically)." - -latexpdf: - $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex - @echo "Running LaTeX files through pdflatex..." - $(MAKE) -C $(BUILDDIR)/latex all-pdf - @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex." - -text: - $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text - @echo - @echo "Build finished. The text files are in $(BUILDDIR)/text." - -man: - $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man - @echo - @echo "Build finished. The manual pages are in $(BUILDDIR)/man." - -texinfo: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo - @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo." - @echo "Run \`make' in that directory to run these through makeinfo" \ - "(use \`make info' here to do that automatically)." - -info: - $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo - @echo "Running Texinfo files through makeinfo..." - make -C $(BUILDDIR)/texinfo info - @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo." - -gettext: - $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale - @echo - @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale." - -changes: - $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes - @echo - @echo "The overview file is in $(BUILDDIR)/changes." - -linkcheck: - $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck - @echo - @echo "Link check complete; look for any errors in the above output " \ - "or in $(BUILDDIR)/linkcheck/output.txt." - -doctest: - $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest - @echo "Testing of doctests in the sources finished, look at the " \ - "results in $(BUILDDIR)/doctest/output.txt." diff --git a/gnu/llvm/llvm/docs/Proposals/LLVMLibC.rst b/gnu/llvm/llvm/docs/Proposals/LLVMLibC.rst deleted file mode 100644 index e113e7b057f..00000000000 --- a/gnu/llvm/llvm/docs/Proposals/LLVMLibC.rst +++ /dev/null @@ -1,125 +0,0 @@ -============================== -"llvm-libc" C Standard Library -============================== - -.. contents:: Table of Contents - :depth: 4 - :local: - -Introduction -============ - -This is a proposal to start *llvm-libc*, an implementation of the -C standard library targeting C17 and above, as part of the LLVM project. -llvm-libc will also provide platform specific extensions as relevant. -For example, on Linux it also provides pthreads, librt and other POSIX -extension libraries. - -Features -======== - -llvm-libc will be developed to have a certain minimum set of features: - -- C17 and upwards conformant. -- A modular libc with individual pieces implemented in the "as a - library" philosophy of the LLVM project. -- Ability to layer this libc over the system libc if possible and desired - for a platform. -- Provide C symbols as specified by the standards, but take advantage - and use C++ language facilities for the core implementation. -- Provides POSIX extensions on POSIX compliant platforms. -- Provides system-specific extensions as appropriate. For example, - provides the Linux API on Linux. -- Vendor extensions if and only if necessary. -- Designed and developed from the start to work with LLVM tooling and - testing like fuzz testing and sanitizer-supported testing. -- ABI independent implementation as far as possible. -- Use source based implementations as far possible rather than - assembly. Will try to *fix* the compiler rather than use assembly - language workarounds. -- Extensive unit testing and standards conformance testing. If relevant - and possible, differential testing: We want to be able - to test llvm-libc against another battle-tested libc. This is - essentially to understand how we differ from other libcs. Also if - relevant and possible, test against the testsuite of an another - battle-tested libc implementation. - -Why a new C Standard Library? -============================= - -Implementing a libc is no small task and is not be taken lightly. A -natural question to ask is, "why a new implementation of the C -standard library?" There is no single answer to this question, but -some of the major reasons are as follows: - -- Most libc implementations are monolithic. It is a non-trivial - porting task to pick and choose only the pieces relevant to one's - platform. The llvm-libc will be developed with sufficient modularity to - make picking and choosing a straightforward task. -- Most libc implementations break when built with sanitizer specific - compiler options. The llvm-libc will be developed from the start to - work with those specialized compiler options. -- The llvm-libc will be developed to support and employ fuzz testing - from the start. -- Most libc implementations use a good amount of assembly language, - and assume specific ABIs (may be platform dependent). With the llvm-libc - implementation, we want to use normal source code as much as possible so - that compiler-based changes to the ABI are easy. Moreover, as part of the - LLVM project, we want to use this opportunity to fix performance related - compiler bugs rather than using assembly workarounds. -- A large hole in the LLVM toolchain will be plugged with llvm-libc. - With the broad platform expertise in the LLVM community, and the - strong license and project structure, we think that llvm-libc will - be more tunable and robust, without sacrificing the simplicity and - accessibility typical of the LLVM project. - -Platform Support -================ - -We envision that llvm-libc will support a variety of platforms in the coming -years. Interested parties are encouraged to participate in the design and -implementation, and add support for their favorite platforms. - -ABI Compatibility -================= - -As llvm-libc is new, it will not offer ABI stability in the initial stages. -However, as we've heard from other LLVM contributors that they are interested -in having ABI stability, llvm-libc code will be written in a manner which is -amenable to ABI stability. We are looking for contributors interested in -driving the design in this space to help us define what exactly does ABI -stability mean for llvm-libc. - -Layering Over Another libc -========================== - -When meaningful and practically possible on a platform, llvm-libc will be -developed in a fashion that it will be possible to layer it over the system -libc. This does not mean that one can mix llvm-libc with the system-libc. Also, -it does not mean that layering is the only way to use llvm-libc. What it -means is that, llvm-libc can optionally be packaged in a way that it can -delegate parts of the functionality to the system-libc. The delegation happens -internal to llvm-libc and is invisible to the users. From the user's point of -view, they only call into llvm-libc. - -There are a few problems one needs to be mindful of when implementing such a -delegation scheme in llvm-libc. Examples of such problems are: - -1. One cannot mix data structures from llvm-libc with those from the -system-libc. A translation from one set of data structures to the other should -happen internal to llvm-libc. -2. The delegation mechanism has to be implemented over a related set of -functions. For example, one cannot delegate just the `fopen` function to the -system-libc. One will have to delegate all `FILE` related functions to the -system-libc. - -Current Status -============== - -llvm-libc development is still in the planning phase. - -Build Bots -========== - -Once the development starts, there will be llvm-libc focused builders added to -the LLVM BuildBot. diff --git a/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.cpp b/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.cpp deleted file mode 100644 index 125180715cd..00000000000 --- a/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.cpp +++ /dev/null @@ -1,21 +0,0 @@ -//===-- InitializePasses.cpp ----------------------------------------------===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file implements implements the initialization hook for the example -// transforms. -// -//===----------------------------------------------------------------------===// - -#include "InitializePasses.h" -#include "llvm/PassRegistry.h" - -using namespace llvm; - -void initializeExampleIRTransforms(PassRegistry &Registry) { - initializeSimplifyCFGLegacyPassPass(Registry); -} diff --git a/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.h b/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.h deleted file mode 100644 index 8b6673d518e..00000000000 --- a/gnu/llvm/llvm/examples/IRTransforms/InitializePasses.h +++ /dev/null @@ -1,22 +0,0 @@ -//===- InitializePasses.h - -------------------------------------*- C++ -*-===// -// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXAMPLES_IRTRANSFORMS_INITIALIZEPASSES__H -#define LLVM_EXAMPLES_IRTRANSFORMS_INITIALIZEPASSES__H - -#include "llvm/IR/PassManager.h" - -namespace llvm { - -void initializeExampleIRTransforms(PassRegistry &Registry); -void initializeSimplifyCFGLegacyPassPass(PassRegistry &Registry); - -} // end namespace llvm - -#endif diff --git a/gnu/llvm/llvm/examples/IRTransforms/SimplifyCFG.h b/gnu/llvm/llvm/examples/IRTransforms/SimplifyCFG.h deleted file mode 100644 index 09328afb01d..00000000000 --- a/gnu/llvm/llvm/examples/IRTransforms/SimplifyCFG.h +++ /dev/null @@ -1,24 +0,0 @@ -//===- SimplifyCFG.h - Tutorial SimplifyCFG ---------------------*- C++ -*-===// -// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXAMPLES_IRTRANSFORMS_SIMPLIFYCFG__H -#define LLVM_EXAMPLES_IRTRANSFORMS_SIMPLIFYCFG__H - -#include "llvm/Pass.h" -#include "llvm/PassRegistry.h" - -namespace llvm { - -FunctionPass *createSimplifyCFGPass(); - -void initializeSimplifyCFGLegacyPassPass(PassRegistry &); - -} // end namespace llvm - -#endif // LLVM_EXAMPLES_IRTRANSFORMS_SIMPLIFYCFG__H diff --git a/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/CMakeLists.txt b/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/CMakeLists.txt deleted file mode 100644 index 10e0de8d64b..00000000000 --- a/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -set(LLVM_LINK_COMPONENTS - Core - ExecutionEngine - IRReader - OrcJIT - Support - nativecodegen - ) - -add_llvm_example(LLJITWithTargetProcessControl - LLJITWithTargetProcessControl.cpp - ) diff --git a/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/LLJITWithTargetProcessControl.cpp b/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/LLJITWithTargetProcessControl.cpp deleted file mode 100644 index ac5ea5643b0..00000000000 --- a/gnu/llvm/llvm/examples/OrcV2Examples/LLJITWithTargetProcessControl/LLJITWithTargetProcessControl.cpp +++ /dev/null @@ -1,197 +0,0 @@ -//===- LLJITWithExecutorProcessControl.cpp - LLJIT example with EPC utils -===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// In this example we will use the lazy re-exports utility to lazily compile -// IR modules. We will do this in seven steps: -// -// 1. Create an LLJIT instance. -// 2. Install a transform so that we can see what is being compiled. -// 3. Create an indirect stubs manager and lazy call-through manager. -// 4. Add two modules that will be conditionally compiled, plus a main module. -// 5. Add lazy-rexports of the symbols in the conditionally compiled modules. -// 6. Dump the ExecutionSession state to see the symbol table prior to -// executing any code. -// 7. Verify that only modules containing executed code are compiled. -// -//===----------------------------------------------------------------------===// - -#include "llvm/ADT/StringMap.h" -#include "llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h" -#include "llvm/ExecutionEngine/Orc/EPCDynamicLibrarySearchGenerator.h" -#include "llvm/ExecutionEngine/Orc/EPCIndirectionUtils.h" -#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" -#include "llvm/ExecutionEngine/Orc/LLJIT.h" -#include "llvm/ExecutionEngine/Orc/ObjectLinkingLayer.h" -#include "llvm/ExecutionEngine/Orc/OrcABISupport.h" -#include "llvm/Support/InitLLVM.h" -#include "llvm/Support/TargetSelect.h" -#include "llvm/Support/raw_ostream.h" - -#include "../ExampleModules.h" - -#include - -using namespace llvm; -using namespace llvm::orc; - -ExitOnError ExitOnErr; - -// Example IR modules. -// -// Note that in the conditionally compiled modules, FooMod and BarMod, functions -// have been given an _body suffix. This is to ensure that their names do not -// clash with their lazy-reexports. -// For clients who do not wish to rename function bodies (e.g. because they want -// to re-use cached objects between static and JIT compiles) techniques exist to -// avoid renaming. See the lazy-reexports section of the ORCv2 design doc. - -const llvm::StringRef FooMod = - R"( - declare i32 @return1() - - define i32 @foo_body() { - entry: - %0 = call i32 @return1() - ret i32 %0 - } -)"; - -const llvm::StringRef BarMod = - R"( - declare i32 @return2() - - define i32 @bar_body() { - entry: - %0 = call i32 @return2() - ret i32 %0 - } -)"; - -const llvm::StringRef MainMod = - R"( - - define i32 @entry(i32 %argc) { - entry: - %and = and i32 %argc, 1 - %tobool = icmp eq i32 %and, 0 - br i1 %tobool, label %if.end, label %if.then - - if.then: ; preds = %entry - %call = tail call i32 @foo() #2 - br label %return - - if.end: ; preds = %entry - %call1 = tail call i32 @bar() #2 - br label %return - - return: ; preds = %if.end, %if.then - %retval.0 = phi i32 [ %call, %if.then ], [ %call1, %if.end ] - ret i32 %retval.0 - } - - declare i32 @foo() - declare i32 @bar() -)"; - -extern "C" int32_t return1() { return 1; } -extern "C" int32_t return2() { return 2; } - -static void *reenter(void *Ctx, void *TrampolineAddr) { - std::promise LandingAddressP; - auto LandingAddressF = LandingAddressP.get_future(); - - auto *EPCIU = static_cast(Ctx); - EPCIU->getLazyCallThroughManager().resolveTrampolineLandingAddress( - pointerToJITTargetAddress(TrampolineAddr), - [&](JITTargetAddress LandingAddress) { - LandingAddressP.set_value( - jitTargetAddressToPointer(LandingAddress)); - }); - return LandingAddressF.get(); -} - -static void reportErrorAndExit() { - errs() << "Unable to lazily compile function. Exiting.\n"; - exit(1); -} - -cl::list InputArgv(cl::Positional, - cl::desc("...")); - -int main(int argc, char *argv[]) { - // Initialize LLVM. - InitLLVM X(argc, argv); - - InitializeNativeTarget(); - InitializeNativeTargetAsmPrinter(); - - cl::ParseCommandLineOptions(argc, argv, "LLJITWithLazyReexports"); - ExitOnErr.setBanner(std::string(argv[0]) + ": "); - - // (1) Create LLJIT instance. - auto EPC = ExitOnErr(SelfExecutorProcessControl::Create()); - auto J = ExitOnErr( - LLJITBuilder().setExecutorProcessControl(std::move(EPC)).create()); - - // (2) Install transform to print modules as they are compiled: - J->getIRTransformLayer().setTransform( - [](ThreadSafeModule TSM, - const MaterializationResponsibility &R) -> Expected { - TSM.withModuleDo([](Module &M) { dbgs() << "---Compiling---\n" << M; }); - return std::move(TSM); // Not a redundant move: fix build on gcc-7.5 - }); - - // (3) Create stubs and call-through managers: - auto EPCIU = ExitOnErr(EPCIndirectionUtils::Create(*EPC)); - ExitOnErr(EPCIU->writeResolverBlock(pointerToJITTargetAddress(&reenter), - pointerToJITTargetAddress(EPCIU.get()))); - EPCIU->createLazyCallThroughManager( - J->getExecutionSession(), pointerToJITTargetAddress(&reportErrorAndExit)); - auto ISM = EPCIU->createIndirectStubsManager(); - J->getMainJITDylib().addGenerator( - ExitOnErr(EPCDynamicLibrarySearchGenerator::GetForTargetProcess( - J->getExecutionSession()))); - - // (4) Add modules. - ExitOnErr(J->addIRModule(ExitOnErr(parseExampleModule(FooMod, "foo-mod")))); - ExitOnErr(J->addIRModule(ExitOnErr(parseExampleModule(BarMod, "bar-mod")))); - ExitOnErr(J->addIRModule(ExitOnErr(parseExampleModule(MainMod, "main-mod")))); - - // (5) Add lazy reexports. - MangleAndInterner Mangle(J->getExecutionSession(), J->getDataLayout()); - SymbolAliasMap ReExports( - {{Mangle("foo"), - {Mangle("foo_body"), - JITSymbolFlags::Exported | JITSymbolFlags::Callable}}, - {Mangle("bar"), - {Mangle("bar_body"), - JITSymbolFlags::Exported | JITSymbolFlags::Callable}}}); - ExitOnErr(J->getMainJITDylib().define( - lazyReexports(EPCIU->getLazyCallThroughManager(), *ISM, - J->getMainJITDylib(), std::move(ReExports)))); - - // (6) Dump the ExecutionSession state. - dbgs() << "---Session state---\n"; - J->getExecutionSession().dump(dbgs()); - dbgs() << "\n"; - - // (7) Execute the JIT'd main function and pass the example's command line - // arguments unmodified. This should cause either ExampleMod1 or ExampleMod2 - // to be compiled, and either "1" or "2" returned depending on the number of - // arguments passed. - - // Look up the JIT'd function, cast it to a function pointer, then call it. - auto EntrySym = ExitOnErr(J->lookup("entry")); - auto *Entry = (int (*)(int))EntrySym.getAddress(); - - int Result = Entry(argc); - outs() << "---Result---\n" - << "entry(" << argc << ") = " << Result << "\n"; - - return 0; -} diff --git a/gnu/llvm/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h b/gnu/llvm/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h deleted file mode 100644 index db061a7ad1f..00000000000 --- a/gnu/llvm/llvm/include/llvm-c/Transforms/AggressiveInstCombine.h +++ /dev/null @@ -1,40 +0,0 @@ -/*===-- AggressiveInstCombine.h ---------------------------------*- C++ -*-===*\ -|* *| -|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| -|* Exceptions. *| -|* See https://llvm.org/LICENSE.txt for license information. *| -|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This header declares the C interface to libLLVMAggressiveInstCombine.a, *| -|* which combines instructions to form fewer, simple IR instructions. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -#ifndef LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H -#define LLVM_C_TRANSFORMS_AGGRESSIVEINSTCOMBINE_H - -#include "llvm-c/ExternC.h" -#include "llvm-c/Types.h" - -LLVM_C_EXTERN_C_BEGIN - -/** - * @defgroup LLVMCTransformsAggressiveInstCombine Aggressive Instruction Combining transformations - * @ingroup LLVMCTransforms - * - * @{ - */ - -/** See llvm::createAggressiveInstCombinerPass function. */ -void LLVMAddAggressiveInstCombinerPass(LLVMPassManagerRef PM); - -/** - * @} - */ - -LLVM_C_EXTERN_C_END - -#endif - diff --git a/gnu/llvm/llvm/include/llvm-c/Transforms/Coroutines.h b/gnu/llvm/llvm/include/llvm-c/Transforms/Coroutines.h deleted file mode 100644 index 03b6822033c..00000000000 --- a/gnu/llvm/llvm/include/llvm-c/Transforms/Coroutines.h +++ /dev/null @@ -1,56 +0,0 @@ -/*===-- Coroutines.h - Coroutines Library C Interface -----------*- C++ -*-===*\ -|* *| -|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| -|* Exceptions. *| -|* See https://llvm.org/LICENSE.txt for license information. *| -|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| -|* *| -|*===----------------------------------------------------------------------===*| -|* *| -|* This header declares the C interface to libLLVMCoroutines.a, which *| -|* implements various scalar transformations of the LLVM IR. *| -|* *| -|* Many exotic languages can interoperate with C code but have a harder time *| -|* with C++ due to name mangling. So in addition to C, this interface enables *| -|* tools written in such languages. *| -|* *| -\*===----------------------------------------------------------------------===*/ - -#ifndef LLVM_C_TRANSFORMS_COROUTINES_H -#define LLVM_C_TRANSFORMS_COROUTINES_H - -#include "llvm-c/ExternC.h" -#include "llvm-c/Types.h" -#include "llvm-c/Transforms/PassManagerBuilder.h" - -LLVM_C_EXTERN_C_BEGIN - -/** - * @defgroup LLVMCTransformsCoroutines Coroutine transformations - * @ingroup LLVMCTransforms - * - * @{ - */ - -/** See llvm::createCoroEarlyLegacyPass function. */ -void LLVMAddCoroEarlyPass(LLVMPassManagerRef PM); - -/** See llvm::createCoroSplitLegacyPass function. */ -void LLVMAddCoroSplitPass(LLVMPassManagerRef PM); - -/** See llvm::createCoroElideLegacyPass function. */ -void LLVMAddCoroElidePass(LLVMPassManagerRef PM); - -/** See llvm::createCoroCleanupLegacyPass function. */ -void LLVMAddCoroCleanupPass(LLVMPassManagerRef PM); - -/** See llvm::addCoroutinePassesToExtensionPoints. */ -void LLVMPassManagerBuilderAddCoroutinePassesToExtensionPoints(LLVMPassManagerBuilderRef PMB); - -/** - * @} - */ - -LLVM_C_EXTERN_C_END - -#endif diff --git a/gnu/llvm/llvm/include/llvm/ADT/Waymarking.h b/gnu/llvm/llvm/include/llvm/ADT/Waymarking.h deleted file mode 100644 index 2efbc6f0549..00000000000 --- a/gnu/llvm/llvm/include/llvm/ADT/Waymarking.h +++ /dev/null @@ -1,322 +0,0 @@ -//===- Waymarking.h - Array waymarking algorithm ----------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Utility to backtrace an array's head, from a pointer into it. For the -// backtrace to work, we use "Waymarks", which are special tags embedded into -// the array's elements. -// -// A Tag of n-bits (in size) is composed as follows: -// -// bits: | n-1 | n-2 ... 0 | -// .---------.------------------------------------. -// |Stop Mask|(2^(n-1))-ary numeric system - digit| -// '---------'------------------------------------' -// -// Backtracing is done as follows: -// Walk back (starting from a given pointer to an element into the array), until -// a tag with a "Stop Mask" is reached. Then start calculating the "Offset" from -// the array's head, by picking up digits along the way, until another stop is -// reached. The "Offset" is then subtracted from the current pointer, and the -// result is the array's head. -// A special case - if we first encounter a Tag with a Stop and a zero digit, -// then this is already the head. -// -// For example: -// In case of 2 bits: -// -// Tags: -// x0 - binary digit 0 -// x1 - binary digit 1 -// 1x - stop and calculate (s) -// -// Array: -// .---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---. -// head -> |s0 |s1 | 0 |s1 | 0 | 0 |s1 | 1 | 1 |s1 | 0 | 1 | 0 |s1 | 0 | 1 | -// '---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---' -// |-1 |-2 |-4 |-7 |-10 |-14 -// <_ | | | | | | -// <_____ | | | | | -// <_____________ | | | | -// <_________________________ | | | -// <_____________________________________ | | -// <_____________________________________________________ | -// -// -// In case of 3 bits: -// -// Tags: -// x00 - quaternary digit 0 -// x01 - quaternary digit 1 -// x10 - quaternary digit 2 -// x11 - quaternary digit 3 -// 1xy - stop and calculate (s) -// -// Array: -// .---.---.---.---.---.---.---.---.---.---.---.---.---.---.---.---. -// head -> |s0 |s1 |s2 |s3 | 0 |s1 | 2 |s1 | 0 |s2 | 2 |s2 | 0 |s3 | 2 |s3 | -// '---'---'---'---'---'---'---'---'---'---'---'---'---'---'---'---' -// |-1 |-2 |-3 |-4 |-6 |-8 |-10 |-12 |-14 |-16 -// <_ | | | | | | | | | | -// <_____ | | | | | | | | | -// <_________ | | | | | | | | -// <_____________ | | | | | | | -// <_____________________ | | | | | | -// <_____________________________ | | | | | -// <_____________________________________ | | | | -// <_____________________________________________ | | | -// <_____________________________________________________ | | -// <_____________________________________________________________ | -// -// -// The API introduce 2 functions: -// 1. fillWaymarks -// 2. followWaymarks -// -// Example: -// int N = 10; -// int M = 5; -// int **A = new int *[N + M]; // Define the array. -// for (int I = 0; I < N + M; ++I) -// A[I] = new int(I); -// -// fillWaymarks(A, A + N); // Set the waymarks for the first N elements -// // of the array. -// // Note that it must be done AFTER we fill -// // the array's elements. -// -// ... // Elements which are not in the range -// // [A, A+N) will not be marked, and we won't -// // be able to call followWaymarks on them. -// -// ... // Elements which will be changed after the -// // call to fillWaymarks, will have to be -// // retagged. -// -// fillWaymarks(A + N, A + N + M, N); // Set the waymarks of the remaining M -// // elements. -// ... -// int **It = A + N + 1; -// int **B = followWaymarks(It); // Find the head of the array containing It. -// assert(B == A); -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ADT_WAYMARKING_H -#define LLVM_ADT_WAYMARKING_H - -#include "llvm/ADT/STLExtras.h" -#include "llvm/Support/PointerLikeTypeTraits.h" - -namespace llvm { - -namespace detail { - -template struct WaymarkingTraits { - enum : unsigned { - // The number of bits of a Waymarking Tag. - NUM_BITS = NumBits, - - // A Tag is composed from a Mark and a Stop mask. - MARK_SIZE = NUM_BITS - 1, - STOP_MASK = (1 << MARK_SIZE), - MARK_MASK = (STOP_MASK - 1), - TAG_MASK = (MARK_MASK | STOP_MASK), - - // The number of pre-computed tags (for fast fill). - NUM_STATIC_TAGS = 32 - }; - -private: - // Add a new tag, calculated from Count and Stop, to the Vals pack, while - // continuing recursively to decrease Len down to 0. - template - struct AddTag; - - // Delegate to the specialized AddTag according to the need of a Stop mask. - template struct GenTag { - typedef - typename AddTag::Xdata Xdata; - }; - - // Start adding tags while calculating the next Count, which is actually the - // number of already calculated tags (equivalent to the position in the - // array). - template struct GenOffset { - typedef typename GenTag::Xdata Xdata; - }; - - // Add the tag and remove it from Count. - template - struct AddTag { - typedef typename GenTag> MARK_SIZE), Vals..., - Count & MARK_MASK>::Xdata Xdata; - }; - - // We have reached the end of this Count, so start with a new Count. - template - struct AddTag { - typedef typename GenOffset::Xdata Xdata; - }; - - template struct TagsData { - // The remaining number for calculating the next tag, following the last one - // in Values. - static const unsigned Remain = Count; - - // The array of ordered pre-computed Tags. - static const uint8_t Values[sizeof...(Vals)]; - }; - - // Specialize the case when Len equals 0, as the recursion stop condition. - template - struct AddTag<0, false, Count, Vals...> { - typedef TagsData Xdata; - }; - - template - struct AddTag<0, true, Count, Vals...> { - typedef TagsData Xdata; - }; - -public: - typedef typename GenOffset::Xdata Tags; -}; - -template -template -const uint8_t WaymarkingTraits::TagsData< - Count, Vals...>::Values[sizeof...(Vals)] = {Vals...}; - -} // end namespace detail - -/// This class is responsible for tagging (and retrieving the tag of) a given -/// element of type T. -template ::NumLowBitsAvailable>> -struct Waymarker { - using Traits = WTraits; - static void setWaymark(T &N, unsigned Tag) { N.setWaymark(Tag); } - static unsigned getWaymark(const T &N) { return N.getWaymark(); } -}; - -template struct Waymarker { - using Traits = WTraits; - static void setWaymark(T *&N, unsigned Tag) { - reinterpret_cast(N) |= static_cast(Tag); - } - static unsigned getWaymark(const T *N) { - return static_cast(reinterpret_cast(N)) & - Traits::TAG_MASK; - } -}; - -/// Sets up the waymarking algorithm's tags for a given range [Begin, End). -/// -/// \param Begin The beginning of the range to mark with tags (inclusive). -/// \param End The ending of the range to mark with tags (exclusive). -/// \param Offset The position in the supposed tags array from which to start -/// marking the given range. -template ::value_type>> -void fillWaymarks(TIter Begin, TIter End, size_t Offset = 0) { - if (Begin == End) - return; - - size_t Count = Marker::Traits::Tags::Remain; - if (Offset <= Marker::Traits::NUM_STATIC_TAGS) { - // Start by filling the pre-calculated tags, starting from the given offset. - while (Offset != Marker::Traits::NUM_STATIC_TAGS) { - Marker::setWaymark(*Begin, Marker::Traits::Tags::Values[Offset]); - - ++Offset; - ++Begin; - - if (Begin == End) - return; - } - } else { - // The given offset is larger than the number of pre-computed tags, so we - // must do it the hard way. - // Calculate the next remaining Count, as if we have filled the tags up to - // the given offset. - size_t Off = Marker::Traits::NUM_STATIC_TAGS; - do { - ++Off; - - // If the count can fit into the tag, then the counting must stop. - if (Count <= Marker::Traits::MARK_MASK) { - Count = Off; - } else - Count >>= Marker::Traits::MARK_SIZE; - } while (Off != Offset); - } - - // By now, we have the matching remaining Count for the current offset. - do { - ++Offset; - - unsigned Tag = Count & Marker::Traits::MARK_MASK; - - // If the count can fit into the tag, then the counting must stop. - if (Count <= Marker::Traits::MARK_MASK) { - Tag |= Marker::Traits::STOP_MASK; - Count = Offset; - } else - Count >>= Marker::Traits::MARK_SIZE; - - Marker::setWaymark(*Begin, Tag); - ++Begin; - } while (Begin != End); -} - -/// Sets up the waymarking algorithm's tags for a given range. -/// -/// \param Range The range to mark with tags. -/// \param Offset The position in the supposed tags array from which to start -/// marking the given range. -template ()))>::type>> -void fillWaymarks(R &&Range, size_t Offset = 0) { - return fillWaymarks())), Marker>( - adl_begin(Range), adl_end(Range), Offset); -} - -/// Retrieves the element marked with tag of only STOP_MASK, by following the -/// waymarks. This is the first element in a range passed to a previous call to -/// \c fillWaymarks with \c Offset 0. -/// -/// For the trivial usage of calling \c fillWaymarks(Array), and \I is an -/// iterator inside \c Array, this function retrieves the head of \c Array, by -/// following the waymarks. -/// -/// \param I The iterator into an array which was marked by the waymarking tags -/// (by a previous call to \c fillWaymarks). -template ::value_type>> -TIter followWaymarks(TIter I) { - unsigned Tag; - do - Tag = Marker::getWaymark(*I--); - while (!(Tag & Marker::Traits::STOP_MASK)); - - // Special case for the first Use. - if (Tag != Marker::Traits::STOP_MASK) { - ptrdiff_t Offset = Tag & Marker::Traits::MARK_MASK; - while (!((Tag = Marker::getWaymark(*I)) & Marker::Traits::STOP_MASK)) { - Offset = (Offset << Marker::Traits::MARK_SIZE) + Tag; - --I; - } - I -= Offset; - } - return ++I; -} - -} // end namespace llvm - -#endif // LLVM_ADT_WAYMARKING_H diff --git a/gnu/llvm/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h b/gnu/llvm/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h deleted file mode 100644 index 02f999a5b91..00000000000 --- a/gnu/llvm/llvm/include/llvm/Analysis/CFLAliasAnalysisUtils.h +++ /dev/null @@ -1,57 +0,0 @@ -//=- CFLAliasAnalysisUtils.h - Utilities for CFL Alias Analysis ----*- C++-*-=// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// \file -// These are the utilities/helpers used by the CFL Alias Analyses available in -// tree, i.e. Steensgaard's and Andersens'. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H -#define LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H - -#include "llvm/IR/Function.h" -#include "llvm/IR/ValueHandle.h" - -namespace llvm { -namespace cflaa { - -template struct FunctionHandle final : public CallbackVH { - FunctionHandle(Function *Fn, AAResult *Result) - : CallbackVH(Fn), Result(Result) { - assert(Fn != nullptr); - assert(Result != nullptr); - } - - void deleted() override { removeSelfFromCache(); } - void allUsesReplacedWith(Value *) override { removeSelfFromCache(); } - -private: - AAResult *Result; - - void removeSelfFromCache() { - assert(Result != nullptr); - auto *Val = getValPtr(); - Result->evict(cast(Val)); - setValPtr(nullptr); - } -}; - -static inline const Function *parentFunctionOfValue(const Value *Val) { - if (auto *Inst = dyn_cast(Val)) { - auto *Bb = Inst->getParent(); - return Bb->getParent(); - } - - if (auto *Arg = dyn_cast(Val)) - return Arg->getParent(); - return nullptr; -} // namespace cflaa -} // namespace llvm -} - -#endif // LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H diff --git a/gnu/llvm/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h b/gnu/llvm/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h deleted file mode 100644 index 5f5e52af3d8..00000000000 --- a/gnu/llvm/llvm/include/llvm/Analysis/CFLAndersAliasAnalysis.h +++ /dev/null @@ -1,127 +0,0 @@ -//==- CFLAndersAliasAnalysis.h - Unification-based Alias Analysis -*- C++-*-==// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -/// \file -/// This is the interface for LLVM's inclusion-based alias analysis -/// implemented with CFL graph reachability. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H -#define LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H - -#include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/Optional.h" -#include "llvm/Analysis/AliasAnalysis.h" -#include "llvm/Analysis/CFLAliasAnalysisUtils.h" -#include "llvm/IR/PassManager.h" -#include "llvm/Pass.h" -#include -#include - -namespace llvm { - -class Function; -class MemoryLocation; -class TargetLibraryInfo; - -namespace cflaa { - -struct AliasSummary; - -} // end namespace cflaa - -class CFLAndersAAResult : public AAResultBase { - friend AAResultBase; - - class FunctionInfo; - -public: - explicit CFLAndersAAResult( - std::function GetTLI); - CFLAndersAAResult(CFLAndersAAResult &&RHS); - ~CFLAndersAAResult(); - - /// Handle invalidation events from the new pass manager. - /// By definition, this result is stateless and so remains valid. - bool invalidate(Function &, const PreservedAnalyses &, - FunctionAnalysisManager::Invalidator &) { - return false; - } - - /// Evict the given function from cache - void evict(const Function *Fn); - - /// Get the alias summary for the given function - /// Return nullptr if the summary is not found or not available - const cflaa::AliasSummary *getAliasSummary(const Function &); - - AliasResult query(const MemoryLocation &, const MemoryLocation &); - AliasResult alias(const MemoryLocation &, const MemoryLocation &, - AAQueryInfo &); - -private: - /// Ensures that the given function is available in the cache. - /// Returns the appropriate entry from the cache. - const Optional &ensureCached(const Function &); - - /// Inserts the given Function into the cache. - void scan(const Function &); - - /// Build summary for a given function - FunctionInfo buildInfoFrom(const Function &); - - std::function GetTLI; - - /// Cached mapping of Functions to their StratifiedSets. - /// If a function's sets are currently being built, it is marked - /// in the cache as an Optional without a value. This way, if we - /// have any kind of recursion, it is discernable from a function - /// that simply has empty sets. - DenseMap> Cache; - - std::forward_list> Handles; -}; - -/// Analysis pass providing a never-invalidated alias analysis result. -/// -/// FIXME: We really should refactor CFL to use the analysis more heavily, and -/// in particular to leverage invalidation to trigger re-computation. -class CFLAndersAA : public AnalysisInfoMixin { - friend AnalysisInfoMixin; - - static AnalysisKey Key; - -public: - using Result = CFLAndersAAResult; - - CFLAndersAAResult run(Function &F, FunctionAnalysisManager &AM); -}; - -/// Legacy wrapper pass to provide the CFLAndersAAResult object. -class CFLAndersAAWrapperPass : public ImmutablePass { - std::unique_ptr Result; - -public: - static char ID; - - CFLAndersAAWrapperPass(); - - CFLAndersAAResult &getResult() { return *Result; } - const CFLAndersAAResult &getResult() const { return *Result; } - - void initializePass() override; - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -// createCFLAndersAAWrapperPass - This pass implements a set-based approach to -// alias analysis. -ImmutablePass *createCFLAndersAAWrapperPass(); - -} // end namespace llvm - -#endif // LLVM_ANALYSIS_CFLANDERSALIASANALYSIS_H diff --git a/gnu/llvm/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h b/gnu/llvm/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h deleted file mode 100644 index ec05b3706ca..00000000000 --- a/gnu/llvm/llvm/include/llvm/Analysis/CFLSteensAliasAnalysis.h +++ /dev/null @@ -1,144 +0,0 @@ -//==- CFLSteensAliasAnalysis.h - Unification-based Alias Analysis -*- C++-*-==// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -/// \file -/// This is the interface for LLVM's unification-based alias analysis -/// implemented with CFL graph reachability. -/// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H -#define LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H - -#include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/Optional.h" -#include "llvm/Analysis/AliasAnalysis.h" -#include "llvm/Analysis/CFLAliasAnalysisUtils.h" -#include "llvm/Analysis/MemoryLocation.h" -#include "llvm/IR/PassManager.h" -#include "llvm/Pass.h" -#include "llvm/Support/Casting.h" -#include -#include - -namespace llvm { - -class Function; -class TargetLibraryInfo; - -namespace cflaa { - -struct AliasSummary; - -} // end namespace cflaa - -class CFLSteensAAResult : public AAResultBase { - friend AAResultBase; - - class FunctionInfo; - -public: - explicit CFLSteensAAResult( - std::function GetTLI); - CFLSteensAAResult(CFLSteensAAResult &&Arg); - ~CFLSteensAAResult(); - - /// Handle invalidation events from the new pass manager. - /// - /// By definition, this result is stateless and so remains valid. - bool invalidate(Function &, const PreservedAnalyses &, - FunctionAnalysisManager::Invalidator &) { - return false; - } - - /// Inserts the given Function into the cache. - void scan(Function *Fn); - - void evict(Function *Fn); - - /// Ensures that the given function is available in the cache. - /// Returns the appropriate entry from the cache. - const Optional &ensureCached(Function *Fn); - - /// Get the alias summary for the given function - /// Return nullptr if the summary is not found or not available - const cflaa::AliasSummary *getAliasSummary(Function &Fn); - - AliasResult query(const MemoryLocation &LocA, const MemoryLocation &LocB); - - AliasResult alias(const MemoryLocation &LocA, const MemoryLocation &LocB, - AAQueryInfo &AAQI) { - if (LocA.Ptr == LocB.Ptr) - return AliasResult::MustAlias; - - // Comparisons between global variables and other constants should be - // handled by BasicAA. - // CFLSteensAA may report NoAlias when comparing a GlobalValue and - // ConstantExpr, but every query needs to have at least one Value tied to a - // Function, and neither GlobalValues nor ConstantExprs are. - if (isa(LocA.Ptr) && isa(LocB.Ptr)) - return AAResultBase::alias(LocA, LocB, AAQI); - - AliasResult QueryResult = query(LocA, LocB); - if (QueryResult == AliasResult::MayAlias) - return AAResultBase::alias(LocA, LocB, AAQI); - - return QueryResult; - } - -private: - std::function GetTLI; - - /// Cached mapping of Functions to their StratifiedSets. - /// If a function's sets are currently being built, it is marked - /// in the cache as an Optional without a value. This way, if we - /// have any kind of recursion, it is discernable from a function - /// that simply has empty sets. - DenseMap> Cache; - std::forward_list> Handles; - - FunctionInfo buildSetsFrom(Function *F); -}; - -/// Analysis pass providing a never-invalidated alias analysis result. -/// -/// FIXME: We really should refactor CFL to use the analysis more heavily, and -/// in particular to leverage invalidation to trigger re-computation of sets. -class CFLSteensAA : public AnalysisInfoMixin { - friend AnalysisInfoMixin; - - static AnalysisKey Key; - -public: - using Result = CFLSteensAAResult; - - CFLSteensAAResult run(Function &F, FunctionAnalysisManager &AM); -}; - -/// Legacy wrapper pass to provide the CFLSteensAAResult object. -class CFLSteensAAWrapperPass : public ImmutablePass { - std::unique_ptr Result; - -public: - static char ID; - - CFLSteensAAWrapperPass(); - - CFLSteensAAResult &getResult() { return *Result; } - const CFLSteensAAResult &getResult() const { return *Result; } - - void initializePass() override; - void getAnalysisUsage(AnalysisUsage &AU) const override; -}; - -// createCFLSteensAAWrapperPass - This pass implements a set-based approach to -// alias analysis. -ImmutablePass *createCFLSteensAAWrapperPass(); - -} // end namespace llvm - -#endif // LLVM_ANALYSIS_CFLSTEENSALIASANALYSIS_H diff --git a/gnu/llvm/llvm/include/llvm/BinaryFormat/Dwarf.def b/gnu/llvm/llvm/include/llvm/BinaryFormat/Dwarf.def index 34f124b5779..1409568b866 100644 --- a/gnu/llvm/llvm/include/llvm/BinaryFormat/Dwarf.def +++ b/gnu/llvm/llvm/include/llvm/BinaryFormat/Dwarf.def @@ -241,6 +241,9 @@ HANDLE_DW_TAG(0x420c, SUN_f90_interface, 0, SUN, DW_KIND_NONE) HANDLE_DW_TAG(0x420d, SUN_fortran_vax_structure, 0, SUN, DW_KIND_NONE) HANDLE_DW_TAG(0x42ff, SUN_hi, 0, SUN, DW_KIND_NONE) +// LLVM +HANDLE_DW_TAG(0x4300, LLVM_ptrauth_type, 0, LLVM, DW_KIND_TYPE) + // DSP-C/Starcore __circ, _rev HANDLE_DW_TAG(0x5101, ALTIUM_circ_type, 0, ALTIUM, DW_KIND_NONE) HANDLE_DW_TAG(0x5102, ALTIUM_mwa_circ_type, 0, ALTIUM, DW_KIND_NONE) @@ -248,6 +251,9 @@ HANDLE_DW_TAG(0x5103, ALTIUM_rev_carry_type, 0, ALTIUM, DW_KIND_NONE) // M16 __rom qualifier HANDLE_DW_TAG(0x5111, ALTIUM_rom, 0, ALTIUM, DW_KIND_NONE) +// LLVM +HANDLE_DW_TAG(0x6000, LLVM_annotation, 0, LLVM, DW_KIND_NONE) + // Green Hills. HANDLE_DW_TAG(0x8004, GHS_namespace, 0, GHS, DW_KIND_NONE) HANDLE_DW_TAG(0x8005, GHS_using_namespace, 0, GHS, DW_KIND_NONE) @@ -492,7 +498,8 @@ HANDLE_DW_AT(0x2133, GNU_addr_base, 0, GNU) HANDLE_DW_AT(0x2134, GNU_pubnames, 0, GNU) HANDLE_DW_AT(0x2135, GNU_pubtypes, 0, GNU) HANDLE_DW_AT(0x2136, GNU_discriminator, 0, GNU) -HANDLE_DW_AT(0x2137, GNU_entry_view, 0, GNU) +HANDLE_DW_AT(0x2137, GNU_locviews, 0, GNU) +HANDLE_DW_AT(0x2138, GNU_entry_view, 0, GNU) HANDLE_DW_AT(0x2201, SUN_template, 0, SUN) // Conflicting: @@ -593,8 +600,12 @@ HANDLE_DW_AT(0x3e00, LLVM_include_path, 0, LLVM) HANDLE_DW_AT(0x3e01, LLVM_config_macros, 0, LLVM) HANDLE_DW_AT(0x3e02, LLVM_sysroot, 0, LLVM) HANDLE_DW_AT(0x3e03, LLVM_tag_offset, 0, LLVM) -// The missing numbers here are reserved for ptrauth support. +HANDLE_DW_AT(0x3e04, LLVM_ptrauth_key, 0, LLVM) +HANDLE_DW_AT(0x3e05, LLVM_ptrauth_address_discriminated, 0, LLVM) +HANDLE_DW_AT(0x3e06, LLVM_ptrauth_extra_discriminator, 0, LLVM) HANDLE_DW_AT(0x3e07, LLVM_apinotes, 0, APPLE) +HANDLE_DW_AT(0x3e08, LLVM_ptrauth_isa_pointer, 0, LLVM) +HANDLE_DW_AT(0x3e09, LLVM_ptrauth_authenticates_null_values, 0, LLVM) // Apple extensions. @@ -904,11 +915,22 @@ HANDLE_DW_LANG(0x0022, Fortran03, 1, 5, DWARF) HANDLE_DW_LANG(0x0023, Fortran08, 1, 5, DWARF) HANDLE_DW_LANG(0x0024, RenderScript, 0, 5, DWARF) HANDLE_DW_LANG(0x0025, BLISS, 0, 5, DWARF) +// New since DWARF v5: +HANDLE_DW_LANG(0x0026, Kotlin, 0, 0, DWARF) +HANDLE_DW_LANG(0x0027, Zig, 0, 0, DWARF) +HANDLE_DW_LANG(0x0028, Crystal, 0, 0, DWARF) +HANDLE_DW_LANG(0x002a, C_plus_plus_17, 0, 0, DWARF) +HANDLE_DW_LANG(0x002b, C_plus_plus_20, 0, 0, DWARF) +HANDLE_DW_LANG(0x002c, C17, 0, 0, DWARF) +HANDLE_DW_LANG(0x002d, Fortran18, 0, 0, DWARF) +HANDLE_DW_LANG(0x002e, Ada2005, 0, 0, DWARF) +HANDLE_DW_LANG(0x002f, Ada2012, 0, 0, DWARF) // Vendor extensions: -HANDLE_DW_LANG(0x8001, Mips_Assembler, None, 0, MIPS) +HANDLE_DW_LANG(0x8001, Mips_Assembler, std::nullopt, 0, MIPS) HANDLE_DW_LANG(0x8e57, GOOGLE_RenderScript, 0, 0, GOOGLE) HANDLE_DW_LANG(0xb000, BORLAND_Delphi, 0, 0, BORLAND) + // DWARF attribute type encodings. HANDLE_DW_ATE(0x01, address, 2, DWARF) HANDLE_DW_ATE(0x02, boolean, 2, DWARF) @@ -1196,6 +1218,8 @@ HANDLE_DW_IDX(0x02, type_unit) HANDLE_DW_IDX(0x03, die_offset) HANDLE_DW_IDX(0x04, parent) HANDLE_DW_IDX(0x05, type_hash) +HANDLE_DW_IDX(0x2000, GNU_internal) +HANDLE_DW_IDX(0x2001, GNU_external) // DWARF package file section identifiers. // DWARFv5, section 7.3.5.3, table 7.1. diff --git a/gnu/llvm/llvm/include/llvm/BinaryFormat/ELF.h b/gnu/llvm/llvm/include/llvm/BinaryFormat/ELF.h index 71cf3a61448..fe04d898ae5 100644 --- a/gnu/llvm/llvm/include/llvm/BinaryFormat/ELF.h +++ b/gnu/llvm/llvm/include/llvm/BinaryFormat/ELF.h @@ -22,7 +22,6 @@ #include "llvm/ADT/StringRef.h" #include #include -#include namespace llvm { namespace ELF { @@ -320,6 +319,7 @@ enum { EM_BPF = 247, // Linux kernel bpf virtual machine EM_VE = 251, // NEC SX-Aurora VE EM_CSKY = 252, // C-SKY 32-bit processor + EM_LOONGARCH = 258, // LoongArch }; // Object file classes. @@ -373,7 +373,8 @@ enum { // was never defined for V1. ELFABIVERSION_AMDGPU_HSA_V2 = 0, ELFABIVERSION_AMDGPU_HSA_V3 = 1, - ELFABIVERSION_AMDGPU_HSA_V4 = 2 + ELFABIVERSION_AMDGPU_HSA_V4 = 2, + ELFABIVERSION_AMDGPU_HSA_V5 = 3 }; #define ELF_RELOC(name, value) name = value, @@ -434,6 +435,7 @@ enum : unsigned { EF_ARM_ABI_FLOAT_SOFT = 0x00000200U, // EABI_VER5 EF_ARM_VFP_FLOAT = 0x00000400U, // Legacy pre EABI_VER5 EF_ARM_ABI_FLOAT_HARD = 0x00000400U, // EABI_VER5 + EF_ARM_BE8 = 0x00800000U, EF_ARM_EABI_UNKNOWN = 0x00000000U, EF_ARM_EABI_VER1 = 0x01000000U, EF_ARM_EABI_VER2 = 0x02000000U, @@ -563,6 +565,15 @@ enum : unsigned { EF_MIPS_ARCH = 0xf0000000 // Mask for applying EF_MIPS_ARCH_ variant }; +// MIPS-specific section indexes +enum { + SHN_MIPS_ACOMMON = 0xff00, // Common symbols which are defined and allocated + SHN_MIPS_TEXT = 0xff01, // Not ABI compliant + SHN_MIPS_DATA = 0xff02, // Not ABI compliant + SHN_MIPS_SCOMMON = 0xff03, // Common symbols for global data area + SHN_MIPS_SUNDEFINED = 0xff04 // Undefined symbols for global data area +}; + // ELF Relocation types for Mips enum { #include "ELFRelocs/Mips.def" @@ -608,6 +619,11 @@ enum { EF_HEXAGON_MACH_V67 = 0x00000067, // Hexagon V67 EF_HEXAGON_MACH_V67T = 0x00008067, // Hexagon V67T EF_HEXAGON_MACH_V68 = 0x00000068, // Hexagon V68 + EF_HEXAGON_MACH_V69 = 0x00000069, // Hexagon V69 + EF_HEXAGON_MACH_V71 = 0x00000071, // Hexagon V71 + EF_HEXAGON_MACH_V71T = 0x00008071, // Hexagon V71T + EF_HEXAGON_MACH_V73 = 0x00000073, // Hexagon V73 + EF_HEXAGON_MACH = 0x000003ff, // Hexagon V.. // Highest ISA version flags EF_HEXAGON_ISA_MACH = 0x00000000, // Same as specified in bits[11:0] @@ -623,6 +639,11 @@ enum { EF_HEXAGON_ISA_V66 = 0x00000066, // Hexagon V66 ISA EF_HEXAGON_ISA_V67 = 0x00000067, // Hexagon V67 ISA EF_HEXAGON_ISA_V68 = 0x00000068, // Hexagon V68 ISA + EF_HEXAGON_ISA_V69 = 0x00000069, // Hexagon V69 ISA + EF_HEXAGON_ISA_V71 = 0x00000071, // Hexagon V71 ISA + EF_HEXAGON_ISA_V73 = 0x00000073, // Hexagon V73 ISA + EF_HEXAGON_ISA_V75 = 0x00000075, // Hexagon V75 ISA + EF_HEXAGON_ISA = 0x000003ff, // Hexagon V.. ISA }; // Hexagon-specific section indexes for common small data @@ -652,7 +673,8 @@ enum : unsigned { EF_RISCV_FLOAT_ABI_SINGLE = 0x0002, EF_RISCV_FLOAT_ABI_DOUBLE = 0x0004, EF_RISCV_FLOAT_ABI_QUAD = 0x0006, - EF_RISCV_RVE = 0x0008 + EF_RISCV_RVE = 0x0008, + EF_RISCV_TSO = 0x0010, }; // ELF Relocation types for RISC-V @@ -660,6 +682,12 @@ enum { #include "ELFRelocs/RISCV.def" }; +enum { + // Symbol may follow different calling convention than the standard calling + // convention. + STO_RISCV_VARIANT_CC = 0x80 +}; + // ELF Relocation types for S390/zSeries enum { #include "ELFRelocs/SystemZ.def" @@ -742,16 +770,18 @@ enum : unsigned { EF_AMDGPU_MACH_AMDGCN_GFX1035 = 0x03d, EF_AMDGPU_MACH_AMDGCN_GFX1034 = 0x03e, EF_AMDGPU_MACH_AMDGCN_GFX90A = 0x03f, - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X40 = 0x040, - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X41 = 0x041, + EF_AMDGPU_MACH_AMDGCN_GFX940 = 0x040, + EF_AMDGPU_MACH_AMDGCN_GFX1100 = 0x041, EF_AMDGPU_MACH_AMDGCN_GFX1013 = 0x042, EF_AMDGPU_MACH_AMDGCN_RESERVED_0X43 = 0x043, - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X44 = 0x044, - EF_AMDGPU_MACH_AMDGCN_RESERVED_0X45 = 0x045, + EF_AMDGPU_MACH_AMDGCN_GFX1103 = 0x044, + EF_AMDGPU_MACH_AMDGCN_GFX1036 = 0x045, + EF_AMDGPU_MACH_AMDGCN_GFX1101 = 0x046, + EF_AMDGPU_MACH_AMDGCN_GFX1102 = 0x047, // First/last AMDGCN-based processors. EF_AMDGPU_MACH_AMDGCN_FIRST = EF_AMDGPU_MACH_AMDGCN_GFX600, - EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_RESERVED_0X45, + EF_AMDGPU_MACH_AMDGCN_LAST = EF_AMDGPU_MACH_AMDGCN_GFX1102, // Indicates if the "xnack" target feature is enabled for all code contained // in the object. @@ -854,12 +884,67 @@ enum { #include "ELFRelocs/VE.def" }; +// CSKY Specific e_flags +enum : unsigned { + EF_CSKY_801 = 0xa, + EF_CSKY_802 = 0x10, + EF_CSKY_803 = 0x9, + EF_CSKY_805 = 0x11, + EF_CSKY_807 = 0x6, + EF_CSKY_810 = 0x8, + EF_CSKY_860 = 0xb, + EF_CSKY_800 = 0x1f, + EF_CSKY_FLOAT = 0x2000, + EF_CSKY_DSP = 0x4000, + EF_CSKY_ABIV2 = 0x20000000, + EF_CSKY_EFV1 = 0x1000000, + EF_CSKY_EFV2 = 0x2000000, + EF_CSKY_EFV3 = 0x3000000 +}; // ELF Relocation types for CSKY enum { #include "ELFRelocs/CSKY.def" }; +// LoongArch Specific e_flags +enum : unsigned { + // Definitions from LoongArch ELF psABI v2.01. + // Reference: https://github.com/loongson/LoongArch-Documentation + // (commit hash 296de4def055c871809068e0816325a4ac04eb12) + + // Base ABI Modifiers + EF_LOONGARCH_ABI_SOFT_FLOAT = 0x1, + EF_LOONGARCH_ABI_SINGLE_FLOAT = 0x2, + EF_LOONGARCH_ABI_DOUBLE_FLOAT = 0x3, + EF_LOONGARCH_ABI_MODIFIER_MASK = 0x7, + + // Object file ABI versions + EF_LOONGARCH_OBJABI_V0 = 0x0, + EF_LOONGARCH_OBJABI_V1 = 0x40, + EF_LOONGARCH_OBJABI_MASK = 0xC0, +}; + +// ELF Relocation types for LoongArch +enum { +#include "ELFRelocs/LoongArch.def" +}; + +// Xtensa specific e_flags +enum : unsigned { + // Four-bit Xtensa machine type mask. + EF_XTENSA_MACH = 0x0000000f, + // Various CPU types. + EF_XTENSA_MACH_NONE = 0x00000000, // A base Xtensa implementation + EF_XTENSA_XT_INSN = 0x00000100, + EF_XTENSA_XT_LIT = 0x00000200, +}; + +// ELF Relocation types for Xtensa +enum { +#include "ELFRelocs/Xtensa.def" +}; + #undef ELF_RELOC // Section header. @@ -936,12 +1021,16 @@ enum : unsigned { SHT_LLVM_ADDRSIG = 0x6fff4c03, // List of address-significant symbols // for safe ICF. SHT_LLVM_DEPENDENT_LIBRARIES = - 0x6fff4c04, // LLVM Dependent Library Specifiers. - SHT_LLVM_SYMPART = 0x6fff4c05, // Symbol partition specification. - SHT_LLVM_PART_EHDR = 0x6fff4c06, // ELF header for loadable partition. - SHT_LLVM_PART_PHDR = 0x6fff4c07, // Phdrs for loadable partition. - SHT_LLVM_BB_ADDR_MAP = 0x6fff4c08, // LLVM Basic Block Address Map. + 0x6fff4c04, // LLVM Dependent Library Specifiers. + SHT_LLVM_SYMPART = 0x6fff4c05, // Symbol partition specification. + SHT_LLVM_PART_EHDR = 0x6fff4c06, // ELF header for loadable partition. + SHT_LLVM_PART_PHDR = 0x6fff4c07, // Phdrs for loadable partition. + SHT_LLVM_BB_ADDR_MAP_V0 = + 0x6fff4c08, // LLVM Basic Block Address Map (old version kept for + // backward-compatibility). SHT_LLVM_CALL_GRAPH_PROFILE = 0x6fff4c09, // LLVM Call Graph Profile. + SHT_LLVM_BB_ADDR_MAP = 0x6fff4c0a, // LLVM Basic Block Address Map. + SHT_LLVM_OFFLOADING = 0x6fff4c0b, // LLVM device offloading data. // Android's experimental support for SHT_RELR sections. // https://android.googlesource.com/platform/bionic/+/b7feec74547f84559a1467aca02708ff61346d2a/libc/include/elf.h#512 SHT_ANDROID_RELR = 0x6fffff00, // Relocation entries; only offsets. @@ -961,6 +1050,10 @@ enum : unsigned { SHT_ARM_ATTRIBUTES = 0x70000003U, SHT_ARM_DEBUGOVERLAY = 0x70000004U, SHT_ARM_OVERLAYSECTION = 0x70000005U, + // Special aarch64-specific sections for MTE support, as described in: + // https://github.com/ARM-software/abi-aa/blob/main/memtagabielf64/memtagabielf64.rst#7section-types + SHT_AARCH64_MEMTAG_GLOBALS_STATIC = 0x70000007U, + SHT_AARCH64_MEMTAG_GLOBALS_DYNAMIC = 0x70000008U, SHT_HEX_ORDERED = 0x70000000, // Link editor is to sort the entries in // this section based on their sizes SHT_X86_64_UNWIND = 0x70000001, // Unwind information @@ -974,6 +1067,8 @@ enum : unsigned { SHT_RISCV_ATTRIBUTES = 0x70000003U, + SHT_CSKY_ATTRIBUTES = 0x70000001U, + SHT_HIPROC = 0x7fffffff, // Highest processor arch-specific type. SHT_LOUSER = 0x80000000, // Lowest type reserved for applications. SHT_HIUSER = 0xffffffff // Highest type reserved for applications. @@ -1025,6 +1120,9 @@ enum : unsigned { SHF_MASKOS = 0x0ff00000, + // Solaris equivalent of SHF_GNU_RETAIN. + SHF_SUNW_NODISCARD = 0x00100000, + // Bits indicating processor-specific flags. SHF_MASKPROC = 0xf0000000, @@ -1303,7 +1401,7 @@ enum { PT_GNU_RELRO = 0x6474e552, // Read-only after relocation. PT_GNU_PROPERTY = 0x6474e553, // .note.gnu.property notes sections. - PT_OPENBSD_MUTABLE = 0x65a3dbe5, // Like bss, but not immutable. + PT_OPENBSD_MUTABLE = 0x65a3dbe5, // Like bss, but not immutable. PT_OPENBSD_RANDOMIZE = 0x65a3dbe6, // Fill with random data. PT_OPENBSD_WXNEEDED = 0x65a3dbe7, // Program does W^X violations. PT_OPENBSD_NOBTCFI = 0x65a3dbe8, // Do not enforce branch target CFI @@ -1314,12 +1412,17 @@ enum { // These all contain stack unwind tables. PT_ARM_EXIDX = 0x70000001, PT_ARM_UNWIND = 0x70000001, + // MTE memory tag segment type + PT_AARCH64_MEMTAG_MTE = 0x70000002, // MIPS program header types. PT_MIPS_REGINFO = 0x70000000, // Register usage information. PT_MIPS_RTPROC = 0x70000001, // Runtime procedure table. PT_MIPS_OPTIONS = 0x70000002, // Options segment. PT_MIPS_ABIFLAGS = 0x70000003, // Abiflags segment. + + // RISCV program header types. + PT_RISCV_ATTRIBUTES = 0x70000003, }; // Segment flag bits. @@ -1520,6 +1623,32 @@ enum { NT_GNU_BUILD_ID = 3, NT_GNU_GOLD_VERSION = 4, NT_GNU_PROPERTY_TYPE_0 = 5, + FDO_PACKAGING_METADATA = 0xcafe1a7e, +}; + +// Android note types. +enum { + NT_ANDROID_TYPE_IDENT = 1, + NT_ANDROID_TYPE_KUSER = 3, + NT_ANDROID_TYPE_MEMTAG = 4, +}; + +// Memory tagging values used in NT_ANDROID_TYPE_MEMTAG notes. +enum { + // Enumeration to determine the tagging mode. In Android-land, 'SYNC' means + // running all threads in MTE Synchronous mode, and 'ASYNC' means to use the + // kernels auto-upgrade feature to allow for either MTE Asynchronous, + // Asymmetric, or Synchronous mode. This allows silicon vendors to specify, on + // a per-cpu basis what 'ASYNC' should mean. Generally, the expectation is + // "pick the most precise mode that's very fast". + NT_MEMTAG_LEVEL_NONE = 0, + NT_MEMTAG_LEVEL_ASYNC = 1, + NT_MEMTAG_LEVEL_SYNC = 2, + NT_MEMTAG_LEVEL_MASK = 3, + // Bits indicating whether the loader should prepare for MTE to be enabled on + // the heap and/or stack. + NT_MEMTAG_HEAP = 4, + NT_MEMTAG_STACK = 8, }; // Property types used in GNU_PROPERTY_TYPE_0 notes. @@ -1598,6 +1727,23 @@ enum { NT_FREEBSD_PROCSTAT_AUXV = 16, }; +// NetBSD core note types. +enum { + NT_NETBSDCORE_PROCINFO = 1, + NT_NETBSDCORE_AUXV = 2, + NT_NETBSDCORE_LWPSTATUS = 24, +}; + +// OpenBSD core note types. +enum { + NT_OPENBSD_PROCINFO = 10, + NT_OPENBSD_AUXV = 11, + NT_OPENBSD_REGS = 20, + NT_OPENBSD_FPREGS = 21, + NT_OPENBSD_XFPREGS = 22, + NT_OPENBSD_WCOOKIE = 23, +}; + // AMDGPU-specific section indices. enum { SHN_AMDGPU_LDS = 0xff00, // Variable in LDS; symbol encoded like SHN_COMMON @@ -1620,6 +1766,13 @@ enum { NT_AMDGPU_METADATA = 32 }; +// LLVMOMPOFFLOAD specific notes. +enum : unsigned { + NT_LLVM_OPENMP_OFFLOAD_VERSION = 1, + NT_LLVM_OPENMP_OFFLOAD_PRODUCER = 2, + NT_LLVM_OPENMP_OFFLOAD_PRODUCER_VERSION = 3 +}; + enum { GNU_ABI_TAG_LINUX = 0, GNU_ABI_TAG_HURD = 1, @@ -1672,6 +1825,7 @@ struct Elf64_Nhdr { // Legal values for ch_type field of compressed section header. enum { ELFCOMPRESS_ZLIB = 1, // ZLIB/DEFLATE algorithm. + ELFCOMPRESS_ZSTD = 2, // Zstandard algorithm ELFCOMPRESS_LOOS = 0x60000000, // Start of OS-specific. ELFCOMPRESS_HIOS = 0x6fffffff, // End of OS-specific. ELFCOMPRESS_LOPROC = 0x70000000, // Start of processor-specific. diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/AsmPrinter.h b/gnu/llvm/llvm/include/llvm/CodeGen/AsmPrinter.h index c62ae2b7996..22329bbfae6 100644 --- a/gnu/llvm/llvm/include/llvm/CodeGen/AsmPrinter.h +++ b/gnu/llvm/llvm/include/llvm/CodeGen/AsmPrinter.h @@ -15,15 +15,17 @@ #ifndef LLVM_CODEGEN_ASMPRINTER_H #define LLVM_CODEGEN_ASMPRINTER_H +#include "llvm/ADT/DenseMap.h" +#include "llvm/ADT/DenseSet.h" #include "llvm/ADT/MapVector.h" #include "llvm/ADT/SmallVector.h" +#include "llvm/BinaryFormat/Dwarf.h" #include "llvm/CodeGen/AsmPrinterHandler.h" #include "llvm/CodeGen/DwarfStringPoolEntry.h" #include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/CodeGen/StackMaps.h" #include "llvm/IR/InlineAsm.h" -#include "llvm/IR/LLVMContext.h" #include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/SourceMgr.h" #include #include #include @@ -31,6 +33,7 @@ namespace llvm { +class AddrLabelMap; class BasicBlock; class BlockAddress; class Constant; @@ -41,7 +44,7 @@ class DIEAbbrev; class DwarfDebug; class GCMetadataPrinter; class GCStrategy; -class GlobalIndirectSymbol; +class GlobalAlias; class GlobalObject; class GlobalValue; class GlobalVariable; @@ -68,7 +71,6 @@ class MDNode; class Module; class PseudoProbeHandler; class raw_ostream; -class StackMaps; class StringRef; class TargetLoweringObjectFile; class TargetMachine; @@ -176,8 +178,12 @@ private: // function. This is used to calculate the size of the BB section. MCSymbol *CurrentSectionBeginSym = nullptr; - // The garbage collection metadata printer table. - void *GCMetadataPrinters = nullptr; // Really a DenseMap. + /// This map keeps track of which symbol is being used for the specified basic + /// block's address of label. + std::unique_ptr AddrLabelSymbols; + + /// The garbage collection metadata printer table. + DenseMap> GCMetadataPrinters; /// Emit comments in assembly output if this is true. bool VerboseAsm; @@ -185,16 +191,24 @@ private: /// Output stream for the stack usage file (i.e., .su file). std::unique_ptr StackUsageStream; + /// List of symbols to be inserted into PC sections. + DenseMap> PCSectionsSymbols; + static char ID; protected: MCSymbol *CurrentFnBegin = nullptr; + /// For dso_local functions, the current $local alias for the function. + MCSymbol *CurrentFnBeginLocal = nullptr; + /// A vector of all debug/EH info emitters we should use. This vector /// maintains ownership of the emitters. std::vector Handlers; size_t NumUserHandlers = 0; + StackMaps SM; + private: /// If generated on the fly this own the instance. std::unique_ptr OwnedMDT; @@ -212,6 +226,16 @@ private: /// CFISection type the module needs i.e. either .eh_frame or .debug_frame. CFISection ModuleCFISection = CFISection::None; + /// True if the module contains split-stack functions. This is used to + /// emit .note.GNU-split-stack section as required by the linker for + /// special handling split-stack function calling no-split-stack function. + bool HasSplitStack = false; + + /// True if the module contains no-split-stack functions. This is used to emit + /// .note.GNU-no-split-stack section when it also contains functions without a + /// split stack prologue. + bool HasNoSplitStack = false; + protected: explicit AsmPrinter(TargetMachine &TM, std::unique_ptr Streamer); @@ -232,6 +256,9 @@ public: /// Returns 4 for DWARF32 and 12 for DWARF64. unsigned int getUnitLengthFieldByteSize() const; + /// Returns information about the byte size of DW_FORM values. + dwarf::FormParams getDwarfFormParams() const; + bool isPositionIndependent() const; /// Return true if assembly output should contain comments. @@ -251,6 +278,25 @@ public: // given basic block. MCSymbol *getMBBExceptionSym(const MachineBasicBlock &MBB); + /// Return the symbol to be used for the specified basic block when its + /// address is taken. This cannot be its normal LBB label because the block + /// may be accessed outside its containing function. + MCSymbol *getAddrLabelSymbol(const BasicBlock *BB) { + return getAddrLabelSymbolToEmit(BB).front(); + } + + /// Return the symbol to be used for the specified basic block when its + /// address is taken. If other blocks were RAUW'd to this one, we may have + /// to emit them as well, return the whole set. + ArrayRef getAddrLabelSymbolToEmit(const BasicBlock *BB); + + /// If the specified function has had any references to address-taken blocks + /// generated, but the block got deleted, return the symbol now so we can + /// emit it. This prevents emitting a reference to a symbol that has no + /// definition. + void takeDeletedSymbolsForFunction(const Function *F, + std::vector &Result); + /// Return information about object file lowering. const TargetLoweringObjectFile &getObjFileLowering() const; @@ -281,6 +327,14 @@ public: /// definition in the same module. MCSymbol *getSymbolPreferLocal(const GlobalValue &GV) const; + bool doesDwarfUseRelocationsAcrossSections() const { + return DwarfUsesRelocationsAcrossSections; + } + + void setDwarfUsesRelocationsAcrossSections(bool Enable) { + DwarfUsesRelocationsAcrossSections = Enable; + } + //===------------------------------------------------------------------===// // XRay instrumentation implementation. //===------------------------------------------------------------------===// @@ -365,10 +419,19 @@ public: void emitBBAddrMapSection(const MachineFunction &MF); + void emitKCFITrapEntry(const MachineFunction &MF, const MCSymbol *Symbol); + virtual void emitKCFITypeId(const MachineFunction &MF); + void emitPseudoProbe(const MachineInstr &MI); void emitRemarksSection(remarks::RemarkStreamer &RS); + /// Emits a label as reference for PC sections. + void emitPCSectionsLabel(const MachineFunction &MF, const MDNode &MD); + + /// Emits the PC sections collected from instructions. + void emitPCSections(const MachineFunction &MF); + /// Get the CFISection type for a function. CFISection getFunctionCFISectionType(const Function &F) const; @@ -432,7 +495,8 @@ public: /// global value is specified, and if that global has an explicit alignment /// requested, it will override the alignment request if required for /// correctness. - void emitAlignment(Align Alignment, const GlobalObject *GV = nullptr) const; + void emitAlignment(Align Alignment, const GlobalObject *GV = nullptr, + unsigned MaxBytesToEmit = 0) const; /// Emit an alignment directive to the specified power of two boundary, /// like emitAlignment, but call emitTrapToAlignment to fill with @@ -443,7 +507,11 @@ public: virtual const MCExpr *lowerConstant(const Constant *CV); /// Print a general LLVM constant to the .s file. - void emitGlobalConstant(const DataLayout &DL, const Constant *CV); + /// On AIX, when an alias refers to a sub-element of a global variable, the + /// label of that alias needs to be emitted before the corresponding element. + using AliasMapTy = DenseMap>; + void emitGlobalConstant(const DataLayout &DL, const Constant *CV, + AliasMapTy *AliasList = nullptr); /// Unnamed constant global variables solely contaning a pointer to /// another globals variable act like a global variable "proxy", or GOT @@ -461,7 +529,7 @@ public: void emitGlobalGOTEquivs(); /// Emit the stack maps. - void emitStackMaps(StackMaps &SM); + void emitStackMaps(); //===------------------------------------------------------------------===// // Overridable Hooks @@ -718,7 +786,7 @@ public: /// ${:comment}. Targets can override this to add support for their own /// strange codes. virtual void PrintSpecial(const MachineInstr *MI, raw_ostream &OS, - const char *Code) const; + StringRef Code) const; /// Print the MachineOperand as a symbol. Targets with complex handling of /// symbol references should override the base implementation. @@ -770,6 +838,8 @@ private: mutable unsigned LastFn = 0; mutable unsigned Counter = ~0U; + bool DwarfUsesRelocationsAcrossSections = false; + /// This method emits the header for the current function. virtual void emitFunctionHeader(); @@ -804,12 +874,17 @@ private: /// Emit bytes for llvm.commandline metadata. void emitModuleCommandLines(Module &M); - GCMetadataPrinter *GetOrCreateGCPrinter(GCStrategy &S); - /// Emit GlobalAlias or GlobalIFunc. - void emitGlobalIndirectSymbol(Module &M, const GlobalIndirectSymbol &GIS); + GCMetadataPrinter *getOrCreateGCPrinter(GCStrategy &S); + void emitGlobalAlias(Module &M, const GlobalAlias &GA); + void emitGlobalIFunc(Module &M, const GlobalIFunc &GI); /// This method decides whether the specified basic block requires a label. bool shouldEmitLabelForBasicBlock(const MachineBasicBlock &MBB) const; + +protected: + virtual bool shouldEmitWeakSwiftAsyncExtendedFramePointerFlags() const { + return false; + } }; } // end namespace llvm diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h b/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h deleted file mode 100644 index 5440d97728b..00000000000 --- a/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBank.h +++ /dev/null @@ -1,98 +0,0 @@ -//==-- llvm/CodeGen/GlobalISel/RegisterBank.h - Register Bank ----*- C++ -*-==// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -/// \file This file declares the API of register banks. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CODEGEN_GLOBALISEL_REGISTERBANK_H -#define LLVM_CODEGEN_GLOBALISEL_REGISTERBANK_H - -#include "llvm/ADT/BitVector.h" - -namespace llvm { -// Forward declarations. -class RegisterBankInfo; -class raw_ostream; -class TargetRegisterClass; -class TargetRegisterInfo; - -/// This class implements the register bank concept. -/// Two instances of RegisterBank must have different ID. -/// This property is enforced by the RegisterBankInfo class. -class RegisterBank { -private: - unsigned ID; - const char *Name; - unsigned Size; - BitVector ContainedRegClasses; - - /// Sentinel value used to recognize register bank not properly - /// initialized yet. - static const unsigned InvalidID; - - /// Only the RegisterBankInfo can initialize RegisterBank properly. - friend RegisterBankInfo; - -public: - RegisterBank(unsigned ID, const char *Name, unsigned Size, - const uint32_t *CoveredClasses, unsigned NumRegClasses); - - /// Get the identifier of this register bank. - unsigned getID() const { return ID; } - - /// Get a user friendly name of this register bank. - /// Should be used only for debugging purposes. - const char *getName() const { return Name; } - - /// Get the maximal size in bits that fits in this register bank. - unsigned getSize() const { return Size; } - - /// Check whether this instance is ready to be used. - bool isValid() const; - - /// Check if this register bank is valid. In other words, - /// if it has been properly constructed. - /// - /// \note This method does not check anything when assertions are disabled. - /// - /// \return True is the check was successful. - bool verify(const TargetRegisterInfo &TRI) const; - - /// Check whether this register bank covers \p RC. - /// In other words, check if this register bank fully covers - /// the registers that \p RC contains. - /// \pre isValid() - bool covers(const TargetRegisterClass &RC) const; - - /// Check whether \p OtherRB is the same as this. - bool operator==(const RegisterBank &OtherRB) const; - bool operator!=(const RegisterBank &OtherRB) const { - return !this->operator==(OtherRB); - } - - /// Dump the register mask on dbgs() stream. - /// The dump is verbose. - void dump(const TargetRegisterInfo *TRI = nullptr) const; - - /// Print the register mask on OS. - /// If IsForDebug is false, then only the name of the register bank - /// is printed. Otherwise, all the fields are printing. - /// TRI is then used to print the name of the register classes that - /// this register bank covers. - void print(raw_ostream &OS, bool IsForDebug = false, - const TargetRegisterInfo *TRI = nullptr) const; -}; - -inline raw_ostream &operator<<(raw_ostream &OS, const RegisterBank &RegBank) { - RegBank.print(OS); - return OS; -} -} // End namespace llvm. - -#endif diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h b/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h deleted file mode 100644 index da785406bc3..00000000000 --- a/gnu/llvm/llvm/include/llvm/CodeGen/GlobalISel/RegisterBankInfo.h +++ /dev/null @@ -1,775 +0,0 @@ -//===- llvm/CodeGen/GlobalISel/RegisterBankInfo.h ---------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -/// \file This file declares the API for the register bank info. -/// This API is responsible for handling the register banks. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_CODEGEN_GLOBALISEL_REGISTERBANKINFO_H -#define LLVM_CODEGEN_GLOBALISEL_REGISTERBANKINFO_H - -#include "llvm/ADT/DenseMap.h" -#include "llvm/ADT/Hashing.h" -#include "llvm/ADT/SmallVector.h" -#include "llvm/ADT/iterator_range.h" -#include "llvm/CodeGen/Register.h" -#include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/LowLevelTypeImpl.h" -#include -#include -#include - -namespace llvm { - -class MachineInstr; -class MachineRegisterInfo; -class raw_ostream; -class RegisterBank; -class TargetInstrInfo; -class TargetRegisterClass; -class TargetRegisterInfo; - -/// Holds all the information related to register banks. -class RegisterBankInfo { -public: - /// Helper struct that represents how a value is partially mapped - /// into a register. - /// The StartIdx and Length represent what region of the orginal - /// value this partial mapping covers. - /// This can be represented as a Mask of contiguous bit starting - /// at StartIdx bit and spanning Length bits. - /// StartIdx is the number of bits from the less significant bits. - struct PartialMapping { - /// Number of bits at which this partial mapping starts in the - /// original value. The bits are counted from less significant - /// bits to most significant bits. - unsigned StartIdx; - - /// Length of this mapping in bits. This is how many bits this - /// partial mapping covers in the original value: - /// from StartIdx to StartIdx + Length -1. - unsigned Length; - - /// Register bank where the partial value lives. - const RegisterBank *RegBank; - - PartialMapping() = default; - - /// Provide a shortcut for quickly building PartialMapping. - PartialMapping(unsigned StartIdx, unsigned Length, - const RegisterBank &RegBank) - : StartIdx(StartIdx), Length(Length), RegBank(&RegBank) {} - - /// \return the index of in the original value of the most - /// significant bit that this partial mapping covers. - unsigned getHighBitIdx() const { return StartIdx + Length - 1; } - - /// Print this partial mapping on dbgs() stream. - void dump() const; - - /// Print this partial mapping on \p OS; - void print(raw_ostream &OS) const; - - /// Check that the Mask is compatible with the RegBank. - /// Indeed, if the RegBank cannot accomadate the "active bits" of the mask, - /// there is no way this mapping is valid. - /// - /// \note This method does not check anything when assertions are disabled. - /// - /// \return True is the check was successful. - bool verify() const; - }; - - /// Helper struct that represents how a value is mapped through - /// different register banks. - /// - /// \note: So far we do not have any users of the complex mappings - /// (mappings with more than one partial mapping), but when we do, - /// we would have needed to duplicate partial mappings. - /// The alternative could be to use an array of pointers of partial - /// mapping (i.e., PartialMapping **BreakDown) and duplicate the - /// pointers instead. - /// - /// E.g., - /// Let say we have a 32-bit add and a <2 x 32-bit> vadd. We - /// can expand the - /// <2 x 32-bit> add into 2 x 32-bit add. - /// - /// Currently the TableGen-like file would look like: - /// \code - /// PartialMapping[] = { - /// /*32-bit add*/ {0, 32, GPR}, // Scalar entry repeated for first - /// // vec elt. - /// /*2x32-bit add*/ {0, 32, GPR}, {32, 32, GPR}, - /// /*<2x32-bit> vadd*/ {0, 64, VPR} - /// }; // PartialMapping duplicated. - /// - /// ValueMapping[] { - /// /*plain 32-bit add*/ {&PartialMapping[0], 1}, - /// /*expanded vadd on 2xadd*/ {&PartialMapping[1], 2}, - /// /*plain <2x32-bit> vadd*/ {&PartialMapping[3], 1} - /// }; - /// \endcode - /// - /// With the array of pointer, we would have: - /// \code - /// PartialMapping[] = { - /// /*32-bit add lower */ { 0, 32, GPR}, - /// /*32-bit add upper */ {32, 32, GPR}, - /// /*<2x32-bit> vadd */ { 0, 64, VPR} - /// }; // No more duplication. - /// - /// BreakDowns[] = { - /// /*AddBreakDown*/ &PartialMapping[0], - /// /*2xAddBreakDown*/ &PartialMapping[0], &PartialMapping[1], - /// /*VAddBreakDown*/ &PartialMapping[2] - /// }; // Addresses of PartialMapping duplicated (smaller). - /// - /// ValueMapping[] { - /// /*plain 32-bit add*/ {&BreakDowns[0], 1}, - /// /*expanded vadd on 2xadd*/ {&BreakDowns[1], 2}, - /// /*plain <2x32-bit> vadd*/ {&BreakDowns[3], 1} - /// }; - /// \endcode - /// - /// Given that a PartialMapping is actually small, the code size - /// impact is actually a degradation. Moreover the compile time will - /// be hit by the additional indirection. - /// If PartialMapping gets bigger we may reconsider. - struct ValueMapping { - /// How the value is broken down between the different register banks. - const PartialMapping *BreakDown; - - /// Number of partial mapping to break down this value. - unsigned NumBreakDowns; - - /// The default constructor creates an invalid (isValid() == false) - /// instance. - ValueMapping() : ValueMapping(nullptr, 0) {} - - /// Initialize a ValueMapping with the given parameter. - /// \p BreakDown needs to have a life time at least as long - /// as this instance. - ValueMapping(const PartialMapping *BreakDown, unsigned NumBreakDowns) - : BreakDown(BreakDown), NumBreakDowns(NumBreakDowns) {} - - /// Iterators through the PartialMappings. - const PartialMapping *begin() const { return BreakDown; } - const PartialMapping *end() const { return BreakDown + NumBreakDowns; } - - /// \return true if all partial mappings are the same size and register - /// bank. - bool partsAllUniform() const; - - /// Check if this ValueMapping is valid. - bool isValid() const { return BreakDown && NumBreakDowns; } - - /// Verify that this mapping makes sense for a value of - /// \p MeaningfulBitWidth. - /// \note This method does not check anything when assertions are disabled. - /// - /// \return True is the check was successful. - bool verify(unsigned MeaningfulBitWidth) const; - - /// Print this on dbgs() stream. - void dump() const; - - /// Print this on \p OS; - void print(raw_ostream &OS) const; - }; - - /// Helper class that represents how the value of an instruction may be - /// mapped and what is the related cost of such mapping. - class InstructionMapping { - /// Identifier of the mapping. - /// This is used to communicate between the target and the optimizers - /// which mapping should be realized. - unsigned ID = InvalidMappingID; - - /// Cost of this mapping. - unsigned Cost = 0; - - /// Mapping of all the operands. - const ValueMapping *OperandsMapping = nullptr; - - /// Number of operands. - unsigned NumOperands = 0; - - const ValueMapping &getOperandMapping(unsigned i) { - assert(i < getNumOperands() && "Out of bound operand"); - return OperandsMapping[i]; - } - - public: - /// Constructor for the mapping of an instruction. - /// \p NumOperands must be equal to number of all the operands of - /// the related instruction. - /// The rationale is that it is more efficient for the optimizers - /// to be able to assume that the mapping of the ith operand is - /// at the index i. - InstructionMapping(unsigned ID, unsigned Cost, - const ValueMapping *OperandsMapping, - unsigned NumOperands) - : ID(ID), Cost(Cost), OperandsMapping(OperandsMapping), - NumOperands(NumOperands) { - } - - /// Default constructor. - /// Use this constructor to express that the mapping is invalid. - InstructionMapping() = default; - - /// Get the cost. - unsigned getCost() const { return Cost; } - - /// Get the ID. - unsigned getID() const { return ID; } - - /// Get the number of operands. - unsigned getNumOperands() const { return NumOperands; } - - /// Get the value mapping of the ith operand. - /// \pre The mapping for the ith operand has been set. - /// \pre The ith operand is a register. - const ValueMapping &getOperandMapping(unsigned i) const { - const ValueMapping &ValMapping = - const_cast(this)->getOperandMapping(i); - return ValMapping; - } - - /// Set the mapping for all the operands. - /// In other words, OpdsMapping should hold at least getNumOperands - /// ValueMapping. - void setOperandsMapping(const ValueMapping *OpdsMapping) { - OperandsMapping = OpdsMapping; - } - - /// Check whether this object is valid. - /// This is a lightweight check for obvious wrong instance. - bool isValid() const { - return getID() != InvalidMappingID && OperandsMapping; - } - - /// Verifiy that this mapping makes sense for \p MI. - /// \pre \p MI must be connected to a MachineFunction. - /// - /// \note This method does not check anything when assertions are disabled. - /// - /// \return True is the check was successful. - bool verify(const MachineInstr &MI) const; - - /// Print this on dbgs() stream. - void dump() const; - - /// Print this on \p OS; - void print(raw_ostream &OS) const; - }; - - /// Convenient type to represent the alternatives for mapping an - /// instruction. - /// \todo When we move to TableGen this should be an array ref. - using InstructionMappings = SmallVector; - - /// Helper class used to get/create the virtual registers that will be used - /// to replace the MachineOperand when applying a mapping. - class OperandsMapper { - /// The OpIdx-th cell contains the index in NewVRegs where the VRegs of the - /// OpIdx-th operand starts. -1 means we do not have such mapping yet. - /// Note: We use a SmallVector to avoid heap allocation for most cases. - SmallVector OpToNewVRegIdx; - - /// Hold the registers that will be used to map MI with InstrMapping. - SmallVector NewVRegs; - - /// Current MachineRegisterInfo, used to create new virtual registers. - MachineRegisterInfo &MRI; - - /// Instruction being remapped. - MachineInstr &MI; - - /// New mapping of the instruction. - const InstructionMapping &InstrMapping; - - /// Constant value identifying that the index in OpToNewVRegIdx - /// for an operand has not been set yet. - static const int DontKnowIdx; - - /// Get the range in NewVRegs to store all the partial - /// values for the \p OpIdx-th operand. - /// - /// \return The iterator range for the space created. - // - /// \pre getMI().getOperand(OpIdx).isReg() - iterator_range::iterator> - getVRegsMem(unsigned OpIdx); - - /// Get the end iterator for a range starting at \p StartIdx and - /// spannig \p NumVal in NewVRegs. - /// \pre StartIdx + NumVal <= NewVRegs.size() - SmallVectorImpl::const_iterator - getNewVRegsEnd(unsigned StartIdx, unsigned NumVal) const; - SmallVectorImpl::iterator getNewVRegsEnd(unsigned StartIdx, - unsigned NumVal); - - public: - /// Create an OperandsMapper that will hold the information to apply \p - /// InstrMapping to \p MI. - /// \pre InstrMapping.verify(MI) - OperandsMapper(MachineInstr &MI, const InstructionMapping &InstrMapping, - MachineRegisterInfo &MRI); - - /// \name Getters. - /// @{ - /// The MachineInstr being remapped. - MachineInstr &getMI() const { return MI; } - - /// The final mapping of the instruction. - const InstructionMapping &getInstrMapping() const { return InstrMapping; } - - /// The MachineRegisterInfo we used to realize the mapping. - MachineRegisterInfo &getMRI() const { return MRI; } - /// @} - - /// Create as many new virtual registers as needed for the mapping of the \p - /// OpIdx-th operand. - /// The number of registers is determined by the number of breakdown for the - /// related operand in the instruction mapping. - /// The type of the new registers is a plain scalar of the right size. - /// The proper type is expected to be set when the mapping is applied to - /// the instruction(s) that realizes the mapping. - /// - /// \pre getMI().getOperand(OpIdx).isReg() - /// - /// \post All the partial mapping of the \p OpIdx-th operand have been - /// assigned a new virtual register. - void createVRegs(unsigned OpIdx); - - /// Set the virtual register of the \p PartialMapIdx-th partial mapping of - /// the OpIdx-th operand to \p NewVReg. - /// - /// \pre getMI().getOperand(OpIdx).isReg() - /// \pre getInstrMapping().getOperandMapping(OpIdx).BreakDown.size() > - /// PartialMapIdx - /// \pre NewReg != 0 - /// - /// \post the \p PartialMapIdx-th register of the value mapping of the \p - /// OpIdx-th operand has been set. - void setVRegs(unsigned OpIdx, unsigned PartialMapIdx, Register NewVReg); - - /// Get all the virtual registers required to map the \p OpIdx-th operand of - /// the instruction. - /// - /// This return an empty range when createVRegs or setVRegs has not been - /// called. - /// The iterator may be invalidated by a call to setVRegs or createVRegs. - /// - /// When \p ForDebug is true, we will not check that the list of new virtual - /// registers does not contain uninitialized values. - /// - /// \pre getMI().getOperand(OpIdx).isReg() - /// \pre ForDebug || All partial mappings have been set a register - iterator_range::const_iterator> - getVRegs(unsigned OpIdx, bool ForDebug = false) const; - - /// Print this operands mapper on dbgs() stream. - void dump() const; - - /// Print this operands mapper on \p OS stream. - void print(raw_ostream &OS, bool ForDebug = false) const; - }; - -protected: - /// Hold the set of supported register banks. - RegisterBank **RegBanks; - - /// Total number of register banks. - unsigned NumRegBanks; - - /// Keep dynamically allocated PartialMapping in a separate map. - /// This shouldn't be needed when everything gets TableGen'ed. - mutable DenseMap> - MapOfPartialMappings; - - /// Keep dynamically allocated ValueMapping in a separate map. - /// This shouldn't be needed when everything gets TableGen'ed. - mutable DenseMap> - MapOfValueMappings; - - /// Keep dynamically allocated array of ValueMapping in a separate map. - /// This shouldn't be needed when everything gets TableGen'ed. - mutable DenseMap> - MapOfOperandsMappings; - - /// Keep dynamically allocated InstructionMapping in a separate map. - /// This shouldn't be needed when everything gets TableGen'ed. - mutable DenseMap> - MapOfInstructionMappings; - - /// Getting the minimal register class of a physreg is expensive. - /// Cache this information as we get it. - mutable DenseMap PhysRegMinimalRCs; - - /// Create a RegisterBankInfo that can accommodate up to \p NumRegBanks - /// RegisterBank instances. - RegisterBankInfo(RegisterBank **RegBanks, unsigned NumRegBanks); - - /// This constructor is meaningless. - /// It just provides a default constructor that can be used at link time - /// when GlobalISel is not built. - /// That way, targets can still inherit from this class without doing - /// crazy gymnastic to avoid link time failures. - /// \note That works because the constructor is inlined. - RegisterBankInfo() { - llvm_unreachable("This constructor should not be executed"); - } - - /// Get the register bank identified by \p ID. - RegisterBank &getRegBank(unsigned ID) { - assert(ID < getNumRegBanks() && "Accessing an unknown register bank"); - return *RegBanks[ID]; - } - - /// Get the MinimalPhysRegClass for Reg. - /// \pre Reg is a physical register. - const TargetRegisterClass & - getMinimalPhysRegClass(Register Reg, const TargetRegisterInfo &TRI) const; - - /// Try to get the mapping of \p MI. - /// See getInstrMapping for more details on what a mapping represents. - /// - /// Unlike getInstrMapping the returned InstructionMapping may be invalid - /// (isValid() == false). - /// This means that the target independent code is not smart enough - /// to get the mapping of \p MI and thus, the target has to provide the - /// information for \p MI. - /// - /// This implementation is able to get the mapping of: - /// - Target specific instructions by looking at the encoding constraints. - /// - Any instruction if all the register operands have already been assigned - /// a register, a register class, or a register bank. - /// - Copies and phis if at least one of the operands has been assigned a - /// register, a register class, or a register bank. - /// In other words, this method will likely fail to find a mapping for - /// any generic opcode that has not been lowered by target specific code. - const InstructionMapping &getInstrMappingImpl(const MachineInstr &MI) const; - - /// Get the uniquely generated PartialMapping for the - /// given arguments. - const PartialMapping &getPartialMapping(unsigned StartIdx, unsigned Length, - const RegisterBank &RegBank) const; - - /// \name Methods to get a uniquely generated ValueMapping. - /// @{ - - /// The most common ValueMapping consists of a single PartialMapping. - /// Feature a method for that. - const ValueMapping &getValueMapping(unsigned StartIdx, unsigned Length, - const RegisterBank &RegBank) const; - - /// Get the ValueMapping for the given arguments. - const ValueMapping &getValueMapping(const PartialMapping *BreakDown, - unsigned NumBreakDowns) const; - /// @} - - /// \name Methods to get a uniquely generated array of ValueMapping. - /// @{ - - /// Get the uniquely generated array of ValueMapping for the - /// elements of between \p Begin and \p End. - /// - /// Elements that are nullptr will be replaced by - /// invalid ValueMapping (ValueMapping::isValid == false). - /// - /// \pre The pointers on ValueMapping between \p Begin and \p End - /// must uniquely identify a ValueMapping. Otherwise, there is no - /// guarantee that the return instance will be unique, i.e., another - /// OperandsMapping could have the same content. - template - const ValueMapping *getOperandsMapping(Iterator Begin, Iterator End) const; - - /// Get the uniquely generated array of ValueMapping for the - /// elements of \p OpdsMapping. - /// - /// Elements of \p OpdsMapping that are nullptr will be replaced by - /// invalid ValueMapping (ValueMapping::isValid == false). - const ValueMapping *getOperandsMapping( - const SmallVectorImpl &OpdsMapping) const; - - /// Get the uniquely generated array of ValueMapping for the - /// given arguments. - /// - /// Arguments that are nullptr will be replaced by invalid - /// ValueMapping (ValueMapping::isValid == false). - const ValueMapping *getOperandsMapping( - std::initializer_list OpdsMapping) const; - /// @} - - /// \name Methods to get a uniquely generated InstructionMapping. - /// @{ - -private: - /// Method to get a uniquely generated InstructionMapping. - const InstructionMapping & - getInstructionMappingImpl(bool IsInvalid, unsigned ID = InvalidMappingID, - unsigned Cost = 0, - const ValueMapping *OperandsMapping = nullptr, - unsigned NumOperands = 0) const; - -public: - /// Method to get a uniquely generated InstructionMapping. - const InstructionMapping & - getInstructionMapping(unsigned ID, unsigned Cost, - const ValueMapping *OperandsMapping, - unsigned NumOperands) const { - return getInstructionMappingImpl(/*IsInvalid*/ false, ID, Cost, - OperandsMapping, NumOperands); - } - - /// Method to get a uniquely generated invalid InstructionMapping. - const InstructionMapping &getInvalidInstructionMapping() const { - return getInstructionMappingImpl(/*IsInvalid*/ true); - } - /// @} - - /// Get the register bank for the \p OpIdx-th operand of \p MI form - /// the encoding constraints, if any. - /// - /// \return A register bank that covers the register class of the - /// related encoding constraints or nullptr if \p MI did not provide - /// enough information to deduce it. - const RegisterBank * - getRegBankFromConstraints(const MachineInstr &MI, unsigned OpIdx, - const TargetInstrInfo &TII, - const MachineRegisterInfo &MRI) const; - - /// Helper method to apply something that is like the default mapping. - /// Basically, that means that \p OpdMapper.getMI() is left untouched - /// aside from the reassignment of the register operand that have been - /// remapped. - /// - /// The type of all the new registers that have been created by the - /// mapper are properly remapped to the type of the original registers - /// they replace. In other words, the semantic of the instruction does - /// not change, only the register banks. - /// - /// If the mapping of one of the operand spans several registers, this - /// method will abort as this is not like a default mapping anymore. - /// - /// \pre For OpIdx in {0..\p OpdMapper.getMI().getNumOperands()) - /// the range OpdMapper.getVRegs(OpIdx) is empty or of size 1. - static void applyDefaultMapping(const OperandsMapper &OpdMapper); - - /// See ::applyMapping. - virtual void applyMappingImpl(const OperandsMapper &OpdMapper) const { - llvm_unreachable("The target has to implement that part"); - } - -public: - virtual ~RegisterBankInfo() = default; - - /// Get the register bank identified by \p ID. - const RegisterBank &getRegBank(unsigned ID) const { - return const_cast(this)->getRegBank(ID); - } - - /// Get the register bank of \p Reg. - /// If Reg has not been assigned a register, a register class, - /// or a register bank, then this returns nullptr. - /// - /// \pre Reg != 0 (NoRegister) - const RegisterBank *getRegBank(Register Reg, const MachineRegisterInfo &MRI, - const TargetRegisterInfo &TRI) const; - - /// Get the total number of register banks. - unsigned getNumRegBanks() const { return NumRegBanks; } - - /// Get a register bank that covers \p RC. - /// - /// \pre \p RC is a user-defined register class (as opposed as one - /// generated by TableGen). - /// - /// \note The mapping RC -> RegBank could be built while adding the - /// coverage for the register banks. However, we do not do it, because, - /// at least for now, we only need this information for register classes - /// that are used in the description of instruction. In other words, - /// there are just a handful of them and we do not want to waste space. - /// - /// \todo This should be TableGen'ed. - virtual const RegisterBank & - getRegBankFromRegClass(const TargetRegisterClass &RC, LLT Ty) const { - llvm_unreachable("The target must override this method"); - } - - /// Get the cost of a copy from \p B to \p A, or put differently, - /// get the cost of A = COPY B. Since register banks may cover - /// different size, \p Size specifies what will be the size in bits - /// that will be copied around. - /// - /// \note Since this is a copy, both registers have the same size. - virtual unsigned copyCost(const RegisterBank &A, const RegisterBank &B, - unsigned Size) const { - // Optimistically assume that copies are coalesced. I.e., when - // they are on the same bank, they are free. - // Otherwise assume a non-zero cost of 1. The targets are supposed - // to override that properly anyway if they care. - return &A != &B; - } - - /// \returns true if emitting a copy from \p Src to \p Dst is impossible. - bool cannotCopy(const RegisterBank &Dst, const RegisterBank &Src, - unsigned Size) const { - return copyCost(Dst, Src, Size) == std::numeric_limits::max(); - } - - /// Get the cost of using \p ValMapping to decompose a register. This is - /// similar to ::copyCost, except for cases where multiple copy-like - /// operations need to be inserted. If the register is used as a source - /// operand and already has a bank assigned, \p CurBank is non-null. - virtual unsigned getBreakDownCost(const ValueMapping &ValMapping, - const RegisterBank *CurBank = nullptr) const { - return std::numeric_limits::max(); - } - - /// Constrain the (possibly generic) virtual register \p Reg to \p RC. - /// - /// \pre \p Reg is a virtual register that either has a bank or a class. - /// \returns The constrained register class, or nullptr if there is none. - /// \note This is a generic variant of MachineRegisterInfo::constrainRegClass - /// \note Use MachineRegisterInfo::constrainRegAttrs instead for any non-isel - /// purpose, including non-select passes of GlobalISel - static const TargetRegisterClass * - constrainGenericRegister(Register Reg, const TargetRegisterClass &RC, - MachineRegisterInfo &MRI); - - /// Identifier used when the related instruction mapping instance - /// is generated by target independent code. - /// Make sure not to use that identifier to avoid possible collision. - static const unsigned DefaultMappingID; - - /// Identifier used when the related instruction mapping instance - /// is generated by the default constructor. - /// Make sure not to use that identifier. - static const unsigned InvalidMappingID; - - /// Get the mapping of the different operands of \p MI - /// on the register bank. - /// This mapping should be the direct translation of \p MI. - /// In other words, when \p MI is mapped with the returned mapping, - /// only the register banks of the operands of \p MI need to be updated. - /// In particular, neither the opcode nor the type of \p MI needs to be - /// updated for this direct mapping. - /// - /// The target independent implementation gives a mapping based on - /// the register classes for the target specific opcode. - /// It uses the ID RegisterBankInfo::DefaultMappingID for that mapping. - /// Make sure you do not use that ID for the alternative mapping - /// for MI. See getInstrAlternativeMappings for the alternative - /// mappings. - /// - /// For instance, if \p MI is a vector add, the mapping should - /// not be a scalarization of the add. - /// - /// \post returnedVal.verify(MI). - /// - /// \note If returnedVal does not verify MI, this would probably mean - /// that the target does not support that instruction. - virtual const InstructionMapping & - getInstrMapping(const MachineInstr &MI) const; - - /// Get the alternative mappings for \p MI. - /// Alternative in the sense different from getInstrMapping. - virtual InstructionMappings - getInstrAlternativeMappings(const MachineInstr &MI) const; - - /// Get the possible mapping for \p MI. - /// A mapping defines where the different operands may live and at what cost. - /// For instance, let us consider: - /// v0(16) = G_ADD <2 x i8> v1, v2 - /// The possible mapping could be: - /// - /// {/*ID*/VectorAdd, /*Cost*/1, /*v0*/{(0xFFFF, VPR)}, /*v1*/{(0xFFFF, VPR)}, - /// /*v2*/{(0xFFFF, VPR)}} - /// {/*ID*/ScalarAddx2, /*Cost*/2, /*v0*/{(0x00FF, GPR),(0xFF00, GPR)}, - /// /*v1*/{(0x00FF, GPR),(0xFF00, GPR)}, - /// /*v2*/{(0x00FF, GPR),(0xFF00, GPR)}} - /// - /// \note The first alternative of the returned mapping should be the - /// direct translation of \p MI current form. - /// - /// \post !returnedVal.empty(). - InstructionMappings getInstrPossibleMappings(const MachineInstr &MI) const; - - /// Apply \p OpdMapper.getInstrMapping() to \p OpdMapper.getMI(). - /// After this call \p OpdMapper.getMI() may not be valid anymore. - /// \p OpdMapper.getInstrMapping().getID() carries the information of - /// what has been chosen to map \p OpdMapper.getMI(). This ID is set - /// by the various getInstrXXXMapping method. - /// - /// Therefore, getting the mapping and applying it should be kept in - /// sync. - void applyMapping(const OperandsMapper &OpdMapper) const { - // The only mapping we know how to handle is the default mapping. - if (OpdMapper.getInstrMapping().getID() == DefaultMappingID) - return applyDefaultMapping(OpdMapper); - // For other mapping, the target needs to do the right thing. - // If that means calling applyDefaultMapping, fine, but this - // must be explicitly stated. - applyMappingImpl(OpdMapper); - } - - /// Get the size in bits of \p Reg. - /// Utility method to get the size of any registers. Unlike - /// MachineRegisterInfo::getSize, the register does not need to be a - /// virtual register. - /// - /// \pre \p Reg != 0 (NoRegister). - unsigned getSizeInBits(Register Reg, const MachineRegisterInfo &MRI, - const TargetRegisterInfo &TRI) const; - - /// Check that information hold by this instance make sense for the - /// given \p TRI. - /// - /// \note This method does not check anything when assertions are disabled. - /// - /// \return True is the check was successful. - bool verify(const TargetRegisterInfo &TRI) const; -}; - -inline raw_ostream & -operator<<(raw_ostream &OS, - const RegisterBankInfo::PartialMapping &PartMapping) { - PartMapping.print(OS); - return OS; -} - -inline raw_ostream & -operator<<(raw_ostream &OS, const RegisterBankInfo::ValueMapping &ValMapping) { - ValMapping.print(OS); - return OS; -} - -inline raw_ostream & -operator<<(raw_ostream &OS, - const RegisterBankInfo::InstructionMapping &InstrMapping) { - InstrMapping.print(OS); - return OS; -} - -inline raw_ostream & -operator<<(raw_ostream &OS, const RegisterBankInfo::OperandsMapper &OpdMapper) { - OpdMapper.print(OS, /*ForDebug*/ false); - return OS; -} - -/// Hashing function for PartialMapping. -/// It is required for the hashing of ValueMapping. -hash_code hash_value(const RegisterBankInfo::PartialMapping &PartMapping); - -} // end namespace llvm - -#endif // LLVM_CODEGEN_GLOBALISEL_REGISTERBANKINFO_H diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/MachineFrameInfo.h b/gnu/llvm/llvm/include/llvm/CodeGen/MachineFrameInfo.h index ba54ab52e88..351160bd8ee 100644 --- a/gnu/llvm/llvm/include/llvm/CodeGen/MachineFrameInfo.h +++ b/gnu/llvm/llvm/include/llvm/CodeGen/MachineFrameInfo.h @@ -15,8 +15,8 @@ #include "llvm/ADT/SmallVector.h" #include "llvm/CodeGen/Register.h" +#include "llvm/CodeGen/TargetFrameLowering.h" #include "llvm/Support/Alignment.h" -#include "llvm/Support/DataTypes.h" #include #include @@ -49,14 +49,13 @@ class CalleeSavedInfo { /// The long-term solution is to model the liveness of callee-saved registers /// by implicit uses on the return instructions, however, the required /// changes in the ARM backend would be quite extensive. - bool Restored; + bool Restored = true; /// Flag indicating whether the register is spilled to stack or another /// register. - bool SpilledToReg; + bool SpilledToReg = false; public: - explicit CalleeSavedInfo(unsigned R, int FI = 0) - : Reg(R), FrameIdx(FI), Restored(true), SpilledToReg(false) {} + explicit CalleeSavedInfo(unsigned R, int FI = 0) : Reg(R), FrameIdx(FI) {} // Accessors. Register getReg() const { return Reg; } @@ -180,14 +179,14 @@ private: /// If true, the object has been sign-extended. bool isSExt = false; - uint8_t SSPLayout; + uint8_t SSPLayout = SSPLK_None; StackObject(uint64_t Size, Align Alignment, int64_t SPOffset, bool IsImmutable, bool IsSpillSlot, const AllocaInst *Alloca, bool IsAliased, uint8_t StackID = 0) : SPOffset(SPOffset), Size(Size), Alignment(Alignment), isImmutable(IsImmutable), isSpillSlot(IsSpillSlot), StackID(StackID), - Alloca(Alloca), isAliased(IsAliased), SSPLayout(SSPLK_None) {} + Alloca(Alloca), isAliased(IsAliased) {} }; /// The alignment of the stack. @@ -345,12 +344,17 @@ private: /// Not null, if shrink-wrapping found a better place for the epilogue. MachineBasicBlock *Restore = nullptr; + /// Size of the UnsafeStack Frame + uint64_t UnsafeStackSize = 0; + public: - explicit MachineFrameInfo(unsigned StackAlignment, bool StackRealignable, + explicit MachineFrameInfo(Align StackAlignment, bool StackRealignable, bool ForcedRealign) - : StackAlignment(assumeAligned(StackAlignment)), + : StackAlignment(StackAlignment), StackRealignable(StackRealignable), ForcedRealign(ForcedRealign) {} + MachineFrameInfo(const MachineFrameInfo &) = delete; + /// Return true if there are any stack objects in this function. bool hasStackObjects() const { return !Objects.empty(); } @@ -379,6 +383,7 @@ public: /// This object is used for SjLj exceptions. int getFunctionContextIndex() const { return FunctionContextIdx; } void setFunctionContextIndex(int I) { FunctionContextIdx = I; } + bool hasFunctionContextIndex() const { return FunctionContextIdx != -1; } /// This method may be called any time after instruction /// selection is complete to determine if there is a call to @@ -404,6 +409,20 @@ public: bool hasPatchPoint() const { return HasPatchPoint; } void setHasPatchPoint(bool s = true) { HasPatchPoint = s; } + /// Return true if this function requires a split stack prolog, even if it + /// uses no stack space. This is only meaningful for functions where + /// MachineFunction::shouldSplitStack() returns true. + // + // For non-leaf functions we have to allow for the possibility that the call + // is to a non-split function, as in PR37807. This function could also take + // the address of a non-split function. When the linker tries to adjust its + // non-existent prologue, it would fail with an error. Mark the object file so + // that such failures are not errors. See this Go language bug-report + // https://go-review.googlesource.com/c/go/+/148819/ + bool needsSplitStackProlog() const { + return getStackSize() != 0 || hasTailCall(); + } + /// Return the minimum frame object index. int getObjectIndexBegin() const { return -NumFixedObjects; } @@ -488,14 +507,21 @@ public: return Objects[ObjectIdx + NumFixedObjects].Alignment; } + /// Should this stack ID be considered in MaxAlignment. + bool contributesToMaxAlignment(uint8_t StackID) { + return StackID == TargetStackID::Default || + StackID == TargetStackID::ScalableVector; + } + /// setObjectAlignment - Change the alignment of the specified stack object. void setObjectAlignment(int ObjectIdx, Align Alignment) { assert(unsigned(ObjectIdx + NumFixedObjects) < Objects.size() && "Invalid Object Idx!"); Objects[ObjectIdx + NumFixedObjects].Alignment = Alignment; - // Only ensure max alignment for the default stack. - if (getStackID(ObjectIdx) == 0) + // Only ensure max alignment for the default and scalable vector stack. + uint8_t StackID = getStackID(ObjectIdx); + if (contributesToMaxAlignment(StackID)) ensureMaxAlignment(Alignment); } @@ -507,6 +533,14 @@ public: return Objects[ObjectIdx+NumFixedObjects].Alloca; } + /// Remove the underlying Alloca of the specified stack object if it + /// exists. This generally should not be used and is for reduction tooling. + void clearObjectAllocation(int ObjectIdx) { + assert(unsigned(ObjectIdx + NumFixedObjects) < Objects.size() && + "Invalid Object Idx!"); + Objects[ObjectIdx + NumFixedObjects].Alloca = nullptr; + } + /// Return the assigned stack offset of the specified object /// from the incoming stack pointer. int64_t getObjectOffset(int ObjectIdx) const { @@ -792,6 +826,9 @@ public: MachineBasicBlock *getRestorePoint() const { return Restore; } void setRestorePoint(MachineBasicBlock *NewRestore) { Restore = NewRestore; } + uint64_t getUnsafeStackSize() const { return UnsafeStackSize; } + void setUnsafeStackSize(uint64_t Size) { UnsafeStackSize = Size; } + /// Return a set of physical registers that are pristine. /// /// Pristine registers hold a value that is useless to the current function, diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/Passes.h b/gnu/llvm/llvm/include/llvm/CodeGen/Passes.h index 6565e9b8a99..bbc7eb43958 100644 --- a/gnu/llvm/llvm/include/llvm/CodeGen/Passes.h +++ b/gnu/llvm/llvm/include/llvm/CodeGen/Passes.h @@ -26,17 +26,19 @@ namespace llvm { class FunctionPass; class MachineFunction; class MachineFunctionPass; -class MemoryBuffer; class ModulePass; class Pass; class TargetMachine; -class TargetRegisterClass; class raw_ostream; } // End llvm namespace // List of target independent CodeGen pass IDs. namespace llvm { + + /// AtomicExpandPass - At IR level this pass replace atomic instructions with + /// __atomic_* library calls, or target specific instruction which implement the + /// same semantics in a way which better fits the target backend. FunctionPass *createAtomicExpandPass(); /// createUnreachableBlockEliminationPass - The LLVM code generator does not @@ -48,10 +50,8 @@ namespace llvm { FunctionPass *createUnreachableBlockEliminationPass(); /// createBasicBlockSections Pass - This pass assigns sections to machine - /// basic blocks and is enabled with -fbasic-block-sections. Buf is a memory - /// buffer that contains the list of functions and basic block ids to - /// selectively enable basic block sections. - MachineFunctionPass *createBasicBlockSectionsPass(const MemoryBuffer *Buf); + /// basic blocks and is enabled with -fbasic-block-sections. + MachineFunctionPass *createBasicBlockSectionsPass(); /// createMachineFunctionSplitterPass - This pass splits machine functions /// using profile information. @@ -63,6 +63,10 @@ namespace llvm { createMachineFunctionPrinterPass(raw_ostream &OS, const std::string &Banner =""); + /// StackFramePrinter pass - This pass prints out the machine function's + /// stack frame to the given stream as a debugging tool. + MachineFunctionPass *createStackFrameLayoutAnalysisPass(); + /// MIRPrinting pass - this pass prints out the LLVM IR into the given stream /// using the MIR serialization format. MachineFunctionPass *createPrintMIRPass(raw_ostream &OS); @@ -79,6 +83,10 @@ namespace llvm { /// matching during instruction selection. FunctionPass *createCodeGenPreparePass(); + /// This pass implements generation of target-specific intrinsics to support + /// handling of complex number arithmetic + FunctionPass *createComplexDeinterleavingPass(const TargetMachine *TM); + /// AtomicExpandID -- Lowers atomic operations in terms of either cmpxchg /// load-linked/store-conditional loops. extern char &AtomicExpandID; @@ -171,6 +179,9 @@ namespace llvm { /// This pass adds flow sensitive discriminators. extern char &MIRAddFSDiscriminatorsID; + /// This pass reads flow sensitive profile. + extern char &MIRProfileLoaderPassID; + /// FastRegisterAllocation Pass - This pass register allocates as fast as /// possible. It is best suited for debug code where live ranges are short. /// @@ -257,6 +268,10 @@ namespace llvm { /// It merges disjoint allocas to reduce the stack size. extern char &StackColoringID; + /// StackFramePrinter - This pass prints the stack frame layout and variable + /// mappings. + extern char &StackFrameLayoutAnalysisPassID; + /// IfConverter - This pass performs machine code if conversion. extern char &IfConverterID; @@ -325,6 +340,12 @@ namespace llvm { /// machine instructions. extern char &MachineCopyPropagationID; + MachineFunctionPass *createMachineCopyPropagationPass(bool UseCopyInstr); + + /// MachineLateInstrsCleanup - This pass removes redundant identical + /// instructions after register allocation and rematerialization. + extern char &MachineLateInstrsCleanupID; + /// PeepholeOptimizer - This pass performs peephole optimizations - /// like extension and comparison eliminations. extern char &PeepholeOptimizerID; @@ -403,9 +424,16 @@ namespace llvm { /// the intrinsic for later emission to the StackMap. extern char &StackMapLivenessID; + // MachineSanitizerBinaryMetadata - appends/finalizes sanitizer binary + // metadata after llvm SanitizerBinaryMetadata pass. + extern char &MachineSanitizerBinaryMetadataID; + /// RemoveRedundantDebugValues pass. extern char &RemoveRedundantDebugValuesID; + /// MachineCFGPrinter pass. + extern char &MachineCFGPrinterID; + /// LiveDebugValues pass extern char &LiveDebugValuesID; @@ -482,6 +510,12 @@ namespace llvm { /// predicate mask. FunctionPass *createExpandVectorPredicationPass(); + // Expands large div/rem instructions. + FunctionPass *createExpandLargeDivRemPass(); + + // Expands large div/rem instructions. + FunctionPass *createExpandLargeFpConvertPass(); + // This pass expands memcmp() to load/stores. FunctionPass *createExpandMemCmpPass(); @@ -491,6 +525,9 @@ namespace llvm { // This pass expands indirectbr instructions. FunctionPass *createIndirectBrExpandPass(); + /// Creates CFI Fixup pass. \see CFIFixup.cpp + FunctionPass *createCFIFixup(); + /// Creates CFI Instruction Inserter pass. \see CFIInstrInserter.cpp FunctionPass *createCFIInstrInserter(); @@ -509,13 +546,18 @@ namespace llvm { FunctionPass *createPseudoProbeInserter(); /// Create IR Type Promotion pass. \see TypePromotion.cpp - FunctionPass *createTypePromotionPass(); + FunctionPass *createTypePromotionLegacyPass(); /// Add Flow Sensitive Discriminators. PassNum specifies the /// sequence number of this pass (starting from 1). FunctionPass * createMIRAddFSDiscriminatorsPass(sampleprof::FSDiscriminatorPass P); + /// Read Flow Sensitive Profile. + FunctionPass *createMIRProfileLoaderPass(std::string File, + std::string RemappingFile, + sampleprof::FSDiscriminatorPass P); + /// Creates MIR Debugify pass. \see MachineDebugify.cpp ModulePass *createDebugifyMachineModulePass(); @@ -542,6 +584,16 @@ namespace llvm { /// The pass transforms amx intrinsics to scalar operation if the function has /// optnone attribute or it is O0. FunctionPass *createX86LowerAMXIntrinsicsPass(); + + /// When learning an eviction policy, extract score(reward) information, + /// otherwise this does nothing + FunctionPass *createRegAllocScoringPass(); + + /// JMC instrument pass. + ModulePass *createJMCInstrumenterPass(); + + /// This pass converts conditional moves to conditional jumps when profitable. + FunctionPass *createSelectOptimizePass(); } // End llvm namespace #endif diff --git a/gnu/llvm/llvm/include/llvm/CodeGen/TargetFrameLowering.h b/gnu/llvm/llvm/include/llvm/CodeGen/TargetFrameLowering.h index a2d99334e1a..2d9904e7a24 100644 --- a/gnu/llvm/llvm/include/llvm/CodeGen/TargetFrameLowering.h +++ b/gnu/llvm/llvm/include/llvm/CodeGen/TargetFrameLowering.h @@ -140,10 +140,13 @@ public: /// int getOffsetOfLocalArea() const { return LocalAreaOffset; } - /// isFPCloseToIncomingSP - Return true if the frame pointer is close to - /// the incoming stack pointer, false if it is close to the post-prologue - /// stack pointer. - virtual bool isFPCloseToIncomingSP() const { return true; } + /// Control the placement of special register scavenging spill slots when + /// allocating a stack frame. + /// + /// If this returns true, the frame indexes used by the RegScavenger will be + /// allocated closest to the incoming stack pointer. + virtual bool allocateScavengingFrameIndexesNearIncomingSP( + const MachineFunction &MF) const; /// assignCalleeSavedSpillSlots - Allows target to override spill slot /// assignment logic. If implemented, assignCalleeSavedSpillSlots() should @@ -215,16 +218,31 @@ public: return nullptr; } + /// emitZeroCallUsedRegs - Zeros out call used registers. + virtual void emitZeroCallUsedRegs(BitVector RegsToZero, + MachineBasicBlock &MBB) const {} + /// With basic block sections, emit callee saved frame moves for basic blocks /// that are in a different section. virtual void - emitCalleeSavedFrameMoves(MachineBasicBlock &MBB, - MachineBasicBlock::iterator MBBI) const {} + emitCalleeSavedFrameMovesFullCFA(MachineBasicBlock &MBB, + MachineBasicBlock::iterator MBBI) const {} + + /// Returns true if we may need to fix the unwind information for the + /// function. + virtual bool enableCFIFixup(MachineFunction &MF) const; + + /// Emit CFI instructions that recreate the state of the unwind information + /// upon fucntion entry. + virtual void resetCFIToInitialState(MachineBasicBlock &MBB) const {} /// Replace a StackProbe stub (if any) with the actual probe code inline virtual void inlineStackProbe(MachineFunction &MF, MachineBasicBlock &PrologueMBB) const {} + /// Does the stack probe function call return with a modified stack pointer? + virtual bool stackProbeFunctionModifiesSP() const { return false; } + /// Adjust the prologue to have the function use segmented stacks. This works /// by adding a check even before the "normal" function prologue. virtual void adjustForSegmentedStacks(MachineFunction &MF, diff --git a/gnu/llvm/llvm/include/llvm/DebugInfo/GSYM/Range.h b/gnu/llvm/llvm/include/llvm/DebugInfo/GSYM/Range.h deleted file mode 100644 index 36ad95602d1..00000000000 --- a/gnu/llvm/llvm/include/llvm/DebugInfo/GSYM/Range.h +++ /dev/null @@ -1,130 +0,0 @@ -//===- Range.h --------------------------------------------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_DEBUGINFO_GSYM_RANGE_H -#define LLVM_DEBUGINFO_GSYM_RANGE_H - -#include "llvm/ADT/Optional.h" -#include "llvm/Support/Format.h" -#include "llvm/Support/raw_ostream.h" -#include -#include - -#define HEX8(v) llvm::format_hex(v, 4) -#define HEX16(v) llvm::format_hex(v, 6) -#define HEX32(v) llvm::format_hex(v, 10) -#define HEX64(v) llvm::format_hex(v, 18) - -namespace llvm { -class DataExtractor; -class raw_ostream; - -namespace gsym { - -class FileWriter; - -/// A class that represents an address range. The range is specified using -/// a start and an end address. -struct AddressRange { - uint64_t Start; - uint64_t End; - AddressRange() : Start(0), End(0) {} - AddressRange(uint64_t S, uint64_t E) : Start(S), End(E) {} - uint64_t size() const { return End - Start; } - bool contains(uint64_t Addr) const { return Start <= Addr && Addr < End; } - bool intersects(const AddressRange &R) const { - return Start < R.End && R.Start < End; - } - - bool operator==(const AddressRange &R) const { - return Start == R.Start && End == R.End; - } - bool operator!=(const AddressRange &R) const { - return !(*this == R); - } - bool operator<(const AddressRange &R) const { - return std::make_pair(Start, End) < std::make_pair(R.Start, R.End); - } - /// AddressRange objects are encoded and decoded to be relative to a base - /// address. This will be the FunctionInfo's start address if the AddressRange - /// is directly contained in a FunctionInfo, or a base address of the - /// containing parent AddressRange or AddressRanges. This allows address - /// ranges to be efficiently encoded using ULEB128 encodings as we encode the - /// offset and size of each range instead of full addresses. This also makes - /// encoded addresses easy to relocate as we just need to relocate one base - /// address. - /// @{ - void decode(DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset); - void encode(FileWriter &O, uint64_t BaseAddr) const; - /// @} - - /// Skip an address range object in the specified data a the specified - /// offset. - /// - /// \param Data The binary stream to read the data from. - /// - /// \param Offset The byte offset within \a Data. - static void skip(DataExtractor &Data, uint64_t &Offset); -}; - -raw_ostream &operator<<(raw_ostream &OS, const AddressRange &R); - -/// The AddressRanges class helps normalize address range collections. -/// This class keeps a sorted vector of AddressRange objects and can perform -/// insertions and searches efficiently. The address ranges are always sorted -/// and never contain any invalid or empty address ranges. This allows us to -/// emit address ranges into the GSYM file efficiently. Intersecting address -/// ranges are combined during insertion so that we can emit the most compact -/// representation for address ranges when writing to disk. -class AddressRanges { -protected: - using Collection = std::vector; - Collection Ranges; -public: - void clear() { Ranges.clear(); } - bool empty() const { return Ranges.empty(); } - bool contains(uint64_t Addr) const; - bool contains(AddressRange Range) const; - Optional getRangeThatContains(uint64_t Addr) const; - void insert(AddressRange Range); - size_t size() const { return Ranges.size(); } - bool operator==(const AddressRanges &RHS) const { - return Ranges == RHS.Ranges; - } - const AddressRange &operator[](size_t i) const { - assert(i < Ranges.size()); - return Ranges[i]; - } - Collection::const_iterator begin() const { return Ranges.begin(); } - Collection::const_iterator end() const { return Ranges.end(); } - - /// Address ranges are decoded and encoded to be relative to a base address. - /// See the AddressRange comment for the encode and decode methods for full - /// details. - /// @{ - void decode(DataExtractor &Data, uint64_t BaseAddr, uint64_t &Offset); - void encode(FileWriter &O, uint64_t BaseAddr) const; - /// @} - - /// Skip an address range object in the specified data a the specified - /// offset. - /// - /// \param Data The binary stream to read the data from. - /// - /// \param Offset The byte offset within \a Data. - /// - /// \returns The number of address ranges that were skipped. - static uint64_t skip(DataExtractor &Data, uint64_t &Offset); -}; - -raw_ostream &operator<<(raw_ostream &OS, const AddressRanges &AR); - -} // namespace gsym -} // namespace llvm - -#endif // LLVM_DEBUGINFO_GSYM_RANGE_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/LLVMSPSSerializers.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/LLVMSPSSerializers.h deleted file mode 100644 index f3d616deae8..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/LLVMSPSSerializers.h +++ /dev/null @@ -1,69 +0,0 @@ -//===-- LLVMSPSSerializers.h - SPS serialization for LLVM types -*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// SPS Serialization for common LLVM types. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_LLVMSPSSERIALIZERS_H -#define LLVM_EXECUTIONENGINE_ORC_LLVMSPSSERIALIZERS_H - -#include "llvm/ADT/StringMap.h" -#include "llvm/ExecutionEngine/Orc/Shared/SimplePackedSerialization.h" - -namespace llvm { -namespace orc { -namespace shared { - -template -class SPSSerializationTraits>, - StringMap> { -public: - static size_t size(const StringMap &M) { - size_t Sz = SPSArgList::size(static_cast(M.size())); - for (auto &E : M) - Sz += SPSArgList::size(E.first(), E.second); - return Sz; - } - - static bool serialize(SPSOutputBuffer &OB, const StringMap &M) { - if (!SPSArgList::serialize(OB, static_cast(M.size()))) - return false; - - for (auto &E : M) - if (!SPSArgList::serialize(OB, E.first(), E.second)) - return false; - - return true; - } - - static bool deserialize(SPSInputBuffer &IB, StringMap &M) { - uint64_t Size; - assert(M.empty() && "M already contains elements"); - - if (!SPSArgList::deserialize(IB, Size)) - return false; - - while (Size--) { - StringRef S; - ValueT V; - if (!SPSArgList::deserialize(IB, S, V)) - return false; - if (!M.insert(std::make_pair(S, V)).second) - return false; - } - - return true; - } -}; - -} // end namespace shared -} // end namespace orc -} // end namespace llvm - -#endif // LLVM_EXECUTIONENGINE_ORC_LLVMSPSSERIALIZERS_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h deleted file mode 100644 index 4310ba9ce9e..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h +++ /dev/null @@ -1,436 +0,0 @@ -//===-- OrcRPCExecutorProcessControl.h - Remote target control --*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Executor control via ORC RPC. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_ORCRPCEXECUTORPROCESSCONTROL_H -#define LLVM_EXECUTIONENGINE_ORC_ORCRPCEXECUTORPROCESSCONTROL_H - -#include "llvm/ExecutionEngine/Orc/ExecutorProcessControl.h" -#include "llvm/ExecutionEngine/Orc/Shared/RPCUtils.h" -#include "llvm/ExecutionEngine/Orc/Shared/RawByteChannel.h" -#include "llvm/ExecutionEngine/Orc/TargetProcess/OrcRPCTPCServer.h" -#include "llvm/Support/MSVCErrorWorkarounds.h" - -namespace llvm { -namespace orc { - -/// JITLinkMemoryManager implementation for a process connected via an ORC RPC -/// endpoint. -template -class OrcRPCEPCJITLinkMemoryManager : public jitlink::JITLinkMemoryManager { -private: - struct HostAlloc { - std::unique_ptr Mem; - uint64_t Size; - }; - - struct TargetAlloc { - JITTargetAddress Address = 0; - uint64_t AllocatedSize = 0; - }; - - using HostAllocMap = DenseMap; - using TargetAllocMap = DenseMap; - -public: - class OrcRPCAllocation : public Allocation { - public: - OrcRPCAllocation(OrcRPCEPCJITLinkMemoryManager &Parent, - HostAllocMap HostAllocs, TargetAllocMap TargetAllocs) - : Parent(Parent), HostAllocs(std::move(HostAllocs)), - TargetAllocs(std::move(TargetAllocs)) { - assert(HostAllocs.size() == TargetAllocs.size() && - "HostAllocs size should match TargetAllocs"); - } - - ~OrcRPCAllocation() override { - assert(TargetAllocs.empty() && "failed to deallocate"); - } - - MutableArrayRef getWorkingMemory(ProtectionFlags Seg) override { - auto I = HostAllocs.find(Seg); - assert(I != HostAllocs.end() && "No host allocation for segment"); - auto &HA = I->second; - return {HA.Mem.get(), static_cast(HA.Size)}; - } - - JITTargetAddress getTargetMemory(ProtectionFlags Seg) override { - auto I = TargetAllocs.find(Seg); - assert(I != TargetAllocs.end() && "No target allocation for segment"); - return I->second.Address; - } - - void finalizeAsync(FinalizeContinuation OnFinalize) override { - - std::vector BufferWrites; - orcrpctpc::ReleaseOrFinalizeMemRequest FMR; - - for (auto &KV : HostAllocs) { - assert(TargetAllocs.count(KV.first) && - "No target allocation for buffer"); - auto &HA = KV.second; - auto &TA = TargetAllocs[KV.first]; - BufferWrites.push_back({TA.Address, StringRef(HA.Mem.get(), HA.Size)}); - FMR.push_back({orcrpctpc::toWireProtectionFlags( - static_cast(KV.first)), - TA.Address, TA.AllocatedSize}); - } - - DEBUG_WITH_TYPE("orc", { - dbgs() << "finalizeAsync " << (void *)this << ":\n"; - auto FMRI = FMR.begin(); - for (auto &B : BufferWrites) { - auto Prot = FMRI->Prot; - ++FMRI; - dbgs() << " Writing " << formatv("{0:x16}", B.Buffer.size()) - << " bytes to " << ((Prot & orcrpctpc::WPF_Read) ? 'R' : '-') - << ((Prot & orcrpctpc::WPF_Write) ? 'W' : '-') - << ((Prot & orcrpctpc::WPF_Exec) ? 'X' : '-') - << " segment: local " << (const void *)B.Buffer.data() - << " -> target " << formatv("{0:x16}", B.Address) << "\n"; - } - }); - if (auto Err = - Parent.Parent.getMemoryAccess().writeBuffers(BufferWrites)) { - OnFinalize(std::move(Err)); - return; - } - - DEBUG_WITH_TYPE("orc", dbgs() << " Applying permissions...\n"); - if (auto Err = - Parent.getEndpoint().template callAsync( - [OF = std::move(OnFinalize)](Error Err2) { - // FIXME: Dispatch to work queue. - std::thread([OF = std::move(OF), - Err3 = std::move(Err2)]() mutable { - DEBUG_WITH_TYPE( - "orc", { dbgs() << " finalizeAsync complete\n"; }); - OF(std::move(Err3)); - }).detach(); - return Error::success(); - }, - FMR)) { - DEBUG_WITH_TYPE("orc", dbgs() << " failed.\n"); - Parent.getEndpoint().abandonPendingResponses(); - Parent.reportError(std::move(Err)); - } - DEBUG_WITH_TYPE("orc", { - dbgs() << "Leaving finalizeAsync (finalization may continue in " - "background)\n"; - }); - } - - Error deallocate() override { - orcrpctpc::ReleaseOrFinalizeMemRequest RMR; - for (auto &KV : TargetAllocs) - RMR.push_back({orcrpctpc::toWireProtectionFlags( - static_cast(KV.first)), - KV.second.Address, KV.second.AllocatedSize}); - TargetAllocs.clear(); - - return Parent.getEndpoint().template callB(RMR); - } - - private: - OrcRPCEPCJITLinkMemoryManager &Parent; - HostAllocMap HostAllocs; - TargetAllocMap TargetAllocs; - }; - - OrcRPCEPCJITLinkMemoryManager(OrcRPCEPCImplT &Parent) : Parent(Parent) {} - - Expected> - allocate(const jitlink::JITLinkDylib *JD, - const SegmentsRequestMap &Request) override { - orcrpctpc::ReserveMemRequest RMR; - HostAllocMap HostAllocs; - - for (auto &KV : Request) { - assert(KV.second.getContentSize() <= std::numeric_limits::max() && - "Content size is out-of-range for host"); - - RMR.push_back({orcrpctpc::toWireProtectionFlags( - static_cast(KV.first)), - KV.second.getContentSize() + KV.second.getZeroFillSize(), - KV.second.getAlignment()}); - HostAllocs[KV.first] = { - std::make_unique(KV.second.getContentSize()), - KV.second.getContentSize()}; - } - - DEBUG_WITH_TYPE("orc", { - dbgs() << "Orc remote memmgr got request:\n"; - for (auto &KV : Request) - dbgs() << " permissions: " - << ((KV.first & sys::Memory::MF_READ) ? 'R' : '-') - << ((KV.first & sys::Memory::MF_WRITE) ? 'W' : '-') - << ((KV.first & sys::Memory::MF_EXEC) ? 'X' : '-') - << ", content size: " - << formatv("{0:x16}", KV.second.getContentSize()) - << " + zero-fill-size: " - << formatv("{0:x16}", KV.second.getZeroFillSize()) - << ", align: " << KV.second.getAlignment() << "\n"; - }); - - // FIXME: LLVM RPC needs to be fixed to support alt - // serialization/deserialization on return types. For now just - // translate from std::map to DenseMap manually. - auto TmpTargetAllocs = - Parent.getEndpoint().template callB(RMR); - if (!TmpTargetAllocs) - return TmpTargetAllocs.takeError(); - - if (TmpTargetAllocs->size() != RMR.size()) - return make_error( - "Number of target allocations does not match request", - inconvertibleErrorCode()); - - TargetAllocMap TargetAllocs; - for (auto &E : *TmpTargetAllocs) - TargetAllocs[orcrpctpc::fromWireProtectionFlags(E.Prot)] = { - E.Address, E.AllocatedSize}; - - DEBUG_WITH_TYPE("orc", { - auto HAI = HostAllocs.begin(); - for (auto &KV : TargetAllocs) - dbgs() << " permissions: " - << ((KV.first & sys::Memory::MF_READ) ? 'R' : '-') - << ((KV.first & sys::Memory::MF_WRITE) ? 'W' : '-') - << ((KV.first & sys::Memory::MF_EXEC) ? 'X' : '-') - << " assigned local " << (void *)HAI->second.Mem.get() - << ", target " << formatv("{0:x16}", KV.second.Address) << "\n"; - }); - - return std::make_unique(*this, std::move(HostAllocs), - std::move(TargetAllocs)); - } - -private: - void reportError(Error Err) { Parent.reportError(std::move(Err)); } - - decltype(std::declval().getEndpoint()) getEndpoint() { - return Parent.getEndpoint(); - } - - OrcRPCEPCImplT &Parent; -}; - -/// ExecutorProcessControl::MemoryAccess implementation for a process connected -/// via an ORC RPC endpoint. -template -class OrcRPCEPCMemoryAccess : public ExecutorProcessControl::MemoryAccess { -public: - OrcRPCEPCMemoryAccess(OrcRPCEPCImplT &Parent) : Parent(Parent) {} - - void writeUInt8s(ArrayRef Ws, - WriteResultFn OnWriteComplete) override { - writeViaRPC(Ws, std::move(OnWriteComplete)); - } - - void writeUInt16s(ArrayRef Ws, - WriteResultFn OnWriteComplete) override { - writeViaRPC(Ws, std::move(OnWriteComplete)); - } - - void writeUInt32s(ArrayRef Ws, - WriteResultFn OnWriteComplete) override { - writeViaRPC(Ws, std::move(OnWriteComplete)); - } - - void writeUInt64s(ArrayRef Ws, - WriteResultFn OnWriteComplete) override { - writeViaRPC(Ws, std::move(OnWriteComplete)); - } - - void writeBuffers(ArrayRef Ws, - WriteResultFn OnWriteComplete) override { - writeViaRPC(Ws, std::move(OnWriteComplete)); - } - -private: - template - void writeViaRPC(ArrayRef Ws, WriteResultFn OnWriteComplete) { - if (auto Err = Parent.getEndpoint().template callAsync( - [OWC = std::move(OnWriteComplete)](Error Err2) mutable -> Error { - OWC(std::move(Err2)); - return Error::success(); - }, - Ws)) { - Parent.reportError(std::move(Err)); - Parent.getEndpoint().abandonPendingResponses(); - } - } - - OrcRPCEPCImplT &Parent; -}; - -// ExecutorProcessControl for a process connected via an ORC RPC Endpoint. -template -class OrcRPCExecutorProcessControlBase : public ExecutorProcessControl { -public: - using ErrorReporter = unique_function; - - using OnCloseConnectionFunction = unique_function; - - OrcRPCExecutorProcessControlBase(std::shared_ptr SSP, - RPCEndpointT &EP, ErrorReporter ReportError) - : ExecutorProcessControl(std::move(SSP)), - ReportError(std::move(ReportError)), EP(EP) { - using ThisT = OrcRPCExecutorProcessControlBase; - EP.template addAsyncHandler(*this, - &ThisT::runWrapperInJIT); - } - - void reportError(Error Err) { ReportError(std::move(Err)); } - - RPCEndpointT &getEndpoint() { return EP; } - - Expected loadDylib(const char *DylibPath) override { - DEBUG_WITH_TYPE("orc", { - dbgs() << "Loading dylib \"" << (DylibPath ? DylibPath : "") << "\" "; - if (!DylibPath) - dbgs() << "(process symbols)"; - dbgs() << "\n"; - }); - if (!DylibPath) - DylibPath = ""; - auto H = EP.template callB(DylibPath); - DEBUG_WITH_TYPE("orc", { - if (H) - dbgs() << " got handle " << formatv("{0:x16}", *H) << "\n"; - else - dbgs() << " error, unable to load\n"; - }); - return H; - } - - Expected> - lookupSymbols(ArrayRef Request) override { - std::vector RR; - for (auto &E : Request) { - RR.push_back({}); - RR.back().first = E.Handle; - for (auto &KV : E.Symbols) - RR.back().second.push_back( - {(*KV.first).str(), - KV.second == SymbolLookupFlags::WeaklyReferencedSymbol}); - } - DEBUG_WITH_TYPE("orc", { - dbgs() << "Compound lookup:\n"; - for (auto &R : Request) { - dbgs() << " In " << formatv("{0:x16}", R.Handle) << ": {"; - bool First = true; - for (auto &KV : R.Symbols) { - dbgs() << (First ? "" : ",") << " " << *KV.first; - First = false; - } - dbgs() << " }\n"; - } - }); - return EP.template callB(RR); - } - - Expected runAsMain(JITTargetAddress MainFnAddr, - ArrayRef Args) override { - DEBUG_WITH_TYPE("orc", { - dbgs() << "Running as main: " << formatv("{0:x16}", MainFnAddr) - << ", args = ["; - for (unsigned I = 0; I != Args.size(); ++I) - dbgs() << (I ? "," : "") << " \"" << Args[I] << "\""; - dbgs() << "]\n"; - }); - auto Result = EP.template callB(MainFnAddr, Args); - DEBUG_WITH_TYPE("orc", { - dbgs() << " call to " << formatv("{0:x16}", MainFnAddr); - if (Result) - dbgs() << " returned result " << *Result << "\n"; - else - dbgs() << " failed\n"; - }); - return Result; - } - - void callWrapperAsync(SendResultFunction OnComplete, - JITTargetAddress WrapperFnAddr, - ArrayRef ArgBuffer) override { - DEBUG_WITH_TYPE("orc", { - dbgs() << "Running as wrapper function " - << formatv("{0:x16}", WrapperFnAddr) << " with " - << formatv("{0:x16}", ArgBuffer.size()) << " argument buffer\n"; - }); - auto Result = EP.template callB( - WrapperFnAddr, - ArrayRef(reinterpret_cast(ArgBuffer.data()), - ArgBuffer.size())); - - if (!Result) - OnComplete(shared::WrapperFunctionResult::createOutOfBandError( - toString(Result.takeError()))); - OnComplete(std::move(*Result)); - } - - Error closeConnection(OnCloseConnectionFunction OnCloseConnection) { - DEBUG_WITH_TYPE("orc", dbgs() << "Closing connection to remote\n"); - return EP.template callAsync( - std::move(OnCloseConnection)); - } - - Error closeConnectionAndWait() { - std::promise P; - auto F = P.get_future(); - if (auto Err = closeConnection([&](Error Err2) -> Error { - P.set_value(std::move(Err2)); - return Error::success(); - })) { - EP.abandonAllPendingResponses(); - return joinErrors(std::move(Err), F.get()); - } - return F.get(); - } - -protected: - /// Subclasses must call this during construction to initialize the - /// TargetTriple and PageSize members. - Error initializeORCRPCEPCBase() { - if (auto EPI = EP.template callB()) { - this->TargetTriple = Triple(EPI->Triple); - this->PageSize = PageSize; - this->JDI = {ExecutorAddress(EPI->DispatchFuncAddr), - ExecutorAddress(EPI->DispatchCtxAddr)}; - return Error::success(); - } else - return EPI.takeError(); - } - -private: - Error runWrapperInJIT( - std::function)> SendResult, - JITTargetAddress FunctionTag, std::vector ArgBuffer) { - - getExecutionSession().runJITDispatchHandler( - [this, SendResult = std::move(SendResult)]( - Expected R) { - if (auto Err = SendResult(std::move(R))) - ReportError(std::move(Err)); - }, - FunctionTag, - {reinterpret_cast(ArgBuffer.data()), ArgBuffer.size()}); - return Error::success(); - } - - ErrorReporter ReportError; - RPCEndpointT &EP; -}; - -} // end namespace orc -} // end namespace llvm - -#endif // LLVM_EXECUTIONENGINE_ORC_ORCRPCEXECUTORPROCESSCONTROL_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h deleted file mode 100644 index 3d139740d67..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetClient.h +++ /dev/null @@ -1,925 +0,0 @@ -//===- OrcRemoteTargetClient.h - Orc Remote-target Client -------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines the OrcRemoteTargetClient class and helpers. This class -// can be used to communicate over an RawByteChannel with an -// OrcRemoteTargetServer instance to support remote-JITing. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETCLIENT_H -#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETCLIENT_H - -#include "llvm/ADT/Optional.h" -#include "llvm/ADT/STLExtras.h" -#include "llvm/ADT/StringMap.h" -#include "llvm/ADT/StringRef.h" -#include "llvm/ExecutionEngine/JITSymbol.h" -#include "llvm/ExecutionEngine/JITLink/JITLinkMemoryManager.h" -#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h" -#include "llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h" -#include "llvm/ExecutionEngine/RuntimeDyld.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/Error.h" -#include "llvm/Support/ErrorHandling.h" -#include "llvm/Support/Format.h" -#include "llvm/Support/MathExtras.h" -#include "llvm/Support/Memory.h" -#include "llvm/Support/raw_ostream.h" -#include -#include -#include -#include -#include -#include -#include -#include - -#define DEBUG_TYPE "orc-remote" - -namespace llvm { -namespace orc { -namespace remote { - -/// This class provides utilities (including memory manager, indirect stubs -/// manager, and compile callback manager types) that support remote JITing -/// in ORC. -/// -/// Each of the utility classes talks to a JIT server (an instance of the -/// OrcRemoteTargetServer class) via an RPC system (see RPCUtils.h) to carry out -/// its actions. -class OrcRemoteTargetClient - : public shared::SingleThreadedRPCEndpoint { -public: - /// Remote-mapped RuntimeDyld-compatible memory manager. - class RemoteRTDyldMemoryManager : public RuntimeDyld::MemoryManager { - friend class OrcRemoteTargetClient; - - public: - ~RemoteRTDyldMemoryManager() { - Client.destroyRemoteAllocator(Id); - LLVM_DEBUG(dbgs() << "Destroyed remote allocator " << Id << "\n"); - } - - RemoteRTDyldMemoryManager(const RemoteRTDyldMemoryManager &) = delete; - RemoteRTDyldMemoryManager & - operator=(const RemoteRTDyldMemoryManager &) = delete; - RemoteRTDyldMemoryManager(RemoteRTDyldMemoryManager &&) = default; - RemoteRTDyldMemoryManager &operator=(RemoteRTDyldMemoryManager &&) = delete; - - uint8_t *allocateCodeSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID, - StringRef SectionName) override { - Unmapped.back().CodeAllocs.emplace_back(Size, Alignment); - uint8_t *Alloc = reinterpret_cast( - Unmapped.back().CodeAllocs.back().getLocalAddress()); - LLVM_DEBUG(dbgs() << "Allocator " << Id << " allocated code for " - << SectionName << ": " << Alloc << " (" << Size - << " bytes, alignment " << Alignment << ")\n"); - return Alloc; - } - - uint8_t *allocateDataSection(uintptr_t Size, unsigned Alignment, - unsigned SectionID, StringRef SectionName, - bool IsReadOnly) override { - if (IsReadOnly) { - Unmapped.back().RODataAllocs.emplace_back(Size, Alignment); - uint8_t *Alloc = reinterpret_cast( - Unmapped.back().RODataAllocs.back().getLocalAddress()); - LLVM_DEBUG(dbgs() << "Allocator " << Id << " allocated ro-data for " - << SectionName << ": " << Alloc << " (" << Size - << " bytes, alignment " << Alignment << ")\n"); - return Alloc; - } // else... - - Unmapped.back().RWDataAllocs.emplace_back(Size, Alignment); - uint8_t *Alloc = reinterpret_cast( - Unmapped.back().RWDataAllocs.back().getLocalAddress()); - LLVM_DEBUG(dbgs() << "Allocator " << Id << " allocated rw-data for " - << SectionName << ": " << Alloc << " (" << Size - << " bytes, alignment " << Alignment << ")\n"); - return Alloc; - } - - void reserveAllocationSpace(uintptr_t CodeSize, uint32_t CodeAlign, - uintptr_t RODataSize, uint32_t RODataAlign, - uintptr_t RWDataSize, - uint32_t RWDataAlign) override { - Unmapped.push_back(ObjectAllocs()); - - LLVM_DEBUG(dbgs() << "Allocator " << Id << " reserved:\n"); - - if (CodeSize != 0) { - Unmapped.back().RemoteCodeAddr = - Client.reserveMem(Id, CodeSize, CodeAlign); - - LLVM_DEBUG( - dbgs() << " code: " - << format("0x%016" PRIx64, Unmapped.back().RemoteCodeAddr) - << " (" << CodeSize << " bytes, alignment " << CodeAlign - << ")\n"); - } - - if (RODataSize != 0) { - Unmapped.back().RemoteRODataAddr = - Client.reserveMem(Id, RODataSize, RODataAlign); - - LLVM_DEBUG( - dbgs() << " ro-data: " - << format("0x%016" PRIx64, Unmapped.back().RemoteRODataAddr) - << " (" << RODataSize << " bytes, alignment " << RODataAlign - << ")\n"); - } - - if (RWDataSize != 0) { - Unmapped.back().RemoteRWDataAddr = - Client.reserveMem(Id, RWDataSize, RWDataAlign); - - LLVM_DEBUG( - dbgs() << " rw-data: " - << format("0x%016" PRIx64, Unmapped.back().RemoteRWDataAddr) - << " (" << RWDataSize << " bytes, alignment " << RWDataAlign - << ")\n"); - } - } - - bool needsToReserveAllocationSpace() override { return true; } - - void registerEHFrames(uint8_t *Addr, uint64_t LoadAddr, - size_t Size) override { - UnfinalizedEHFrames.push_back({LoadAddr, Size}); - } - - void deregisterEHFrames() override { - for (auto &Frame : RegisteredEHFrames) { - // FIXME: Add error poll. - Client.deregisterEHFrames(Frame.Addr, Frame.Size); - } - } - - void notifyObjectLoaded(RuntimeDyld &Dyld, - const object::ObjectFile &Obj) override { - LLVM_DEBUG(dbgs() << "Allocator " << Id << " applied mappings:\n"); - for (auto &ObjAllocs : Unmapped) { - mapAllocsToRemoteAddrs(Dyld, ObjAllocs.CodeAllocs, - ObjAllocs.RemoteCodeAddr); - mapAllocsToRemoteAddrs(Dyld, ObjAllocs.RODataAllocs, - ObjAllocs.RemoteRODataAddr); - mapAllocsToRemoteAddrs(Dyld, ObjAllocs.RWDataAllocs, - ObjAllocs.RemoteRWDataAddr); - Unfinalized.push_back(std::move(ObjAllocs)); - } - Unmapped.clear(); - } - - bool finalizeMemory(std::string *ErrMsg = nullptr) override { - LLVM_DEBUG(dbgs() << "Allocator " << Id << " finalizing:\n"); - - for (auto &ObjAllocs : Unfinalized) { - if (copyAndProtect(ObjAllocs.CodeAllocs, ObjAllocs.RemoteCodeAddr, - sys::Memory::MF_READ | sys::Memory::MF_EXEC)) - return true; - - if (copyAndProtect(ObjAllocs.RODataAllocs, ObjAllocs.RemoteRODataAddr, - sys::Memory::MF_READ)) - return true; - - if (copyAndProtect(ObjAllocs.RWDataAllocs, ObjAllocs.RemoteRWDataAddr, - sys::Memory::MF_READ | sys::Memory::MF_WRITE)) - return true; - } - Unfinalized.clear(); - - for (auto &EHFrame : UnfinalizedEHFrames) { - if (auto Err = Client.registerEHFrames(EHFrame.Addr, EHFrame.Size)) { - // FIXME: Replace this once finalizeMemory can return an Error. - handleAllErrors(std::move(Err), [&](ErrorInfoBase &EIB) { - if (ErrMsg) { - raw_string_ostream ErrOut(*ErrMsg); - EIB.log(ErrOut); - } - }); - return false; - } - } - RegisteredEHFrames = std::move(UnfinalizedEHFrames); - UnfinalizedEHFrames = {}; - - return false; - } - - private: - class Alloc { - public: - Alloc(uint64_t Size, unsigned Align) - : Size(Size), Align(Align), Contents(new char[Size + Align - 1]) {} - - Alloc(const Alloc &) = delete; - Alloc &operator=(const Alloc &) = delete; - Alloc(Alloc &&) = default; - Alloc &operator=(Alloc &&) = default; - - uint64_t getSize() const { return Size; } - - unsigned getAlign() const { return Align; } - - char *getLocalAddress() const { - uintptr_t LocalAddr = reinterpret_cast(Contents.get()); - LocalAddr = alignTo(LocalAddr, Align); - return reinterpret_cast(LocalAddr); - } - - void setRemoteAddress(JITTargetAddress RemoteAddr) { - this->RemoteAddr = RemoteAddr; - } - - JITTargetAddress getRemoteAddress() const { return RemoteAddr; } - - private: - uint64_t Size; - unsigned Align; - std::unique_ptr Contents; - JITTargetAddress RemoteAddr = 0; - }; - - struct ObjectAllocs { - ObjectAllocs() = default; - ObjectAllocs(const ObjectAllocs &) = delete; - ObjectAllocs &operator=(const ObjectAllocs &) = delete; - ObjectAllocs(ObjectAllocs &&) = default; - ObjectAllocs &operator=(ObjectAllocs &&) = default; - - JITTargetAddress RemoteCodeAddr = 0; - JITTargetAddress RemoteRODataAddr = 0; - JITTargetAddress RemoteRWDataAddr = 0; - std::vector CodeAllocs, RODataAllocs, RWDataAllocs; - }; - - RemoteRTDyldMemoryManager(OrcRemoteTargetClient &Client, - ResourceIdMgr::ResourceId Id) - : Client(Client), Id(Id) { - LLVM_DEBUG(dbgs() << "Created remote allocator " << Id << "\n"); - } - - // Maps all allocations in Allocs to aligned blocks - void mapAllocsToRemoteAddrs(RuntimeDyld &Dyld, std::vector &Allocs, - JITTargetAddress NextAddr) { - for (auto &Alloc : Allocs) { - NextAddr = alignTo(NextAddr, Alloc.getAlign()); - Dyld.mapSectionAddress(Alloc.getLocalAddress(), NextAddr); - LLVM_DEBUG( - dbgs() << " " << static_cast(Alloc.getLocalAddress()) - << " -> " << format("0x%016" PRIx64, NextAddr) << "\n"); - Alloc.setRemoteAddress(NextAddr); - - // Only advance NextAddr if it was non-null to begin with, - // otherwise leave it as null. - if (NextAddr) - NextAddr += Alloc.getSize(); - } - } - - // Copies data for each alloc in the list, then set permissions on the - // segment. - bool copyAndProtect(const std::vector &Allocs, - JITTargetAddress RemoteSegmentAddr, - unsigned Permissions) { - if (RemoteSegmentAddr) { - assert(!Allocs.empty() && "No sections in allocated segment"); - - for (auto &Alloc : Allocs) { - LLVM_DEBUG(dbgs() << " copying section: " - << static_cast(Alloc.getLocalAddress()) - << " -> " - << format("0x%016" PRIx64, Alloc.getRemoteAddress()) - << " (" << Alloc.getSize() << " bytes)\n";); - - if (Client.writeMem(Alloc.getRemoteAddress(), Alloc.getLocalAddress(), - Alloc.getSize())) - return true; - } - - LLVM_DEBUG(dbgs() << " setting " - << (Permissions & sys::Memory::MF_READ ? 'R' : '-') - << (Permissions & sys::Memory::MF_WRITE ? 'W' : '-') - << (Permissions & sys::Memory::MF_EXEC ? 'X' : '-') - << " permissions on block: " - << format("0x%016" PRIx64, RemoteSegmentAddr) - << "\n"); - if (Client.setProtections(Id, RemoteSegmentAddr, Permissions)) - return true; - } - return false; - } - - OrcRemoteTargetClient &Client; - ResourceIdMgr::ResourceId Id; - std::vector Unmapped; - std::vector Unfinalized; - - struct EHFrame { - JITTargetAddress Addr; - uint64_t Size; - }; - std::vector UnfinalizedEHFrames; - std::vector RegisteredEHFrames; - }; - - class RPCMMAlloc : public jitlink::JITLinkMemoryManager::Allocation { - using AllocationMap = DenseMap; - using FinalizeContinuation = - jitlink::JITLinkMemoryManager::Allocation::FinalizeContinuation; - using ProtectionFlags = sys::Memory::ProtectionFlags; - using SegmentsRequestMap = - DenseMap; - - RPCMMAlloc(OrcRemoteTargetClient &Client, ResourceIdMgr::ResourceId Id) - : Client(Client), Id(Id) {} - - public: - static Expected> - Create(OrcRemoteTargetClient &Client, ResourceIdMgr::ResourceId Id, - const SegmentsRequestMap &Request) { - auto *MM = new RPCMMAlloc(Client, Id); - - if (Error Err = MM->allocateHostBlocks(Request)) - return std::move(Err); - - if (Error Err = MM->allocateTargetBlocks()) - return std::move(Err); - - return std::unique_ptr(MM); - } - - MutableArrayRef getWorkingMemory(ProtectionFlags Seg) override { - assert(HostSegBlocks.count(Seg) && "No allocation for segment"); - return {static_cast(HostSegBlocks[Seg].base()), - HostSegBlocks[Seg].allocatedSize()}; - } - - JITTargetAddress getTargetMemory(ProtectionFlags Seg) override { - assert(TargetSegBlocks.count(Seg) && "No allocation for segment"); - return pointerToJITTargetAddress(TargetSegBlocks[Seg].base()); - } - - void finalizeAsync(FinalizeContinuation OnFinalize) override { - // Host allocations (working memory) remain ReadWrite. - OnFinalize(copyAndProtect()); - } - - Error deallocate() override { - // TODO: Cannot release target allocation. RPCAPI has no function - // symmetric to reserveMem(). Add RPC call like freeMem()? - return errorCodeToError(sys::Memory::releaseMappedMemory(HostAllocation)); - } - - private: - OrcRemoteTargetClient &Client; - ResourceIdMgr::ResourceId Id; - AllocationMap HostSegBlocks; - AllocationMap TargetSegBlocks; - JITTargetAddress TargetSegmentAddr; - sys::MemoryBlock HostAllocation; - - Error allocateHostBlocks(const SegmentsRequestMap &Request) { - unsigned TargetPageSize = Client.getPageSize(); - - if (!isPowerOf2_64(static_cast(TargetPageSize))) - return make_error("Host page size is not a power of 2", - inconvertibleErrorCode()); - - auto TotalSize = calcTotalAllocSize(Request, TargetPageSize); - if (!TotalSize) - return TotalSize.takeError(); - - // Allocate one slab to cover all the segments. - const sys::Memory::ProtectionFlags ReadWrite = - static_cast(sys::Memory::MF_READ | - sys::Memory::MF_WRITE); - std::error_code EC; - HostAllocation = - sys::Memory::allocateMappedMemory(*TotalSize, nullptr, ReadWrite, EC); - if (EC) - return errorCodeToError(EC); - - char *SlabAddr = static_cast(HostAllocation.base()); -#ifndef NDEBUG - char *SlabAddrEnd = SlabAddr + HostAllocation.allocatedSize(); -#endif - - // Allocate segment memory from the slab. - for (auto &KV : Request) { - const auto &Seg = KV.second; - - uint64_t SegmentSize = Seg.getContentSize() + Seg.getZeroFillSize(); - uint64_t AlignedSegmentSize = alignTo(SegmentSize, TargetPageSize); - - // Zero out zero-fill memory. - char *ZeroFillBegin = SlabAddr + Seg.getContentSize(); - memset(ZeroFillBegin, 0, Seg.getZeroFillSize()); - - // Record the block for this segment. - HostSegBlocks[KV.first] = - sys::MemoryBlock(SlabAddr, AlignedSegmentSize); - - SlabAddr += AlignedSegmentSize; - assert(SlabAddr <= SlabAddrEnd && "Out of range"); - } - - return Error::success(); - } - - Error allocateTargetBlocks() { - // Reserve memory for all blocks on the target. We need as much space on - // the target as we allocated on the host. - TargetSegmentAddr = Client.reserveMem(Id, HostAllocation.allocatedSize(), - Client.getPageSize()); - if (!TargetSegmentAddr) - return make_error("Failed to reserve memory on the target", - inconvertibleErrorCode()); - - // Map memory blocks into the allocation, that match the host allocation. - JITTargetAddress TargetAllocAddr = TargetSegmentAddr; - for (const auto &KV : HostSegBlocks) { - size_t TargetAllocSize = KV.second.allocatedSize(); - - TargetSegBlocks[KV.first] = - sys::MemoryBlock(jitTargetAddressToPointer(TargetAllocAddr), - TargetAllocSize); - - TargetAllocAddr += TargetAllocSize; - assert(TargetAllocAddr - TargetSegmentAddr <= - HostAllocation.allocatedSize() && - "Out of range on target"); - } - - return Error::success(); - } - - Error copyAndProtect() { - unsigned Permissions = 0u; - - // Copy segments one by one. - for (auto &KV : TargetSegBlocks) { - Permissions |= KV.first; - - const sys::MemoryBlock &TargetBlock = KV.second; - const sys::MemoryBlock &HostBlock = HostSegBlocks.lookup(KV.first); - - size_t TargetAllocSize = TargetBlock.allocatedSize(); - auto TargetAllocAddr = pointerToJITTargetAddress(TargetBlock.base()); - auto *HostAllocBegin = static_cast(HostBlock.base()); - - bool CopyErr = - Client.writeMem(TargetAllocAddr, HostAllocBegin, TargetAllocSize); - if (CopyErr) - return createStringError(inconvertibleErrorCode(), - "Failed to copy %d segment to the target", - KV.first); - } - - // Set permission flags for all segments at once. - bool ProtectErr = - Client.setProtections(Id, TargetSegmentAddr, Permissions); - if (ProtectErr) - return createStringError(inconvertibleErrorCode(), - "Failed to apply permissions for %d segment " - "on the target", - Permissions); - return Error::success(); - } - - static Expected - calcTotalAllocSize(const SegmentsRequestMap &Request, - unsigned TargetPageSize) { - size_t TotalSize = 0; - for (const auto &KV : Request) { - const auto &Seg = KV.second; - - if (Seg.getAlignment() > TargetPageSize) - return make_error("Cannot request alignment higher than " - "page alignment on target", - inconvertibleErrorCode()); - - TotalSize = alignTo(TotalSize, TargetPageSize); - TotalSize += Seg.getContentSize(); - TotalSize += Seg.getZeroFillSize(); - } - - return TotalSize; - } - }; - - class RemoteJITLinkMemoryManager : public jitlink::JITLinkMemoryManager { - public: - RemoteJITLinkMemoryManager(OrcRemoteTargetClient &Client, - ResourceIdMgr::ResourceId Id) - : Client(Client), Id(Id) {} - - RemoteJITLinkMemoryManager(const RemoteJITLinkMemoryManager &) = delete; - RemoteJITLinkMemoryManager(RemoteJITLinkMemoryManager &&) = default; - - RemoteJITLinkMemoryManager & - operator=(const RemoteJITLinkMemoryManager &) = delete; - RemoteJITLinkMemoryManager & - operator=(RemoteJITLinkMemoryManager &&) = delete; - - ~RemoteJITLinkMemoryManager() { - Client.destroyRemoteAllocator(Id); - LLVM_DEBUG(dbgs() << "Destroyed remote allocator " << Id << "\n"); - } - - Expected> - allocate(const jitlink::JITLinkDylib *JD, - const SegmentsRequestMap &Request) override { - return RPCMMAlloc::Create(Client, Id, Request); - } - - private: - OrcRemoteTargetClient &Client; - ResourceIdMgr::ResourceId Id; - }; - - /// Remote indirect stubs manager. - class RemoteIndirectStubsManager : public IndirectStubsManager { - public: - RemoteIndirectStubsManager(OrcRemoteTargetClient &Client, - ResourceIdMgr::ResourceId Id) - : Client(Client), Id(Id) {} - - ~RemoteIndirectStubsManager() override { - Client.destroyIndirectStubsManager(Id); - } - - Error createStub(StringRef StubName, JITTargetAddress StubAddr, - JITSymbolFlags StubFlags) override { - if (auto Err = reserveStubs(1)) - return Err; - - return createStubInternal(StubName, StubAddr, StubFlags); - } - - Error createStubs(const StubInitsMap &StubInits) override { - if (auto Err = reserveStubs(StubInits.size())) - return Err; - - for (auto &Entry : StubInits) - if (auto Err = createStubInternal(Entry.first(), Entry.second.first, - Entry.second.second)) - return Err; - - return Error::success(); - } - - JITEvaluatedSymbol findStub(StringRef Name, bool ExportedStubsOnly) override { - auto I = StubIndexes.find(Name); - if (I == StubIndexes.end()) - return nullptr; - auto Key = I->second.first; - auto Flags = I->second.second; - auto StubSymbol = JITEvaluatedSymbol(getStubAddr(Key), Flags); - if (ExportedStubsOnly && !StubSymbol.getFlags().isExported()) - return nullptr; - return StubSymbol; - } - - JITEvaluatedSymbol findPointer(StringRef Name) override { - auto I = StubIndexes.find(Name); - if (I == StubIndexes.end()) - return nullptr; - auto Key = I->second.first; - auto Flags = I->second.second; - return JITEvaluatedSymbol(getPtrAddr(Key), Flags); - } - - Error updatePointer(StringRef Name, JITTargetAddress NewAddr) override { - auto I = StubIndexes.find(Name); - assert(I != StubIndexes.end() && "No stub pointer for symbol"); - auto Key = I->second.first; - return Client.writePointer(getPtrAddr(Key), NewAddr); - } - - private: - struct RemoteIndirectStubsInfo { - JITTargetAddress StubBase; - JITTargetAddress PtrBase; - unsigned NumStubs; - }; - - using StubKey = std::pair; - - Error reserveStubs(unsigned NumStubs) { - if (NumStubs <= FreeStubs.size()) - return Error::success(); - - unsigned NewStubsRequired = NumStubs - FreeStubs.size(); - JITTargetAddress StubBase; - JITTargetAddress PtrBase; - unsigned NumStubsEmitted; - - if (auto StubInfoOrErr = Client.emitIndirectStubs(Id, NewStubsRequired)) - std::tie(StubBase, PtrBase, NumStubsEmitted) = *StubInfoOrErr; - else - return StubInfoOrErr.takeError(); - - unsigned NewBlockId = RemoteIndirectStubsInfos.size(); - RemoteIndirectStubsInfos.push_back({StubBase, PtrBase, NumStubsEmitted}); - - for (unsigned I = 0; I < NumStubsEmitted; ++I) - FreeStubs.push_back(std::make_pair(NewBlockId, I)); - - return Error::success(); - } - - Error createStubInternal(StringRef StubName, JITTargetAddress InitAddr, - JITSymbolFlags StubFlags) { - auto Key = FreeStubs.back(); - FreeStubs.pop_back(); - StubIndexes[StubName] = std::make_pair(Key, StubFlags); - return Client.writePointer(getPtrAddr(Key), InitAddr); - } - - JITTargetAddress getStubAddr(StubKey K) { - assert(RemoteIndirectStubsInfos[K.first].StubBase != 0 && - "Missing stub address"); - return RemoteIndirectStubsInfos[K.first].StubBase + - K.second * Client.getIndirectStubSize(); - } - - JITTargetAddress getPtrAddr(StubKey K) { - assert(RemoteIndirectStubsInfos[K.first].PtrBase != 0 && - "Missing pointer address"); - return RemoteIndirectStubsInfos[K.first].PtrBase + - K.second * Client.getPointerSize(); - } - - OrcRemoteTargetClient &Client; - ResourceIdMgr::ResourceId Id; - std::vector RemoteIndirectStubsInfos; - std::vector FreeStubs; - StringMap> StubIndexes; - }; - - class RemoteTrampolinePool : public TrampolinePool { - public: - RemoteTrampolinePool(OrcRemoteTargetClient &Client) : Client(Client) {} - - private: - Error grow() override { - JITTargetAddress BlockAddr = 0; - uint32_t NumTrampolines = 0; - if (auto TrampolineInfoOrErr = Client.emitTrampolineBlock()) - std::tie(BlockAddr, NumTrampolines) = *TrampolineInfoOrErr; - else - return TrampolineInfoOrErr.takeError(); - - uint32_t TrampolineSize = Client.getTrampolineSize(); - for (unsigned I = 0; I < NumTrampolines; ++I) - AvailableTrampolines.push_back(BlockAddr + (I * TrampolineSize)); - - return Error::success(); - } - - OrcRemoteTargetClient &Client; - }; - - /// Remote compile callback manager. - class RemoteCompileCallbackManager : public JITCompileCallbackManager { - public: - RemoteCompileCallbackManager(OrcRemoteTargetClient &Client, - ExecutionSession &ES, - JITTargetAddress ErrorHandlerAddress) - : JITCompileCallbackManager( - std::make_unique(Client), ES, - ErrorHandlerAddress) {} - }; - - /// Create an OrcRemoteTargetClient. - /// Channel is the ChannelT instance to communicate on. It is assumed that - /// the channel is ready to be read from and written to. - static Expected> - Create(shared::RawByteChannel &Channel, ExecutionSession &ES) { - Error Err = Error::success(); - auto Client = std::unique_ptr( - new OrcRemoteTargetClient(Channel, ES, Err)); - if (Err) - return std::move(Err); - return std::move(Client); - } - - /// Call the int(void) function at the given address in the target and return - /// its result. - Expected callIntVoid(JITTargetAddress Addr) { - LLVM_DEBUG(dbgs() << "Calling int(*)(void) " - << format("0x%016" PRIx64, Addr) << "\n"); - return callB(Addr); - } - - /// Call the int(int) function at the given address in the target and return - /// its result. - Expected callIntInt(JITTargetAddress Addr, int Arg) { - LLVM_DEBUG(dbgs() << "Calling int(*)(int) " << format("0x%016" PRIx64, Addr) - << "\n"); - return callB(Addr, Arg); - } - - /// Call the int(int, char*[]) function at the given address in the target and - /// return its result. - Expected callMain(JITTargetAddress Addr, - const std::vector &Args) { - LLVM_DEBUG(dbgs() << "Calling int(*)(int, char*[]) " - << format("0x%016" PRIx64, Addr) << "\n"); - return callB(Addr, Args); - } - - /// Call the void() function at the given address in the target and wait for - /// it to finish. - Error callVoidVoid(JITTargetAddress Addr) { - LLVM_DEBUG(dbgs() << "Calling void(*)(void) " - << format("0x%016" PRIx64, Addr) << "\n"); - return callB(Addr); - } - - /// Create an RCMemoryManager which will allocate its memory on the remote - /// target. - Expected> - createRemoteMemoryManager() { - auto Id = AllocatorIds.getNext(); - if (auto Err = callB(Id)) - return std::move(Err); - return std::unique_ptr( - new RemoteRTDyldMemoryManager(*this, Id)); - } - - /// Create a JITLink-compatible memory manager which will allocate working - /// memory on the host and target memory on the remote target. - Expected> - createRemoteJITLinkMemoryManager() { - auto Id = AllocatorIds.getNext(); - if (auto Err = callB(Id)) - return std::move(Err); - LLVM_DEBUG(dbgs() << "Created remote allocator " << Id << "\n"); - return std::unique_ptr( - new RemoteJITLinkMemoryManager(*this, Id)); - } - - /// Create an RCIndirectStubsManager that will allocate stubs on the remote - /// target. - Expected> - createIndirectStubsManager() { - auto Id = IndirectStubOwnerIds.getNext(); - if (auto Err = callB(Id)) - return std::move(Err); - return std::make_unique(*this, Id); - } - - Expected - enableCompileCallbacks(JITTargetAddress ErrorHandlerAddress) { - assert(!CallbackManager && "CallbackManager already obtained"); - - // Emit the resolver block on the JIT server. - if (auto Err = callB()) - return std::move(Err); - - // Create the callback manager. - CallbackManager.emplace(*this, ES, ErrorHandlerAddress); - RemoteCompileCallbackManager &Mgr = *CallbackManager; - return Mgr; - } - - /// Search for symbols in the remote process. Note: This should be used by - /// symbol resolvers *after* they've searched the local symbol table in the - /// JIT stack. - Expected getSymbolAddress(StringRef Name) { - return callB(Name); - } - - /// Get the triple for the remote target. - const std::string &getTargetTriple() const { return RemoteTargetTriple; } - - Error terminateSession() { return callB(); } - -private: - OrcRemoteTargetClient(shared::RawByteChannel &Channel, ExecutionSession &ES, - Error &Err) - : shared::SingleThreadedRPCEndpoint(Channel, - true), - ES(ES) { - ErrorAsOutParameter EAO(&Err); - - addHandler( - [this](JITTargetAddress Addr) -> JITTargetAddress { - if (CallbackManager) - return CallbackManager->executeCompileCallback(Addr); - return 0; - }); - - if (auto RIOrErr = callB()) { - std::tie(RemoteTargetTriple, RemotePointerSize, RemotePageSize, - RemoteTrampolineSize, RemoteIndirectStubSize) = *RIOrErr; - Err = Error::success(); - } else - Err = RIOrErr.takeError(); - } - - void deregisterEHFrames(JITTargetAddress Addr, uint32_t Size) { - if (auto Err = callB(Addr, Size)) - ES.reportError(std::move(Err)); - } - - void destroyRemoteAllocator(ResourceIdMgr::ResourceId Id) { - if (auto Err = callB(Id)) { - // FIXME: This will be triggered by a removeModuleSet call: Propagate - // error return up through that. - llvm_unreachable("Failed to destroy remote allocator."); - AllocatorIds.release(Id); - } - } - - void destroyIndirectStubsManager(ResourceIdMgr::ResourceId Id) { - IndirectStubOwnerIds.release(Id); - if (auto Err = callB(Id)) - ES.reportError(std::move(Err)); - } - - Expected> - emitIndirectStubs(ResourceIdMgr::ResourceId Id, uint32_t NumStubsRequired) { - return callB(Id, NumStubsRequired); - } - - Expected> emitTrampolineBlock() { - return callB(); - } - - uint32_t getIndirectStubSize() const { return RemoteIndirectStubSize; } - uint32_t getPageSize() const { return RemotePageSize; } - uint32_t getPointerSize() const { return RemotePointerSize; } - - uint32_t getTrampolineSize() const { return RemoteTrampolineSize; } - - Expected> readMem(char *Dst, JITTargetAddress Src, - uint64_t Size) { - return callB(Src, Size); - } - - Error registerEHFrames(JITTargetAddress &RAddr, uint32_t Size) { - // FIXME: Duplicate error and report it via ReportError too? - return callB(RAddr, Size); - } - - JITTargetAddress reserveMem(ResourceIdMgr::ResourceId Id, uint64_t Size, - uint32_t Align) { - if (auto AddrOrErr = callB(Id, Size, Align)) - return *AddrOrErr; - else { - ES.reportError(AddrOrErr.takeError()); - return 0; - } - } - - bool setProtections(ResourceIdMgr::ResourceId Id, - JITTargetAddress RemoteSegAddr, unsigned ProtFlags) { - if (auto Err = callB(Id, RemoteSegAddr, ProtFlags)) { - ES.reportError(std::move(Err)); - return true; - } else - return false; - } - - bool writeMem(JITTargetAddress Addr, const char *Src, uint64_t Size) { - if (auto Err = callB(DirectBufferWriter(Src, Addr, Size))) { - ES.reportError(std::move(Err)); - return true; - } else - return false; - } - - Error writePointer(JITTargetAddress Addr, JITTargetAddress PtrVal) { - return callB(Addr, PtrVal); - } - - static Error doNothing() { return Error::success(); } - - ExecutionSession &ES; - std::function ReportError; - std::string RemoteTargetTriple; - uint32_t RemotePointerSize = 0; - uint32_t RemotePageSize = 0; - uint32_t RemoteTrampolineSize = 0; - uint32_t RemoteIndirectStubSize = 0; - ResourceIdMgr AllocatorIds, IndirectStubOwnerIds; - Optional CallbackManager; -}; - -} // end namespace remote -} // end namespace orc -} // end namespace llvm - -#undef DEBUG_TYPE - -#endif // LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETCLIENT_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h deleted file mode 100644 index 367bfb36919..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h +++ /dev/null @@ -1,386 +0,0 @@ -//===- OrcRemoteTargetRPCAPI.h - Orc Remote-target RPC API ------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines the Orc remote-target RPC API. It should not be used -// directly, but is used by the RemoteTargetClient and RemoteTargetServer -// classes. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H -#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H - -#include "llvm/ExecutionEngine/JITSymbol.h" -#include "llvm/ExecutionEngine/Orc/Shared/RPCUtils.h" -#include "llvm/ExecutionEngine/Orc/Shared/RawByteChannel.h" - -namespace llvm { -namespace orc { - -namespace remote { - -/// Template error for missing resources. -template -class ResourceNotFound - : public ErrorInfo> { -public: - static char ID; - - ResourceNotFound(ResourceIdT ResourceId, - std::string ResourceDescription = "") - : ResourceId(std::move(ResourceId)), - ResourceDescription(std::move(ResourceDescription)) {} - - std::error_code convertToErrorCode() const override { - return orcError(OrcErrorCode::UnknownResourceHandle); - } - - void log(raw_ostream &OS) const override { - OS << (ResourceDescription.empty() - ? "Remote resource with id " - : ResourceDescription) - << " " << ResourceId << " not found"; - } - -private: - ResourceIdT ResourceId; - std::string ResourceDescription; -}; - -template -char ResourceNotFound::ID = 0; - -class DirectBufferWriter { -public: - DirectBufferWriter() = default; - DirectBufferWriter(const char *Src, JITTargetAddress Dst, uint64_t Size) - : Src(Src), Dst(Dst), Size(Size) {} - - const char *getSrc() const { return Src; } - JITTargetAddress getDst() const { return Dst; } - uint64_t getSize() const { return Size; } - -private: - const char *Src; - JITTargetAddress Dst; - uint64_t Size; -}; - -} // end namespace remote - -namespace shared { - -template <> class SerializationTypeName { -public: - static const char *getName() { return "JITSymbolFlags"; } -}; - -template -class SerializationTraits { -public: - - static Error serialize(ChannelT &C, const JITSymbolFlags &Flags) { - return serializeSeq(C, Flags.getRawFlagsValue(), Flags.getTargetFlags()); - } - - static Error deserialize(ChannelT &C, JITSymbolFlags &Flags) { - JITSymbolFlags::UnderlyingType JITFlags; - JITSymbolFlags::TargetFlagsType TargetFlags; - if (auto Err = deserializeSeq(C, JITFlags, TargetFlags)) - return Err; - Flags = JITSymbolFlags(static_cast(JITFlags), - TargetFlags); - return Error::success(); - } -}; - -template <> class SerializationTypeName { -public: - static const char *getName() { return "DirectBufferWriter"; } -}; - -template -class SerializationTraits< - ChannelT, remote::DirectBufferWriter, remote::DirectBufferWriter, - std::enable_if_t::value>> { -public: - static Error serialize(ChannelT &C, const remote::DirectBufferWriter &DBW) { - if (auto EC = serializeSeq(C, DBW.getDst())) - return EC; - if (auto EC = serializeSeq(C, DBW.getSize())) - return EC; - return C.appendBytes(DBW.getSrc(), DBW.getSize()); - } - - static Error deserialize(ChannelT &C, remote::DirectBufferWriter &DBW) { - JITTargetAddress Dst; - if (auto EC = deserializeSeq(C, Dst)) - return EC; - uint64_t Size; - if (auto EC = deserializeSeq(C, Size)) - return EC; - char *Addr = reinterpret_cast(static_cast(Dst)); - - DBW = remote::DirectBufferWriter(nullptr, Dst, Size); - - return C.readBytes(Addr, Size); - } -}; - -} // end namespace shared - -namespace remote { - -class ResourceIdMgr { -public: - using ResourceId = uint64_t; - static const ResourceId InvalidId = ~0U; - - ResourceIdMgr() = default; - explicit ResourceIdMgr(ResourceId FirstValidId) - : NextId(std::move(FirstValidId)) {} - - ResourceId getNext() { - if (!FreeIds.empty()) { - ResourceId I = FreeIds.back(); - FreeIds.pop_back(); - return I; - } - assert(NextId + 1 != ~0ULL && "All ids allocated"); - return NextId++; - } - - void release(ResourceId I) { FreeIds.push_back(I); } - -private: - ResourceId NextId = 1; - std::vector FreeIds; -}; - -/// Registers EH frames on the remote. -namespace eh { - - /// Registers EH frames on the remote. -class RegisterEHFrames - : public shared::RPCFunction { -public: - static const char *getName() { return "RegisterEHFrames"; } -}; - - /// Deregisters EH frames on the remote. -class DeregisterEHFrames - : public shared::RPCFunction { -public: - static const char *getName() { return "DeregisterEHFrames"; } -}; - -} // end namespace eh - -/// RPC functions for executing remote code. -namespace exec { - - /// Call an 'int32_t()'-type function on the remote, returns the called - /// function's return value. -class CallIntVoid - : public shared::RPCFunction { -public: - static const char *getName() { return "CallIntVoid"; } -}; - - /// Call an 'int32_t(int32_t)'-type function on the remote, returns the called - /// function's return value. -class CallIntInt - : public shared::RPCFunction { -public: - static const char *getName() { return "CallIntInt"; } -}; - - /// Call an 'int32_t(int32_t, char**)'-type function on the remote, returns the - /// called function's return value. -class CallMain - : public shared::RPCFunction Args)> { -public: - static const char *getName() { return "CallMain"; } -}; - - /// Calls a 'void()'-type function on the remote, returns when the called - /// function completes. -class CallVoidVoid - : public shared::RPCFunction { -public: - static const char *getName() { return "CallVoidVoid"; } -}; - -} // end namespace exec - -/// RPC functions for remote memory management / inspection / modification. -namespace mem { - - /// Creates a memory allocator on the remote. -class CreateRemoteAllocator - : public shared::RPCFunction { -public: - static const char *getName() { return "CreateRemoteAllocator"; } -}; - - /// Destroys a remote allocator, freeing any memory allocated by it. -class DestroyRemoteAllocator - : public shared::RPCFunction { -public: - static const char *getName() { return "DestroyRemoteAllocator"; } -}; - - /// Read a remote memory block. -class ReadMem - : public shared::RPCFunction< - ReadMem, std::vector(JITTargetAddress Src, uint64_t Size)> { -public: - static const char *getName() { return "ReadMem"; } -}; - - /// Reserve a block of memory on the remote via the given allocator. -class ReserveMem - : public shared::RPCFunction< - ReserveMem, JITTargetAddress(ResourceIdMgr::ResourceId AllocID, - uint64_t Size, uint32_t Align)> { -public: - static const char *getName() { return "ReserveMem"; } -}; - - /// Set the memory protection on a memory block. -class SetProtections - : public shared::RPCFunction< - SetProtections, void(ResourceIdMgr::ResourceId AllocID, - JITTargetAddress Dst, uint32_t ProtFlags)> { -public: - static const char *getName() { return "SetProtections"; } -}; - - /// Write to a remote memory block. -class WriteMem - : public shared::RPCFunction { -public: - static const char *getName() { return "WriteMem"; } -}; - - /// Write to a remote pointer. -class WritePtr - : public shared::RPCFunction { -public: - static const char *getName() { return "WritePtr"; } -}; - -} // end namespace mem - -/// RPC functions for remote stub and trampoline management. -namespace stubs { - - /// Creates an indirect stub owner on the remote. -class CreateIndirectStubsOwner - : public shared::RPCFunction { -public: - static const char *getName() { return "CreateIndirectStubsOwner"; } -}; - - /// RPC function for destroying an indirect stubs owner. -class DestroyIndirectStubsOwner - : public shared::RPCFunction { -public: - static const char *getName() { return "DestroyIndirectStubsOwner"; } -}; - - /// EmitIndirectStubs result is (StubsBase, PtrsBase, NumStubsEmitted). -class EmitIndirectStubs - : public shared::RPCFunction< - EmitIndirectStubs, - std::tuple( - ResourceIdMgr::ResourceId StubsOwnerID, - uint32_t NumStubsRequired)> { -public: - static const char *getName() { return "EmitIndirectStubs"; } -}; - - /// RPC function to emit the resolver block and return its address. -class EmitResolverBlock - : public shared::RPCFunction { -public: - static const char *getName() { return "EmitResolverBlock"; } -}; - - /// EmitTrampolineBlock result is (BlockAddr, NumTrampolines). -class EmitTrampolineBlock - : public shared::RPCFunction()> { -public: - static const char *getName() { return "EmitTrampolineBlock"; } -}; - -} // end namespace stubs - -/// Miscelaneous RPC functions for dealing with remotes. -namespace utils { - - /// GetRemoteInfo result is (Triple, PointerSize, PageSize, TrampolineSize, - /// IndirectStubsSize). -class GetRemoteInfo - : public shared::RPCFunction< - GetRemoteInfo, - std::tuple()> { -public: - static const char *getName() { return "GetRemoteInfo"; } -}; - - /// Get the address of a remote symbol. -class GetSymbolAddress - : public shared::RPCFunction { -public: - static const char *getName() { return "GetSymbolAddress"; } -}; - - /// Request that the host execute a compile callback. -class RequestCompile - : public shared::RPCFunction< - RequestCompile, JITTargetAddress(JITTargetAddress TrampolineAddr)> { -public: - static const char *getName() { return "RequestCompile"; } -}; - - /// Notify the remote and terminate the session. -class TerminateSession : public shared::RPCFunction { -public: - static const char *getName() { return "TerminateSession"; } -}; - -} // namespace utils - -class OrcRemoteTargetRPCAPI - : public shared::SingleThreadedRPCEndpoint { -public: - // FIXME: Remove constructors once MSVC supports synthesizing move-ops. - OrcRemoteTargetRPCAPI(shared::RawByteChannel &C) - : shared::SingleThreadedRPCEndpoint(C, true) {} -}; - -} // end namespace remote - -} // end namespace orc -} // end namespace llvm - -#endif // LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETRPCAPI_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h deleted file mode 100644 index ce9bf064303..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/OrcRemoteTargetServer.h +++ /dev/null @@ -1,464 +0,0 @@ -//===- OrcRemoteTargetServer.h - Orc Remote-target Server -------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// This file defines the OrcRemoteTargetServer class. It can be used to build a -// JIT server that can execute code sent from an OrcRemoteTargetClient. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H -#define LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H - -#include "llvm/ExecutionEngine/JITSymbol.h" -#include "llvm/ExecutionEngine/Orc/IndirectionUtils.h" -#include "llvm/ExecutionEngine/Orc/OrcRemoteTargetRPCAPI.h" -#include "llvm/ExecutionEngine/Orc/Shared/OrcError.h" -#include "llvm/Support/Debug.h" -#include "llvm/Support/Error.h" -#include "llvm/Support/Format.h" -#include "llvm/Support/Host.h" -#include "llvm/Support/Memory.h" -#include "llvm/Support/Process.h" -#include "llvm/Support/raw_ostream.h" -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#define DEBUG_TYPE "orc-remote" - -namespace llvm { -namespace orc { -namespace remote { - -template -class OrcRemoteTargetServer - : public shared::SingleThreadedRPCEndpoint { -public: - using SymbolLookupFtor = - std::function; - - using EHFrameRegistrationFtor = - std::function; - - OrcRemoteTargetServer(ChannelT &Channel, SymbolLookupFtor SymbolLookup, - EHFrameRegistrationFtor EHFramesRegister, - EHFrameRegistrationFtor EHFramesDeregister) - : shared::SingleThreadedRPCEndpoint(Channel, - true), - SymbolLookup(std::move(SymbolLookup)), - EHFramesRegister(std::move(EHFramesRegister)), - EHFramesDeregister(std::move(EHFramesDeregister)) { - using ThisT = std::remove_reference_t; - addHandler(*this, &ThisT::handleCallIntVoid); - addHandler(*this, &ThisT::handleCallIntInt); - addHandler(*this, &ThisT::handleCallMain); - addHandler(*this, &ThisT::handleCallVoidVoid); - addHandler(*this, - &ThisT::handleCreateRemoteAllocator); - addHandler( - *this, &ThisT::handleDestroyRemoteAllocator); - addHandler(*this, &ThisT::handleReadMem); - addHandler(*this, &ThisT::handleReserveMem); - addHandler(*this, &ThisT::handleSetProtections); - addHandler(*this, &ThisT::handleWriteMem); - addHandler(*this, &ThisT::handleWritePtr); - addHandler(*this, &ThisT::handleRegisterEHFrames); - addHandler(*this, &ThisT::handleDeregisterEHFrames); - addHandler( - *this, &ThisT::handleCreateIndirectStubsOwner); - addHandler( - *this, &ThisT::handleDestroyIndirectStubsOwner); - addHandler(*this, - &ThisT::handleEmitIndirectStubs); - addHandler(*this, - &ThisT::handleEmitResolverBlock); - addHandler(*this, - &ThisT::handleEmitTrampolineBlock); - addHandler(*this, &ThisT::handleGetSymbolAddress); - addHandler(*this, &ThisT::handleGetRemoteInfo); - addHandler(*this, &ThisT::handleTerminateSession); - } - - // FIXME: Remove move/copy ops once MSVC supports synthesizing move ops. - OrcRemoteTargetServer(const OrcRemoteTargetServer &) = delete; - OrcRemoteTargetServer &operator=(const OrcRemoteTargetServer &) = delete; - - OrcRemoteTargetServer(OrcRemoteTargetServer &&Other) = default; - OrcRemoteTargetServer &operator=(OrcRemoteTargetServer &&) = delete; - - Expected requestCompile(JITTargetAddress TrampolineAddr) { - return callB(TrampolineAddr); - } - - bool receivedTerminate() const { return TerminateFlag; } - -private: - struct Allocator { - Allocator() = default; - Allocator(Allocator &&Other) : Allocs(std::move(Other.Allocs)) {} - - Allocator &operator=(Allocator &&Other) { - Allocs = std::move(Other.Allocs); - return *this; - } - - ~Allocator() { - for (auto &Alloc : Allocs) - sys::Memory::releaseMappedMemory(Alloc.second); - } - - Error allocate(void *&Addr, size_t Size, uint32_t Align) { - std::error_code EC; - sys::MemoryBlock MB = sys::Memory::allocateMappedMemory( - Size, nullptr, sys::Memory::MF_READ | sys::Memory::MF_WRITE, EC); - if (EC) - return errorCodeToError(EC); - - Addr = MB.base(); - assert(Allocs.find(MB.base()) == Allocs.end() && "Duplicate alloc"); - Allocs[MB.base()] = std::move(MB); - return Error::success(); - } - - Error setProtections(void *block, unsigned Flags) { - auto I = Allocs.find(block); - if (I == Allocs.end()) - return errorCodeToError(orcError(OrcErrorCode::RemoteMProtectAddrUnrecognized)); - return errorCodeToError( - sys::Memory::protectMappedMemory(I->second, Flags)); - } - - private: - std::map Allocs; - }; - - static Error doNothing() { return Error::success(); } - - static JITTargetAddress reenter(void *JITTargetAddr, void *TrampolineAddr) { - auto T = static_cast(JITTargetAddr); - auto AddrOrErr = T->requestCompile(static_cast( - reinterpret_cast(TrampolineAddr))); - // FIXME: Allow customizable failure substitution functions. - assert(AddrOrErr && "Compile request failed"); - return *AddrOrErr; - } - - Expected handleCallIntVoid(JITTargetAddress Addr) { - using IntVoidFnTy = int (*)(); - - IntVoidFnTy Fn = - reinterpret_cast(static_cast(Addr)); - - LLVM_DEBUG(dbgs() << " Calling " << format("0x%016x", Addr) << "\n"); - int Result = Fn(); - LLVM_DEBUG(dbgs() << " Result = " << Result << "\n"); - - return Result; - } - - Expected handleCallIntInt(JITTargetAddress Addr, int Arg) { - using IntIntFnTy = int (*)(int); - - IntIntFnTy Fn = reinterpret_cast(static_cast(Addr)); - - LLVM_DEBUG(dbgs() << " Calling " << format("0x%016x", Addr) - << " with argument " << Arg << "\n"); - int Result = Fn(Arg); - LLVM_DEBUG(dbgs() << " Result = " << Result << "\n"); - - return Result; - } - - Expected handleCallMain(JITTargetAddress Addr, - std::vector Args) { - using MainFnTy = int (*)(int, const char *[]); - - MainFnTy Fn = reinterpret_cast(static_cast(Addr)); - int ArgC = Args.size() + 1; - int Idx = 1; - std::unique_ptr ArgV(new const char *[ArgC + 1]); - ArgV[0] = ""; - for (auto &Arg : Args) - ArgV[Idx++] = Arg.c_str(); - ArgV[ArgC] = 0; - LLVM_DEBUG(for (int Idx = 0; Idx < ArgC; ++Idx) { - llvm::dbgs() << "Arg " << Idx << ": " << ArgV[Idx] << "\n"; - }); - - LLVM_DEBUG(dbgs() << " Calling " << format("0x%016x", Addr) << "\n"); - int Result = Fn(ArgC, ArgV.get()); - LLVM_DEBUG(dbgs() << " Result = " << Result << "\n"); - - return Result; - } - - Error handleCallVoidVoid(JITTargetAddress Addr) { - using VoidVoidFnTy = void (*)(); - - VoidVoidFnTy Fn = - reinterpret_cast(static_cast(Addr)); - - LLVM_DEBUG(dbgs() << " Calling " << format("0x%016x", Addr) << "\n"); - Fn(); - LLVM_DEBUG(dbgs() << " Complete.\n"); - - return Error::success(); - } - - Error handleCreateRemoteAllocator(ResourceIdMgr::ResourceId Id) { - auto I = Allocators.find(Id); - if (I != Allocators.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteAllocatorIdAlreadyInUse)); - LLVM_DEBUG(dbgs() << " Created allocator " << Id << "\n"); - Allocators[Id] = Allocator(); - return Error::success(); - } - - Error handleCreateIndirectStubsOwner(ResourceIdMgr::ResourceId Id) { - auto I = IndirectStubsOwners.find(Id); - if (I != IndirectStubsOwners.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteIndirectStubsOwnerIdAlreadyInUse)); - LLVM_DEBUG(dbgs() << " Create indirect stubs owner " << Id << "\n"); - IndirectStubsOwners[Id] = ISBlockOwnerList(); - return Error::success(); - } - - Error handleDeregisterEHFrames(JITTargetAddress TAddr, uint32_t Size) { - uint8_t *Addr = reinterpret_cast(static_cast(TAddr)); - LLVM_DEBUG(dbgs() << " Registering EH frames at " - << format("0x%016x", TAddr) << ", Size = " << Size - << " bytes\n"); - EHFramesDeregister(Addr, Size); - return Error::success(); - } - - Error handleDestroyRemoteAllocator(ResourceIdMgr::ResourceId Id) { - auto I = Allocators.find(Id); - if (I == Allocators.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteAllocatorDoesNotExist)); - Allocators.erase(I); - LLVM_DEBUG(dbgs() << " Destroyed allocator " << Id << "\n"); - return Error::success(); - } - - Error handleDestroyIndirectStubsOwner(ResourceIdMgr::ResourceId Id) { - auto I = IndirectStubsOwners.find(Id); - if (I == IndirectStubsOwners.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteIndirectStubsOwnerDoesNotExist)); - IndirectStubsOwners.erase(I); - return Error::success(); - } - - Expected> - handleEmitIndirectStubs(ResourceIdMgr::ResourceId Id, - uint32_t NumStubsRequired) { - LLVM_DEBUG(dbgs() << " ISMgr " << Id << " request " << NumStubsRequired - << " stubs.\n"); - - auto StubOwnerItr = IndirectStubsOwners.find(Id); - if (StubOwnerItr == IndirectStubsOwners.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteIndirectStubsOwnerDoesNotExist)); - - auto IS = LocalIndirectStubsInfo::create( - NumStubsRequired, sys::Process::getPageSizeEstimate()); - if (!IS) - return IS.takeError(); - - JITTargetAddress StubsBase = pointerToJITTargetAddress(IS->getStub(0)); - JITTargetAddress PtrsBase = pointerToJITTargetAddress(IS->getPtr(0)); - uint32_t NumStubsEmitted = IS->getNumStubs(); - - auto &BlockList = StubOwnerItr->second; - BlockList.push_back(std::move(*IS)); - - return std::make_tuple(StubsBase, PtrsBase, NumStubsEmitted); - } - - Error handleEmitResolverBlock() { - std::error_code EC; - ResolverBlock = sys::OwningMemoryBlock(sys::Memory::allocateMappedMemory( - TargetT::ResolverCodeSize, nullptr, - sys::Memory::MF_READ | sys::Memory::MF_WRITE, EC)); - if (EC) - return errorCodeToError(EC); - - TargetT::writeResolverCode(static_cast(ResolverBlock.base()), - pointerToJITTargetAddress(ResolverBlock.base()), - pointerToJITTargetAddress(&reenter), - pointerToJITTargetAddress(this)); - - return errorCodeToError(sys::Memory::protectMappedMemory( - ResolverBlock.getMemoryBlock(), - sys::Memory::MF_READ | sys::Memory::MF_EXEC)); - } - - Expected> handleEmitTrampolineBlock() { - std::error_code EC; - auto TrampolineBlock = - sys::OwningMemoryBlock(sys::Memory::allocateMappedMemory( - sys::Process::getPageSizeEstimate(), nullptr, - sys::Memory::MF_READ | sys::Memory::MF_WRITE, EC)); - if (EC) - return errorCodeToError(EC); - - uint32_t NumTrampolines = - (sys::Process::getPageSizeEstimate() - TargetT::PointerSize) / - TargetT::TrampolineSize; - - char *TrampolineMem = static_cast(TrampolineBlock.base()); - TargetT::writeTrampolines( - TrampolineMem, pointerToJITTargetAddress(TrampolineMem), - pointerToJITTargetAddress(ResolverBlock.base()), NumTrampolines); - - EC = sys::Memory::protectMappedMemory(TrampolineBlock.getMemoryBlock(), - sys::Memory::MF_READ | - sys::Memory::MF_EXEC); - - TrampolineBlocks.push_back(std::move(TrampolineBlock)); - - return std::make_tuple(pointerToJITTargetAddress(TrampolineMem), - NumTrampolines); - } - - Expected handleGetSymbolAddress(const std::string &Name) { - JITTargetAddress Addr = SymbolLookup(Name); - LLVM_DEBUG(dbgs() << " Symbol '" << Name - << "' = " << format("0x%016x", Addr) << "\n"); - return Addr; - } - - Expected> - handleGetRemoteInfo() { - std::string ProcessTriple = sys::getProcessTriple(); - uint32_t PointerSize = TargetT::PointerSize; - uint32_t PageSize = sys::Process::getPageSizeEstimate(); - uint32_t TrampolineSize = TargetT::TrampolineSize; - uint32_t IndirectStubSize = TargetT::StubSize; - LLVM_DEBUG(dbgs() << " Remote info:\n" - << " triple = '" << ProcessTriple << "'\n" - << " pointer size = " << PointerSize << "\n" - << " page size = " << PageSize << "\n" - << " trampoline size = " << TrampolineSize << "\n" - << " indirect stub size = " << IndirectStubSize - << "\n"); - return std::make_tuple(ProcessTriple, PointerSize, PageSize, TrampolineSize, - IndirectStubSize); - } - - Expected> handleReadMem(JITTargetAddress RSrc, - uint64_t Size) { - uint8_t *Src = reinterpret_cast(static_cast(RSrc)); - - LLVM_DEBUG(dbgs() << " Reading " << Size << " bytes from " - << format("0x%016x", RSrc) << "\n"); - - std::vector Buffer; - Buffer.resize(Size); - for (uint8_t *P = Src; Size != 0; --Size) - Buffer.push_back(*P++); - - return Buffer; - } - - Error handleRegisterEHFrames(JITTargetAddress TAddr, uint32_t Size) { - uint8_t *Addr = reinterpret_cast(static_cast(TAddr)); - LLVM_DEBUG(dbgs() << " Registering EH frames at " - << format("0x%016x", TAddr) << ", Size = " << Size - << " bytes\n"); - EHFramesRegister(Addr, Size); - return Error::success(); - } - - Expected handleReserveMem(ResourceIdMgr::ResourceId Id, - uint64_t Size, uint32_t Align) { - auto I = Allocators.find(Id); - if (I == Allocators.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteAllocatorDoesNotExist)); - auto &Allocator = I->second; - void *LocalAllocAddr = nullptr; - if (auto Err = Allocator.allocate(LocalAllocAddr, Size, Align)) - return std::move(Err); - - LLVM_DEBUG(dbgs() << " Allocator " << Id << " reserved " << LocalAllocAddr - << " (" << Size << " bytes, alignment " << Align - << ")\n"); - - JITTargetAddress AllocAddr = static_cast( - reinterpret_cast(LocalAllocAddr)); - - return AllocAddr; - } - - Error handleSetProtections(ResourceIdMgr::ResourceId Id, - JITTargetAddress Addr, uint32_t Flags) { - auto I = Allocators.find(Id); - if (I == Allocators.end()) - return errorCodeToError( - orcError(OrcErrorCode::RemoteAllocatorDoesNotExist)); - auto &Allocator = I->second; - void *LocalAddr = reinterpret_cast(static_cast(Addr)); - LLVM_DEBUG(dbgs() << " Allocator " << Id << " set permissions on " - << LocalAddr << " to " - << (Flags & sys::Memory::MF_READ ? 'R' : '-') - << (Flags & sys::Memory::MF_WRITE ? 'W' : '-') - << (Flags & sys::Memory::MF_EXEC ? 'X' : '-') << "\n"); - return Allocator.setProtections(LocalAddr, Flags); - } - - Error handleTerminateSession() { - TerminateFlag = true; - return Error::success(); - } - - Error handleWriteMem(DirectBufferWriter DBW) { - LLVM_DEBUG(dbgs() << " Writing " << DBW.getSize() << " bytes to " - << format("0x%016x", DBW.getDst()) << "\n"); - return Error::success(); - } - - Error handleWritePtr(JITTargetAddress Addr, JITTargetAddress PtrVal) { - LLVM_DEBUG(dbgs() << " Writing pointer *" << format("0x%016x", Addr) - << " = " << format("0x%016x", PtrVal) << "\n"); - uintptr_t *Ptr = - reinterpret_cast(static_cast(Addr)); - *Ptr = static_cast(PtrVal); - return Error::success(); - } - - SymbolLookupFtor SymbolLookup; - EHFrameRegistrationFtor EHFramesRegister, EHFramesDeregister; - std::map Allocators; - using ISBlockOwnerList = std::vector>; - std::map IndirectStubsOwners; - sys::OwningMemoryBlock ResolverBlock; - std::vector TrampolineBlocks; - bool TerminateFlag = false; -}; - -} // end namespace remote -} // end namespace orc -} // end namespace llvm - -#undef DEBUG_TYPE - -#endif // LLVM_EXECUTIONENGINE_ORC_ORCREMOTETARGETSERVER_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/FDRawByteChannel.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/FDRawByteChannel.h deleted file mode 100644 index 3f96fe3da49..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/FDRawByteChannel.h +++ /dev/null @@ -1,79 +0,0 @@ -//===- FDRawByteChannel.h - File descriptor based byte-channel -*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// File descriptor based RawByteChannel. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_FDRAWBYTECHANNEL_H -#define LLVM_EXECUTIONENGINE_ORC_SHARED_FDRAWBYTECHANNEL_H - -#include "llvm/ExecutionEngine/Orc/Shared/RawByteChannel.h" - -#if !defined(_MSC_VER) && !defined(__MINGW32__) -#include -#else -#include -#endif - -namespace llvm { -namespace orc { -namespace shared { - -/// Serialization channel that reads from and writes from file descriptors. -class FDRawByteChannel final : public RawByteChannel { -public: - FDRawByteChannel(int InFD, int OutFD) : InFD(InFD), OutFD(OutFD) {} - - llvm::Error readBytes(char *Dst, unsigned Size) override { - assert(Dst && "Attempt to read into null."); - ssize_t Completed = 0; - while (Completed < static_cast(Size)) { - ssize_t Read = ::read(InFD, Dst + Completed, Size - Completed); - if (Read <= 0) { - auto ErrNo = errno; - if (ErrNo == EAGAIN || ErrNo == EINTR) - continue; - else - return llvm::errorCodeToError( - std::error_code(errno, std::generic_category())); - } - Completed += Read; - } - return llvm::Error::success(); - } - - llvm::Error appendBytes(const char *Src, unsigned Size) override { - assert(Src && "Attempt to append from null."); - ssize_t Completed = 0; - while (Completed < static_cast(Size)) { - ssize_t Written = ::write(OutFD, Src + Completed, Size - Completed); - if (Written < 0) { - auto ErrNo = errno; - if (ErrNo == EAGAIN || ErrNo == EINTR) - continue; - else - return llvm::errorCodeToError( - std::error_code(errno, std::generic_category())); - } - Completed += Written; - } - return llvm::Error::success(); - } - - llvm::Error send() override { return llvm::Error::success(); } - -private: - int InFD, OutFD; -}; - -} // namespace shared -} // namespace orc -} // namespace llvm - -#endif // LLVM_EXECUTIONENGINE_ORC_SHARED_FDRAWBYTECHANNEL_H diff --git a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h b/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h deleted file mode 100644 index 1ff47ce4275..00000000000 --- a/gnu/llvm/llvm/include/llvm/ExecutionEngine/Orc/Shared/RPCUtils.h +++ /dev/null @@ -1,1659 +0,0 @@ -//===- RPCUtils.h - Utilities for building RPC APIs -------------*- C++ -*-===// -// -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception -// -//===----------------------------------------------------------------------===// -// -// Utilities to support construction of simple RPC APIs. -// -// The RPC utilities aim for ease of use (minimal conceptual overhead) for C++ -// programmers, high performance, low memory overhead, and efficient use of the -// communications channel. -// -//===----------------------------------------------------------------------===// - -#ifndef LLVM_EXECUTIONENGINE_ORC_SHARED_RPCUTILS_H -#define LLVM_EXECUTIONENGINE_ORC_SHARED_RPCUTILS_H - -#include -#include -#include - -#include "llvm/ADT/STLExtras.h" -#include "llvm/ExecutionEngine/Orc/Shared/OrcError.h" -#include "llvm/ExecutionEngine/Orc/Shared/Serialization.h" -#include "llvm/Support/MSVCErrorWorkarounds.h" - -#include - -namespace llvm { -namespace orc { -namespace shared { - -/// Base class of all fatal RPC errors (those that necessarily result in the -/// termination of the RPC session). -class RPCFatalError : public ErrorInfo { -public: - static char ID; -}; - -/// RPCConnectionClosed is returned from RPC operations if the RPC connection -/// has already been closed due to either an error or graceful disconnection. -class ConnectionClosed : public ErrorInfo { -public: - static char ID; - std::error_code convertToErrorCode() const override; - void log(raw_ostream &OS) const override; -}; - -/// BadFunctionCall is returned from handleOne when the remote makes a call with -/// an unrecognized function id. -/// -/// This error is fatal because Orc RPC needs to know how to parse a function -/// call to know where the next call starts, and if it doesn't recognize the -/// function id it cannot parse the call. -template -class BadFunctionCall - : public ErrorInfo, RPCFatalError> { -public: - static char ID; - - BadFunctionCall(FnIdT FnId, SeqNoT SeqNo) - : FnId(std::move(FnId)), SeqNo(std::move(SeqNo)) {} - - std::error_code convertToErrorCode() const override { - return orcError(OrcErrorCode::UnexpectedRPCCall); - } - - void log(raw_ostream &OS) const override { - OS << "Call to invalid RPC function id '" << FnId - << "' with " - "sequence number " - << SeqNo; - } - -private: - FnIdT FnId; - SeqNoT SeqNo; -}; - -template -char BadFunctionCall::ID = 0; - -/// InvalidSequenceNumberForResponse is returned from handleOne when a response -/// call arrives with a sequence number that doesn't correspond to any in-flight -/// function call. -/// -/// This error is fatal because Orc RPC needs to know how to parse the rest of -/// the response call to know where the next call starts, and if it doesn't have -/// a result parser for this sequence number it can't do that. -template -class InvalidSequenceNumberForResponse - : public ErrorInfo, - RPCFatalError> { -public: - static char ID; - - InvalidSequenceNumberForResponse(SeqNoT SeqNo) : SeqNo(std::move(SeqNo)) {} - - std::error_code convertToErrorCode() const override { - return orcError(OrcErrorCode::UnexpectedRPCCall); - }; - - void log(raw_ostream &OS) const override { - OS << "Response has unknown sequence number " << SeqNo; - } - -private: - SeqNoT SeqNo; -}; - -template -char InvalidSequenceNumberForResponse::ID = 0; - -/// This non-fatal error will be passed to asynchronous result handlers in place -/// of a result if the connection goes down before a result returns, or if the -/// function to be called cannot be negotiated with the remote. -class ResponseAbandoned : public ErrorInfo { -public: - static char ID; - - std::error_code convertToErrorCode() const override; - void log(raw_ostream &OS) const override; -}; - -/// This error is returned if the remote does not have a handler installed for -/// the given RPC function. -class CouldNotNegotiate : public ErrorInfo { -public: - static char ID; - - CouldNotNegotiate(std::string Signature); - std::error_code convertToErrorCode() const override; - void log(raw_ostream &OS) const override; - const std::string &getSignature() const { return Signature; } - -private: - std::string Signature; -}; - -template class RPCFunction; - -// RPC Function class. -// DerivedFunc should be a user defined class with a static 'getName()' method -// returning a const char* representing the function's name. -template -class RPCFunction { -public: - /// User defined function type. - using Type = RetT(ArgTs...); - - /// Return type. - using ReturnType = RetT; - - /// Returns the full function prototype as a string. - static const char *getPrototype() { - static std::string Name = [] { - std::string Name; - raw_string_ostream(Name) - << SerializationTypeName::getName() << " " - << DerivedFunc::getName() << "(" - << SerializationTypeNameSequence() << ")"; - return Name; - }(); - return Name.data(); - } -}; - -/// Allocates RPC function ids during autonegotiation. -/// Specializations of this class must provide four members: -/// -/// static T getInvalidId(): -/// Should return a reserved id that will be used to represent missing -/// functions during autonegotiation. -/// -/// static T getResponseId(): -/// Should return a reserved id that will be used to send function responses -/// (return values). -/// -/// static T getNegotiateId(): -/// Should return a reserved id for the negotiate function, which will be used -/// to negotiate ids for user defined functions. -/// -/// template T allocate(): -/// Allocate a unique id for function Func. -template class RPCFunctionIdAllocator; - -/// This specialization of RPCFunctionIdAllocator provides a default -/// implementation for integral types. -template -class RPCFunctionIdAllocator::value>> { -public: - static T getInvalidId() { return T(0); } - static T getResponseId() { return T(1); } - static T getNegotiateId() { return T(2); } - - template T allocate() { return NextId++; } - -private: - T NextId = 3; -}; - -namespace detail { - -/// Provides a typedef for a tuple containing the decayed argument types. -template class RPCFunctionArgsTuple; - -template -class RPCFunctionArgsTuple { -public: - using Type = std::tuple>...>; -}; - -// ResultTraits provides typedefs and utilities specific to the return type -// of functions. -template class ResultTraits { -public: - // The return type wrapped in llvm::Expected. - using ErrorReturnType = Expected; - -#ifdef _MSC_VER - // The ErrorReturnType wrapped in a std::promise. - using ReturnPromiseType = std::promise>; - - // The ErrorReturnType wrapped in a std::future. - using ReturnFutureType = std::future>; -#else - // The ErrorReturnType wrapped in a std::promise. - using ReturnPromiseType = std::promise; - - // The ErrorReturnType wrapped in a std::future. - using ReturnFutureType = std::future; -#endif - - // Create a 'blank' value of the ErrorReturnType, ready and safe to - // overwrite. - static ErrorReturnType createBlankErrorReturnValue() { - return ErrorReturnType(RetT()); - } - - // Consume an abandoned ErrorReturnType. - static void consumeAbandoned(ErrorReturnType RetOrErr) { - consumeError(RetOrErr.takeError()); - } - - static ErrorReturnType returnError(Error Err) { return std::move(Err); } -}; - -// ResultTraits specialization for void functions. -template <> class ResultTraits { -public: - // For void functions, ErrorReturnType is llvm::Error. - using ErrorReturnType = Error; - -#ifdef _MSC_VER - // The ErrorReturnType wrapped in a std::promise. - using ReturnPromiseType = std::promise; - - // The ErrorReturnType wrapped in a std::future. - using ReturnFutureType = std::future; -#else - // The ErrorReturnType wrapped in a std::promise. - using ReturnPromiseType = std::promise; - - // The ErrorReturnType wrapped in a std::future. - using ReturnFutureType = std::future; -#endif - - // Create a 'blank' value of the ErrorReturnType, ready and safe to - // overwrite. - static ErrorReturnType createBlankErrorReturnValue() { - return ErrorReturnType::success(); - } - - // Consume an abandoned ErrorReturnType. - static void consumeAbandoned(ErrorReturnType Err) { - consumeError(std::move(Err)); - } - - static ErrorReturnType returnError(Error Err) { return Err; } -}; - -// ResultTraits is equivalent to ResultTraits. This allows -// handlers for void RPC functions to return either void (in which case they -// implicitly succeed) or Error (in which case their error return is -// propagated). See usage in HandlerTraits::runHandlerHelper. -template <> class ResultTraits : public ResultTraits {}; - -// ResultTraits> is equivalent to ResultTraits. This allows -// handlers for RPC functions returning a T to return either a T (in which -// case they implicitly succeed) or Expected (in which case their error -// return is propagated). See usage in HandlerTraits::runHandlerHelper. -template -class ResultTraits> : public ResultTraits {}; - -// Determines whether an RPC function's defined error return type supports -// error return value. -template class SupportsErrorReturn { -public: - static const bool value = false; -}; - -template <> class SupportsErrorReturn { -public: - static const bool value = true; -}; - -template class SupportsErrorReturn> { -public: - static const bool value = true; -}; - -// RespondHelper packages return values based on whether or not the declared -// RPC function return type supports error returns. -template class RespondHelper; - -// RespondHelper specialization for functions that support error returns. -template <> class RespondHelper { -public: - // Send Expected. - template - static Error sendResult(ChannelT &C, const FunctionIdT &ResponseId, - SequenceNumberT SeqNo, - Expected ResultOrErr) { - if (!ResultOrErr && ResultOrErr.template errorIsA()) - return ResultOrErr.takeError(); - - // Open the response message. - if (auto Err = C.startSendMessage(ResponseId, SeqNo)) - return Err; - - // Serialize the result. - if (auto Err = - SerializationTraits>:: - serialize(C, std::move(ResultOrErr))) - return Err; - - // Close the response message. - if (auto Err = C.endSendMessage()) - return Err; - return C.send(); - } - - template - static Error sendResult(ChannelT &C, const FunctionIdT &ResponseId, - SequenceNumberT SeqNo, Error Err) { - if (Err && Err.isA()) - return Err; - if (auto Err2 = C.startSendMessage(ResponseId, SeqNo)) - return Err2; - if (auto Err2 = serializeSeq(C, std::move(Err))) - return Err2; - if (auto Err2 = C.endSendMessage()) - return Err2; - return C.send(); - } -}; - -// RespondHelper specialization for functions that do not support error returns. -template <> class RespondHelper { -public: - template - static Error sendResult(ChannelT &C, const FunctionIdT &ResponseId, - SequenceNumberT SeqNo, - Expected ResultOrErr) { - if (auto Err = ResultOrErr.takeError()) - return Err; - - // Open the response message. - if (auto Err = C.startSendMessage(ResponseId, SeqNo)) - return Err; - - // Serialize the result. - if (auto Err = - SerializationTraits::serialize( - C, *ResultOrErr)) - return Err; - - // End the response message. - if (auto Err = C.endSendMessage()) - return Err; - - return C.send(); - } - - template - static Error sendResult(ChannelT &C, const FunctionIdT &ResponseId, - SequenceNumberT SeqNo, Error Err) { - if (Err) - return Err; - if (auto Err2 = C.startSendMessage(ResponseId, SeqNo)) - return Err2; - if (auto Err2 = C.endSendMessage()) - return Err2; - return C.send(); - } -}; - -// Send a response of the given wire return type (WireRetT) over the -// channel, with the given sequence number. -template -Error respond(ChannelT &C, const FunctionIdT &ResponseId, SequenceNumberT SeqNo, - Expected ResultOrErr) { - return RespondHelper::value>:: - template sendResult(C, ResponseId, SeqNo, - std::move(ResultOrErr)); -} - -// Send an empty response message on the given channel to indicate that -// the handler ran. -template -Error respond(ChannelT &C, const FunctionIdT &ResponseId, SequenceNumberT SeqNo, - Error Err) { - return RespondHelper::value>::sendResult( - C, ResponseId, SeqNo, std::move(Err)); -} - -// Converts a given type to the equivalent error return type. -template class WrappedHandlerReturn { -public: - using Type = Expected; -}; - -template class WrappedHandlerReturn> { -public: - using Type = Expected; -}; - -template <> class WrappedHandlerReturn { -public: - using Type = Error; -}; - -template <> class WrappedHandlerReturn { -public: - using Type = Error; -}; - -template <> class WrappedHandlerReturn { -public: - using Type = Error; -}; - -// Traits class that strips the response function from the list of handler -// arguments. -template class AsyncHandlerTraits; - -template -class AsyncHandlerTraits)>, - ArgTs...)> { -public: - using Type = Error(ArgTs...); - using ResultType = Expected; -}; - -template -class AsyncHandlerTraits, ArgTs...)> { -public: - using Type = Error(ArgTs...); - using ResultType = Error; -}; - -template -class AsyncHandlerTraits, ArgTs...)> { -public: - using Type = Error(ArgTs...); - using ResultType = Error; -}; - -template -class AsyncHandlerTraits, ArgTs...)> { -public: - using Type = Error(ArgTs...); - using ResultType = Error; -}; - -template -class AsyncHandlerTraits - : public AsyncHandlerTraits, - ArgTs...)> {}; - -// This template class provides utilities related to RPC function handlers. -// The base case applies to non-function types (the template class is -// specialized for function types) and inherits from the appropriate -// speciilization for the given non-function type's call operator. -template -class HandlerTraits - : public HandlerTraits< - decltype(&std::remove_reference::type::operator())> {}; - -// Traits for handlers with a given function type. -template -class HandlerTraits { -public: - // Function type of the handler. - using Type = RetT(ArgTs...); - - // Return type of the handler. - using ReturnType = RetT; - - // Call the given handler with the given arguments. - template - static typename WrappedHandlerReturn::Type - unpackAndRun(HandlerT &Handler, std::tuple &Args) { - return unpackAndRunHelper(Handler, Args, - std::index_sequence_for()); - } - - // Call the given handler with the given arguments. - template - static Error unpackAndRunAsync(HandlerT &Handler, ResponderT &Responder, - std::tuple &Args) { - return unpackAndRunAsyncHelper(Handler, Responder, Args, - std::index_sequence_for()); - } - - // Call the given handler with the given arguments. - template - static std::enable_if_t< - std::is_void::ReturnType>::value, Error> - run(HandlerT &Handler, ArgTs &&...Args) { - Handler(std::move(Args)...); - return Error::success(); - } - - template - static std::enable_if_t< - !std::is_void::ReturnType>::value, - typename HandlerTraits::ReturnType> - run(HandlerT &Handler, TArgTs... Args) { - return Handler(std::move(Args)...); - } - - // Serialize arguments to the channel. - template - static Error serializeArgs(ChannelT &C, const CArgTs... CArgs) { - return SequenceSerialization::serialize(C, CArgs...); - } - - // Deserialize arguments from the channel. - template - static Error deserializeArgs(ChannelT &C, std::tuple &Args) { - return deserializeArgsHelper(C, Args, std::index_sequence_for()); - } - -private: - template - static Error deserializeArgsHelper(ChannelT &C, std::tuple &Args, - std::index_sequence _) { - return SequenceSerialization::deserialize( - C, std::get(Args)...); - } - - template - static typename WrappedHandlerReturn< - typename HandlerTraits::ReturnType>::Type - unpackAndRunHelper(HandlerT &Handler, ArgTuple &Args, - std::index_sequence) { - return run(Handler, std::move(std::get(Args))...); - } - - template - static typename WrappedHandlerReturn< - typename HandlerTraits::ReturnType>::Type - unpackAndRunAsyncHelper(HandlerT &Handler, ResponderT &Responder, - ArgTuple &Args, std::index_sequence) { - return run(Handler, Responder, std::move(std::get(Args))...); - } -}; - -// Handler traits for free functions. -template -class HandlerTraits : public HandlerTraits { -}; - -// Handler traits for class methods (especially call operators for lambdas). -template -class HandlerTraits - : public HandlerTraits {}; - -// Handler traits for const class methods (especially call operators for -// lambdas). -template -class HandlerTraits - : public HandlerTraits {}; - -// Utility to peel the Expected wrapper off a response handler error type. -template class ResponseHandlerArg; - -template class ResponseHandlerArg)> { -public: - using ArgType = Expected; - using UnwrappedArgType = ArgT; -}; - -template -class ResponseHandlerArg)> { -public: - using ArgType = Expected; - using UnwrappedArgType = ArgT; -}; - -template <> class ResponseHandlerArg { -public: - using ArgType = Error; -}; - -template <> class ResponseHandlerArg { -public: - using ArgType = Error; -}; - -// ResponseHandler represents a handler for a not-yet-received function call -// result. -template class ResponseHandler { -public: - virtual ~ResponseHandler() {} - - // Reads the function result off the wire and acts on it. The meaning of - // "act" will depend on how this method is implemented in any given - // ResponseHandler subclass but could, for example, mean running a - // user-specified handler or setting a promise value. - virtual Error handleResponse(ChannelT &C) = 0; - - // Abandons this outstanding result. - virtual void abandon() = 0; - - // Create an error instance representing an abandoned response. - static Error createAbandonedResponseError() { - return make_error(); - } -}; - -// ResponseHandler subclass for RPC functions with non-void returns. -template -class ResponseHandlerImpl : public ResponseHandler { -public: - ResponseHandlerImpl(HandlerT Handler) : Handler(std::move(Handler)) {} - - // Handle the result by deserializing it from the channel then passing it - // to the user defined handler. - Error handleResponse(ChannelT &C) override { - using UnwrappedArgType = typename ResponseHandlerArg< - typename HandlerTraits::Type>::UnwrappedArgType; - UnwrappedArgType Result; - if (auto Err = - SerializationTraits::deserialize(C, Result)) - return Err; - if (auto Err = C.endReceiveMessage()) - return Err; - return Handler(std::move(Result)); - } - - // Abandon this response by calling the handler with an 'abandoned response' - // error. - void abandon() override { - if (auto Err = Handler(this->createAbandonedResponseError())) { - // Handlers should not fail when passed an abandoned response error. - report_fatal_error(std::move(Err)); - } - } - -private: - HandlerT Handler; -}; - -// ResponseHandler subclass for RPC functions with void returns. -template -class ResponseHandlerImpl - : public ResponseHandler { -public: - ResponseHandlerImpl(HandlerT Handler) : Handler(std::move(Handler)) {} - - // Handle the result (no actual value, just a notification that the function - // has completed on the remote end) by calling the user-defined handler with - // Error::success(). - Error handleResponse(ChannelT &C) override { - if (auto Err = C.endReceiveMessage()) - return Err; - return Handler(Error::success()); - } - - // Abandon this response by calling the handler with an 'abandoned response' - // error. - void abandon() override { - if (auto Err = Handler(this->createAbandonedResponseError())) { - // Handlers should not fail when passed an abandoned response error. - report_fatal_error(std::move(Err)); - } - } - -private: - HandlerT Handler; -}; - -template -class ResponseHandlerImpl, HandlerT> - : public ResponseHandler { -public: - ResponseHandlerImpl(HandlerT Handler) : Handler(std::move(Handler)) {} - - // Handle the result by deserializing it from the channel then passing it - // to the user defined handler. - Error handleResponse(ChannelT &C) override { - using HandlerArgType = typename ResponseHandlerArg< - typename HandlerTraits::Type>::ArgType; - HandlerArgType Result((typename HandlerArgType::value_type())); - - if (auto Err = SerializationTraits, - HandlerArgType>::deserialize(C, Result)) - return Err; - if (auto Err = C.endReceiveMessage()) - return Err; - return Handler(std::move(Result)); - } - - // Abandon this response by calling the handler with an 'abandoned response' - // error. - void abandon() override { - if (auto Err = Handler(this->createAbandonedResponseError())) { - // Handlers should not fail when passed an abandoned response error. - report_fatal_error(std::move(Err)); - } - } - -private: - HandlerT Handler; -}; - -template -class ResponseHandlerImpl - : public ResponseHandler { -public: - ResponseHandlerImpl(HandlerT Handler) : Handler(std::move(Handler)) {} - - // Handle the result by deserializing it from the channel then passing it - // to the user defined handler. - Error handleResponse(ChannelT &C) override { - Error Result = Error::success(); - if (auto Err = SerializationTraits::deserialize( - C, Result)) { - consumeError(std::move(Result)); - return Err; - } - if (auto Err = C.endReceiveMessage()) { - consumeError(std::move(Result)); - return Err; - } - return Handler(std::move(Result)); - } - - // Abandon this response by calling the handler with an 'abandoned response' - // error. - void abandon() override { - if (auto Err = Handler(this->createAbandonedResponseError())) { - // Handlers should not fail when passed an abandoned response error. - report_fatal_error(std::move(Err)); - } - } - -private: - HandlerT Handler; -}; - -// Create a ResponseHandler from a given user handler. -template -std::unique_ptr> createResponseHandler(HandlerT H) { - return std::make_unique>( - std::move(H)); -} - -// Helper for wrapping member functions up as functors. This is useful for -// installing methods as result handlers. -template -class MemberFnWrapper { -public: - using MethodT = RetT (ClassT::*)(ArgTs...); - MemberFnWrapper(ClassT &Instance, MethodT Method) - : Instance(Instance), Method(Method) {} - RetT operator()(ArgTs &&...Args) { - return (Instance.*Method)(std::move(Args)...); - } - -private: - ClassT &Instance; - MethodT Method; -}; - -// Helper that provides a Functor for deserializing arguments. -template class ReadArgs { -public: - Error operator()() { return Error::success(); } -}; - -template -class ReadArgs : public ReadArgs { -public: - ReadArgs(ArgT &Arg, ArgTs &...Args) : ReadArgs(Args...), Arg(Arg) {} - - Error operator()(ArgT &ArgVal, ArgTs &...ArgVals) { - this->Arg = std::move(ArgVal); - return ReadArgs::operator()(ArgVals...); - } - -private: - ArgT &Arg; -}; - -// Manage sequence numbers. -template class SequenceNumberManager { -public: - // Reset, making all sequence numbers available. - void reset() { - std::lock_guard Lock(SeqNoLock); - NextSequenceNumber = 0; - FreeSequenceNumbers.clear(); - } - - // Get the next available sequence number. Will re-use numbers that have - // been released. - SequenceNumberT getSequenceNumber() { - std::lock_guard Lock(SeqNoLock); - if (FreeSequenceNumbers.empty()) - return NextSequenceNumber++; - auto SequenceNumber = FreeSequenceNumbers.back(); - FreeSequenceNumbers.pop_back(); - return SequenceNumber; - } - - // Release a sequence number, making it available for re-use. - void releaseSequenceNumber(SequenceNumberT SequenceNumber) { - std::lock_guard Lock(SeqNoLock); - FreeSequenceNumbers.push_back(SequenceNumber); - } - -private: - std::mutex SeqNoLock; - SequenceNumberT NextSequenceNumber = 0; - std::vector FreeSequenceNumbers; -}; - -// Checks that predicate P holds for each corresponding pair of type arguments -// from T1 and T2 tuple. -template