add_definitions(${LLVM_DEFINITIONS}) # generate cinn_runtime.ll file add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/paddle/cinn/backends/llvm/cinn_runtime_llvm_ir.h COMMAND ${LLVM_PATH}/bin/clang++ -mavx2 -std=c++11 -masm=intel -S -emit-llvm -O3 ${PROJECT_SOURCE_DIR}/paddle/cinn/runtime/cinn_runtime.cc -I${PROJECT_SOURCE_DIR} -o ${CMAKE_BINARY_DIR}/paddle/cinn/runtime/cinn_runtime.ll COMMAND ${PYTHON_EXECUTABLE} generate_runtime_llvm_ir.py ${CMAKE_BINARY_DIR}/paddle/cinn/runtime/cinn_runtime.ll ${CMAKE_BINARY_DIR}/paddle/cinn/backends/llvm/cinn_runtime_llvm_ir.h ${LLVM_PATH}/bin/llvm-config WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/paddle/cinn/backends/llvm DEPENDS ${PROJECT_SOURCE_DIR}/paddle/cinn/runtime/cinn_runtime.cc ${PROJECT_SOURCE_DIR}/paddle/cinn/runtime/cinn_runtime.h ) add_custom_target(GEN_LLVM_RUNTIME_IR_HEADER ALL DEPENDS ${CMAKE_BINARY_DIR}/paddle/cinn/backends/llvm/cinn_runtime_llvm_ir.h ) set(srcs llvm_util.cc runtime_symbol_registry.cc codegen_llvm.cc codegen_x86.cc simple_jit.cc execution_engine.cc llvm_optimizer.cc ) cinn_cc_test(test_codegen_llvm SRCS codegen_llvm_test.cc DEPS cinncore) #cinn_cc_test(test_execution_engine SRCS execution_engine_test.cc DEPS cinncore) cinn_cc_test(test_codegen_x86 SRCS codegen_x86_test.cc DEPS cinncore) foreach(cpp ${srcs}) set(cinnapi_src "${cinnapi_src};paddle/cinn/backends/llvm/${cpp}" CACHE INTERNAL "") endforeach() file(GLOB includes LIST_DIRECTORIES false RELATIVE ${CMAKE_SOURCE_DIR} *.h) foreach(header ${includes}) set(core_includes "${core_includes};${header}" CACHE INTERNAL "") endforeach()