aboutsummaryrefslogtreecommitdiff
path: root/backend/tools/AssemblyEmitter/CMakeLists.txt
diff options
context:
space:
mode:
authorRichard-Qin-X <richard.qin.001@gmail.com>2026-08-09 22:05:14 +0800
committerRichard-Qin-X <richard.qin.001@gmail.com>2026-08-09 22:05:14 +0800
commit3a57627e59ba18b6f9f9aae7bb60c390c0d3575a (patch)
tree736ca062bfffbd68177a512dfe145b06c16d11b1 /backend/tools/AssemblyEmitter/CMakeLists.txt
parent379ff50dcc7ccf977379aee68fa9d10f69065d23 (diff)
downloadrcc-project-3a57627e59ba18b6f9f9aae7bb60c390c0d3575a.tar.gz
rcc-project-3a57627e59ba18b6f9f9aae7bb60c390c0d3575a.tar.xz
[MC] Implement RV64GC object emission
Diffstat (limited to 'backend/tools/AssemblyEmitter/CMakeLists.txt')
-rw-r--r--backend/tools/AssemblyEmitter/CMakeLists.txt22
1 files changed, 21 insertions, 1 deletions
diff --git a/backend/tools/AssemblyEmitter/CMakeLists.txt b/backend/tools/AssemblyEmitter/CMakeLists.txt
index a262983..01c99aa 100644
--- a/backend/tools/AssemblyEmitter/CMakeLists.txt
+++ b/backend/tools/AssemblyEmitter/CMakeLists.txt
@@ -22,7 +22,16 @@ install(
)
find_program(RCCBackendLLVMMC NAMES llvm-mc-20 llvm-mc)
-foreach(InputName IN ITEMS RISCVGenericPipeline RISCVWideConstantPipeline RISCVDataPipeline)
+find_program(RCCBackendLLVMReadELF NAMES llvm-readelf-20 llvm-readelf)
+find_program(RCCBackendLLVMObjdump NAMES llvm-objdump-20 llvm-objdump)
+foreach(
+ InputName
+ IN ITEMS
+ RISCVGenericPipeline
+ RISCVWideConstantPipeline
+ RISCVDataPipeline
+ RISCVStackFramePipeline
+)
add_test(
NAME RCCBackend.AssemblyEmitter.${InputName}
COMMAND
@@ -33,6 +42,17 @@ foreach(InputName IN ITEMS RISCVGenericPipeline RISCVWideConstantPipeline RISCVD
"-DLLVM_MC=${RCCBackendLLVMMC}"
-P "${CMAKE_CURRENT_SOURCE_DIR}/AssemblyPipelineTest.cmake"
)
+ add_test(
+ NAME RCCBackend.ObjectEmitter.${InputName}
+ COMMAND
+ "${CMAKE_COMMAND}"
+ "-DEMITTER=$<TARGET_FILE:RCCBackendAssemblyEmitter>"
+ "-DINPUT=${RCC_BACKEND_SOURCE_DIR}/unittests/Target/Inputs/${InputName}.mir"
+ "-DOUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${InputName}.o"
+ "-DLLVM_READELF=${RCCBackendLLVMReadELF}"
+ "-DLLVM_OBJDUMP=${RCCBackendLLVMObjdump}"
+ -P "${CMAKE_CURRENT_SOURCE_DIR}/ObjectPipelineTest.cmake"
+ )
endforeach()
rcc_backend_register_format_files("${CMAKE_CURRENT_SOURCE_DIR}/AssemblyEmitterMain.cpp")