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