diff options
Diffstat (limited to 'utils/bazel')
9 files changed, 400 insertions, 46 deletions
diff --git a/utils/bazel/WORKSPACE b/utils/bazel/WORKSPACE index da69e1d7cf5a..20c0fd1f4c98 100644 --- a/utils/bazel/WORKSPACE +++ b/utils/bazel/WORKSPACE @@ -186,9 +186,9 @@ maybe( http_archive, name = "nanobind", build_file = "@llvm-raw//utils/bazel/third_party_build:nanobind.BUILD", - sha256 = "bb35deaed7efac5029ed1e33880a415638352f757d49207a8e6013fefb6c49a7", - strip_prefix = "nanobind-2.4.0", - url = "https://github.com/wjakob/nanobind/archive/refs/tags/v2.4.0.tar.gz", + sha256 = "8ce3667dce3e64fc06bfb9b778b6f48731482362fb89a43da156632266cd5a90", + strip_prefix = "nanobind-2.9.2", + url = "https://github.com/wjakob/nanobind/archive/refs/tags/v2.9.2.tar.gz", ) load("@rules_python//python:repositories.bzl", "py_repositories", "python_register_toolchains") diff --git a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel index f34d56dd3944..90264449de76 100644 --- a/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/compiler-rt/BUILD.bazel @@ -113,3 +113,305 @@ cc_library( ":orc_rt_common_headers", ], ) + +BUILTINS_CRTBEGIN_SRCS = ["lib/builtins/crtbegin.c"] + +filegroup( + name = "builtins_crtbegin_src", + srcs = BUILTINS_CRTBEGIN_SRCS, +) + +BUILTINS_CRTEND_SRCS = ["lib/builtins/crtend.c"] + +filegroup( + name = "builtins_crtend_src", + srcs = BUILTINS_CRTEND_SRCS, +) + +BUILTINS_HOSTED_SRCS = [ + "lib/builtins/clear_cache.c", + "lib/builtins/emutls.c", + "lib/builtins/enable_execute_stack.c", + "lib/builtins/eprintf.c", +] + +# Source files in the builtins library that build on top of libc and are only +# appropriate in hosted environments. +filegroup( + name = "builtins_hosted_srcs", + srcs = BUILTINS_HOSTED_SRCS, +) + +BUILTINS_BF16_SRCS_PATTERNS = [ + "lib/builtins/*bf*.c", +] + +# Source files for the 16-bit Brain floating-point number builtins. +filegroup( + name = "builtins_bf16_srcs", + srcs = glob(BUILTINS_BF16_SRCS_PATTERNS), +) + +BUILTINS_X86_FP80_SRCS_PATTERNS = [ + # `xc` marks 80-bit complex number builtins. + "lib/builtins/*xc*.c", + + # `xf` marks 80-bit floating-point builtins. + "lib/builtins/*xf*.c", +] + +# Source files for the 80-bit floating-point and complex number builtins. +filegroup( + name = "builtins_x86_fp80_srcs", + srcs = glob( + BUILTINS_X86_FP80_SRCS_PATTERNS, + exclude = BUILTINS_BF16_SRCS_PATTERNS, + ), +) + +BUILTINS_TF_SRCS_PATTERNS = [ + # `tc` marks 128-bit complex number builtins. + "lib/builtins/*tc*.c", + + # `tf` marks 128-bit floating-point builtins. + "lib/builtins/*tf*.c", +] + +BUILTINS_TF_EXCLUDES = ( + BUILTINS_HOSTED_SRCS + + BUILTINS_BF16_SRCS_PATTERNS + + BUILTINS_X86_FP80_SRCS_PATTERNS +) + +# Source files for the 128-bit floating-point and complex number builtins. +filegroup( + name = "builtins_tf_srcs", + srcs = glob( + BUILTINS_TF_SRCS_PATTERNS, + exclude = BUILTINS_TF_EXCLUDES, + ), +) + +BUILTNS_ATOMICS_SRCS = ["lib/builtins/atomic.c"] + +filegroup( + name = "builtins_atomics_srcs", + srcs = BUILTNS_ATOMICS_SRCS + ["lib/builtins/assembly.h"], +) + +BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS = [ + "lib/builtins/atomic_*.c", +] + +# Source files for macOS atomic builtins. +filegroup( + name = "builtins_macos_atomic_srcs", + srcs = glob(BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS), +) + +# Apple-platform specific SME source file. +filegroup( + name = "builtins_aarch64_apple_sme_srcs", + srcs = ["lib/builtins/aarch64/arm_apple_sme_abi.s"], +) + +# Non-Apple platform SME sources. These sources assume function +# multi-versioning, `-fno-builtin`, `__ARM_UNALIGNED` feature support, and FP +# availability. Other configurations will need to add a new filegroup if +# desired. +filegroup( + name = "builtins_aarch64_sme_srcs", + srcs = [ + "lib/builtins/aarch64/sme-abi.S", + "lib/builtins/aarch64/sme-abi-assert.c", + ] + glob(["lib/builtins/aarch64/sme-libc-opt-*.S"]), +) + +# A list of (pat, size, model) tuples for AArch64's outline atomics. +AARCH64_OUTLINE_ATOMICS = [ + (pat, size, model) + for pat in [ + "cas", + "swp", + "ldadd", + "ldclr", + "ldeor", + "ldset", + ] + for size in [ + "1", + "2", + "4", + "8", + "16", + ] + for model in [ + "1", + "2", + "3", + "4", + ] + if pat == "cas" or size != "16" +] + +AARCH64_OUTLINE_ATOMICS_FMT = "lib/builtins/aarch64/outline_atomic_{0}{1}_{2}.S" + +# lse.S is compiled multiple times with different macros as the input. Model +# this as a genrule producing individual files with the macros at the start. +[[genrule( + name = "builtins_aarch64_outline_atomic_" + pat + size + "_" + model, + srcs = ["lib/builtins/aarch64/lse.S"], + outs = [AARCH64_OUTLINE_ATOMICS_FMT.format(pat, size, model)], + cmd = ( + "echo '#define L_" + pat + "' >> $(OUTS) && " + + "echo '#define SIZE " + size + "' >> $(OUTS) && " + + "echo '#define MODEL " + model + "' >> $(OUTS) && " + + "cat $(SRCS) >> $(OUTS)" + ), +)] for (pat, size, model) in AARCH64_OUTLINE_ATOMICS] + +# Source files for the AArch64 architecture-specific builtins. +filegroup( + name = "builtins_aarch64_srcs", + srcs = [ + "lib/builtins/cpu_model/aarch64.c", + "lib/builtins/cpu_model/aarch64.h", + ] + [ + AARCH64_OUTLINE_ATOMICS_FMT.format(pat, size, model) + for (pat, size, model) in AARCH64_OUTLINE_ATOMICS + ] + glob( + [ + "lib/builtins/cpu_model/AArch64*.inc", + "lib/builtins/cpu_model/aarch64/**/*.inc", + "lib/builtins/aarch64/*.S", + "lib/builtins/aarch64/*.c", + "lib/builtins/aarch64/*.cpp", + ], + allow_empty = True, + exclude = [ + # This file isn't intended to directly compile, and instead is used + # above to generate a collection of outline atomic helpers. + "lib/builtins/aarch64/lse.S", + # These files are provided by SME-specific file groups above. + "lib/builtins/aarch64/*sme*", + ], + ), +) + +BUILTINS_ARM_VFP_SRCS_PATTERNS = [ + "lib/builtins/arm/*vfp*.S", + "lib/builtins/arm/*vfp*.c", + "lib/builtins/arm/*vfp*.cpp", +] + +# Source files for the ARM VFP-specific builtins. +filegroup( + name = "builtins_arm_vfp_srcs", + srcs = glob( + BUILTINS_ARM_VFP_SRCS_PATTERNS, + allow_empty = True, + ), +) + +# Source files for the ARM architecture-specific builtins. +filegroup( + name = "builtins_arm_srcs", + srcs = glob( + [ + "lib/builtins/arm/*.S", + "lib/builtins/arm/*.c", + "lib/builtins/arm/*.cpp", + ], + allow_empty = True, + exclude = BUILTINS_ARM_VFP_SRCS_PATTERNS, + ), +) + +# Source files for the PPC architecture-specific builtins. +filegroup( + name = "builtins_ppc_srcs", + srcs = glob( + [ + "lib/builtins/ppc/*.S", + "lib/builtins/ppc/*.c", + "lib/builtins/ppc/*.cpp", + ], + allow_empty = True, + ), +) + +# Source files for the RISC-V architecture-specific builtins. +filegroup( + name = "builtins_riscv_srcs", + srcs = glob( + [ + "lib/builtins/riscv/*.S", + "lib/builtins/riscv/*.c", + "lib/builtins/riscv/*.cpp", + ], + allow_empty = True, + ), +) + +# Source files for the x86 architecture specific builtins (both 32-bit and +# 64-bit). +filegroup( + name = "builtins_x86_arch_srcs", + srcs = [ + "lib/builtins/cpu_model/x86.c", + "lib/builtins/i386/fp_mode.c", + ], +) + +# Source files for the x86-64 architecture specific builtins. +filegroup( + name = "builtins_x86_64_srcs", + srcs = glob( + [ + "lib/builtins/x86_64/*.S", + "lib/builtins/x86_64/*.c", + "lib/builtins/x86_64/*.cpp", + ], + allow_empty = True, + ), +) + +# Source files for the 32-bit-specific x86 architecture specific builtins. +filegroup( + name = "builtins_i386_srcs", + srcs = glob( + [ + "lib/builtins/i386/*.S", + "lib/builtins/i386/*.c", + "lib/builtins/i386/*.cpp", + ], + allow_empty = True, + exclude = [ + # This file is used for both i386 and x86_64 and so included in the + # broader x86 sources. + "lib/builtins/i386/fp_mode.c", + ], + ), +) + +# Source files for portable components of the compiler builtins library. +filegroup( + name = "builtins_generic_srcs", + srcs = ["lib/builtins/cpu_model/cpu_model.h"] + glob( + [ + "lib/builtins/*.c", + "lib/builtins/*.cpp", + "lib/builtins/*.h", + "lib/builtins/*.inc", + ], + allow_empty = True, + exclude = ( + BUILTINS_CRTBEGIN_SRCS + + BUILTINS_CRTEND_SRCS + + BUILTINS_TF_EXCLUDES + + BUILTINS_TF_SRCS_PATTERNS + + BUILTNS_ATOMICS_SRCS + + BUILTINS_MACOS_ATOMIC_SRCS_PATTERNS + ), + ), +) diff --git a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel index acfd0d96a28b..bb76da415310 100644 --- a/utils/bazel/llvm-project-overlay/libc/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/libc/BUILD.bazel @@ -122,6 +122,16 @@ libc_support_library( ################################# Include Files ################################ libc_support_library( + name = "llvm_libc_macros_complex_macros", + hdrs = [ + "include/llvm-libc-macros/cfloat128-macros.h", + "include/llvm-libc-macros/cfloat16-macros.h", + "include/llvm-libc-macros/complex-macros.h", + ], + deps = [":llvm_libc_macros_float_macros"], +) + +libc_support_library( name = "llvm_libc_macros_math_macros", hdrs = ["include/llvm-libc-macros/math-macros.h"], deps = [":llvm_libc_macros_limits_macros"], @@ -168,12 +178,16 @@ libc_support_library( libc_support_library( name = "llvm_libc_types_cfloat128", hdrs = ["include/llvm-libc-types/cfloat128.h"], - deps = [":llvm_libc_macros_float_macros"], + deps = [ + ":llvm_libc_macros_complex_macros", + ":llvm_libc_macros_float_macros", + ], ) libc_support_library( name = "llvm_libc_types_cfloat16", hdrs = ["include/llvm-libc-types/cfloat16.h"], + deps = [":llvm_libc_macros_complex_macros"], ) libc_support_library( @@ -3735,6 +3749,14 @@ libc_math_function( ) libc_math_function( + name = "fmodbf16", + additional_deps = [ + ":__support_fputil_bfloat16", + ":__support_fputil_generic_fmod", + ], +) + +libc_math_function( name = "fmodf", additional_deps = [ ":__support_fputil_generic_fmod", diff --git a/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel b/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel index 087c3a62472e..2bffcdea5847 100644 --- a/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/libc/test/src/math/smoke/BUILD.bazel @@ -739,6 +739,16 @@ math_test( ) math_test( + name = "fmodbf16", + hdrs = [ + "FModTest.h", + ], + deps = [ + "//libc:__support_fputil_bfloat16", + ], +) + +math_test( name = "fmodf", hdrs = ["FModTest.h"], ) diff --git a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel index 56d44af02e5c..a38278af983f 100644 --- a/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/lldb/BUILD.bazel @@ -62,6 +62,14 @@ selects.config_setting_group( ], ) +selects.config_setting_group( + name = "needs_libbsd", + match_all = [ + ":libedit_enabled_setting", + "@platforms//os:linux", + ], +) + _VERSION_SUBSTITUTIONS = { "@LLDB_VERSION@": PACKAGE_VERSION, "@LLDB_VERSION_MAJOR@": LLVM_VERSION_MAJOR, @@ -562,6 +570,11 @@ cc_library( "-ledit", ], "//conditions:default": [], + }) + select({ + ":needs_libbsd": [ + "-lbsd", + ], + "//conditions:default": [], }), deps = [ ":Headers", diff --git a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel index 38bb87a9e071..b042c183df9f 100644 --- a/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/llvm/BUILD.bazel @@ -2222,6 +2222,7 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/AArch64/AArch64GenSubtargetInfo.inc": ["-gen-subtarget"], "lib/Target/AArch64/AArch64GenDisassemblerTables.inc": [ "-gen-disassembler", + "-ignore-non-decodable-operands", ], "lib/Target/AArch64/AArch64GenSystemOperands.inc": ["-gen-searchable-tables"], "lib/Target/AArch64/AArch64GenExegesis.inc": ["-gen-exegesis"], @@ -2244,7 +2245,10 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/ARM/ARMGenGlobalISel.inc": ["-gen-global-isel"], "lib/Target/ARM/ARMGenCallingConv.inc": ["-gen-callingconv"], "lib/Target/ARM/ARMGenSubtargetInfo.inc": ["-gen-subtarget"], - "lib/Target/ARM/ARMGenDisassemblerTables.inc": ["-gen-disassembler"], + "lib/Target/ARM/ARMGenDisassemblerTables.inc": [ + "-gen-disassembler", + "-ignore-non-decodable-operands", + ], }, }, { @@ -2264,6 +2268,8 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/AMDGPU/AMDGPUGenDisassemblerTables.inc": [ "-gen-disassembler", "--specialize-decoders-per-bitwidth", + "-ignore-non-decodable-operands", + "-ignore-fully-defined-operands", ], "lib/Target/AMDGPU/AMDGPUGenSearchableTables.inc": ["-gen-searchable-tables"], }, @@ -2281,7 +2287,9 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/AVR/AVRGenAsmWriter.inc": ["-gen-asm-writer"], "lib/Target/AVR/AVRGenCallingConv.inc": ["-gen-callingconv"], "lib/Target/AVR/AVRGenDAGISel.inc": ["-gen-dag-isel"], - "lib/Target/AVR/AVRGenDisassemblerTables.inc": ["-gen-disassembler"], + "lib/Target/AVR/AVRGenDisassemblerTables.inc": [ + "-gen-disassembler", + ], "lib/Target/AVR/AVRGenMCCodeEmitter.inc": ["-gen-emitter"], "lib/Target/AVR/AVRGenInstrInfo.inc": ["-gen-instr-info"], "lib/Target/AVR/AVRGenRegisterInfo.inc": ["-gen-register-info"], @@ -2315,7 +2323,9 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/Hexagon/HexagonGenCallingConv.inc": ["-gen-callingconv"], "lib/Target/Hexagon/HexagonGenDAGISel.inc": ["-gen-dag-isel"], "lib/Target/Hexagon/HexagonGenDFAPacketizer.inc": ["-gen-dfa-packetizer"], - "lib/Target/Hexagon/HexagonGenDisassemblerTables.inc": ["-gen-disassembler"], + "lib/Target/Hexagon/HexagonGenDisassemblerTables.inc": [ + "-gen-disassembler", + ], "lib/Target/Hexagon/HexagonGenInstrInfo.inc": ["-gen-instr-info"], "lib/Target/Hexagon/HexagonGenMCCodeEmitter.inc": ["-gen-emitter"], "lib/Target/Hexagon/HexagonGenRegisterInfo.inc": ["-gen-register-info"], @@ -2361,7 +2371,10 @@ llvm_target_lib_list = [lib for lib in [ "lib/Target/Mips/MipsGenAsmWriter.inc": ["-gen-asm-writer"], "lib/Target/Mips/MipsGenCallingConv.inc": ["-gen-callingconv"], "lib/Target/Mips/MipsGenDAGISel.inc": ["-gen-dag-isel"], - "lib/Target/Mips/MipsGenDisassemblerTables.inc": ["-gen-disassembler"], + "lib/Target/Mips/MipsGenDisassemblerTables.inc": [ + "-gen-disassembler", + "-ignore-non-decodable-operands", + ], "lib/Target/Mips/MipsGenMCCodeEmitter.inc": ["-gen-emitter"], "lib/Target/Mips/MipsGenExegesis.inc": ["-gen-exegesis"], "lib/Target/Mips/MipsGenFastISel.inc": ["-gen-fast-isel"], diff --git a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel index a77bfc70924d..d3fdded2768e 100644 --- a/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/mlir/BUILD.bazel @@ -3892,6 +3892,7 @@ cc_library( ":FunctionInterfaces", ":IR", ":SideEffectInterfaces", + ":Support", "//llvm:Support", ], ) @@ -9003,7 +9004,6 @@ cc_library( ":LLVMDialect", ":Pass", ":TargetLLVMIRTransformsIncGen", - "//llvm:AllTargetsAsmParsers", "//llvm:AllTargetsCodeGens", "//llvm:MC", "//llvm:Support", diff --git a/utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel b/utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel index d5385cd3a965..944a911bccc1 100644 --- a/utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/mlir/python/BUILD.bazel @@ -33,13 +33,6 @@ filegroup( ) filegroup( - name = "ExecutionEnginePyIFiles", - srcs = [ - "mlir/_mlir_libs/_mlirExecutionEngine.pyi", - ], -) - -filegroup( name = "IRPyFiles", srcs = [ "mlir/ir.py", @@ -54,14 +47,6 @@ filegroup( ) filegroup( - name = "IRPyIFiles", - srcs = [ - "mlir/_mlir_libs/_mlir/__init__.pyi", - "mlir/_mlir_libs/_mlir/ir.pyi", - ], -) - -filegroup( name = "MlirLibsPyFiles", srcs = [ "mlir/_mlir_libs/__init__.py", @@ -76,13 +61,6 @@ filegroup( ) filegroup( - name = "PassManagerPyIFiles", - srcs = [ - "mlir/_mlir_libs/_mlir/passmanager.pyi", - ], -) - -filegroup( name = "RewritePyFiles", srcs = [ "mlir/rewrite.py", @@ -660,13 +638,6 @@ gentbl_filegroup( ) filegroup( - name = "PDLPyIFiles", - srcs = [ - "mlir/_mlir_libs/_mlir/dialects/pdl.pyi", - ], -) - -filegroup( name = "PDLPyFiles", srcs = [ "mlir/dialects/pdl.py", @@ -757,13 +728,6 @@ filegroup( ##---------------------------------------------------------------------------## filegroup( - name = "QuantPyIFiles", - srcs = [ - "mlir/_mlir_libs/_mlir/dialects/quant.pyi", - ], -) - -filegroup( name = "QuantPyFiles", srcs = [ "mlir/dialects/quant.py", @@ -1465,6 +1429,31 @@ filegroup( ) ##---------------------------------------------------------------------------## +# UB dialect. +##---------------------------------------------------------------------------## + +gentbl_filegroup( + name = "UbOpsPyGen", + tbl_outs = {"mlir/dialects/_ub_ops_gen.py": [ + "-gen-python-op-bindings", + "-bind-dialect=ub", + ]}, + tblgen = "//mlir:mlir-tblgen", + td_file = "mlir/dialects/UBOps.td", + deps = [ + "//mlir:UBDialectTdFiles", + ], +) + +filegroup( + name = "UbPyFiles", + srcs = [ + "mlir/dialects/ub.py", + ":UbOpsPyGen", + ], +) + +##---------------------------------------------------------------------------## # Vector dialect. ##---------------------------------------------------------------------------## diff --git a/utils/bazel/llvm-project-overlay/third-party/siphash/BUILD.bazel b/utils/bazel/llvm-project-overlay/third-party/siphash/BUILD.bazel index fcea6188e501..37b9432e9793 100644 --- a/utils/bazel/llvm-project-overlay/third-party/siphash/BUILD.bazel +++ b/utils/bazel/llvm-project-overlay/third-party/siphash/BUILD.bazel @@ -8,8 +8,13 @@ package(default_visibility = ["//visibility:public"]) licenses(["notice"]) +filegroup( + name = "siphash_header", + srcs = ["include/siphash/SipHash.h"], +) + cc_library( name = "siphash", - hdrs = ["include/siphash/SipHash.h"], + hdrs = [":siphash_header"], strip_include_prefix = "include", ) |
