Skip to content

Commit 21b9abd

Browse files
committed
changes to test to work with ir2vec submodule changes
1 parent 6c4104d commit 21b9abd

File tree

2 files changed

+75
-67
lines changed

2 files changed

+75
-67
lines changed

src/CMakeLists.txt

Lines changed: 74 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -9,77 +9,86 @@ set(binsrc CollectIR.cpp IR2Vec.cpp)
99
file(GLOB RESOURCE_FILES ../vocabulary/seedEmbeddingVocab.txt)
1010

1111
option(LLVM_IR2VEC "where to enable IR2Vec as subproject for LLVM" OFF)
12+
1213
if(NOT LLVM_IR2VEC)
13-
set(LT_LLVM_INSTALL_DIR "" CACHE PATH "LLVM installation directory")
14-
list(APPEND CMAKE_PREFIX_PATH "${LT_LLVM_INSTALL_DIR}/lib/cmake/llvm/")
15-
16-
find_package(LLVM 17.0.0 REQUIRED CONFIG)
17-
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
18-
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
19-
20-
include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
21-
# llvm_map_components_to_libnames(llvm_libs all)
22-
llvm_map_components_to_libnames(llvm_libs support core irreader analysis TransformUtils)
23-
24-
add_executable(${PROJECT_NAME} ${binsrc})
25-
target_link_libraries (${PROJECT_NAME} ${llvm_libs} objlib)
26-
target_include_directories(${PROJECT_NAME} PRIVATE .)
27-
28-
add_library(objlib OBJECT ${libsrc})
29-
set_property(TARGET objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
30-
target_link_libraries (objlib Eigen3::Eigen)
31-
32-
add_library(${IR2VEC_LIB} SHARED $<TARGET_OBJECTS:objlib>)
33-
add_library(${IR2VEC_LIB_STATIC} STATIC $<TARGET_OBJECTS:objlib>)
34-
set_target_properties(${IR2VEC_LIB} ${IR2VEC_LIB_STATIC} PROPERTIES
35-
VERSION ${PROJECT_VERSION}
36-
SOVERSION 1
37-
PUBLIC_HEADER "./include/IR2Vec.h"
38-
RESOURCE ${RESOURCE_FILES}
39-
OUTPUT_NAME ${IR2VEC_LIB}
40-
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
41-
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
42-
)
43-
44-
install(TARGETS ${IR2VEC_LIB} ${IR2VEC_LIB_STATIC}
45-
LIBRARY DESTINATION lib
46-
PUBLIC_HEADER DESTINATION include
47-
RESOURCE DESTINATION ./)
48-
49-
add_subdirectory(test-suite)
50-
51-
add_custom_target(verify-symbolic
52-
COMMAND bash ./sanity_check.sh SYM llvm17
53-
COMMENT "Generating Symbolic IR2Vec vectors and comparing with oracle..."
54-
WORKING_DIRECTORY ./test-suite
55-
DEPENDS ${PROJECT_NAME}
56-
VERBATIM
57-
)
58-
59-
add_custom_target(verify-flowaware
60-
COMMAND bash sanity_check.sh FA llvm17
61-
COMMENT "Generating Flow-Aware IR2Vec vectors and comparing with oracle..."
62-
WORKING_DIRECTORY ./test-suite
63-
DEPENDS ${PROJECT_NAME}
64-
VERBATIM
65-
)
66-
67-
add_custom_target(verify-all DEPENDS verify-symbolic verify-flowaware)
14+
15+
set(LT_LLVM_INSTALL_DIR "" CACHE PATH "LLVM installation directory")
16+
list(APPEND CMAKE_PREFIX_PATH "${LT_LLVM_INSTALL_DIR}/lib/cmake/llvm/")
17+
18+
find_package(LLVM 17.0.0 REQUIRED CONFIG)
19+
message(STATUS "Found LLVM ${LLVM_PACKAGE_VERSION}")
20+
message(STATUS "Using LLVMConfig.cmake in: ${LLVM_DIR}")
21+
22+
include_directories(SYSTEM ${LLVM_INCLUDE_DIRS})
23+
# llvm_map_components_to_libnames(llvm_libs all)
24+
llvm_map_components_to_libnames(llvm_libs support core irreader analysis TransformUtils)
25+
26+
add_executable(${PROJECT_NAME} ${binsrc})
27+
target_link_libraries (${PROJECT_NAME} ${llvm_libs} objlib)
28+
target_include_directories(${PROJECT_NAME} PRIVATE .)
29+
30+
add_library(objlib OBJECT ${libsrc})
31+
set_property(TARGET objlib PROPERTY POSITION_INDEPENDENT_CODE 1)
32+
target_link_libraries (objlib Eigen3::Eigen)
33+
34+
add_library(${IR2VEC_LIB} SHARED $<TARGET_OBJECTS:objlib>)
35+
add_library(${IR2VEC_LIB_STATIC} STATIC $<TARGET_OBJECTS:objlib>)
36+
set_target_properties(${IR2VEC_LIB} ${IR2VEC_LIB_STATIC} PROPERTIES
37+
VERSION ${PROJECT_VERSION}
38+
SOVERSION 1
39+
PUBLIC_HEADER "./include/IR2Vec.h"
40+
RESOURCE ${RESOURCE_FILES}
41+
OUTPUT_NAME ${IR2VEC_LIB}
42+
LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
43+
ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
44+
)
45+
46+
install(TARGETS ${IR2VEC_LIB} ${IR2VEC_LIB_STATIC}
47+
LIBRARY DESTINATION lib
48+
PUBLIC_HEADER DESTINATION include
49+
RESOURCE DESTINATION ./)
50+
51+
add_subdirectory(test-suite)
52+
53+
add_custom_target(verify-symbolic
54+
COMMAND bash ./sanity_check.sh SYM llvm17
55+
COMMENT "Generating Symbolic IR2Vec vectors and comparing with oracle..."
56+
WORKING_DIRECTORY ./test-suite
57+
DEPENDS ${PROJECT_NAME}
58+
VERBATIM
59+
)
60+
61+
add_custom_target(verify-flowaware
62+
COMMAND bash sanity_check.sh FA llvm17
63+
COMMENT "Generating Flow-Aware IR2Vec vectors and comparing with oracle..."
64+
WORKING_DIRECTORY ./test-suite
65+
DEPENDS ${PROJECT_NAME}
66+
VERBATIM
67+
)
68+
69+
add_custom_target(verify-all
70+
COMMAND bash sanity_check.sh FA llvm17 && bash sanity_check.sh SYM llvm17
71+
COMMENT "Generating both Symbolic and Flow-Aware IR2Vec vectors and comparing with oracle..."
72+
WORKING_DIRECTORY ./test-suite
73+
DEPENDS ${PROJECT_NAME}
74+
VERBATIM
75+
)
76+
6877
else()
6978

70-
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/IR2Vec.h DESTINATION ${LLVM_MAIN_INCLUDE_DIR}/llvm )
79+
file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/include/IR2Vec.h DESTINATION ${LLVM_MAIN_INCLUDE_DIR}/llvm )
7180

