brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.0 KiB · 5f16b1c Raw
72 lines · plain
1from lit.llvm import llvm_config2 3if not config.mlir_include_integration_tests:4    config.unsupported = True5 6 7def configure_aarch64_mcr_cmd():8    mcr_cmd = "mlir-runner"9 10    # NOTE: If the SVE tests are disabled and the SME tests are enabled to run11    # under emulation, the SVE specific RUN lines in the SparseTensor tests12    # will run under emulation.13    if not (config.mlir_run_arm_sve_tests or config.mlir_run_arm_sme_tests):14        config.substitutions.append(("%mcr_aarch64_cmd", mcr_cmd))15        return16 17    if config.arm_emulator_executable:18        if config.arm_emulator_mlir_runner_executable:19            mcr_cmd = config.arm_emulator_mlir_runner_executable20        else:21            # Top-level LIT config adds llvm_tools_dir to PATH but this is lost22            # when running under an emulator. If the user didn't specify an23            # mlir-runner executable, use absolute path24            # %llvm_tools_dir/mlir-runner.25            mcr_cmd = llvm_config.use_llvm_tool(26                "mlir-runner",27                search_env="MLIR_RUNNER",28                required=True,29                search_paths=[config.mlir_tools_dir],30                use_installed=False,31            )32 33        # Run test in emulator (qemu or armie)34        emulation_cmd = (35            f"{config.arm_emulator_executable} {config.arm_emulator_options}"36        )37 38        mcr_cmd = f"{emulation_cmd} {mcr_cmd}"39 40    config.substitutions.append(("%mcr_aarch64_cmd", mcr_cmd))41 42def configure_aarch64_mlir_utils():43    # Use mlir runtime libs from the location passed by -DARM_EMULATOR_UTILS_LIB_DIR.44    if config.arm_emulator_utils_lib_dir:45      base_dir = config.arm_emulator_utils_lib_dir46    else:47      base_dir = config.mlir_lib_dir48 49    config.substitutions.append(("%native_mlir_runner_utils",50                                 base_dir + "/libmlir_runner_utils" + config.llvm_shlib_ext))51    config.substitutions.append(("%native_mlir_c_runner_utils",52                                 base_dir + "/libmlir_c_runner_utils" + config.llvm_shlib_ext))53    config.substitutions.append(("%native_mlir_arm_runner_utils",54                                 base_dir + "/libmlir_arm_runner_utils" + config.llvm_shlib_ext))55    # Use passed Arm SME ABI routines, if not present default to stubs.56    config.substitutions.append(("%native_arm_sme_abi_shlib", config.arm_sme_abi_routines_shlib or57                                 (base_dir + "/libmlir_arm_sme_abi_stubs" + config.llvm_shlib_ext)))58 59# AArch64 tests will run under emulation if configured at build time by the60# following CMake options:61#62# * ARM_EMULATOR_EXECUTABLE     - emulator to use.63# * ARM_EMULATOR_OPTIONS        - options for emulator.64# * ARM_EMULATOR_MLIR_RUNNER_EXECUTABLE - AArch64 native mlir-runner to65#                                             support cross-compilation66# * ARM_EMULATOR_UTILS_LIB_DIR - AArch64 native utilites library to support67#                                cross-compilation.68 69# Check for above options and set correct executables and runtime libs70configure_aarch64_mcr_cmd()71configure_aarch64_mlir_utils()72