Skip to content

[mlir][aarch64] Remove LIT config for lli #89545

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Apr 23, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
46 changes: 8 additions & 38 deletions mlir/test/Integration/lit.local.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,14 @@ if not config.mlir_include_integration_tests:
config.unsupported = True


def configure_aarch64_lli_and_mcr_cmd():
lli_cmd = "lli"
def configure_aarch64_mcr_cmd():
mcr_cmd = "mlir-cpu-runner"

# NOTE: If the SVE tests are disabled and the SME tests are enabled to run
# under emulation, the SVE specific RUN lines in the SparseTensor tests
# will run under emulation.
if not (config.mlir_run_arm_sve_tests or config.mlir_run_arm_sme_tests):
return (lli_cmd, mcr_cmd)
return mcr_cmd

config.substitutions.append(
(
Expand All @@ -22,20 +21,6 @@ def configure_aarch64_lli_and_mcr_cmd():
)

if config.arm_emulator_executable:
if config.arm_emulator_lli_executable:
lli_cmd = config.arm_emulator_lli_executable
else:
# Top-level lit config adds llvm_tools_dir to PATH but this is lost
# when running under an emulator. If the user didn't specify an lli
# executable, use absolute path %llvm_tools_dir/lli.
lli_cmd = llvm_config.use_llvm_tool(
"lli",
search_env="LLI",
required=True,
search_paths=[config.llvm_tools_dir],
use_installed=False,
)

if config.arm_emulator_mlir_cpu_runner_executable:
mcr_cmd = config.arm_emulator_mlir_cpu_runner_executable
else:
Expand All @@ -56,35 +41,20 @@ def configure_aarch64_lli_and_mcr_cmd():
f"{config.arm_emulator_executable} {config.arm_emulator_options}"
)

lli_cmd = f"{emulation_cmd} {lli_cmd}"
mcr_cmd = f"{emulation_cmd} {mcr_cmd}"

return (lli_cmd, mcr_cmd)
return mcr_cmd


aarch64_lli_cmd, aarch64_mcr_cmd = configure_aarch64_lli_and_mcr_cmd()
aarch64_mcr_cmd = configure_aarch64_mcr_cmd()

# Configure the following AArch64 substitutions:
#
# * %lli_aarch64_cmd - Invokes lli. For tests that _will_ run on AArch64 (ArmSVE, ArmSME).
# * %lli_host_or_aarch64_cmd - Invokes lli. For tests that _may_ run on AArch64 (SparseTensor).
# * %mcr_aarch64_cmd - Invokes mlir-cpu-runner. For tests that _will_
# run on AArch64. May invoke mlir-cpu-runner under
# an AArch64 emulator (when
# `config.arm_emulator_executable` is set).
#
# AArch64 tests will run under emulation if configured at build time by the
# following CMake options:
#
# * ARM_EMULATOR_EXECUTABLE - emulator to use.
# * ARM_EMULATOR_OPTIONS - options for emulator.
# * ARM_EMULATOR_LLI_EXECUTABLE - AArch64 native lli to support cross-compilation.
# * ARM_EMULATOR_UTILS_LIB_DIR - AArch64 native utilites library to support cross-compilation.
#
# Functionally the two substitutions are equivalent, i.e. %lli_aarch64_cmd
# could be used in the SparseTensor tests where necessary, but the meaning
# conveyed by the substitution name would be a misnomer if the host target
# is not AArch64 and MLIR_RUN_ARM_SVE_TESTS=OFF.
config.substitutions.append(("%lli_aarch64_cmd", aarch64_lli_cmd))
config.substitutions.append(("%lli_host_or_aarch64_cmd", aarch64_lli_cmd))
# * ARM_EMULATOR_MLIR_CPU_RUNNER_EXECUTABLE - AArch64 native mlir-cpu-runner to
# support cross-compilation
# * ARM_EMULATOR_UTILS_LIB_DIR - AArch64 native utilites library to support
# cross-compilation.
config.substitutions.append(("%mcr_aarch64_cmd", aarch64_mcr_cmd))