72-
set(LLVM_OPTIONAL_SOURCES ${binsrc})
81+
set(LLVM_OPTIONAL_SOURCES ${binsrc})
7382

74-
add_llvm_library(LLVMIR2Vec
75-
${libsrc}
83+
add_llvm_library(LLVMIR2Vec
84+
${libsrc}
7685

77-
DEPENDS
78-
intrinsics_gen
79-
)
86+
DEPENDS
87+
intrinsics_gen
88+
)
8089

81-
target_link_libraries(LLVMIR2Vec PRIVATE Eigen3::Eigen)
82-
target_include_directories(LLVMIR2Vec PRIVATE ${LLVM_MAIN_INCLUDE_DIR})
83-
target_include_directories(LLVMIR2Vec PRIVATE .)
90+
target_link_libraries(LLVMIR2Vec PRIVATE Eigen3::Eigen)
91+
target_include_directories(LLVMIR2Vec PRIVATE ${LLVM_MAIN_INCLUDE_DIR})
92+
target_include_directories(LLVMIR2Vec PRIVATE .)
8493

8594
endif()

src/test-suite/sanity_check.sh.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11

22
BUILD=@LIB_LOC@
3-
43
EncodingType=$1
54

65
SO_FILE=
@@ -26,7 +25,7 @@ fi
2625

2726
SEED_VERSION=$2
2827
VOCAB_PATH="./vocabulary/seedEmbeddingVocab.txt"
29-
IR2VEC_PATH="../bin/ir2vec"
28+
IR2VEC_PATH="../../bin/ir2vec"
3029

3130
functions=("main" "buildMatchingMachine" "search" "BellamFord" "BFS" "isBCUtil" "insertionSort" "binomialCoeff" "find" "countParenth" "boruvkaMST" "maxStackHeight" "badCharHeuristic" "bpm"
3231
"count" "getMaxUtil" "buildSuffixArray" "countOnes" "countStrings" "countRec" "countWays" "AP" "cutRod" "isCyclic" "isDivisible" "DFS" "editDist" "eggDrop" "isSC" "isConnected" "printClosest"

0 commit comments

Comments
 (0)