From 3a57627e59ba18b6f9f9aae7bb60c390c0d3575a Mon Sep 17 00:00:00 2001 From: Richard-Qin-X Date: Sun, 9 Aug 2026 22:05:14 +0800 Subject: [MC] Implement RV64GC object emission --- backend/tools/AssemblyEmitter/CMakeLists.txt | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'backend/tools/AssemblyEmitter/CMakeLists.txt') 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=$" + "-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") -- cgit v1.2.3