Skip to content
Snippets Groups Projects
Commit 9aecca6b authored by Yifan Zhao's avatar Yifan Zhao
Browse files

Changed a few CMake target names for Ninja to work

parent 9e432eae
No related branches found
No related tags found
No related merge requests found
...@@ -20,4 +20,4 @@ add_custom_command( ...@@ -20,4 +20,4 @@ add_custom_command(
${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/hpvm-rt.dir/hpvm-rt.cpp.o ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/hpvm-rt.dir/hpvm-rt.cpp.o
${CMAKE_CURRENT_BINARY_DIR}/hpvm-rt.bc ${CMAKE_CURRENT_BINARY_DIR}/hpvm-rt.bc
) )
add_custom_target(hpvm-rt.bc ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/hpvm-rt.bc") add_custom_target(hpvm-rt-bc ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/hpvm-rt.bc")
...@@ -4,18 +4,21 @@ get_filename_component(APPROXHPVM_PY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/approxhpv ...@@ -4,18 +4,21 @@ get_filename_component(APPROXHPVM_PY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/approxhpv
# Each source file contains a @MODEL_PARAMS_DIR@ waiting to be filled in. # Each source file contains a @MODEL_PARAMS_DIR@ waiting to be filled in.
set(MODEL_PARAMS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../model_params/") set(MODEL_PARAMS_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../model_params/")
set(test_compile_targets "") set(test_compile_targets "")
function(compile_hpvm_c bin_filename src_filepath codegen_target) function(compile_hpvm_c target_name src_filepath codegen_target)
set(generated_file_path "${CMAKE_CURRENT_BINARY_DIR}/${bin_filename}.cpp") set(generated_file_path "${CMAKE_CURRENT_BINARY_DIR}/${target_name}.cpp")
set(output_bin_path "${CMAKE_CURRENT_BINARY_DIR}/hpvm_${target_name}")
configure_file(${src_filepath} ${generated_file_path}) configure_file(${src_filepath} ${generated_file_path})
# Add an "hpvm_" prefix here because Ninja generator doesn't like
# the name of output file and custom target to clash.
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${bin_filename} OUTPUT ${output_bin_path}
DEPENDS ${generated_file_path} approxhpvm.py DEPENDS ${generated_file_path} approxhpvm.py
COMMAND ${APPROXHPVM_PY} COMMAND ${APPROXHPVM_PY}
${generated_file_path} ${CMAKE_CURRENT_BINARY_DIR}/${bin_filename} ${generated_file_path} ${output_bin_path}
-t ${codegen_target} -I ${CMAKE_CURRENT_SOURCE_DIR}/include ${ARGN} -t ${codegen_target} -I ${CMAKE_CURRENT_SOURCE_DIR}/include ${ARGN}
) )
add_custom_target(${bin_filename} DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${bin_filename}) add_custom_target(${target_name} DEPENDS ${output_bin_path})
set(test_compile_targets ${test_compile_targets} ${bin_filename} PARENT_SCOPE) set(test_compile_targets ${test_compile_targets} ${target_name} PARENT_SCOPE)
endfunction(compile_hpvm_c) endfunction(compile_hpvm_c)
function(hpvm_add_dnn_test benchmark_target) function(hpvm_add_dnn_test benchmark_target)
...@@ -29,7 +32,8 @@ function(hpvm_add_dnn_test benchmark_target) ...@@ -29,7 +32,8 @@ function(hpvm_add_dnn_test benchmark_target)
# Removes the final_accuracy file # Removes the final_accuracy file
llvm_test_run(EXECUTABLE rm final_accuracy) llvm_test_run(EXECUTABLE rm final_accuracy)
# llvm_add_test creates .test file to given output path for given binary. # llvm_add_test creates .test file to given output path for given binary.
llvm_add_test(${benchmark_target}.test ${CMAKE_CURRENT_BINARY_DIR}/${benchmark_target}) # Also add "hpvm_" prefix here because compile_hpvm_c() did.
llvm_add_test(${benchmark_target}.test ${CMAKE_CURRENT_BINARY_DIR}/hpvm_${benchmark_target})
# TODO: add_dependencies # TODO: add_dependencies
endfunction(hpvm_add_dnn_test) endfunction(hpvm_add_dnn_test)
......
...@@ -7,7 +7,7 @@ configure_lit_site_cfg( ...@@ -7,7 +7,7 @@ configure_lit_site_cfg(
set( set(
HPVM_TEST_DEPENDS HPVM_TEST_DEPENDS
opt hpvm-rt.bc opt hpvm-rt-bc
# Passes: # Passes:
LLVMGenHPVM LLVMBuildDFG LLVMLocalMem LLVMClearDFG LLVMGenHPVM LLVMBuildDFG LLVMLocalMem LLVMClearDFG
LLVMDFG2LLVM_CPU LLVMDFG2LLVM_OpenCL LLVMDFG2LLVM_CPU LLVMDFG2LLVM_OpenCL
......
...@@ -43,7 +43,7 @@ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/main.py INPUT ${CMAKE_CURRENT_B ...@@ -43,7 +43,7 @@ file(GENERATE OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/main.py INPUT ${CMAKE_CURRENT_B
# so we can set these dependencies on it # so we can set these dependencies on it
set( set(
DEPS DEPS
tensor_runtime hpvm-rt.bc clang opt llvm-link ${AVAILABLE_PASSES} tensor_runtime hpvm-rt-bc clang opt llvm-link ${AVAILABLE_PASSES}
) )
add_custom_command( add_custom_command(
OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/approxhpvm.py OUTPUT ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/approxhpvm.py
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment