From 2153aee879ef6b60a066ec7bc6b35317ee9e188b Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 26 Jul 2022 18:32:36 +0200 Subject: [PATCH 01/95] restructure: preparation --- cmake/just-simple.cmake | 320 ++++++++++++++++++++++++++++++++++++++++ conanfile.txt | 15 ++ 2 files changed, 335 insertions(+) create mode 100644 cmake/just-simple.cmake create mode 100644 conanfile.txt diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake new file mode 100644 index 000000000..e268f59e0 --- /dev/null +++ b/cmake/just-simple.cmake @@ -0,0 +1,320 @@ + +if (${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_LESS "3.21") # for --output-junit + message(FATAL_ERROR "just-simple.cmake requires min cmake version 3.21") +endif() + +# download cmake dependencies if not present +set(JUST_SIMPLE_conan "${CMAKE_SOURCE_DIR}/cmake/conan.cmake") +set(JUST_SIMPLE_coverage "${CMAKE_SOURCE_DIR}/cmake/code-coverage.cmake") +if(NOT EXISTS "${JUST_SIMPLE_conan}") + file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/0.18.1/conan.cmake" + "${JUST_SIMPLE_conan}" + EXPECTED_HASH SHA256=5cdb3042632da3efff558924eecefd580a0e786863a857ca097c3d1d43df5dcd + TLS_VERIFY ON) +endif() +include(${JUST_SIMPLE_conan}) + +if (NOT EXISTS "${JUST_SIMPLE_coverage}") + file(DOWNLOAD "https://raw.githubusercontent.com/StableCoder/cmake-scripts/ed79fb95f7bd39b2cb158d7ff83a5dbb639343e8/code-coverage.cmake" + "${JUST_SIMPLE_coverage}" + EXPECTED_HASH SHA256=58900f7280f43cab6c66e793bc8cd8aa06c9c8b4d6f0c10dd5e86e19efb46718 + TLS_VERIFY ON) +endif() + +# setup conan +# create basic conanfile.txt if not present +if (NOT EXISTS "${CMAKE_SOURCE_DIR}/conanfile.txt") + file(WRITE "${CMAKE_SOURCE_DIR}/conanfile.txt" "# doc: https://docs.conan.io/en/latest/reference/conanfile_txt.html\n\n") + file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[requires]\ngtest/1.12.1\n#package_name/version@user/channel (default @_/_)\n\n") + file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[generators]\ncmake\n\n") + file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[options]\n#package_name:shared=False\n\n") +endif() +conan_cmake_run( + BASIC_SETUP + CONANFILE "${CMAKE_SOURCE_DIR}/conanfile.txt" + BUILD missing) + +# debugging CMAKE https://cliutils.gitlab.io/modern-cmake/chapters/features/debug.html +#include(CMakePrintHelpers) +# cmake_print_variables(MY_VARIABLE) +# cmake_print_properties(TARGETS my_target PROPERTIES POSITION_INDEPENDENT_CODE) +# --warn-uninitialized --trace --trace-expand + +# before "limit linking jobs", sets the same property rather than extending +# but its a dependency so we shouldnt modify it, will break on update +include("${JUST_SIMPLE_coverage}") +add_code_coverage_all_targets(EXCLUDE ".conan/.*" ".*/test/.*") # TODO its allowed to call it something else, move name enforcing to config? + +enable_testing() #enable ctest +set(CMAKE_CTEST_ARGUMENTS "--output-junit;${CMAKE_BINARY_DIR}/Testing/Temporary/JUnit.xml;") # for ci import +include(GoogleTest) + +# TODO offer a diagnostic run with link / compile = 1, job = 1 and check mem usage with "sar -r cmd" (sysstat package) automatically? +function(just_limit_jobs) + # Argument parsing + set(options ) + set(oneValueArgs LINK COMPILE) + set(multiValueArgs ) + cmake_parse_arguments(PARSE_ARGV "0" "just_limit" "${options}" "${oneValueArgs}" "${multiValueArgs}") + + if(just_limit_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "target \"${TARGET}\" has unparsed arguments \"${just_limit_UNPARSED_ARGUMENTS}\", LINK \"expected ram usage per link process\" COMPILE \"expected ram usage per compile process\"?") + endif() + + cmake_host_system_information(RESULT system_ram QUERY AVAILABLE_PHYSICAL_MEMORY) + # linking / compiling is done at the same time and to much memory consumption will break ci / slow done it a lot + # upper limit for link/compile job is automatically set by job count + math(EXPR system_ram_possible_jobs "${system_ram} / ${just_limit_LINK}" OUTPUT_FORMAT DECIMAL) + if (system_ram_possible_jobs LESS 1) + set(system_ram_possible_jobs 1) + endif() + cmake_host_system_information(RESULT system_cores QUERY NUMBER_OF_LOGICAL_CORES) + + message(STATUS "resources: cores=${system_cores} memory=${system_ram}") + if (system_ram_possible_jobs LESS system_cores) + math(EXPR compile_jobs "${system_ram} / ${just_limit_COMPILE}" OUTPUT_FORMAT DECIMAL) + if (compile_jobs LESS 1) + set(compile_jobs 1) + endif() + message("Your System is Memory limited, linking jobs: ${system_ram_possible_jobs} compile jobs: ${compile_jobs}") + set_property(GLOBAL APPEND PROPERTY JOB_POOLS linking=${system_ram_possible_jobs} compiling=${compile_jobs}) + else() + message("Your System is CPU limited, linking jobs: ${system_cores} compile jobs: ${system_cores}") + set_property(GLOBAL APPEND PROPERTY JOB_POOLS linking=${system_cores} compiling=${system_cores}) + endif() + + if (NOT CMAKE_JOB_POOL_LINK) + set(CMAKE_JOB_POOL_LINK linking PARENT_SCOPE) + else() + message("Using provided job pool list for linking: ${CMAKE_JOB_POOL_LINK}") + endif() + if (NOT CMAKE_JOB_POOL_COMPILE) + set(CMAKE_JOB_POOL_COMPILE compiling PARENT_SCOPE) + else() + message("Using provided job pool list for linking: ${CMAKE_JOB_POOL_COMPILE}") + endif() +endfunction() + +function(_just_add_check TARGET) + if (TARGET "${TARGET}") + message(FATAL_ERROR "cant add executable because the target ${TARGET} is already defined, please create just one executable per directory") + endif() + + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/include") + else() + message(FATAL_ERROR "_just_add_check: there is no include folder, please add it") + endif() + + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src") + else() + message(FATAL_ERROR "_just_add_check: there is no src folder, please add it") + endif() +endfunction() + +function(_just_add_subdirectory) + FILE(GLOB files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/*) + + foreach(file ${files}) + if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${file}/CMakeLists.txt") + add_subdirectory("${file}") + endif() + endforeach() +endfunction() + +function(_just_add_resource SRC) + if (EXISTS "${SRC}/resource") + if (NOT EXISTS "${SRC}/resource/CMakeLists.txt") + message(NOTICE "found resources in: ${SRC}/resource") + file(GLOB files "${SRC}/resource/*") + foreach(file ${files}) + if (NOT IS_DIRECTORY "${file}") + get_filename_component(file_name "${file}" NAME) + configure_file("${file}" "${CMAKE_CURRENT_BINARY_DIR}/${file_name}" COPYONLY) + endif() + endforeach() + else() + message(NOTICE "skipping resource folder: ${SRC}/resource because it contains CMakeLists.txt") # XXX handle if SKIP_SUBDIRECTORIES + endif() + else() + message(NOTICE "no resource folder: ${SRC}/resource") + endif() +endfunction() + +function(just_copy_resource TARGET) + get_target_property(target_folder "${TARGET}" SOURCE_DIR) + file(GLOB files "${target_folder}/resource/*") + foreach(file ${files}) + if (NOT IS_DIRECTORY "${file}") + get_filename_component(file_name "${file}" NAME) + configure_file("${file}" "${CMAKE_CURRENT_BINARY_DIR}/${file_name}" COPYONLY) + endif() + endforeach() +endfunction() + +function(just_add_library) + # Argument parsing + set(options SKIP_SUBDIRECTORIES) + set(oneValueArgs SUFFIX) + set(multiValueArgs INCLUDE EXCLUDE LINK DEPENDS) + cmake_parse_arguments(PARSE_ARGV "0" "just_add" "${options}" "${oneValueArgs}" "${multiValueArgs}") + + # get name from + get_filename_component(TARGET "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + set(TARGET "${CMAKE_PROJECT_NAME}-${TARGET}${just_add_SUFFIX}") + if(just_add_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "target \"${TARGET}\" has unparsed arguments \"${just_add_UNPARSED_ARGUMENTS}\" maybe LINK in front of it?") + endif() + _just_add_check("${TARGET}") + + # create filelist + file(GLOB_RECURSE files include/* src/*) + if(just_add_INCLUDE) + foreach(pattern "${just_add_INCLUDE}") + list(FILTER files INCLUDE REGEX "${pattern}") + endforeach() + endif() + if(just_add_EXCLUDE) + foreach(pattern "${just_add_EXCLUDE}") + list(FILTER files EXCLUDE REGEX "${pattern}") + endforeach() + endif() + + # create target + add_library("${TARGET}" ${files}) + target_include_directories("${TARGET}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" ) + if (just_add_LINK) + message(NOTICE "just_add_library ${TARGET}: linking to ${just_add_LINK}") + target_link_libraries("${TARGET}" PUBLIC ${just_add_LINK}) + endif() + if (just_add_DEPENDS) + message(NOTICE "just_add_library ${TARGET}: adding dependency ${just_add_LINK}") + add_dependencies("${TARGET}" ${just_add_DEPENDS}) + endif() + target_code_coverage(${TARGET} AUTO EXTERNAL ALL EXCLUDE ".conan/.*" ".*/test/.*") + + if(NOT "${just_add_SKIP_SUBDIRECTORIES}") + _just_add_subdirectory() + endif() + _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") +endfunction() + +function(just_add_executable) + # Argument parsing + set(options SKIP_SUBDIRECTORIES) + set(oneValueArgs SUFFIX) + set(multiValueArgs INCLUDE EXCLUDE LINK DEPENDS) + cmake_parse_arguments(PARSE_ARGV "0" "just_add" "${options}" "${oneValueArgs}" "${multiValueArgs}") + + # get name from + get_filename_component(TARGET "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + set(TARGET "${CMAKE_PROJECT_NAME}-${TARGET}${just_add_SUFFIX}") + if(just_add_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "target \"${TARGET}\" has unparsed arguments \"${just_add_UNPARSED_ARGUMENTS}\" maybe LINK in front of it?") + endif() + _just_add_check("${TARGET}") + + + # create filelist + file(GLOB_RECURSE files include/* src/*) + if(just_add_INCLUDE) + foreach(pattern "${just_add_INCLUDE}") + list(FILTER files INCLUDE REGEX "${pattern}") + endforeach() + endif() + if(just_add_EXCLUDE) + foreach(pattern "${just_add_EXCLUDE}") + list(FILTER files EXCLUDE REGEX "${pattern}") + endforeach() + endif() + + # create target + add_executable("${TARGET}" ${files}) + string(TOUPPER "RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}" binary_folder) + set_target_properties("${TARGET}" PROPERTIES "${binary_folder}" "${CMAKE_CURRENT_BINARY_DIR}") + + target_include_directories("${TARGET}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" ) + if (just_add_LINK) + message(NOTICE "just_add_executable ${TARGET}: linking to ${just_add_LINK}") + target_link_libraries("${TARGET}" PUBLIC ${just_add_LINK}) + endif() + if (just_add_DEPENDS) + message(NOTICE "just_add_executable ${TARGET}: adding dependency ${just_add_LINK}") + add_dependencies("${TARGET}" ${just_add_DEPENDS}) + endif() + # failing and probably not needed if not lib or test + # target_code_coverage(${TARGET} AUTO EXTERNAL ALL EXCLUDE ".conan/.*" ".*/test/.*") + if(NOT "${just_add_SKIP_SUBDIRECTORIES}") + _just_add_subdirectory() + endif() + + _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") +endfunction() + +function(just_add_tests) + # Argument parsing + set(options SKIP_SUBDIRECTORIES SKIP_DEFAULT_LINK) + set(oneValueArgs SUFFIX) + set(multiValueArgs INCLUDE EXCLUDE LINK DEPENDS) + cmake_parse_arguments(PARSE_ARGV "0" "just_add" "${options}" "${oneValueArgs}" "${multiValueArgs}") + + get_filename_component(TARGET_UNDER_TEST "${CMAKE_CURRENT_SOURCE_DIR}" DIRECTORY) + get_filename_component(TARGET_UNDER_TEST "${TARGET_UNDER_TEST}" NAME) + set(TARGET_UNDER_TEST "${CMAKE_PROJECT_NAME}-${TARGET_UNDER_TEST}") + + # get name from + get_filename_component(TEST_TARGET "${CMAKE_CURRENT_SOURCE_DIR}" NAME) + set(TARGET "${TARGET_UNDER_TEST}-${TEST_TARGET}${just_add_SUFFIX}") + + if (NOT TARGET "${TARGET_UNDER_TEST}") + message(FATAL_ERROR "just_add_tests: Expected to create tests for target ${TARGET_UNDER_TEST} but this target doesn't exists.") + endif() + if(just_add_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "target \"${TARGET}\" has unparsed arguments \"${just_add_UNPARSED_ARGUMENTS}\" maybe LINK in front of it?") + endif() + _just_add_check("${TARGET}") + + # create filelist + file(GLOB_RECURSE files include/* src/*) + if(just_add_INCLUDE) + foreach(pattern "${just_add_INCLUDE}") + list(FILTER files INCLUDE REGEX "${pattern}") + endforeach() + endif() + if(just_add_EXCLUDE) + foreach(pattern "${just_add_EXCLUDE}") + list(FILTER files EXCLUDE REGEX "${pattern}") + endforeach() + endif() + + # create target + add_executable("${TARGET}" ${files}) + string(TOUPPER "RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}" binary_folder) + set_target_properties("${TARGET}" PROPERTIES "${binary_folder}" "${CMAKE_CURRENT_BINARY_DIR}") + gtest_discover_tests("${TARGET}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" DISCOVERY_TIMEOUT 60) + target_include_directories("${TARGET}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" ) + + set(LINK_DEPENDENCIES) + if(NOT "${just_add_SKIP_DEFAULT_LINK}") + list(APPEND LINK_DEPENDENCIES ${TARGET_UNDER_TEST} ${CONAN_LIBS_GTEST} pthread) + endif() + list(APPEND LINK_DEPENDENCIES ${just_add_LINK}) + + message(NOTICE "just_add_tests ${TARGET}: linking to ${LINK_DEPENDENCIES}") + target_link_libraries("${TARGET}" PUBLIC ${LINK_DEPENDENCIES}) + target_code_coverage("${TARGET}" AUTO EXTERNAL ALL EXCLUDE ".conan/.*" ".*/test/.*") + + if (just_add_DEPENDS) + message(NOTICE "just_add_tests ${TARGET}: adding dependency ${just_add_LINK}") + add_dependencies("${TARGET}" ${just_add_DEPENDS}) + endif() + + if(NOT "${just_add_SKIP_SUBDIRECTORIES}") + _just_add_subdirectory() + endif() + + # if target under tests has resources, the tests need them as well + get_target_property(target_under_test_source_dir "${TARGET_UNDER_TEST}" "SOURCE_DIR") + _just_add_resources("${target_under_test_source_dir}") + # but also allow them to overwrite & have other dependencies too + _just_add_resources("${CMAKE_CURRENT_SOURCE_DIR}") +endfunction() diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 000000000..7483a391b --- /dev/null +++ b/conanfile.txt @@ -0,0 +1,15 @@ +[requires] +llvm/14.0.6@intellisectest+intellisectest-application/stable +boost/1.76.0 +gtest/1.12.0 +sqlite3/3.36.0 +json-schema-validator/2.1.0 +nlohmann_json/3.9.1 +libcurl/7.80.0 + +[generators] +cmake + +[options] +llvm:enable_debug=True +llvm:shared=False From d473eac4303b54e4e4a7b27b960221159ab53d03 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 26 Jul 2022 18:50:07 +0200 Subject: [PATCH 02/95] restructure: mv a lot to old --- external/.clang-tidy | 1 - external/WALi-OpenNWA | 1 - external/googletest | 1 - external/json | 1 - external/json-schema-validator | 1 - move_to_old.sh | 38 ++++++++++++++++++ .dockerignore => old/.dockerignore | 0 .gitlab-ci.yml => old/.gitlab-ci.yml | 0 .gitmodules => old/.gitmodules | 0 Brewfile => old/Brewfile | 0 CHANGELOG.md => old/CHANGELOG.md | 0 CMakeLists.txt => old/CMakeLists.txt | 0 CODE_OF_CONDUCT.md => old/CODE_OF_CONDUCT.md | 0 .../CODING_GUIDELINES.txt | 0 CONTRIBUTING.md => old/CONTRIBUTING.md | 0 Config.cmake.in => old/Config.cmake.in | 0 Dockerfile => old/Dockerfile | 0 bootstrap.sh => old/bootstrap.sh | 0 config.h.in => old/config.h.in | 0 {config => old/config}/DOTGraphConfig.json | 0 {config => old/config}/README.txt | 0 {config => old/config}/TaintConfigSchema.json | 0 .../glibc_function_list_v1-04.05.17.conf | 0 ..._intrinsics_function_list_v1-04.05.17.conf | 0 .../config}/phasar-source-sink-function.json | 0 .../docker-compose.debug.yml | 0 docker-compose.yml => old/docker-compose.yml | 0 {docs => old/docs}/Doxyfile.in | 0 {docs => old/docs}/README.dox | 0 .../examples}/llvm-hello-world/Makefile | 0 .../examples}/llvm-hello-world/README.txt | 0 .../examples}/llvm-hello-world/main.cpp | 0 .../llvm-hello-world/target/branching.cpp | 0 .../llvm-hello-world/target/branching.ll | 0 .../llvm-hello-world/target/branching2.cpp | 0 .../llvm-hello-world/target/branching2.ll | 0 .../llvm-hello-world/target/call.cpp | 0 .../examples}/llvm-hello-world/target/call.ll | 0 .../llvm-hello-world/target/call2.cpp | 0 .../llvm-hello-world/target/call2.ll | 0 .../llvm-hello-world/target/exception.cpp | 0 .../llvm-hello-world/target/exception.ll | 0 .../llvm-hello-world/target/functions.cpp | 0 .../llvm-hello-world/target/functions.ll | 0 .../llvm-hello-world/target/functions2.cpp | 0 .../llvm-hello-world/target/functions2.ll | 0 .../target/llvm_intrinsic_functions.cpp | 0 .../target/llvm_intrinsic_functions.ll | 0 .../target/llvm_intrinsic_functions2.cpp | 0 .../target/llvm_intrinsic_functions2.ll | 0 .../llvm-hello-world/target/loop.cpp | 0 .../examples}/llvm-hello-world/target/loop.ll | 0 .../llvm-hello-world/target/loop2.cpp | 0 .../llvm-hello-world/target/loop2.ll | 0 .../llvm-hello-world/target/pointers.cpp | 0 .../llvm-hello-world/target/pointers.ll | 0 .../llvm-hello-world/target/pointers2.cpp | 0 .../llvm-hello-world/target/pointers2.ll | 0 .../llvm-hello-world/target/simple.cpp | 0 .../llvm-hello-world/target/simple.ll | 0 .../llvm-hello-world/target/simple2.cpp | 0 .../llvm-hello-world/target/simple2.ll | 0 .../llvm-hello-world/target/struct.cpp | 0 .../llvm-hello-world/target/struct.ll | 0 .../llvm-hello-world/target/struct2.cpp | 0 .../llvm-hello-world/target/struct2.ll | 0 .../llvm-hello-world/target/struct3.cpp | 0 .../llvm-hello-world/target/struct3.ll | 0 .../use-phasar-as-library/CMakeLists.txt | 0 .../examples}/use-phasar-as-library/README.md | 0 .../use-phasar-as-library/myphasartool.cpp | 0 {githooks => old/githooks}/README.txt | 0 {githooks => old/githooks}/pre-commit | 0 {githooks => old/githooks}/pre-push | 0 {img => old/img}/DragonMedium.png | Bin {img => old/img}/DragonSmall.png | Bin {img => old/img}/Icon_CMYK/Phasar_Icon.ai | 0 {img => old/img}/Icon_CMYK/Phasar_Icon.eps | Bin {img => old/img}/Icon_CMYK/Phasar_Icon.pdf | Bin {img => old/img}/Icon_RGB/Phasar_Icon.jpg | Bin {img => old/img}/Icon_RGB/Phasar_Icon.png | Bin {img => old/img}/Icon_RGB/Phasar_Icon.svg | 0 .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai | 0 .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps | Bin .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.png | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.svg | 0 {img => old/img}/LLVM-Logo-Derivative-1.png | Bin {img => old/img}/LLVM-Logo-Derivative-2.png | Bin {img => old/img}/LLVM-Logo-Derivative-3.png | Bin {img => old/img}/LLVM-Logo-Derivative-4.png | Bin {img => old/img}/LLVM-Logo-Derivative-5.png | Bin {img => old/img}/Logo_CMYK/Phasar_Logo.ai | 0 {img => old/img}/Logo_CMYK/Phasar_Logo.eps | Bin {img => old/img}/Logo_CMYK/Phasar_Logo.pdf | Bin {img => old/img}/Logo_RGB/Phasar_Logo.jpg | Bin {img => old/img}/Logo_RGB/Phasar_Logo.png | Bin {img => old/img}/Logo_RGB/Phasar_Logo.svg | 0 {img => old/img}/Phasar Color Guide.docx | Bin .../example_exploded_supergraph.pdf | Bin .../example_exploded_supergraph.png | Bin .../example_exploded_supergraph.vsdx | Bin .../output.txt | 0 .../recorded_edges.txt | 0 {out => old/out}/.gitkeep | 0 .../phasar-clang_more_help.txt | 0 .../phasar-llvm_more_help.txt | 0 {utils => old/utils}/CodeGen/.clang-format | 0 {utils => old/utils}/CodeGen/codegen.py | 0 {utils => old/utils}/CodeGen/doc.txt | 0 {utils => old/utils}/CodeGen/example.cfg | 0 {utils => old/utils}/CodeGen/output/.gitkeep | 0 .../utils}/CodeGen/template/cpp.template | 0 .../CodeGen/template/cppfunction.template | 0 .../utils}/CodeGen/template/header.template | 0 .../CodeGen/template/hfunction.template | 0 .../CodeGen/template/stdfforheader.template | 0 .../utils}/DB/phasar-create-db-scheme.sql | 0 {utils => old/utils}/DB/phasar-sql2cpp.py | 0 {utils => old/utils}/InitializeEnvironment.sh | 0 .../utils}/InstallAptDependencies.sh | 0 .../utils}/init-submodules-release.sh | 0 {utils => old/utils}/install-llvm.sh | 0 {utils => old/utils}/installBuildEAR.sh | 0 {utils => old/utils}/phasar-compile2llvmIR.py | 0 {utils => old/utils}/phasar-mkconfig.sh | 0 {utils => old/utils}/phasar-plot-pamm.py | 0 {utils => old/utils}/run-clang-format.py | 0 {utils => old/utils}/run-phasar-checks.sh | 0 {utils => old/utils}/safeCommandsSet.sh | 0 .../utils}/setEnvironmentVariables.sh | 0 132 files changed, 38 insertions(+), 5 deletions(-) delete mode 100644 external/.clang-tidy delete mode 160000 external/WALi-OpenNWA delete mode 160000 external/googletest delete mode 160000 external/json delete mode 160000 external/json-schema-validator create mode 100644 move_to_old.sh rename .dockerignore => old/.dockerignore (100%) rename .gitlab-ci.yml => old/.gitlab-ci.yml (100%) rename .gitmodules => old/.gitmodules (100%) rename Brewfile => old/Brewfile (100%) rename CHANGELOG.md => old/CHANGELOG.md (100%) rename CMakeLists.txt => old/CMakeLists.txt (100%) rename CODE_OF_CONDUCT.md => old/CODE_OF_CONDUCT.md (100%) rename CODING_GUIDELINES.txt => old/CODING_GUIDELINES.txt (100%) rename CONTRIBUTING.md => old/CONTRIBUTING.md (100%) rename Config.cmake.in => old/Config.cmake.in (100%) rename Dockerfile => old/Dockerfile (100%) rename bootstrap.sh => old/bootstrap.sh (100%) rename config.h.in => old/config.h.in (100%) rename {config => old/config}/DOTGraphConfig.json (100%) rename {config => old/config}/README.txt (100%) rename {config => old/config}/TaintConfigSchema.json (100%) rename {config => old/config}/glibc_function_list_v1-04.05.17.conf (100%) rename {config => old/config}/llvm_intrinsics_function_list_v1-04.05.17.conf (100%) rename {config => old/config}/phasar-source-sink-function.json (100%) rename docker-compose.debug.yml => old/docker-compose.debug.yml (100%) rename docker-compose.yml => old/docker-compose.yml (100%) rename {docs => old/docs}/Doxyfile.in (100%) rename {docs => old/docs}/README.dox (100%) rename {examples => old/examples}/llvm-hello-world/Makefile (100%) rename {examples => old/examples}/llvm-hello-world/README.txt (100%) rename {examples => old/examples}/llvm-hello-world/main.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/branching.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/branching.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/branching2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/branching2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/call.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/call.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/call2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/call2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/exception.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/exception.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/functions.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/functions.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/functions2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/functions2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/llvm_intrinsic_functions.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/llvm_intrinsic_functions.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/llvm_intrinsic_functions2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/llvm_intrinsic_functions2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/loop.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/loop.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/loop2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/loop2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/pointers.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/pointers.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/pointers2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/pointers2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/simple.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/simple.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/simple2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/simple2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/struct.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/struct.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/struct2.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/struct2.ll (100%) rename {examples => old/examples}/llvm-hello-world/target/struct3.cpp (100%) rename {examples => old/examples}/llvm-hello-world/target/struct3.ll (100%) rename {examples => old/examples}/use-phasar-as-library/CMakeLists.txt (100%) rename {examples => old/examples}/use-phasar-as-library/README.md (100%) rename {examples => old/examples}/use-phasar-as-library/myphasartool.cpp (100%) rename {githooks => old/githooks}/README.txt (100%) rename {githooks => old/githooks}/pre-commit (100%) rename {githooks => old/githooks}/pre-push (100%) rename {img => old/img}/DragonMedium.png (100%) rename {img => old/img}/DragonSmall.png (100%) rename {img => old/img}/Icon_CMYK/Phasar_Icon.ai (100%) rename {img => old/img}/Icon_CMYK/Phasar_Icon.eps (100%) rename {img => old/img}/Icon_CMYK/Phasar_Icon.pdf (100%) rename {img => old/img}/Icon_RGB/Phasar_Icon.jpg (100%) rename {img => old/img}/Icon_RGB/Phasar_Icon.png (100%) rename {img => old/img}/Icon_RGB/Phasar_Icon.svg (100%) rename {img => old/img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai (100%) rename {img => old/img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps (100%) rename {img => old/img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf (100%) rename {img => old/img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg (100%) rename {img => old/img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.png (100%) rename {img => old/img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg (100%) rename {img => old/img}/LLVM-Logo-Derivative-1.png (100%) rename {img => old/img}/LLVM-Logo-Derivative-2.png (100%) rename {img => old/img}/LLVM-Logo-Derivative-3.png (100%) rename {img => old/img}/LLVM-Logo-Derivative-4.png (100%) rename {img => old/img}/LLVM-Logo-Derivative-5.png (100%) rename {img => old/img}/Logo_CMYK/Phasar_Logo.ai (100%) rename {img => old/img}/Logo_CMYK/Phasar_Logo.eps (100%) rename {img => old/img}/Logo_CMYK/Phasar_Logo.pdf (100%) rename {img => old/img}/Logo_RGB/Phasar_Logo.jpg (100%) rename {img => old/img}/Logo_RGB/Phasar_Logo.png (100%) rename {img => old/img}/Logo_RGB/Phasar_Logo.svg (100%) rename {img => old/img}/Phasar Color Guide.docx (100%) rename {img => old/img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf (100%) rename {img => old/img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png (100%) rename {img => old/img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx (100%) rename {img => old/img}/ifds_uninit_exploded_supergraph/output.txt (100%) rename {img => old/img}/ifds_uninit_exploded_supergraph/recorded_edges.txt (100%) rename {out => old/out}/.gitkeep (100%) rename phasar-clang_more_help.txt => old/phasar-clang_more_help.txt (100%) rename phasar-llvm_more_help.txt => old/phasar-llvm_more_help.txt (100%) rename {utils => old/utils}/CodeGen/.clang-format (100%) rename {utils => old/utils}/CodeGen/codegen.py (100%) rename {utils => old/utils}/CodeGen/doc.txt (100%) rename {utils => old/utils}/CodeGen/example.cfg (100%) rename {utils => old/utils}/CodeGen/output/.gitkeep (100%) rename {utils => old/utils}/CodeGen/template/cpp.template (100%) rename {utils => old/utils}/CodeGen/template/cppfunction.template (100%) rename {utils => old/utils}/CodeGen/template/header.template (100%) rename {utils => old/utils}/CodeGen/template/hfunction.template (100%) rename {utils => old/utils}/CodeGen/template/stdfforheader.template (100%) rename {utils => old/utils}/DB/phasar-create-db-scheme.sql (100%) rename {utils => old/utils}/DB/phasar-sql2cpp.py (100%) rename {utils => old/utils}/InitializeEnvironment.sh (100%) rename {utils => old/utils}/InstallAptDependencies.sh (100%) rename {utils => old/utils}/init-submodules-release.sh (100%) rename {utils => old/utils}/install-llvm.sh (100%) rename {utils => old/utils}/installBuildEAR.sh (100%) rename {utils => old/utils}/phasar-compile2llvmIR.py (100%) rename {utils => old/utils}/phasar-mkconfig.sh (100%) rename {utils => old/utils}/phasar-plot-pamm.py (100%) rename {utils => old/utils}/run-clang-format.py (100%) rename {utils => old/utils}/run-phasar-checks.sh (100%) rename {utils => old/utils}/safeCommandsSet.sh (100%) rename {utils => old/utils}/setEnvironmentVariables.sh (100%) diff --git a/external/.clang-tidy b/external/.clang-tidy deleted file mode 100644 index 612bd0ee8..000000000 --- a/external/.clang-tidy +++ /dev/null @@ -1 +0,0 @@ -Checks: '-*' diff --git a/external/WALi-OpenNWA b/external/WALi-OpenNWA deleted file mode 160000 index 2bb4aca02..000000000 --- a/external/WALi-OpenNWA +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 2bb4aca02c5a5d444fd038e8aa3eecd7d1ccbb99 diff --git a/external/googletest b/external/googletest deleted file mode 160000 index e2239ee60..000000000 --- a/external/googletest +++ /dev/null @@ -1 +0,0 @@ -Subproject commit e2239ee6043f73722e7aa812a459f54a28552929 diff --git a/external/json b/external/json deleted file mode 160000 index 4f8fba140..000000000 --- a/external/json +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 4f8fba14066156b73f1189a2b8bd568bde5284c5 diff --git a/external/json-schema-validator b/external/json-schema-validator deleted file mode 160000 index 27fc1d094..000000000 --- a/external/json-schema-validator +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 27fc1d094503623dfe39365ba82581507524545c diff --git a/move_to_old.sh b/move_to_old.sh new file mode 100644 index 000000000..a867b6f8f --- /dev/null +++ b/move_to_old.sh @@ -0,0 +1,38 @@ +#!/bin/bash + +# so wenig wie möglich ändern +# nur cmake! + +set -euo pipefail + +mkdir -p old + +git mv config old/ +git mv docs old/ +git mv examples old/ +git mv img old/ +git mv out old/ +git mv utils old/ +git mv bootstrap.sh old/ +git mv .gitmodules old/ +git mv .gitlab-ci.yml old/ +git mv Brewfile old/ +git mv CHANGELOG.md old/ +git mv CMakeLists.txt old/ +git mv CODE_OF_CONDUCT.md old/ +git mv CODING_GUIDELINES.txt old/ +git mv Config.cmake.in old/ +git mv config.h.in old/ +git mv CONTRIBUTING.md old/ +git mv *ocker* old/ +git mv phasar-clang_more_help.txt old/ +git mv phasar-llvm_more_help.txt old/ +git mv .dockerignore old/ +rm -rf external + +git mv githooks/ old/ +# git mv old/githooks/ . +git mv .github/workflows/ old/ +# git mv old/workflows/ .github/ +git mv .pre-commit-config.yaml old/ +# git mv old/.pre-commit-config.yaml/ . diff --git a/.dockerignore b/old/.dockerignore similarity index 100% rename from .dockerignore rename to old/.dockerignore diff --git a/.gitlab-ci.yml b/old/.gitlab-ci.yml similarity index 100% rename from .gitlab-ci.yml rename to old/.gitlab-ci.yml diff --git a/.gitmodules b/old/.gitmodules similarity index 100% rename from .gitmodules rename to old/.gitmodules diff --git a/Brewfile b/old/Brewfile similarity index 100% rename from Brewfile rename to old/Brewfile diff --git a/CHANGELOG.md b/old/CHANGELOG.md similarity index 100% rename from CHANGELOG.md rename to old/CHANGELOG.md diff --git a/CMakeLists.txt b/old/CMakeLists.txt similarity index 100% rename from CMakeLists.txt rename to old/CMakeLists.txt diff --git a/CODE_OF_CONDUCT.md b/old/CODE_OF_CONDUCT.md similarity index 100% rename from CODE_OF_CONDUCT.md rename to old/CODE_OF_CONDUCT.md diff --git a/CODING_GUIDELINES.txt b/old/CODING_GUIDELINES.txt similarity index 100% rename from CODING_GUIDELINES.txt rename to old/CODING_GUIDELINES.txt diff --git a/CONTRIBUTING.md b/old/CONTRIBUTING.md similarity index 100% rename from CONTRIBUTING.md rename to old/CONTRIBUTING.md diff --git a/Config.cmake.in b/old/Config.cmake.in similarity index 100% rename from Config.cmake.in rename to old/Config.cmake.in diff --git a/Dockerfile b/old/Dockerfile similarity index 100% rename from Dockerfile rename to old/Dockerfile diff --git a/bootstrap.sh b/old/bootstrap.sh similarity index 100% rename from bootstrap.sh rename to old/bootstrap.sh diff --git a/config.h.in b/old/config.h.in similarity index 100% rename from config.h.in rename to old/config.h.in diff --git a/config/DOTGraphConfig.json b/old/config/DOTGraphConfig.json similarity index 100% rename from config/DOTGraphConfig.json rename to old/config/DOTGraphConfig.json diff --git a/config/README.txt b/old/config/README.txt similarity index 100% rename from config/README.txt rename to old/config/README.txt diff --git a/config/TaintConfigSchema.json b/old/config/TaintConfigSchema.json similarity index 100% rename from config/TaintConfigSchema.json rename to old/config/TaintConfigSchema.json diff --git a/config/glibc_function_list_v1-04.05.17.conf b/old/config/glibc_function_list_v1-04.05.17.conf similarity index 100% rename from config/glibc_function_list_v1-04.05.17.conf rename to old/config/glibc_function_list_v1-04.05.17.conf diff --git a/config/llvm_intrinsics_function_list_v1-04.05.17.conf b/old/config/llvm_intrinsics_function_list_v1-04.05.17.conf similarity index 100% rename from config/llvm_intrinsics_function_list_v1-04.05.17.conf rename to old/config/llvm_intrinsics_function_list_v1-04.05.17.conf diff --git a/config/phasar-source-sink-function.json b/old/config/phasar-source-sink-function.json similarity index 100% rename from config/phasar-source-sink-function.json rename to old/config/phasar-source-sink-function.json diff --git a/docker-compose.debug.yml b/old/docker-compose.debug.yml similarity index 100% rename from docker-compose.debug.yml rename to old/docker-compose.debug.yml diff --git a/docker-compose.yml b/old/docker-compose.yml similarity index 100% rename from docker-compose.yml rename to old/docker-compose.yml diff --git a/docs/Doxyfile.in b/old/docs/Doxyfile.in similarity index 100% rename from docs/Doxyfile.in rename to old/docs/Doxyfile.in diff --git a/docs/README.dox b/old/docs/README.dox similarity index 100% rename from docs/README.dox rename to old/docs/README.dox diff --git a/examples/llvm-hello-world/Makefile b/old/examples/llvm-hello-world/Makefile similarity index 100% rename from examples/llvm-hello-world/Makefile rename to old/examples/llvm-hello-world/Makefile diff --git a/examples/llvm-hello-world/README.txt b/old/examples/llvm-hello-world/README.txt similarity index 100% rename from examples/llvm-hello-world/README.txt rename to old/examples/llvm-hello-world/README.txt diff --git a/examples/llvm-hello-world/main.cpp b/old/examples/llvm-hello-world/main.cpp similarity index 100% rename from examples/llvm-hello-world/main.cpp rename to old/examples/llvm-hello-world/main.cpp diff --git a/examples/llvm-hello-world/target/branching.cpp b/old/examples/llvm-hello-world/target/branching.cpp similarity index 100% rename from examples/llvm-hello-world/target/branching.cpp rename to old/examples/llvm-hello-world/target/branching.cpp diff --git a/examples/llvm-hello-world/target/branching.ll b/old/examples/llvm-hello-world/target/branching.ll similarity index 100% rename from examples/llvm-hello-world/target/branching.ll rename to old/examples/llvm-hello-world/target/branching.ll diff --git a/examples/llvm-hello-world/target/branching2.cpp b/old/examples/llvm-hello-world/target/branching2.cpp similarity index 100% rename from examples/llvm-hello-world/target/branching2.cpp rename to old/examples/llvm-hello-world/target/branching2.cpp diff --git a/examples/llvm-hello-world/target/branching2.ll b/old/examples/llvm-hello-world/target/branching2.ll similarity index 100% rename from examples/llvm-hello-world/target/branching2.ll rename to old/examples/llvm-hello-world/target/branching2.ll diff --git a/examples/llvm-hello-world/target/call.cpp b/old/examples/llvm-hello-world/target/call.cpp similarity index 100% rename from examples/llvm-hello-world/target/call.cpp rename to old/examples/llvm-hello-world/target/call.cpp diff --git a/examples/llvm-hello-world/target/call.ll b/old/examples/llvm-hello-world/target/call.ll similarity index 100% rename from examples/llvm-hello-world/target/call.ll rename to old/examples/llvm-hello-world/target/call.ll diff --git a/examples/llvm-hello-world/target/call2.cpp b/old/examples/llvm-hello-world/target/call2.cpp similarity index 100% rename from examples/llvm-hello-world/target/call2.cpp rename to old/examples/llvm-hello-world/target/call2.cpp diff --git a/examples/llvm-hello-world/target/call2.ll b/old/examples/llvm-hello-world/target/call2.ll similarity index 100% rename from examples/llvm-hello-world/target/call2.ll rename to old/examples/llvm-hello-world/target/call2.ll diff --git a/examples/llvm-hello-world/target/exception.cpp b/old/examples/llvm-hello-world/target/exception.cpp similarity index 100% rename from examples/llvm-hello-world/target/exception.cpp rename to old/examples/llvm-hello-world/target/exception.cpp diff --git a/examples/llvm-hello-world/target/exception.ll b/old/examples/llvm-hello-world/target/exception.ll similarity index 100% rename from examples/llvm-hello-world/target/exception.ll rename to old/examples/llvm-hello-world/target/exception.ll diff --git a/examples/llvm-hello-world/target/functions.cpp b/old/examples/llvm-hello-world/target/functions.cpp similarity index 100% rename from examples/llvm-hello-world/target/functions.cpp rename to old/examples/llvm-hello-world/target/functions.cpp diff --git a/examples/llvm-hello-world/target/functions.ll b/old/examples/llvm-hello-world/target/functions.ll similarity index 100% rename from examples/llvm-hello-world/target/functions.ll rename to old/examples/llvm-hello-world/target/functions.ll diff --git a/examples/llvm-hello-world/target/functions2.cpp b/old/examples/llvm-hello-world/target/functions2.cpp similarity index 100% rename from examples/llvm-hello-world/target/functions2.cpp rename to old/examples/llvm-hello-world/target/functions2.cpp diff --git a/examples/llvm-hello-world/target/functions2.ll b/old/examples/llvm-hello-world/target/functions2.ll similarity index 100% rename from examples/llvm-hello-world/target/functions2.ll rename to old/examples/llvm-hello-world/target/functions2.ll diff --git a/examples/llvm-hello-world/target/llvm_intrinsic_functions.cpp b/old/examples/llvm-hello-world/target/llvm_intrinsic_functions.cpp similarity index 100% rename from examples/llvm-hello-world/target/llvm_intrinsic_functions.cpp rename to old/examples/llvm-hello-world/target/llvm_intrinsic_functions.cpp diff --git a/examples/llvm-hello-world/target/llvm_intrinsic_functions.ll b/old/examples/llvm-hello-world/target/llvm_intrinsic_functions.ll similarity index 100% rename from examples/llvm-hello-world/target/llvm_intrinsic_functions.ll rename to old/examples/llvm-hello-world/target/llvm_intrinsic_functions.ll diff --git a/examples/llvm-hello-world/target/llvm_intrinsic_functions2.cpp b/old/examples/llvm-hello-world/target/llvm_intrinsic_functions2.cpp similarity index 100% rename from examples/llvm-hello-world/target/llvm_intrinsic_functions2.cpp rename to old/examples/llvm-hello-world/target/llvm_intrinsic_functions2.cpp diff --git a/examples/llvm-hello-world/target/llvm_intrinsic_functions2.ll b/old/examples/llvm-hello-world/target/llvm_intrinsic_functions2.ll similarity index 100% rename from examples/llvm-hello-world/target/llvm_intrinsic_functions2.ll rename to old/examples/llvm-hello-world/target/llvm_intrinsic_functions2.ll diff --git a/examples/llvm-hello-world/target/loop.cpp b/old/examples/llvm-hello-world/target/loop.cpp similarity index 100% rename from examples/llvm-hello-world/target/loop.cpp rename to old/examples/llvm-hello-world/target/loop.cpp diff --git a/examples/llvm-hello-world/target/loop.ll b/old/examples/llvm-hello-world/target/loop.ll similarity index 100% rename from examples/llvm-hello-world/target/loop.ll rename to old/examples/llvm-hello-world/target/loop.ll diff --git a/examples/llvm-hello-world/target/loop2.cpp b/old/examples/llvm-hello-world/target/loop2.cpp similarity index 100% rename from examples/llvm-hello-world/target/loop2.cpp rename to old/examples/llvm-hello-world/target/loop2.cpp diff --git a/examples/llvm-hello-world/target/loop2.ll b/old/examples/llvm-hello-world/target/loop2.ll similarity index 100% rename from examples/llvm-hello-world/target/loop2.ll rename to old/examples/llvm-hello-world/target/loop2.ll diff --git a/examples/llvm-hello-world/target/pointers.cpp b/old/examples/llvm-hello-world/target/pointers.cpp similarity index 100% rename from examples/llvm-hello-world/target/pointers.cpp rename to old/examples/llvm-hello-world/target/pointers.cpp diff --git a/examples/llvm-hello-world/target/pointers.ll b/old/examples/llvm-hello-world/target/pointers.ll similarity index 100% rename from examples/llvm-hello-world/target/pointers.ll rename to old/examples/llvm-hello-world/target/pointers.ll diff --git a/examples/llvm-hello-world/target/pointers2.cpp b/old/examples/llvm-hello-world/target/pointers2.cpp similarity index 100% rename from examples/llvm-hello-world/target/pointers2.cpp rename to old/examples/llvm-hello-world/target/pointers2.cpp diff --git a/examples/llvm-hello-world/target/pointers2.ll b/old/examples/llvm-hello-world/target/pointers2.ll similarity index 100% rename from examples/llvm-hello-world/target/pointers2.ll rename to old/examples/llvm-hello-world/target/pointers2.ll diff --git a/examples/llvm-hello-world/target/simple.cpp b/old/examples/llvm-hello-world/target/simple.cpp similarity index 100% rename from examples/llvm-hello-world/target/simple.cpp rename to old/examples/llvm-hello-world/target/simple.cpp diff --git a/examples/llvm-hello-world/target/simple.ll b/old/examples/llvm-hello-world/target/simple.ll similarity index 100% rename from examples/llvm-hello-world/target/simple.ll rename to old/examples/llvm-hello-world/target/simple.ll diff --git a/examples/llvm-hello-world/target/simple2.cpp b/old/examples/llvm-hello-world/target/simple2.cpp similarity index 100% rename from examples/llvm-hello-world/target/simple2.cpp rename to old/examples/llvm-hello-world/target/simple2.cpp diff --git a/examples/llvm-hello-world/target/simple2.ll b/old/examples/llvm-hello-world/target/simple2.ll similarity index 100% rename from examples/llvm-hello-world/target/simple2.ll rename to old/examples/llvm-hello-world/target/simple2.ll diff --git a/examples/llvm-hello-world/target/struct.cpp b/old/examples/llvm-hello-world/target/struct.cpp similarity index 100% rename from examples/llvm-hello-world/target/struct.cpp rename to old/examples/llvm-hello-world/target/struct.cpp diff --git a/examples/llvm-hello-world/target/struct.ll b/old/examples/llvm-hello-world/target/struct.ll similarity index 100% rename from examples/llvm-hello-world/target/struct.ll rename to old/examples/llvm-hello-world/target/struct.ll diff --git a/examples/llvm-hello-world/target/struct2.cpp b/old/examples/llvm-hello-world/target/struct2.cpp similarity index 100% rename from examples/llvm-hello-world/target/struct2.cpp rename to old/examples/llvm-hello-world/target/struct2.cpp diff --git a/examples/llvm-hello-world/target/struct2.ll b/old/examples/llvm-hello-world/target/struct2.ll similarity index 100% rename from examples/llvm-hello-world/target/struct2.ll rename to old/examples/llvm-hello-world/target/struct2.ll diff --git a/examples/llvm-hello-world/target/struct3.cpp b/old/examples/llvm-hello-world/target/struct3.cpp similarity index 100% rename from examples/llvm-hello-world/target/struct3.cpp rename to old/examples/llvm-hello-world/target/struct3.cpp diff --git a/examples/llvm-hello-world/target/struct3.ll b/old/examples/llvm-hello-world/target/struct3.ll similarity index 100% rename from examples/llvm-hello-world/target/struct3.ll rename to old/examples/llvm-hello-world/target/struct3.ll diff --git a/examples/use-phasar-as-library/CMakeLists.txt b/old/examples/use-phasar-as-library/CMakeLists.txt similarity index 100% rename from examples/use-phasar-as-library/CMakeLists.txt rename to old/examples/use-phasar-as-library/CMakeLists.txt diff --git a/examples/use-phasar-as-library/README.md b/old/examples/use-phasar-as-library/README.md similarity index 100% rename from examples/use-phasar-as-library/README.md rename to old/examples/use-phasar-as-library/README.md diff --git a/examples/use-phasar-as-library/myphasartool.cpp b/old/examples/use-phasar-as-library/myphasartool.cpp similarity index 100% rename from examples/use-phasar-as-library/myphasartool.cpp rename to old/examples/use-phasar-as-library/myphasartool.cpp diff --git a/githooks/README.txt b/old/githooks/README.txt similarity index 100% rename from githooks/README.txt rename to old/githooks/README.txt diff --git a/githooks/pre-commit b/old/githooks/pre-commit similarity index 100% rename from githooks/pre-commit rename to old/githooks/pre-commit diff --git a/githooks/pre-push b/old/githooks/pre-push similarity index 100% rename from githooks/pre-push rename to old/githooks/pre-push diff --git a/img/DragonMedium.png b/old/img/DragonMedium.png similarity index 100% rename from img/DragonMedium.png rename to old/img/DragonMedium.png diff --git a/img/DragonSmall.png b/old/img/DragonSmall.png similarity index 100% rename from img/DragonSmall.png rename to old/img/DragonSmall.png diff --git a/img/Icon_CMYK/Phasar_Icon.ai b/old/img/Icon_CMYK/Phasar_Icon.ai similarity index 100% rename from img/Icon_CMYK/Phasar_Icon.ai rename to old/img/Icon_CMYK/Phasar_Icon.ai diff --git a/img/Icon_CMYK/Phasar_Icon.eps b/old/img/Icon_CMYK/Phasar_Icon.eps similarity index 100% rename from img/Icon_CMYK/Phasar_Icon.eps rename to old/img/Icon_CMYK/Phasar_Icon.eps diff --git a/img/Icon_CMYK/Phasar_Icon.pdf b/old/img/Icon_CMYK/Phasar_Icon.pdf similarity index 100% rename from img/Icon_CMYK/Phasar_Icon.pdf rename to old/img/Icon_CMYK/Phasar_Icon.pdf diff --git a/img/Icon_RGB/Phasar_Icon.jpg b/old/img/Icon_RGB/Phasar_Icon.jpg similarity index 100% rename from img/Icon_RGB/Phasar_Icon.jpg rename to old/img/Icon_RGB/Phasar_Icon.jpg diff --git a/img/Icon_RGB/Phasar_Icon.png b/old/img/Icon_RGB/Phasar_Icon.png similarity index 100% rename from img/Icon_RGB/Phasar_Icon.png rename to old/img/Icon_RGB/Phasar_Icon.png diff --git a/img/Icon_RGB/Phasar_Icon.svg b/old/img/Icon_RGB/Phasar_Icon.svg similarity index 100% rename from img/Icon_RGB/Phasar_Icon.svg rename to old/img/Icon_RGB/Phasar_Icon.svg diff --git a/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai b/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai similarity index 100% rename from img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai rename to old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai diff --git a/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps b/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps similarity index 100% rename from img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps rename to old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps diff --git a/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf b/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf similarity index 100% rename from img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf rename to old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf diff --git a/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg b/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg similarity index 100% rename from img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg rename to old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg diff --git a/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png b/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png similarity index 100% rename from img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png rename to old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png diff --git a/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg b/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg similarity index 100% rename from img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg rename to old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg diff --git a/img/LLVM-Logo-Derivative-1.png b/old/img/LLVM-Logo-Derivative-1.png similarity index 100% rename from img/LLVM-Logo-Derivative-1.png rename to old/img/LLVM-Logo-Derivative-1.png diff --git a/img/LLVM-Logo-Derivative-2.png b/old/img/LLVM-Logo-Derivative-2.png similarity index 100% rename from img/LLVM-Logo-Derivative-2.png rename to old/img/LLVM-Logo-Derivative-2.png diff --git a/img/LLVM-Logo-Derivative-3.png b/old/img/LLVM-Logo-Derivative-3.png similarity index 100% rename from img/LLVM-Logo-Derivative-3.png rename to old/img/LLVM-Logo-Derivative-3.png diff --git a/img/LLVM-Logo-Derivative-4.png b/old/img/LLVM-Logo-Derivative-4.png similarity index 100% rename from img/LLVM-Logo-Derivative-4.png rename to old/img/LLVM-Logo-Derivative-4.png diff --git a/img/LLVM-Logo-Derivative-5.png b/old/img/LLVM-Logo-Derivative-5.png similarity index 100% rename from img/LLVM-Logo-Derivative-5.png rename to old/img/LLVM-Logo-Derivative-5.png diff --git a/img/Logo_CMYK/Phasar_Logo.ai b/old/img/Logo_CMYK/Phasar_Logo.ai similarity index 100% rename from img/Logo_CMYK/Phasar_Logo.ai rename to old/img/Logo_CMYK/Phasar_Logo.ai diff --git a/img/Logo_CMYK/Phasar_Logo.eps b/old/img/Logo_CMYK/Phasar_Logo.eps similarity index 100% rename from img/Logo_CMYK/Phasar_Logo.eps rename to old/img/Logo_CMYK/Phasar_Logo.eps diff --git a/img/Logo_CMYK/Phasar_Logo.pdf b/old/img/Logo_CMYK/Phasar_Logo.pdf similarity index 100% rename from img/Logo_CMYK/Phasar_Logo.pdf rename to old/img/Logo_CMYK/Phasar_Logo.pdf diff --git a/img/Logo_RGB/Phasar_Logo.jpg b/old/img/Logo_RGB/Phasar_Logo.jpg similarity index 100% rename from img/Logo_RGB/Phasar_Logo.jpg rename to old/img/Logo_RGB/Phasar_Logo.jpg diff --git a/img/Logo_RGB/Phasar_Logo.png b/old/img/Logo_RGB/Phasar_Logo.png similarity index 100% rename from img/Logo_RGB/Phasar_Logo.png rename to old/img/Logo_RGB/Phasar_Logo.png diff --git a/img/Logo_RGB/Phasar_Logo.svg b/old/img/Logo_RGB/Phasar_Logo.svg similarity index 100% rename from img/Logo_RGB/Phasar_Logo.svg rename to old/img/Logo_RGB/Phasar_Logo.svg diff --git a/img/Phasar Color Guide.docx b/old/img/Phasar Color Guide.docx similarity index 100% rename from img/Phasar Color Guide.docx rename to old/img/Phasar Color Guide.docx diff --git a/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf b/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf similarity index 100% rename from img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf rename to old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf diff --git a/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png b/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png similarity index 100% rename from img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png rename to old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png diff --git a/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx b/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx similarity index 100% rename from img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx rename to old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx diff --git a/img/ifds_uninit_exploded_supergraph/output.txt b/old/img/ifds_uninit_exploded_supergraph/output.txt similarity index 100% rename from img/ifds_uninit_exploded_supergraph/output.txt rename to old/img/ifds_uninit_exploded_supergraph/output.txt diff --git a/img/ifds_uninit_exploded_supergraph/recorded_edges.txt b/old/img/ifds_uninit_exploded_supergraph/recorded_edges.txt similarity index 100% rename from img/ifds_uninit_exploded_supergraph/recorded_edges.txt rename to old/img/ifds_uninit_exploded_supergraph/recorded_edges.txt diff --git a/out/.gitkeep b/old/out/.gitkeep similarity index 100% rename from out/.gitkeep rename to old/out/.gitkeep diff --git a/phasar-clang_more_help.txt b/old/phasar-clang_more_help.txt similarity index 100% rename from phasar-clang_more_help.txt rename to old/phasar-clang_more_help.txt diff --git a/phasar-llvm_more_help.txt b/old/phasar-llvm_more_help.txt similarity index 100% rename from phasar-llvm_more_help.txt rename to old/phasar-llvm_more_help.txt diff --git a/utils/CodeGen/.clang-format b/old/utils/CodeGen/.clang-format similarity index 100% rename from utils/CodeGen/.clang-format rename to old/utils/CodeGen/.clang-format diff --git a/utils/CodeGen/codegen.py b/old/utils/CodeGen/codegen.py similarity index 100% rename from utils/CodeGen/codegen.py rename to old/utils/CodeGen/codegen.py diff --git a/utils/CodeGen/doc.txt b/old/utils/CodeGen/doc.txt similarity index 100% rename from utils/CodeGen/doc.txt rename to old/utils/CodeGen/doc.txt diff --git a/utils/CodeGen/example.cfg b/old/utils/CodeGen/example.cfg similarity index 100% rename from utils/CodeGen/example.cfg rename to old/utils/CodeGen/example.cfg diff --git a/utils/CodeGen/output/.gitkeep b/old/utils/CodeGen/output/.gitkeep similarity index 100% rename from utils/CodeGen/output/.gitkeep rename to old/utils/CodeGen/output/.gitkeep diff --git a/utils/CodeGen/template/cpp.template b/old/utils/CodeGen/template/cpp.template similarity index 100% rename from utils/CodeGen/template/cpp.template rename to old/utils/CodeGen/template/cpp.template diff --git a/utils/CodeGen/template/cppfunction.template b/old/utils/CodeGen/template/cppfunction.template similarity index 100% rename from utils/CodeGen/template/cppfunction.template rename to old/utils/CodeGen/template/cppfunction.template diff --git a/utils/CodeGen/template/header.template b/old/utils/CodeGen/template/header.template similarity index 100% rename from utils/CodeGen/template/header.template rename to old/utils/CodeGen/template/header.template diff --git a/utils/CodeGen/template/hfunction.template b/old/utils/CodeGen/template/hfunction.template similarity index 100% rename from utils/CodeGen/template/hfunction.template rename to old/utils/CodeGen/template/hfunction.template diff --git a/utils/CodeGen/template/stdfforheader.template b/old/utils/CodeGen/template/stdfforheader.template similarity index 100% rename from utils/CodeGen/template/stdfforheader.template rename to old/utils/CodeGen/template/stdfforheader.template diff --git a/utils/DB/phasar-create-db-scheme.sql b/old/utils/DB/phasar-create-db-scheme.sql similarity index 100% rename from utils/DB/phasar-create-db-scheme.sql rename to old/utils/DB/phasar-create-db-scheme.sql diff --git a/utils/DB/phasar-sql2cpp.py b/old/utils/DB/phasar-sql2cpp.py similarity index 100% rename from utils/DB/phasar-sql2cpp.py rename to old/utils/DB/phasar-sql2cpp.py diff --git a/utils/InitializeEnvironment.sh b/old/utils/InitializeEnvironment.sh similarity index 100% rename from utils/InitializeEnvironment.sh rename to old/utils/InitializeEnvironment.sh diff --git a/utils/InstallAptDependencies.sh b/old/utils/InstallAptDependencies.sh similarity index 100% rename from utils/InstallAptDependencies.sh rename to old/utils/InstallAptDependencies.sh diff --git a/utils/init-submodules-release.sh b/old/utils/init-submodules-release.sh similarity index 100% rename from utils/init-submodules-release.sh rename to old/utils/init-submodules-release.sh diff --git a/utils/install-llvm.sh b/old/utils/install-llvm.sh similarity index 100% rename from utils/install-llvm.sh rename to old/utils/install-llvm.sh diff --git a/utils/installBuildEAR.sh b/old/utils/installBuildEAR.sh similarity index 100% rename from utils/installBuildEAR.sh rename to old/utils/installBuildEAR.sh diff --git a/utils/phasar-compile2llvmIR.py b/old/utils/phasar-compile2llvmIR.py similarity index 100% rename from utils/phasar-compile2llvmIR.py rename to old/utils/phasar-compile2llvmIR.py diff --git a/utils/phasar-mkconfig.sh b/old/utils/phasar-mkconfig.sh similarity index 100% rename from utils/phasar-mkconfig.sh rename to old/utils/phasar-mkconfig.sh diff --git a/utils/phasar-plot-pamm.py b/old/utils/phasar-plot-pamm.py similarity index 100% rename from utils/phasar-plot-pamm.py rename to old/utils/phasar-plot-pamm.py diff --git a/utils/run-clang-format.py b/old/utils/run-clang-format.py similarity index 100% rename from utils/run-clang-format.py rename to old/utils/run-clang-format.py diff --git a/utils/run-phasar-checks.sh b/old/utils/run-phasar-checks.sh similarity index 100% rename from utils/run-phasar-checks.sh rename to old/utils/run-phasar-checks.sh diff --git a/utils/safeCommandsSet.sh b/old/utils/safeCommandsSet.sh similarity index 100% rename from utils/safeCommandsSet.sh rename to old/utils/safeCommandsSet.sh diff --git a/utils/setEnvironmentVariables.sh b/old/utils/setEnvironmentVariables.sh similarity index 100% rename from utils/setEnvironmentVariables.sh rename to old/utils/setEnvironmentVariables.sh From 41f983a5308cc3b4eb2d23108d19847380deee81 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 26 Jul 2022 19:41:01 +0200 Subject: [PATCH 03/95] restructure: moving include / src / test --- move_to_phasar_folder.sh | 67 +++++++++++++++++++ .../clang/include}/ClangController.h | 0 .../clang/include}/RandomChangeASTConsumer.h | 0 .../include}/RandomChangeFrontendAction.h | 0 .../clang/include}/RandomChangeVisitor.h | 0 .../clang/src}/ClangController.cpp | 0 .../clang/src}/RandomChangeASTConsumer.cpp | 0 .../clang/src}/RandomChangeFrontendAction.cpp | 0 .../clang/src}/RandomChangeVisitor.cpp | 0 .../config/include}/Configuration.h | 0 .../config/include}/ContainerConfiguration.h | 0 .../config/include}/Version.h | 0 .../config/src}/Configuration.cpp | 0 .../controller/include}/AnalysisController.h | 0 .../controller/src}/AnalysisController.cpp | 0 .../src}/AnalysisControllerXIDECSTDIOTS.cpp | 0 .../src}/AnalysisControllerXIDEIIA.cpp | 0 .../AnalysisControllerXIDELinearConst.cpp | 0 .../src}/AnalysisControllerXIDEOpenSSLTS.cpp | 0 .../src}/AnalysisControllerXIDESolverTest.cpp | 0 .../src}/AnalysisControllerXIDEXTaint.cpp | 0 .../src}/AnalysisControllerXIFDSConst.cpp | 0 .../AnalysisControllerXIFDSFieldSensTaint.cpp | 0 .../AnalysisControllerXIFDSLinearConst.cpp | 0 .../AnalysisControllerXIFDSSolverTest.cpp | 0 .../src}/AnalysisControllerXIFDSTaint.cpp | 0 .../src}/AnalysisControllerXIFDSType.cpp | 0 .../src}/AnalysisControllerXIFDSUninit.cpp | 0 ...AnalysisControllerXInterMonoSolverTest.cpp | 0 .../AnalysisControllerXInterMonoTaint.cpp | 0 ...alysisControllerXIntraMonoFullConstant.cpp | 0 ...AnalysisControllerXIntraMonoSolverTest.cpp | 0 .../phasar/DB => phasar/db/include}/DBConn.h | 0 .../DB => phasar/db/include}/Hexastore.h | 0 .../DB => phasar/db/include}/ProjectIRDB.h | 0 .../phasar/DB => phasar/db/include}/Queries.h | 0 {lib/DB => phasar/db/src}/DBConn.cpp | 0 {lib/DB => phasar/db/src}/Hexastore.cpp | 0 {lib/DB => phasar/db/src}/ProjectIRDB.cpp | 0 {lib/DB => phasar/db/src}/Queries.cpp | 0 .../DB => phasar/db/test/src}/DBConnTest.cpp | 0 .../db/test/src}/HexastoreTest.cpp | 0 .../experimental/include}/Experimental.h | 0 .../experimental/src}/Experimental.cpp | 0 .../include}/AnalysisStrategy/AnalysisSetup.h | 0 .../AnalysisStrategy/DemandDrivenAnalysis.h | 0 .../IncrementalUpdateAnalysis.h | 0 .../AnalysisStrategy/ModuleWiseAnalysis.h | 0 .../include}/AnalysisStrategy/Strategies.def | 0 .../include}/AnalysisStrategy/Strategies.h | 0 .../AnalysisStrategy/VariationalAnalysis.h | 0 .../AnalysisStrategy/WholeProgramAnalysis.h | 0 .../llvm/include}/ControlFlow/BiDiICFG.h | 0 .../llvm/include}/ControlFlow/CFG.h | 0 .../llvm/include}/ControlFlow/ICFG.h | 0 .../ControlFlow/LLVMBasedBackwardCFG.h | 0 .../ControlFlow/LLVMBasedBackwardICFG.h | 0 .../include}/ControlFlow/LLVMBasedBiDiICFG.h | 0 .../llvm/include}/ControlFlow/LLVMBasedCFG.h | 0 .../llvm/include}/ControlFlow/LLVMBasedICFG.h | 0 .../ControlFlow/Resolver/CHAResolver.h | 0 .../ControlFlow/Resolver/DTAResolver.h | 0 .../ControlFlow/Resolver/NOResolver.h | 0 .../ControlFlow/Resolver/OTFResolver.h | 0 .../ControlFlow/Resolver/RTAResolver.h | 0 .../include}/ControlFlow/Resolver/Resolver.h | 0 .../ControlFlow/SpecialMemberFunctionType.def | 0 .../DataFlowSolver/IfdsIde/DefaultSeeds.h | 0 .../DataFlowSolver/IfdsIde/EdgeFact.h | 0 .../DataFlowSolver/IfdsIde/EdgeFactWrapper.h | 0 .../IfdsIde/EdgeFunctionComposer.h | 0 .../DataFlowSolver/IfdsIde/EdgeFunctions.h | 0 .../IfdsIde/FlowEdgeFunctionCache.h | 0 .../DataFlowSolver/IfdsIde/FlowFact.h | 0 .../DataFlowSolver/IfdsIde/FlowFactWrapper.h | 0 .../DataFlowSolver/IfdsIde/FlowFunctions.h | 0 .../DataFlowSolver/IfdsIde/IDESummaries.h | 0 .../DataFlowSolver/IfdsIde/IDESummary.h | 0 .../IfdsIde/IDETabulationProblem.h | 0 .../BranchSwitchInstFlowFunction.h | 0 .../FlowFunctions/CallToRetFlowFunction.h | 0 .../FlowFunctions/CheckOperandsFlowFunction.h | 0 .../FlowFunctions/FlowFunctionBase.h | 0 .../FlowFunctions/GEPInstFlowFunction.h | 0 .../FlowFunctions/GenerateFlowFunction.h | 0 .../FlowFunctions/IdentityFlowFunction.h | 0 .../FlowFunctions/MapTaintedValuesToCallee.h | 0 .../FlowFunctions/MapTaintedValuesToCaller.h | 0 .../FlowFunctions/MemSetInstFlowFunction.h | 0 .../MemTransferInstFlowFunction.h | 0 .../FlowFunctions/PHINodeFlowFunction.h | 0 .../FlowFunctions/ReturnInstFlowFunction.h | 0 .../FlowFunctions/StoreInstFlowFunction.h | 0 .../FlowFunctions/VAEndInstFlowFunction.h | 0 .../FlowFunctions/VAStartInstFlowFunction.h | 0 .../Stats/LcovRetValWriter.h | 0 .../Stats/LcovWriter.h | 0 .../Stats/LineNumberEntry.h | 0 .../Stats/LineNumberWriter.h | 0 .../Stats/TraceStats.h | 0 .../Stats/TraceStatsWriter.h | 0 .../Utils/DataFlowUtils.h | 0 .../IFDSFieldSensTaintAnalysis/Utils/Log.h | 0 .../IfdsIde/IFDSIDESolverConfig.h | 0 .../DataFlowSolver/IfdsIde/IFDSSummary.h | 0 .../IfdsIde/IFDSTabulationProblem.h | 0 .../DataFlowSolver/IfdsIde/InitialSeeds.h | 0 .../DataFlowSolver/IfdsIde/JoinLattice.h | 0 .../IfdsIde/LLVMFlowFunctions.h | 0 .../DataFlowSolver/IfdsIde/LLVMZeroValue.h | 0 .../AbstractMemoryLocation.h | 0 .../AbstractMemoryLocationFactory.h | 0 .../ComposeEdgeFunction.h | 0 .../ExtendedTaintAnalysis/DebugEdgeIdentity.h | 0 .../ExtendedTaintAnalysis/EdgeDomain.h | 0 .../ExtendedTaintAnalysis/GenEdgeFunction.h | 0 .../Problems/ExtendedTaintAnalysis/Helpers.h | 0 .../JoinConstEdgeFunction.h | 0 .../ExtendedTaintAnalysis/JoinEdgeFunction.h | 0 .../KillIfSanitizedEdgeFunction.h | 0 .../TransferEdgeFunction.h | 0 .../XTaintAnalysisBase.h | 0 .../XTaintEdgeFunctionBase.h | 0 .../Problems/IDEExtendedTaintAnalysis.h | 0 .../Problems/IDEGeneralizedLCA/AllBot.h | 0 .../IDEGeneralizedLCA/BinaryEdgeFunction.h | 0 .../IDEGeneralizedLCA/ConstantHelper.h | 0 .../Problems/IDEGeneralizedLCA/EdgeValue.h | 0 .../Problems/IDEGeneralizedLCA/EdgeValueSet.h | 0 .../Problems/IDEGeneralizedLCA/GenConstant.h | 0 .../IDEGeneralizedLCA/IDEGeneralizedLCA.h | 0 .../IDEGeneralizedLCA/JoinEdgeFunction.h | 0 .../LCAEdgeFunctionComposer.h | 0 .../MapFactsToCalleeFlowFunction.h | 0 .../MapFactsToCallerFlowFunction.h | 0 .../IDEGeneralizedLCA/TypecastEdgeFunction.h | 0 .../Problems/IDEInstInteractionAnalysis.h | 0 .../Problems/IDELinearConstantAnalysis.h | 0 .../IfdsIde/Problems/IDEProtoAnalysis.h | 0 .../Problems/IDESecureHeapPropagation.h | 0 .../IfdsIde/Problems/IDESolverTest.h | 0 .../IfdsIde/Problems/IDETaintAnalysis.h | 0 .../IfdsIde/Problems/IDETypeStateAnalysis.h | 0 .../IfdsIde/Problems/IFDSConstAnalysis.h | 0 .../Problems/IFDSFieldSensTaintAnalysis.h | 0 .../Problems/IFDSLinearConstantAnalysis.h | 0 .../IfdsIde/Problems/IFDSProtoAnalysis.h | 0 .../IfdsIde/Problems/IFDSSignAnalysis.h | 0 .../IfdsIde/Problems/IFDSSolverTest.h | 0 .../IfdsIde/Problems/IFDSTaintAnalysis.h | 0 .../IfdsIde/Problems/IFDSTypeAnalysis.h | 0 .../Problems/IFDSUninitializedVariables.h | 0 .../CSTDFILEIOTypeStateDescription.h | 0 .../OpenSSLEVPKDFCTXDescription.h | 0 .../OpenSSLEVPKDFDescription.h | 0 .../OpenSSLSecureHeapDescription.h | 0 .../OpenSSLSecureMemoryDescription.h | 0 .../TypeStateDescription.h | 0 .../IfdsIde/Solver/BiDiIDESolver.h | 0 .../IfdsIde/Solver/BiDiIFDSSolver.h | 0 .../IfdsIde/Solver/DefaultSeeds.h | 0 .../DataFlowSolver/IfdsIde/Solver/IDESolver.h | 0 .../IfdsIde/Solver/IFDSSolver.h | 0 .../Solver/IFDSToIDETabulationProblem.h | 0 .../IfdsIde/Solver/JoinHandlingNode.h | 0 .../Solver/JoinHandlingNodeIFDSSolver.h | 0 .../IfdsIde/Solver/JumpFunctions.h | 0 .../IfdsIde/Solver/LinkedNode.h | 0 .../DataFlowSolver/IfdsIde/Solver/PathEdge.h | 0 .../IfdsIde/Solver/SolverResults.h | 0 .../DataFlowSolver/IfdsIde/SpecialSummaries.h | 0 .../include}/DataFlowSolver/Mono/CallString.h | 0 .../Mono/Contexts/CallStringCTX.h | 0 .../DataFlowSolver/Mono/InterMonoProblem.h | 0 .../DataFlowSolver/Mono/IntraMonoProblem.h | 0 .../InterMonoFullConstantPropagation.h | 0 .../Mono/Problems/InterMonoSolverTest.h | 0 .../Mono/Problems/InterMonoTaintAnalysis.h | 0 .../IntraMonoFullConstantPropagation.h | 0 .../Mono/Problems/IntraMonoSolverTest.h | 0 .../Mono/Problems/IntraMonoUninitVariables.h | 0 .../Mono/Solver/InterMonoSolver.h | 0 .../Mono/Solver/IntraMonoSolver.h | 0 .../SyncPDS/Solver/SyncPDSSolver.h | 0 .../WPDS/JoinLatticeToSemiRingElem.h | 0 .../WPDS/Problems/WPDSAliasCollector.h | 0 .../Problems/WPDSLinearConstantAnalysis.h | 0 .../WPDS/Problems/WPDSSolverTest.h | 0 .../DataFlowSolver/WPDS/Solver/PDSSolver.h | 0 .../DataFlowSolver/WPDS/Solver/WPDSSolver.h | 0 .../DataFlowSolver/WPDS/WPDSGenKillProblem.h | 0 .../DataFlowSolver/WPDS/WPDSOptions.h | 0 .../DataFlowSolver/WPDS/WPDSProblem.h | 0 .../DataFlowSolver/WPDS/WPDSSolverConfig.h | 0 .../include}/DataFlowSolver/WPDS/WPDSType.def | 0 .../llvm/include}/Domain/AnalysisDomain.h | 0 .../llvm/include}/Domain/ExtendedValue.h | 0 .../llvm/include}/Passes/ExampleModulePass.h | 0 .../Passes/GeneralStatisticsAnalysis.h | 0 .../include}/Passes/ValueAnnotationPass.h | 0 .../include}/Pointer/DynamicPointsToSetPtr.h | 0 .../Pointer/LLVMBasedPointsToAnalysis.h | 0 .../llvm/include}/Pointer/LLVMPointsToGraph.h | 0 .../llvm/include}/Pointer/LLVMPointsToInfo.h | 0 .../llvm/include}/Pointer/LLVMPointsToSet.h | 0 .../llvm/include}/Pointer/LLVMPointsToUtils.h | 0 .../llvm/include}/Pointer/PointsToInfo.h | 0 .../llvm/include}/Pointer/PointsToSetOwner.h | 0 .../Pointer/TypeGraphs/CachedTypeGraph.h | 0 .../Pointer/TypeGraphs/LazyTypeGraph.h | 0 .../include}/Pointer/TypeGraphs/TypeGraph.h | 0 .../llvm/include}/TaintConfig/TaintConfig.h | 0 .../TaintConfig/TaintConfigUtilities.h | 0 .../TypeHierarchy/LLVMTypeHierarchy.h | 0 .../llvm/include}/TypeHierarchy/LLVMVFTable.h | 0 .../include}/TypeHierarchy/TypeHierarchy.h | 0 .../llvm/include}/TypeHierarchy/VFTable.h | 0 .../llvm/include}/Utils/AnalysisSetups.def | 0 .../llvm/include}/Utils/Annotation.h | 0 .../llvm/include}/Utils/BasicBlockOrdering.h | 0 .../llvm/include}/Utils/BinaryDomain.h | 0 .../llvm/include}/Utils/DOTGraph.h | 0 .../include}/Utils/DataFlowAnalysisType.def | 0 .../include}/Utils/DataFlowAnalysisType.h | 0 .../llvm/include}/Utils/IOFormat.def | 0 .../llvm/include}/Utils/IOFormat.h | 0 .../llvm/include}/Utils/LatticeDomain.h | 0 .../llvm/include}/Utils/Printer.h | 0 .../llvm/include}/Utils/Scopes.h | 0 .../llvm/include}/Utils/SummaryStrategy.h | 0 .../llvm/src}/AnalysisStrategy/Strategies.cpp | 0 .../llvm/src}/ControlFlow/CFG.cpp | 0 .../llvm/src}/ControlFlow/ICFG.cpp | 0 .../src}/ControlFlow/LLVMBasedBackwardCFG.cpp | 0 .../ControlFlow/LLVMBasedBackwardICFG.cpp | 0 .../src}/ControlFlow/LLVMBasedBiDiICFG.cpp | 0 .../llvm/src}/ControlFlow/LLVMBasedCFG.cpp | 0 .../llvm/src}/ControlFlow/LLVMBasedICFG.cpp | 0 .../src}/ControlFlow/Resolver/CHAResolver.cpp | 0 .../src}/ControlFlow/Resolver/DTAResolver.cpp | 0 .../src}/ControlFlow/Resolver/NOResolver.cpp | 0 .../src}/ControlFlow/Resolver/OTFResolver.cpp | 0 .../src}/ControlFlow/Resolver/RTAResolver.cpp | 0 .../src}/ControlFlow/Resolver/Resolver.cpp | 0 .../BranchSwitchInstFlowFunction.cpp | 0 .../FlowFunctions/CallToRetFlowFunction.cpp | 0 .../CheckOperandsFlowFunction.cpp | 0 .../FlowFunctions/FlowFunctionBase.cpp | 0 .../FlowFunctions/GEPInstFlowFunction.cpp | 0 .../FlowFunctions/GenerateFlowFunction.cpp | 0 .../FlowFunctions/IdentityFlowFunction.cpp | 0 .../MapTaintedValuesToCallee.cpp | 0 .../MapTaintedValuesToCaller.cpp | 0 .../FlowFunctions/MemSetInstFlowFunction.cpp | 0 .../MemTransferInstFlowFunction.cpp | 0 .../FlowFunctions/PHINodeFlowFunction.cpp | 0 .../FlowFunctions/ReturnInstFlowFunction.cpp | 0 .../FlowFunctions/StoreInstFlowFunction.cpp | 0 .../FlowFunctions/VAEndInstFlowFunction.cpp | 0 .../FlowFunctions/VAStartInstFlowFunction.cpp | 0 .../Stats/LcovRetValWriter.cpp | 0 .../Stats/LcovWriter.cpp | 0 .../Stats/LineNumberWriter.cpp | 0 .../Stats/TraceStats.cpp | 0 .../Utils/DataFlowUtils.cpp | 0 .../IfdsIde/IFDSIDESolverConfig.cpp | 0 .../DataFlowSolver/IfdsIde/IFDSSummary.cpp | 0 .../AbstractMemoryLocation.cpp | 0 .../AbstractMemoryLocationFactory.cpp | 0 .../ComposeEdgeFunction.cpp | 0 .../DebugEdgeIdentity.cpp | 0 .../ExtendedTaintAnalysis/EdgeDomain.cpp | 0 .../ExtendedTaintAnalysis/GenEdgeFunction.cpp | 0 .../ExtendedTaintAnalysis/Helpers.cpp | 0 .../JoinConstEdgeFunction.cpp | 0 .../JoinEdgeFunction.cpp | 0 .../KillIfSanitizedEdgeFunction.cpp | 0 .../TransferEdgeFunction.cpp | 0 .../XTaintAnalysisBase.cpp | 0 .../XTaintEdgeFunctionBase.cpp | 0 .../Problems/IDEExtendedTaintAnalysis.cpp | 0 .../Problems/IDEGeneralizedLCA/AllBot.cpp | 0 .../IDEGeneralizedLCA/BinaryEdgeFunction.cpp | 0 .../IDEGeneralizedLCA/ConstantHelper.cpp | 0 .../Problems/IDEGeneralizedLCA/EdgeValue.cpp | 0 .../IDEGeneralizedLCA/EdgeValueSet.cpp | 0 .../IDEGeneralizedLCA/GenConstant.cpp | 0 .../IDEGeneralizedLCA/IDEGeneralizedLCA.cpp | 0 .../IDEGeneralizedLCA/JoinEdgeFunction.cpp | 0 .../LCAEdgeFunctionComposer.cpp | 0 .../MapFactsToCalleeFlowFunction.cpp | 0 .../MapFactsToCallerFlowFunction.cpp | 0 .../TypecastEdgeFunction.cpp | 0 .../Problems/IDELinearConstantAnalysis.cpp | 0 .../IfdsIde/Problems/IDEProtoAnalysis.cpp | 0 .../Problems/IDESecureHeapPropagation.cpp | 0 .../IfdsIde/Problems/IDESolverTest.cpp | 0 .../IfdsIde/Problems/IDETaintAnalysis.cpp | 0 .../IfdsIde/Problems/IDETypeStateAnalysis.cpp | 0 .../IfdsIde/Problems/IFDSConstAnalysis.cpp | 0 .../Problems/IFDSFieldSensTaintAnalysis.cpp | 0 .../Problems/IFDSLinearConstantAnalysis.cpp | 0 .../IfdsIde/Problems/IFDSProtoAnalysis.cpp | 0 .../IfdsIde/Problems/IFDSSignAnalysis.cpp | 0 .../IfdsIde/Problems/IFDSSolverTest.cpp | 0 .../IfdsIde/Problems/IFDSTaintAnalysis.cpp | 0 .../IfdsIde/Problems/IFDSTypeAnalysis.cpp | 0 .../Problems/IFDSUninitializedVariables.cpp | 0 .../CSTDFILEIOTypeStateDescription.cpp | 0 .../OpenSSLEVPKDFCTXDescription.cpp | 0 .../OpenSSLEVPKDFDescription.cpp | 0 .../OpenSSLSecureHeapDescription.cpp | 0 .../OpenSSLSecureMemoryDescription.cpp | 0 .../Solver/IFDSToIDETabulationProblem.cpp | 0 .../InterMonoFullConstantPropagation.cpp | 0 .../Mono/Problems/InterMonoSolverTest.cpp | 0 .../Mono/Problems/InterMonoTaintAnalysis.cpp | 0 .../IntraMonoFullConstantPropagation.cpp | 0 .../Mono/Problems/IntraMonoSolverTest.cpp | 0 .../Problems/IntraMonoUninitVariables.cpp | 0 .../SyncPDS/Solver/SyncPDSSolver.cpp | 0 .../WPDS/JoinLatticeToSemiRingElem.cpp | 0 .../WPDS/Problems/WPDSAliasCollector.cpp | 0 .../Problems/WPDSLinearConstantAnalysis.cpp | 0 .../WPDS/Problems/WPDSSolverTest.cpp | 0 .../WPDS/WPDSGenKillProblem.cpp | 0 .../src}/DataFlowSolver/WPDS/WPDSOptions.cpp | 0 .../DataFlowSolver/WPDS/WPDSSolverConfig.cpp | 0 .../llvm/src}/Passes/ExampleModulePass.cpp | 0 .../src}/Passes/GeneralStatisticsAnalysis.cpp | 0 .../llvm/src}/Passes/ValueAnnotationPass.cpp | 0 .../Pointer/LLVMBasedPointsToAnalysis.cpp | 0 .../llvm/src}/Pointer/LLVMPointsToGraph.cpp | 0 .../llvm/src}/Pointer/LLVMPointsToInfo.cpp | 0 .../llvm/src}/Pointer/LLVMPointsToSet.cpp | 0 .../llvm/src}/Pointer/LLVMPointsToUtils.cpp | 0 .../llvm/src}/Pointer/PointsToInfo.cpp | 0 .../Pointer/TypeGraphs/CachedTypeGraph.cpp | 0 .../src}/Pointer/TypeGraphs/LazyTypeGraph.cpp | 0 .../llvm/src}/TaintConfig/TaintConfig.cpp | 0 .../src}/TypeHierarchy/LLVMTypeHierarchy.cpp | 0 .../llvm/src}/TypeHierarchy/LLVMVFTable.cpp | 0 .../llvm/src}/Utils/Annotation.cpp | 0 .../llvm/src}/Utils/BasicBlockOrdering.cpp | 0 .../llvm/src}/Utils/BinaryDomain.cpp | 0 .../llvm/src}/Utils/DOTGraph.cpp | 0 .../llvm/src}/Utils/DataFlowAnalysisType.cpp | 0 .../llvm/src}/Utils/IOFormat.cpp | 0 .../llvm/src}/Utils/Scopes.cpp | 0 .../llvm/src}/Utils/SummaryStrategy.cpp | 0 .../ControlFlow/LLVMBasedBackwardCFGTest.cpp | 0 .../ControlFlow/LLVMBasedBackwardICFGTest.cpp | 0 .../src}/ControlFlow/LLVMBasedCFGTest.cpp | 0 .../ControlFlow/LLVMBasedICFGExportTest.cpp | 0 .../LLVMBasedICFGGlobCtorDtorTest.cpp | 0 .../src}/ControlFlow/LLVMBasedICFGTest.cpp | 0 .../ControlFlow/LLVMBasedICFG_CHATest.cpp | 0 .../ControlFlow/LLVMBasedICFG_DTATest.cpp | 0 .../ControlFlow/LLVMBasedICFG_OTFTest.cpp | 0 .../ControlFlow/LLVMBasedICFG_RTATest.cpp | 0 .../IfdsIde/EdgeFunctionComposerTest.cpp | 0 .../EdgeFunctionSingletonFactoryTest.cpp | 0 .../Problems/IDEExtendedTaintAnalysisTest.cpp | 0 .../Problems/IDEGeneralizedLCATest.cpp | 0 .../IDEInstInteractionAnalysisTest.cpp | 0 .../IDELinearConstantAnalysisTest.cpp | 0 .../IDELinearConstantAnalysis_DotTest.cpp | 0 .../Problems/IDETSAnalysisFileIOTest.cpp | 0 .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 0 .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 0 .../IDETSAnalysisOpenSSLSecureMemoryTest.cpp | 0 .../Problems/IFDSConstAnalysisTest.cpp | 0 .../Problems/IFDSTaintAnalysisTest.cpp | 0 .../IFDSUninitializedVariablesTest.cpp | 0 .../InterMonoFullConstantPropagationTest.cpp | 0 .../Mono/InterMonoTaintAnalysisTest.cpp | 0 .../IntraMonoFullConstantPropagationTest.cpp | 0 .../Mono/IntraMonoUninitVariablesTest.cpp | 0 .../WPDS/Solver/WPDSSolverTest.cpp | 0 .../LLVMPointsToSetSerializationTest.cpp | 0 .../test/src}/Pointer/LLVMPointsToSetTest.cpp | 0 .../test/src}/TaintConfig/TaintConfigTest.cpp | 0 .../TypeHierarchy/LLVMTypeHierarchyTest.cpp | 0 .../test/src}/TypeHierarchy/TypeGraphTest.cpp | 0 .../test/src}/Utils/LatticeDomainTest.cpp | 0 .../WPDSLinearConstantAnalysisTest.cpp | 0 .../pass/include}/Options.h | 0 .../pass/include}/PhasarPass.h | 0 .../pass/include}/PhasarPrinterPass.h | 0 .../pass/include}/RegisterPasses.h | 0 .../pass/src}/PhasarPass.cpp | 0 .../pass/src}/PhasarPrinterPass.cpp | 0 .../pass/src}/RegisterPasses.cpp | 0 .../utils/include}/BitVectorSet.h | 0 .../utils/include}/DebugOutput.h | 0 .../utils/include}/EnumFlags.h | 0 .../utils/include}/EquivalenceClassMap.h | 0 .../utils/include}/GraphExtensions.h | 0 .../Utils => phasar/utils/include}/IO.h | 0 .../utils/include}/LLVMCXXShorthands.h | 0 .../utils/include}/LLVMIRToSrc.h | 0 .../utils/include}/LLVMShorthands.h | 0 .../Utils => phasar/utils/include}/Logger.h | 0 .../utils/include}/MultiIndexTable.h | 0 .../utils/include}/NlohmannLogging.h | 0 .../Utils => phasar/utils/include}/PAMM.h | 0 .../utils/include}/PAMMMacros.h | 0 .../utils/include}/SeverityLevel.def | 0 .../utils/include}/Singleton.h | 0 .../utils/include}/Soundness.def | 0 .../utils/include}/Soundness.h | 0 .../utils/include}/StableVector.h | 0 .../Utils => phasar/utils/include}/Table.h | 0 .../utils/include}/TwoElementSet.h | 0 .../utils/include}/TypeTraits.h | 0 .../utils/include}/Utilities.h | 0 .../utils/src}/GraphExtensions.cpp | 0 {lib/Utils => phasar/utils/src}/IO.cpp | 0 .../utils/src}/LLVMCXXShorthands.cpp | 0 .../utils/src}/LLVMIRToSrc.cpp | 0 .../utils/src}/LLVMShorthands.cpp | 0 {lib/Utils => phasar/utils/src}/Logger.cpp | 0 .../utils/src}/NlohmannLogging.cpp | 0 {lib/Utils => phasar/utils/src}/PAMM.cpp | 0 {lib/Utils => phasar/utils/src}/Soundness.cpp | 0 {lib/Utils => phasar/utils/src}/Utilities.cpp | 0 .../utils/test/src}/BitVectorSetTest.cpp | 0 .../test/src}/EquivalenceClassMapTest.cpp | 0 .../utils/test/src}/IOTest.cpp | 0 .../utils/test/src}/LLVMIRToSrcTest.cpp | 0 .../utils/test/src}/LLVMShorthandsTest.cpp | 0 .../utils/test/src}/PAMMTest.cpp | 0 .../utils/test/src}/StableVectorTest.cpp | 0 433 files changed, 67 insertions(+) create mode 100644 move_to_phasar_folder.sh rename {include/phasar/PhasarClang => phasar/clang/include}/ClangController.h (100%) rename {include/phasar/PhasarClang => phasar/clang/include}/RandomChangeASTConsumer.h (100%) rename {include/phasar/PhasarClang => phasar/clang/include}/RandomChangeFrontendAction.h (100%) rename {include/phasar/PhasarClang => phasar/clang/include}/RandomChangeVisitor.h (100%) rename {lib/PhasarClang => phasar/clang/src}/ClangController.cpp (100%) rename {lib/PhasarClang => phasar/clang/src}/RandomChangeASTConsumer.cpp (100%) rename {lib/PhasarClang => phasar/clang/src}/RandomChangeFrontendAction.cpp (100%) rename {lib/PhasarClang => phasar/clang/src}/RandomChangeVisitor.cpp (100%) rename {include/phasar/Config => phasar/config/include}/Configuration.h (100%) rename {include/phasar/Config => phasar/config/include}/ContainerConfiguration.h (100%) rename {include/phasar/Config => phasar/config/include}/Version.h (100%) rename {lib/Config => phasar/config/src}/Configuration.cpp (100%) rename {include/phasar/Controller => phasar/controller/include}/AnalysisController.h (100%) rename {lib/Controller => phasar/controller/src}/AnalysisController.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDECSTDIOTS.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDEIIA.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDELinearConst.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDEOpenSSLTS.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDESolverTest.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIDEXTaint.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSConst.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSFieldSensTaint.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSLinearConst.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSSolverTest.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSTaint.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSType.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIFDSUninit.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXInterMonoSolverTest.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXInterMonoTaint.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIntraMonoFullConstant.cpp (100%) rename {lib/Controller => phasar/controller/src}/AnalysisControllerXIntraMonoSolverTest.cpp (100%) rename {include/phasar/DB => phasar/db/include}/DBConn.h (100%) rename {include/phasar/DB => phasar/db/include}/Hexastore.h (100%) rename {include/phasar/DB => phasar/db/include}/ProjectIRDB.h (100%) rename {include/phasar/DB => phasar/db/include}/Queries.h (100%) rename {lib/DB => phasar/db/src}/DBConn.cpp (100%) rename {lib/DB => phasar/db/src}/Hexastore.cpp (100%) rename {lib/DB => phasar/db/src}/ProjectIRDB.cpp (100%) rename {lib/DB => phasar/db/src}/Queries.cpp (100%) rename {unittests/DB => phasar/db/test/src}/DBConnTest.cpp (100%) rename {unittests/DB => phasar/db/test/src}/HexastoreTest.cpp (100%) rename {include/phasar/Experimental => phasar/experimental/include}/Experimental.h (100%) rename {lib/Experimental => phasar/experimental/src}/Experimental.cpp (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/AnalysisSetup.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/DemandDrivenAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/IncrementalUpdateAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/ModuleWiseAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/Strategies.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/Strategies.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/VariationalAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/AnalysisStrategy/WholeProgramAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/BiDiICFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/CFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/ICFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/LLVMBasedBackwardCFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/LLVMBasedBackwardICFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/LLVMBasedBiDiICFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/LLVMBasedCFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/LLVMBasedICFG.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/CHAResolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/DTAResolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/NOResolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/OTFResolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/RTAResolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/Resolver/Resolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/ControlFlow/SpecialMemberFunctionType.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/DefaultSeeds.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/EdgeFact.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/EdgeFactWrapper.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/EdgeFunctions.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/FlowFact.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/FlowFactWrapper.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/FlowFunctions.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IDESummaries.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IDESummary.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IDETabulationProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSSummary.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/InitialSeeds.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/JoinLattice.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/LLVMZeroValue.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/IDESolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/LinkedNode.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/PathEdge.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/Solver/SolverResults.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/IfdsIde/SpecialSummaries.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/CallString.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Contexts/CallStringCTX.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/InterMonoProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/IntraMonoProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Solver/InterMonoSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/Mono/Solver/IntraMonoSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/Solver/PDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/Solver/WPDSSolver.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/WPDSGenKillProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/WPDSOptions.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/WPDSProblem.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/WPDSSolverConfig.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/DataFlowSolver/WPDS/WPDSType.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Domain/AnalysisDomain.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Domain/ExtendedValue.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Passes/ExampleModulePass.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Passes/GeneralStatisticsAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Passes/ValueAnnotationPass.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/DynamicPointsToSetPtr.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/LLVMBasedPointsToAnalysis.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/LLVMPointsToGraph.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/LLVMPointsToInfo.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/LLVMPointsToSet.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/LLVMPointsToUtils.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/PointsToInfo.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/PointsToSetOwner.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/TypeGraphs/CachedTypeGraph.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/TypeGraphs/LazyTypeGraph.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Pointer/TypeGraphs/TypeGraph.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TaintConfig/TaintConfig.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TaintConfig/TaintConfigUtilities.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TypeHierarchy/LLVMTypeHierarchy.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TypeHierarchy/LLVMVFTable.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TypeHierarchy/TypeHierarchy.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/TypeHierarchy/VFTable.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/AnalysisSetups.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/Annotation.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/BasicBlockOrdering.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/BinaryDomain.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/DOTGraph.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/DataFlowAnalysisType.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/DataFlowAnalysisType.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/IOFormat.def (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/IOFormat.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/LatticeDomain.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/Printer.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/Scopes.h (100%) rename {include/phasar/PhasarLLVM => phasar/llvm/include}/Utils/SummaryStrategy.h (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/AnalysisStrategy/Strategies.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/CFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/ICFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/LLVMBasedBackwardCFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/LLVMBasedBackwardICFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/LLVMBasedBiDiICFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/LLVMBasedCFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/LLVMBasedICFG.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/CHAResolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/DTAResolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/NOResolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/OTFResolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/RTAResolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/ControlFlow/Resolver/Resolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/IFDSSummary.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/Problems/WPDSSolverTest.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/WPDSGenKillProblem.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/WPDSOptions.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/DataFlowSolver/WPDS/WPDSSolverConfig.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Passes/ExampleModulePass.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Passes/GeneralStatisticsAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Passes/ValueAnnotationPass.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/LLVMBasedPointsToAnalysis.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/LLVMPointsToGraph.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/LLVMPointsToInfo.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/LLVMPointsToSet.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/LLVMPointsToUtils.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/PointsToInfo.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/TypeGraphs/CachedTypeGraph.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Pointer/TypeGraphs/LazyTypeGraph.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/TaintConfig/TaintConfig.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/TypeHierarchy/LLVMTypeHierarchy.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/TypeHierarchy/LLVMVFTable.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/Annotation.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/BasicBlockOrdering.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/BinaryDomain.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/DOTGraph.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/DataFlowAnalysisType.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/IOFormat.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/Scopes.cpp (100%) rename {lib/PhasarLLVM => phasar/llvm/src}/Utils/SummaryStrategy.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedBackwardCFGTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedBackwardICFGTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedCFGTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFGExportTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFGTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFG_CHATest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFG_DTATest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFG_OTFTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/ControlFlow/LLVMBasedICFG_RTATest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/DataFlowSolver/WPDS/Solver/WPDSSolverTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/Pointer/LLVMPointsToSetSerializationTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/Pointer/LLVMPointsToSetTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/TaintConfig/TaintConfigTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/TypeHierarchy/LLVMTypeHierarchyTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/TypeHierarchy/TypeGraphTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/Utils/LatticeDomainTest.cpp (100%) rename {unittests/PhasarLLVM => phasar/llvm/test/src}/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp (100%) rename {include/phasar/PhasarPass => phasar/pass/include}/Options.h (100%) rename {include/phasar/PhasarPass => phasar/pass/include}/PhasarPass.h (100%) rename {include/phasar/PhasarPass => phasar/pass/include}/PhasarPrinterPass.h (100%) rename {include/phasar/PhasarPass => phasar/pass/include}/RegisterPasses.h (100%) rename {lib/PhasarPass => phasar/pass/src}/PhasarPass.cpp (100%) rename {lib/PhasarPass => phasar/pass/src}/PhasarPrinterPass.cpp (100%) rename {lib/PhasarPass => phasar/pass/src}/RegisterPasses.cpp (100%) rename {include/phasar/Utils => phasar/utils/include}/BitVectorSet.h (100%) rename {include/phasar/Utils => phasar/utils/include}/DebugOutput.h (100%) rename {include/phasar/Utils => phasar/utils/include}/EnumFlags.h (100%) rename {include/phasar/Utils => phasar/utils/include}/EquivalenceClassMap.h (100%) rename {include/phasar/Utils => phasar/utils/include}/GraphExtensions.h (100%) rename {include/phasar/Utils => phasar/utils/include}/IO.h (100%) rename {include/phasar/Utils => phasar/utils/include}/LLVMCXXShorthands.h (100%) rename {include/phasar/Utils => phasar/utils/include}/LLVMIRToSrc.h (100%) rename {include/phasar/Utils => phasar/utils/include}/LLVMShorthands.h (100%) rename {include/phasar/Utils => phasar/utils/include}/Logger.h (100%) rename {include/phasar/Utils => phasar/utils/include}/MultiIndexTable.h (100%) rename {include/phasar/Utils => phasar/utils/include}/NlohmannLogging.h (100%) rename {include/phasar/Utils => phasar/utils/include}/PAMM.h (100%) rename {include/phasar/Utils => phasar/utils/include}/PAMMMacros.h (100%) rename {include/phasar/Utils => phasar/utils/include}/SeverityLevel.def (100%) rename {include/phasar/Utils => phasar/utils/include}/Singleton.h (100%) rename {include/phasar/Utils => phasar/utils/include}/Soundness.def (100%) rename {include/phasar/Utils => phasar/utils/include}/Soundness.h (100%) rename {include/phasar/Utils => phasar/utils/include}/StableVector.h (100%) rename {include/phasar/Utils => phasar/utils/include}/Table.h (100%) rename {include/phasar/Utils => phasar/utils/include}/TwoElementSet.h (100%) rename {include/phasar/Utils => phasar/utils/include}/TypeTraits.h (100%) rename {include/phasar/Utils => phasar/utils/include}/Utilities.h (100%) rename {lib/Utils => phasar/utils/src}/GraphExtensions.cpp (100%) rename {lib/Utils => phasar/utils/src}/IO.cpp (100%) rename {lib/Utils => phasar/utils/src}/LLVMCXXShorthands.cpp (100%) rename {lib/Utils => phasar/utils/src}/LLVMIRToSrc.cpp (100%) rename {lib/Utils => phasar/utils/src}/LLVMShorthands.cpp (100%) rename {lib/Utils => phasar/utils/src}/Logger.cpp (100%) rename {lib/Utils => phasar/utils/src}/NlohmannLogging.cpp (100%) rename {lib/Utils => phasar/utils/src}/PAMM.cpp (100%) rename {lib/Utils => phasar/utils/src}/Soundness.cpp (100%) rename {lib/Utils => phasar/utils/src}/Utilities.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/BitVectorSetTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/EquivalenceClassMapTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/IOTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/LLVMIRToSrcTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/LLVMShorthandsTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/PAMMTest.cpp (100%) rename {unittests/Utils => phasar/utils/test/src}/StableVectorTest.cpp (100%) diff --git a/move_to_phasar_folder.sh b/move_to_phasar_folder.sh new file mode 100644 index 000000000..a685e37ed --- /dev/null +++ b/move_to_phasar_folder.sh @@ -0,0 +1,67 @@ +#!/bin/bash +set -e +createStructure() { + mkdir -p "phasar/$1/include" + mkdir -p "phasar/$1/src" + mkdir -p "phasar/$1/resource" + mkdir -p "phasar/$1/test/include" + mkdir -p "phasar/$1/test/src" + mkdir -p "phasar/$1/test/resource" +} + +moveInclude() { + mapfile -t headers < <(cd "include/phasar/$1/" && find . -iname "*.h*" -or -iname "*.def*") + for header in "${headers[@]}"; do + mkdir -p "$(dirname "phasar/$2/include/$header")" + git mv "include/phasar/$1/$header" "phasar/$2/include/$header" + done +} + +moveSrc() { + mapfile -t sources < <(cd "lib/$1/" && find . -iname "*.cpp") + for src in "${sources[@]}"; do + mkdir -p "$(dirname "phasar/$2/src/$src")" + git mv "lib/$1/$src" "phasar/$2/src/$src" + done + +} + +moveUnittests() { + mapfile -t sources < <(cd "unittests/$1/" && find . -iname "*.cpp") + for src in "${sources[@]}"; do + mkdir -p "$(dirname "phasar/$2/test/src/$src")" + git mv "unittests/$1/$src" "phasar/$2/test/src/$src" + done + + mapfile -t headers < <(cd "unittests/$1/" && find . -iname "*.h*") + for header in "${headers[@]}"; do + mkdir -p "$(dirname "phasar/$2/test/include/$header")" + git mv "unittests/$1/$header" "phasar/$2/test/include/$header" + done +} + +processTarget() { + createStructure "$2" + moveInclude "$1" "$2" + moveSrc "$1" "$2" + moveUnittests "$1" "$2" +} + +processTarget Config config +processTarget Controller controller +processTarget DB db +processTarget Experimental experimental +processTarget PhasarClang clang +processTarget PhasarPass pass +processTarget Utils utils +processTarget PhasarLLVM llvm + +mapfile -t folders < <(find ./include/ ./lib/ ./unittests/ ./phasar/ -type d) +for folder in "${folders[@]}"; do + if [ -d "$folder" ]; then + mapfile -t files < <(find "$folder" -type f) + if [ "${#files[@]}" -eq "0" ]; then + rm -rf "$folder" + fi + fi +done diff --git a/include/phasar/PhasarClang/ClangController.h b/phasar/clang/include/ClangController.h similarity index 100% rename from include/phasar/PhasarClang/ClangController.h rename to phasar/clang/include/ClangController.h diff --git a/include/phasar/PhasarClang/RandomChangeASTConsumer.h b/phasar/clang/include/RandomChangeASTConsumer.h similarity index 100% rename from include/phasar/PhasarClang/RandomChangeASTConsumer.h rename to phasar/clang/include/RandomChangeASTConsumer.h diff --git a/include/phasar/PhasarClang/RandomChangeFrontendAction.h b/phasar/clang/include/RandomChangeFrontendAction.h similarity index 100% rename from include/phasar/PhasarClang/RandomChangeFrontendAction.h rename to phasar/clang/include/RandomChangeFrontendAction.h diff --git a/include/phasar/PhasarClang/RandomChangeVisitor.h b/phasar/clang/include/RandomChangeVisitor.h similarity index 100% rename from include/phasar/PhasarClang/RandomChangeVisitor.h rename to phasar/clang/include/RandomChangeVisitor.h diff --git a/lib/PhasarClang/ClangController.cpp b/phasar/clang/src/ClangController.cpp similarity index 100% rename from lib/PhasarClang/ClangController.cpp rename to phasar/clang/src/ClangController.cpp diff --git a/lib/PhasarClang/RandomChangeASTConsumer.cpp b/phasar/clang/src/RandomChangeASTConsumer.cpp similarity index 100% rename from lib/PhasarClang/RandomChangeASTConsumer.cpp rename to phasar/clang/src/RandomChangeASTConsumer.cpp diff --git a/lib/PhasarClang/RandomChangeFrontendAction.cpp b/phasar/clang/src/RandomChangeFrontendAction.cpp similarity index 100% rename from lib/PhasarClang/RandomChangeFrontendAction.cpp rename to phasar/clang/src/RandomChangeFrontendAction.cpp diff --git a/lib/PhasarClang/RandomChangeVisitor.cpp b/phasar/clang/src/RandomChangeVisitor.cpp similarity index 100% rename from lib/PhasarClang/RandomChangeVisitor.cpp rename to phasar/clang/src/RandomChangeVisitor.cpp diff --git a/include/phasar/Config/Configuration.h b/phasar/config/include/Configuration.h similarity index 100% rename from include/phasar/Config/Configuration.h rename to phasar/config/include/Configuration.h diff --git a/include/phasar/Config/ContainerConfiguration.h b/phasar/config/include/ContainerConfiguration.h similarity index 100% rename from include/phasar/Config/ContainerConfiguration.h rename to phasar/config/include/ContainerConfiguration.h diff --git a/include/phasar/Config/Version.h b/phasar/config/include/Version.h similarity index 100% rename from include/phasar/Config/Version.h rename to phasar/config/include/Version.h diff --git a/lib/Config/Configuration.cpp b/phasar/config/src/Configuration.cpp similarity index 100% rename from lib/Config/Configuration.cpp rename to phasar/config/src/Configuration.cpp diff --git a/include/phasar/Controller/AnalysisController.h b/phasar/controller/include/AnalysisController.h similarity index 100% rename from include/phasar/Controller/AnalysisController.h rename to phasar/controller/include/AnalysisController.h diff --git a/lib/Controller/AnalysisController.cpp b/phasar/controller/src/AnalysisController.cpp similarity index 100% rename from lib/Controller/AnalysisController.cpp rename to phasar/controller/src/AnalysisController.cpp diff --git a/lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp b/phasar/controller/src/AnalysisControllerXIDECSTDIOTS.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDECSTDIOTS.cpp rename to phasar/controller/src/AnalysisControllerXIDECSTDIOTS.cpp diff --git a/lib/Controller/AnalysisControllerXIDEIIA.cpp b/phasar/controller/src/AnalysisControllerXIDEIIA.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDEIIA.cpp rename to phasar/controller/src/AnalysisControllerXIDEIIA.cpp diff --git a/lib/Controller/AnalysisControllerXIDELinearConst.cpp b/phasar/controller/src/AnalysisControllerXIDELinearConst.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDELinearConst.cpp rename to phasar/controller/src/AnalysisControllerXIDELinearConst.cpp diff --git a/lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp b/phasar/controller/src/AnalysisControllerXIDEOpenSSLTS.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDEOpenSSLTS.cpp rename to phasar/controller/src/AnalysisControllerXIDEOpenSSLTS.cpp diff --git a/lib/Controller/AnalysisControllerXIDESolverTest.cpp b/phasar/controller/src/AnalysisControllerXIDESolverTest.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDESolverTest.cpp rename to phasar/controller/src/AnalysisControllerXIDESolverTest.cpp diff --git a/lib/Controller/AnalysisControllerXIDEXTaint.cpp b/phasar/controller/src/AnalysisControllerXIDEXTaint.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIDEXTaint.cpp rename to phasar/controller/src/AnalysisControllerXIDEXTaint.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSConst.cpp b/phasar/controller/src/AnalysisControllerXIFDSConst.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSConst.cpp rename to phasar/controller/src/AnalysisControllerXIFDSConst.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp b/phasar/controller/src/AnalysisControllerXIFDSFieldSensTaint.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSFieldSensTaint.cpp rename to phasar/controller/src/AnalysisControllerXIFDSFieldSensTaint.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSLinearConst.cpp b/phasar/controller/src/AnalysisControllerXIFDSLinearConst.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSLinearConst.cpp rename to phasar/controller/src/AnalysisControllerXIFDSLinearConst.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSSolverTest.cpp b/phasar/controller/src/AnalysisControllerXIFDSSolverTest.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSSolverTest.cpp rename to phasar/controller/src/AnalysisControllerXIFDSSolverTest.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSTaint.cpp b/phasar/controller/src/AnalysisControllerXIFDSTaint.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSTaint.cpp rename to phasar/controller/src/AnalysisControllerXIFDSTaint.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSType.cpp b/phasar/controller/src/AnalysisControllerXIFDSType.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSType.cpp rename to phasar/controller/src/AnalysisControllerXIFDSType.cpp diff --git a/lib/Controller/AnalysisControllerXIFDSUninit.cpp b/phasar/controller/src/AnalysisControllerXIFDSUninit.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIFDSUninit.cpp rename to phasar/controller/src/AnalysisControllerXIFDSUninit.cpp diff --git a/lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp b/phasar/controller/src/AnalysisControllerXInterMonoSolverTest.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXInterMonoSolverTest.cpp rename to phasar/controller/src/AnalysisControllerXInterMonoSolverTest.cpp diff --git a/lib/Controller/AnalysisControllerXInterMonoTaint.cpp b/phasar/controller/src/AnalysisControllerXInterMonoTaint.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXInterMonoTaint.cpp rename to phasar/controller/src/AnalysisControllerXInterMonoTaint.cpp diff --git a/lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp b/phasar/controller/src/AnalysisControllerXIntraMonoFullConstant.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIntraMonoFullConstant.cpp rename to phasar/controller/src/AnalysisControllerXIntraMonoFullConstant.cpp diff --git a/lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp b/phasar/controller/src/AnalysisControllerXIntraMonoSolverTest.cpp similarity index 100% rename from lib/Controller/AnalysisControllerXIntraMonoSolverTest.cpp rename to phasar/controller/src/AnalysisControllerXIntraMonoSolverTest.cpp diff --git a/include/phasar/DB/DBConn.h b/phasar/db/include/DBConn.h similarity index 100% rename from include/phasar/DB/DBConn.h rename to phasar/db/include/DBConn.h diff --git a/include/phasar/DB/Hexastore.h b/phasar/db/include/Hexastore.h similarity index 100% rename from include/phasar/DB/Hexastore.h rename to phasar/db/include/Hexastore.h diff --git a/include/phasar/DB/ProjectIRDB.h b/phasar/db/include/ProjectIRDB.h similarity index 100% rename from include/phasar/DB/ProjectIRDB.h rename to phasar/db/include/ProjectIRDB.h diff --git a/include/phasar/DB/Queries.h b/phasar/db/include/Queries.h similarity index 100% rename from include/phasar/DB/Queries.h rename to phasar/db/include/Queries.h diff --git a/lib/DB/DBConn.cpp b/phasar/db/src/DBConn.cpp similarity index 100% rename from lib/DB/DBConn.cpp rename to phasar/db/src/DBConn.cpp diff --git a/lib/DB/Hexastore.cpp b/phasar/db/src/Hexastore.cpp similarity index 100% rename from lib/DB/Hexastore.cpp rename to phasar/db/src/Hexastore.cpp diff --git a/lib/DB/ProjectIRDB.cpp b/phasar/db/src/ProjectIRDB.cpp similarity index 100% rename from lib/DB/ProjectIRDB.cpp rename to phasar/db/src/ProjectIRDB.cpp diff --git a/lib/DB/Queries.cpp b/phasar/db/src/Queries.cpp similarity index 100% rename from lib/DB/Queries.cpp rename to phasar/db/src/Queries.cpp diff --git a/unittests/DB/DBConnTest.cpp b/phasar/db/test/src/DBConnTest.cpp similarity index 100% rename from unittests/DB/DBConnTest.cpp rename to phasar/db/test/src/DBConnTest.cpp diff --git a/unittests/DB/HexastoreTest.cpp b/phasar/db/test/src/HexastoreTest.cpp similarity index 100% rename from unittests/DB/HexastoreTest.cpp rename to phasar/db/test/src/HexastoreTest.cpp diff --git a/include/phasar/Experimental/Experimental.h b/phasar/experimental/include/Experimental.h similarity index 100% rename from include/phasar/Experimental/Experimental.h rename to phasar/experimental/include/Experimental.h diff --git a/lib/Experimental/Experimental.cpp b/phasar/experimental/src/Experimental.cpp similarity index 100% rename from lib/Experimental/Experimental.cpp rename to phasar/experimental/src/Experimental.cpp diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h b/phasar/llvm/include/AnalysisStrategy/AnalysisSetup.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h rename to phasar/llvm/include/AnalysisStrategy/AnalysisSetup.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h b/phasar/llvm/include/AnalysisStrategy/DemandDrivenAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h rename to phasar/llvm/include/AnalysisStrategy/DemandDrivenAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h b/phasar/llvm/include/AnalysisStrategy/IncrementalUpdateAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h rename to phasar/llvm/include/AnalysisStrategy/IncrementalUpdateAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h b/phasar/llvm/include/AnalysisStrategy/ModuleWiseAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h rename to phasar/llvm/include/AnalysisStrategy/ModuleWiseAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def b/phasar/llvm/include/AnalysisStrategy/Strategies.def similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def rename to phasar/llvm/include/AnalysisStrategy/Strategies.def diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h b/phasar/llvm/include/AnalysisStrategy/Strategies.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h rename to phasar/llvm/include/AnalysisStrategy/Strategies.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h b/phasar/llvm/include/AnalysisStrategy/VariationalAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h rename to phasar/llvm/include/AnalysisStrategy/VariationalAnalysis.h diff --git a/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h b/phasar/llvm/include/AnalysisStrategy/WholeProgramAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h rename to phasar/llvm/include/AnalysisStrategy/WholeProgramAnalysis.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/BiDiICFG.h b/phasar/llvm/include/ControlFlow/BiDiICFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/BiDiICFG.h rename to phasar/llvm/include/ControlFlow/BiDiICFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/CFG.h b/phasar/llvm/include/ControlFlow/CFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/CFG.h rename to phasar/llvm/include/ControlFlow/CFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/ICFG.h b/phasar/llvm/include/ControlFlow/ICFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/ICFG.h rename to phasar/llvm/include/ControlFlow/ICFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h b/phasar/llvm/include/ControlFlow/LLVMBasedBackwardCFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h rename to phasar/llvm/include/ControlFlow/LLVMBasedBackwardCFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h b/phasar/llvm/include/ControlFlow/LLVMBasedBackwardICFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h rename to phasar/llvm/include/ControlFlow/LLVMBasedBackwardICFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.h b/phasar/llvm/include/ControlFlow/LLVMBasedBiDiICFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.h rename to phasar/llvm/include/ControlFlow/LLVMBasedBiDiICFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h b/phasar/llvm/include/ControlFlow/LLVMBasedCFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h rename to phasar/llvm/include/ControlFlow/LLVMBasedCFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h b/phasar/llvm/include/ControlFlow/LLVMBasedICFG.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h rename to phasar/llvm/include/ControlFlow/LLVMBasedICFG.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h b/phasar/llvm/include/ControlFlow/Resolver/CHAResolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h rename to phasar/llvm/include/ControlFlow/Resolver/CHAResolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/DTAResolver.h b/phasar/llvm/include/ControlFlow/Resolver/DTAResolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/DTAResolver.h rename to phasar/llvm/include/ControlFlow/Resolver/DTAResolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/NOResolver.h b/phasar/llvm/include/ControlFlow/Resolver/NOResolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/NOResolver.h rename to phasar/llvm/include/ControlFlow/Resolver/NOResolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/OTFResolver.h b/phasar/llvm/include/ControlFlow/Resolver/OTFResolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/OTFResolver.h rename to phasar/llvm/include/ControlFlow/Resolver/OTFResolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h b/phasar/llvm/include/ControlFlow/Resolver/RTAResolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h rename to phasar/llvm/include/ControlFlow/Resolver/RTAResolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h b/phasar/llvm/include/ControlFlow/Resolver/Resolver.h similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h rename to phasar/llvm/include/ControlFlow/Resolver/Resolver.h diff --git a/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def b/phasar/llvm/include/ControlFlow/SpecialMemberFunctionType.def similarity index 100% rename from include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def rename to phasar/llvm/include/ControlFlow/SpecialMemberFunctionType.def diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/DefaultSeeds.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/DefaultSeeds.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/DefaultSeeds.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/DefaultSeeds.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFact.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFact.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFact.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFact.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFactWrapper.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFactWrapper.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFactWrapper.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFactWrapper.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFact.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFact.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFact.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFact.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFactWrapper.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFactWrapper.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFactWrapper.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFactWrapper.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummaries.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummaries.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummaries.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummaries.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummary.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummary.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummary.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummary.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IDETabulationProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IDETabulationProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSSummary.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSSummary.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/InitialSeeds.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/InitialSeeds.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/JoinLattice.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/JoinLattice.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMZeroValue.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMZeroValue.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IDESolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IDESolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/LinkedNode.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/LinkedNode.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/LinkedNode.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/LinkedNode.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/PathEdge.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/PathEdge.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/SolverResults.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/SolverResults.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h b/phasar/llvm/include/DataFlowSolver/IfdsIde/SpecialSummaries.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h rename to phasar/llvm/include/DataFlowSolver/IfdsIde/SpecialSummaries.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h b/phasar/llvm/include/DataFlowSolver/Mono/CallString.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h rename to phasar/llvm/include/DataFlowSolver/Mono/CallString.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h b/phasar/llvm/include/DataFlowSolver/Mono/Contexts/CallStringCTX.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h rename to phasar/llvm/include/DataFlowSolver/Mono/Contexts/CallStringCTX.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h b/phasar/llvm/include/DataFlowSolver/Mono/InterMonoProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h rename to phasar/llvm/include/DataFlowSolver/Mono/InterMonoProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h b/phasar/llvm/include/DataFlowSolver/Mono/IntraMonoProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h rename to phasar/llvm/include/DataFlowSolver/Mono/IntraMonoProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h b/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h rename to phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h b/phasar/llvm/include/DataFlowSolver/Mono/Solver/InterMonoSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h rename to phasar/llvm/include/DataFlowSolver/Mono/Solver/InterMonoSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h b/phasar/llvm/include/DataFlowSolver/Mono/Solver/IntraMonoSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h rename to phasar/llvm/include/DataFlowSolver/Mono/Solver/IntraMonoSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h b/phasar/llvm/include/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h rename to phasar/llvm/include/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h b/phasar/llvm/include/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h rename to phasar/llvm/include/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h b/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h rename to phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h b/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h rename to phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h b/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h rename to phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/PDSSolver.h b/phasar/llvm/include/DataFlowSolver/WPDS/Solver/PDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/PDSSolver.h rename to phasar/llvm/include/DataFlowSolver/WPDS/Solver/PDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolver.h b/phasar/llvm/include/DataFlowSolver/WPDS/Solver/WPDSSolver.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolver.h rename to phasar/llvm/include/DataFlowSolver/WPDS/Solver/WPDSSolver.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.h b/phasar/llvm/include/DataFlowSolver/WPDS/WPDSGenKillProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.h rename to phasar/llvm/include/DataFlowSolver/WPDS/WPDSGenKillProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.h b/phasar/llvm/include/DataFlowSolver/WPDS/WPDSOptions.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.h rename to phasar/llvm/include/DataFlowSolver/WPDS/WPDSOptions.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSProblem.h b/phasar/llvm/include/DataFlowSolver/WPDS/WPDSProblem.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSProblem.h rename to phasar/llvm/include/DataFlowSolver/WPDS/WPDSProblem.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.h b/phasar/llvm/include/DataFlowSolver/WPDS/WPDSSolverConfig.h similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.h rename to phasar/llvm/include/DataFlowSolver/WPDS/WPDSSolverConfig.h diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSType.def b/phasar/llvm/include/DataFlowSolver/WPDS/WPDSType.def similarity index 100% rename from include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSType.def rename to phasar/llvm/include/DataFlowSolver/WPDS/WPDSType.def diff --git a/include/phasar/PhasarLLVM/Domain/AnalysisDomain.h b/phasar/llvm/include/Domain/AnalysisDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/Domain/AnalysisDomain.h rename to phasar/llvm/include/Domain/AnalysisDomain.h diff --git a/include/phasar/PhasarLLVM/Domain/ExtendedValue.h b/phasar/llvm/include/Domain/ExtendedValue.h similarity index 100% rename from include/phasar/PhasarLLVM/Domain/ExtendedValue.h rename to phasar/llvm/include/Domain/ExtendedValue.h diff --git a/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h b/phasar/llvm/include/Passes/ExampleModulePass.h similarity index 100% rename from include/phasar/PhasarLLVM/Passes/ExampleModulePass.h rename to phasar/llvm/include/Passes/ExampleModulePass.h diff --git a/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h b/phasar/llvm/include/Passes/GeneralStatisticsAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h rename to phasar/llvm/include/Passes/GeneralStatisticsAnalysis.h diff --git a/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h b/phasar/llvm/include/Passes/ValueAnnotationPass.h similarity index 100% rename from include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h rename to phasar/llvm/include/Passes/ValueAnnotationPass.h diff --git a/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h b/phasar/llvm/include/Pointer/DynamicPointsToSetPtr.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h rename to phasar/llvm/include/Pointer/DynamicPointsToSetPtr.h diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h b/phasar/llvm/include/Pointer/LLVMBasedPointsToAnalysis.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h rename to phasar/llvm/include/Pointer/LLVMBasedPointsToAnalysis.h diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h b/phasar/llvm/include/Pointer/LLVMPointsToGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h rename to phasar/llvm/include/Pointer/LLVMPointsToGraph.h diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h b/phasar/llvm/include/Pointer/LLVMPointsToInfo.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h rename to phasar/llvm/include/Pointer/LLVMPointsToInfo.h diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h b/phasar/llvm/include/Pointer/LLVMPointsToSet.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h rename to phasar/llvm/include/Pointer/LLVMPointsToSet.h diff --git a/include/phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h b/phasar/llvm/include/Pointer/LLVMPointsToUtils.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h rename to phasar/llvm/include/Pointer/LLVMPointsToUtils.h diff --git a/include/phasar/PhasarLLVM/Pointer/PointsToInfo.h b/phasar/llvm/include/Pointer/PointsToInfo.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/PointsToInfo.h rename to phasar/llvm/include/Pointer/PointsToInfo.h diff --git a/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h b/phasar/llvm/include/Pointer/PointsToSetOwner.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h rename to phasar/llvm/include/Pointer/PointsToSetOwner.h diff --git a/include/phasar/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.h b/phasar/llvm/include/Pointer/TypeGraphs/CachedTypeGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.h rename to phasar/llvm/include/Pointer/TypeGraphs/CachedTypeGraph.h diff --git a/include/phasar/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.h b/phasar/llvm/include/Pointer/TypeGraphs/LazyTypeGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.h rename to phasar/llvm/include/Pointer/TypeGraphs/LazyTypeGraph.h diff --git a/include/phasar/PhasarLLVM/Pointer/TypeGraphs/TypeGraph.h b/phasar/llvm/include/Pointer/TypeGraphs/TypeGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Pointer/TypeGraphs/TypeGraph.h rename to phasar/llvm/include/Pointer/TypeGraphs/TypeGraph.h diff --git a/include/phasar/PhasarLLVM/TaintConfig/TaintConfig.h b/phasar/llvm/include/TaintConfig/TaintConfig.h similarity index 100% rename from include/phasar/PhasarLLVM/TaintConfig/TaintConfig.h rename to phasar/llvm/include/TaintConfig/TaintConfig.h diff --git a/include/phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h b/phasar/llvm/include/TaintConfig/TaintConfigUtilities.h similarity index 100% rename from include/phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h rename to phasar/llvm/include/TaintConfig/TaintConfigUtilities.h diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h b/phasar/llvm/include/TypeHierarchy/LLVMTypeHierarchy.h similarity index 100% rename from include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h rename to phasar/llvm/include/TypeHierarchy/LLVMTypeHierarchy.h diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h b/phasar/llvm/include/TypeHierarchy/LLVMVFTable.h similarity index 100% rename from include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h rename to phasar/llvm/include/TypeHierarchy/LLVMVFTable.h diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h b/phasar/llvm/include/TypeHierarchy/TypeHierarchy.h similarity index 100% rename from include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h rename to phasar/llvm/include/TypeHierarchy/TypeHierarchy.h diff --git a/include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h b/phasar/llvm/include/TypeHierarchy/VFTable.h similarity index 100% rename from include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h rename to phasar/llvm/include/TypeHierarchy/VFTable.h diff --git a/include/phasar/PhasarLLVM/Utils/AnalysisSetups.def b/phasar/llvm/include/Utils/AnalysisSetups.def similarity index 100% rename from include/phasar/PhasarLLVM/Utils/AnalysisSetups.def rename to phasar/llvm/include/Utils/AnalysisSetups.def diff --git a/include/phasar/PhasarLLVM/Utils/Annotation.h b/phasar/llvm/include/Utils/Annotation.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/Annotation.h rename to phasar/llvm/include/Utils/Annotation.h diff --git a/include/phasar/PhasarLLVM/Utils/BasicBlockOrdering.h b/phasar/llvm/include/Utils/BasicBlockOrdering.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/BasicBlockOrdering.h rename to phasar/llvm/include/Utils/BasicBlockOrdering.h diff --git a/include/phasar/PhasarLLVM/Utils/BinaryDomain.h b/phasar/llvm/include/Utils/BinaryDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/BinaryDomain.h rename to phasar/llvm/include/Utils/BinaryDomain.h diff --git a/include/phasar/PhasarLLVM/Utils/DOTGraph.h b/phasar/llvm/include/Utils/DOTGraph.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/DOTGraph.h rename to phasar/llvm/include/Utils/DOTGraph.h diff --git a/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.def b/phasar/llvm/include/Utils/DataFlowAnalysisType.def similarity index 100% rename from include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.def rename to phasar/llvm/include/Utils/DataFlowAnalysisType.def diff --git a/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h b/phasar/llvm/include/Utils/DataFlowAnalysisType.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h rename to phasar/llvm/include/Utils/DataFlowAnalysisType.h diff --git a/include/phasar/PhasarLLVM/Utils/IOFormat.def b/phasar/llvm/include/Utils/IOFormat.def similarity index 100% rename from include/phasar/PhasarLLVM/Utils/IOFormat.def rename to phasar/llvm/include/Utils/IOFormat.def diff --git a/include/phasar/PhasarLLVM/Utils/IOFormat.h b/phasar/llvm/include/Utils/IOFormat.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/IOFormat.h rename to phasar/llvm/include/Utils/IOFormat.h diff --git a/include/phasar/PhasarLLVM/Utils/LatticeDomain.h b/phasar/llvm/include/Utils/LatticeDomain.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/LatticeDomain.h rename to phasar/llvm/include/Utils/LatticeDomain.h diff --git a/include/phasar/PhasarLLVM/Utils/Printer.h b/phasar/llvm/include/Utils/Printer.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/Printer.h rename to phasar/llvm/include/Utils/Printer.h diff --git a/include/phasar/PhasarLLVM/Utils/Scopes.h b/phasar/llvm/include/Utils/Scopes.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/Scopes.h rename to phasar/llvm/include/Utils/Scopes.h diff --git a/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h b/phasar/llvm/include/Utils/SummaryStrategy.h similarity index 100% rename from include/phasar/PhasarLLVM/Utils/SummaryStrategy.h rename to phasar/llvm/include/Utils/SummaryStrategy.h diff --git a/lib/PhasarLLVM/AnalysisStrategy/Strategies.cpp b/phasar/llvm/src/AnalysisStrategy/Strategies.cpp similarity index 100% rename from lib/PhasarLLVM/AnalysisStrategy/Strategies.cpp rename to phasar/llvm/src/AnalysisStrategy/Strategies.cpp diff --git a/lib/PhasarLLVM/ControlFlow/CFG.cpp b/phasar/llvm/src/ControlFlow/CFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/CFG.cpp rename to phasar/llvm/src/ControlFlow/CFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/ICFG.cpp b/phasar/llvm/src/ControlFlow/ICFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/ICFG.cpp rename to phasar/llvm/src/ControlFlow/ICFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp b/phasar/llvm/src/ControlFlow/LLVMBasedBackwardCFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.cpp rename to phasar/llvm/src/ControlFlow/LLVMBasedBackwardCFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.cpp b/phasar/llvm/src/ControlFlow/LLVMBasedBackwardICFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.cpp rename to phasar/llvm/src/ControlFlow/LLVMBasedBackwardICFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.cpp b/phasar/llvm/src/ControlFlow/LLVMBasedBiDiICFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.cpp rename to phasar/llvm/src/ControlFlow/LLVMBasedBiDiICFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp b/phasar/llvm/src/ControlFlow/LLVMBasedCFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/LLVMBasedCFG.cpp rename to phasar/llvm/src/ControlFlow/LLVMBasedCFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp b/phasar/llvm/src/ControlFlow/LLVMBasedICFG.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/LLVMBasedICFG.cpp rename to phasar/llvm/src/ControlFlow/LLVMBasedICFG.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/CHAResolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/CHAResolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/CHAResolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/CHAResolver.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/DTAResolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/DTAResolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/DTAResolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/DTAResolver.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/NOResolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/NOResolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/NOResolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/NOResolver.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/OTFResolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/OTFResolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/OTFResolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/OTFResolver.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/RTAResolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/RTAResolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/RTAResolver.cpp diff --git a/lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp b/phasar/llvm/src/ControlFlow/Resolver/Resolver.cpp similarity index 100% rename from lib/PhasarLLVM/ControlFlow/Resolver/Resolver.cpp rename to phasar/llvm/src/ControlFlow/Resolver/Resolver.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSSummary.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/IFDSSummary.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDESolverTest.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.cpp b/phasar/llvm/src/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.cpp rename to phasar/llvm/src/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoSolverTest.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp b/phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp rename to phasar/llvm/src/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.cpp b/phasar/llvm/src/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.cpp rename to phasar/llvm/src/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSSolverTest.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/Problems/WPDSSolverTest.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/WPDSGenKillProblem.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/WPDSGenKillProblem.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/WPDSOptions.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/WPDSOptions.cpp diff --git a/lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.cpp b/phasar/llvm/src/DataFlowSolver/WPDS/WPDSSolverConfig.cpp similarity index 100% rename from lib/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.cpp rename to phasar/llvm/src/DataFlowSolver/WPDS/WPDSSolverConfig.cpp diff --git a/lib/PhasarLLVM/Passes/ExampleModulePass.cpp b/phasar/llvm/src/Passes/ExampleModulePass.cpp similarity index 100% rename from lib/PhasarLLVM/Passes/ExampleModulePass.cpp rename to phasar/llvm/src/Passes/ExampleModulePass.cpp diff --git a/lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp b/phasar/llvm/src/Passes/GeneralStatisticsAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/Passes/GeneralStatisticsAnalysis.cpp rename to phasar/llvm/src/Passes/GeneralStatisticsAnalysis.cpp diff --git a/lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp b/phasar/llvm/src/Passes/ValueAnnotationPass.cpp similarity index 100% rename from lib/PhasarLLVM/Passes/ValueAnnotationPass.cpp rename to phasar/llvm/src/Passes/ValueAnnotationPass.cpp diff --git a/lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp b/phasar/llvm/src/Pointer/LLVMBasedPointsToAnalysis.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.cpp rename to phasar/llvm/src/Pointer/LLVMBasedPointsToAnalysis.cpp diff --git a/lib/PhasarLLVM/Pointer/LLVMPointsToGraph.cpp b/phasar/llvm/src/Pointer/LLVMPointsToGraph.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/LLVMPointsToGraph.cpp rename to phasar/llvm/src/Pointer/LLVMPointsToGraph.cpp diff --git a/lib/PhasarLLVM/Pointer/LLVMPointsToInfo.cpp b/phasar/llvm/src/Pointer/LLVMPointsToInfo.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/LLVMPointsToInfo.cpp rename to phasar/llvm/src/Pointer/LLVMPointsToInfo.cpp diff --git a/lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp b/phasar/llvm/src/Pointer/LLVMPointsToSet.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/LLVMPointsToSet.cpp rename to phasar/llvm/src/Pointer/LLVMPointsToSet.cpp diff --git a/lib/PhasarLLVM/Pointer/LLVMPointsToUtils.cpp b/phasar/llvm/src/Pointer/LLVMPointsToUtils.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/LLVMPointsToUtils.cpp rename to phasar/llvm/src/Pointer/LLVMPointsToUtils.cpp diff --git a/lib/PhasarLLVM/Pointer/PointsToInfo.cpp b/phasar/llvm/src/Pointer/PointsToInfo.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/PointsToInfo.cpp rename to phasar/llvm/src/Pointer/PointsToInfo.cpp diff --git a/lib/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.cpp b/phasar/llvm/src/Pointer/TypeGraphs/CachedTypeGraph.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.cpp rename to phasar/llvm/src/Pointer/TypeGraphs/CachedTypeGraph.cpp diff --git a/lib/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.cpp b/phasar/llvm/src/Pointer/TypeGraphs/LazyTypeGraph.cpp similarity index 100% rename from lib/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.cpp rename to phasar/llvm/src/Pointer/TypeGraphs/LazyTypeGraph.cpp diff --git a/lib/PhasarLLVM/TaintConfig/TaintConfig.cpp b/phasar/llvm/src/TaintConfig/TaintConfig.cpp similarity index 100% rename from lib/PhasarLLVM/TaintConfig/TaintConfig.cpp rename to phasar/llvm/src/TaintConfig/TaintConfig.cpp diff --git a/lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp b/phasar/llvm/src/TypeHierarchy/LLVMTypeHierarchy.cpp similarity index 100% rename from lib/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.cpp rename to phasar/llvm/src/TypeHierarchy/LLVMTypeHierarchy.cpp diff --git a/lib/PhasarLLVM/TypeHierarchy/LLVMVFTable.cpp b/phasar/llvm/src/TypeHierarchy/LLVMVFTable.cpp similarity index 100% rename from lib/PhasarLLVM/TypeHierarchy/LLVMVFTable.cpp rename to phasar/llvm/src/TypeHierarchy/LLVMVFTable.cpp diff --git a/lib/PhasarLLVM/Utils/Annotation.cpp b/phasar/llvm/src/Utils/Annotation.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/Annotation.cpp rename to phasar/llvm/src/Utils/Annotation.cpp diff --git a/lib/PhasarLLVM/Utils/BasicBlockOrdering.cpp b/phasar/llvm/src/Utils/BasicBlockOrdering.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/BasicBlockOrdering.cpp rename to phasar/llvm/src/Utils/BasicBlockOrdering.cpp diff --git a/lib/PhasarLLVM/Utils/BinaryDomain.cpp b/phasar/llvm/src/Utils/BinaryDomain.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/BinaryDomain.cpp rename to phasar/llvm/src/Utils/BinaryDomain.cpp diff --git a/lib/PhasarLLVM/Utils/DOTGraph.cpp b/phasar/llvm/src/Utils/DOTGraph.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/DOTGraph.cpp rename to phasar/llvm/src/Utils/DOTGraph.cpp diff --git a/lib/PhasarLLVM/Utils/DataFlowAnalysisType.cpp b/phasar/llvm/src/Utils/DataFlowAnalysisType.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/DataFlowAnalysisType.cpp rename to phasar/llvm/src/Utils/DataFlowAnalysisType.cpp diff --git a/lib/PhasarLLVM/Utils/IOFormat.cpp b/phasar/llvm/src/Utils/IOFormat.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/IOFormat.cpp rename to phasar/llvm/src/Utils/IOFormat.cpp diff --git a/lib/PhasarLLVM/Utils/Scopes.cpp b/phasar/llvm/src/Utils/Scopes.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/Scopes.cpp rename to phasar/llvm/src/Utils/Scopes.cpp diff --git a/lib/PhasarLLVM/Utils/SummaryStrategy.cpp b/phasar/llvm/src/Utils/SummaryStrategy.cpp similarity index 100% rename from lib/PhasarLLVM/Utils/SummaryStrategy.cpp rename to phasar/llvm/src/Utils/SummaryStrategy.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFGTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFGTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGExportTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFGTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_CHATest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_DTATest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_OTFTest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp diff --git a/unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp similarity index 100% rename from unittests/PhasarLLVM/ControlFlow/LLVMBasedICFG_RTATest.cpp rename to phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp diff --git a/unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolverTest.cpp b/phasar/llvm/test/src/DataFlowSolver/WPDS/Solver/WPDSSolverTest.cpp similarity index 100% rename from unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolverTest.cpp rename to phasar/llvm/test/src/DataFlowSolver/WPDS/Solver/WPDSSolverTest.cpp diff --git a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp similarity index 100% rename from unittests/PhasarLLVM/Pointer/LLVMPointsToSetSerializationTest.cpp rename to phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp diff --git a/unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp similarity index 100% rename from unittests/PhasarLLVM/Pointer/LLVMPointsToSetTest.cpp rename to phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp diff --git a/unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp b/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp similarity index 100% rename from unittests/PhasarLLVM/TaintConfig/TaintConfigTest.cpp rename to phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp diff --git a/unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp b/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp similarity index 100% rename from unittests/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchyTest.cpp rename to phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp diff --git a/unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp b/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp similarity index 100% rename from unittests/PhasarLLVM/TypeHierarchy/TypeGraphTest.cpp rename to phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp diff --git a/unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp b/phasar/llvm/test/src/Utils/LatticeDomainTest.cpp similarity index 100% rename from unittests/PhasarLLVM/Utils/LatticeDomainTest.cpp rename to phasar/llvm/test/src/Utils/LatticeDomainTest.cpp diff --git a/unittests/PhasarLLVM/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp similarity index 100% rename from unittests/PhasarLLVM/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp rename to phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp diff --git a/include/phasar/PhasarPass/Options.h b/phasar/pass/include/Options.h similarity index 100% rename from include/phasar/PhasarPass/Options.h rename to phasar/pass/include/Options.h diff --git a/include/phasar/PhasarPass/PhasarPass.h b/phasar/pass/include/PhasarPass.h similarity index 100% rename from include/phasar/PhasarPass/PhasarPass.h rename to phasar/pass/include/PhasarPass.h diff --git a/include/phasar/PhasarPass/PhasarPrinterPass.h b/phasar/pass/include/PhasarPrinterPass.h similarity index 100% rename from include/phasar/PhasarPass/PhasarPrinterPass.h rename to phasar/pass/include/PhasarPrinterPass.h diff --git a/include/phasar/PhasarPass/RegisterPasses.h b/phasar/pass/include/RegisterPasses.h similarity index 100% rename from include/phasar/PhasarPass/RegisterPasses.h rename to phasar/pass/include/RegisterPasses.h diff --git a/lib/PhasarPass/PhasarPass.cpp b/phasar/pass/src/PhasarPass.cpp similarity index 100% rename from lib/PhasarPass/PhasarPass.cpp rename to phasar/pass/src/PhasarPass.cpp diff --git a/lib/PhasarPass/PhasarPrinterPass.cpp b/phasar/pass/src/PhasarPrinterPass.cpp similarity index 100% rename from lib/PhasarPass/PhasarPrinterPass.cpp rename to phasar/pass/src/PhasarPrinterPass.cpp diff --git a/lib/PhasarPass/RegisterPasses.cpp b/phasar/pass/src/RegisterPasses.cpp similarity index 100% rename from lib/PhasarPass/RegisterPasses.cpp rename to phasar/pass/src/RegisterPasses.cpp diff --git a/include/phasar/Utils/BitVectorSet.h b/phasar/utils/include/BitVectorSet.h similarity index 100% rename from include/phasar/Utils/BitVectorSet.h rename to phasar/utils/include/BitVectorSet.h diff --git a/include/phasar/Utils/DebugOutput.h b/phasar/utils/include/DebugOutput.h similarity index 100% rename from include/phasar/Utils/DebugOutput.h rename to phasar/utils/include/DebugOutput.h diff --git a/include/phasar/Utils/EnumFlags.h b/phasar/utils/include/EnumFlags.h similarity index 100% rename from include/phasar/Utils/EnumFlags.h rename to phasar/utils/include/EnumFlags.h diff --git a/include/phasar/Utils/EquivalenceClassMap.h b/phasar/utils/include/EquivalenceClassMap.h similarity index 100% rename from include/phasar/Utils/EquivalenceClassMap.h rename to phasar/utils/include/EquivalenceClassMap.h diff --git a/include/phasar/Utils/GraphExtensions.h b/phasar/utils/include/GraphExtensions.h similarity index 100% rename from include/phasar/Utils/GraphExtensions.h rename to phasar/utils/include/GraphExtensions.h diff --git a/include/phasar/Utils/IO.h b/phasar/utils/include/IO.h similarity index 100% rename from include/phasar/Utils/IO.h rename to phasar/utils/include/IO.h diff --git a/include/phasar/Utils/LLVMCXXShorthands.h b/phasar/utils/include/LLVMCXXShorthands.h similarity index 100% rename from include/phasar/Utils/LLVMCXXShorthands.h rename to phasar/utils/include/LLVMCXXShorthands.h diff --git a/include/phasar/Utils/LLVMIRToSrc.h b/phasar/utils/include/LLVMIRToSrc.h similarity index 100% rename from include/phasar/Utils/LLVMIRToSrc.h rename to phasar/utils/include/LLVMIRToSrc.h diff --git a/include/phasar/Utils/LLVMShorthands.h b/phasar/utils/include/LLVMShorthands.h similarity index 100% rename from include/phasar/Utils/LLVMShorthands.h rename to phasar/utils/include/LLVMShorthands.h diff --git a/include/phasar/Utils/Logger.h b/phasar/utils/include/Logger.h similarity index 100% rename from include/phasar/Utils/Logger.h rename to phasar/utils/include/Logger.h diff --git a/include/phasar/Utils/MultiIndexTable.h b/phasar/utils/include/MultiIndexTable.h similarity index 100% rename from include/phasar/Utils/MultiIndexTable.h rename to phasar/utils/include/MultiIndexTable.h diff --git a/include/phasar/Utils/NlohmannLogging.h b/phasar/utils/include/NlohmannLogging.h similarity index 100% rename from include/phasar/Utils/NlohmannLogging.h rename to phasar/utils/include/NlohmannLogging.h diff --git a/include/phasar/Utils/PAMM.h b/phasar/utils/include/PAMM.h similarity index 100% rename from include/phasar/Utils/PAMM.h rename to phasar/utils/include/PAMM.h diff --git a/include/phasar/Utils/PAMMMacros.h b/phasar/utils/include/PAMMMacros.h similarity index 100% rename from include/phasar/Utils/PAMMMacros.h rename to phasar/utils/include/PAMMMacros.h diff --git a/include/phasar/Utils/SeverityLevel.def b/phasar/utils/include/SeverityLevel.def similarity index 100% rename from include/phasar/Utils/SeverityLevel.def rename to phasar/utils/include/SeverityLevel.def diff --git a/include/phasar/Utils/Singleton.h b/phasar/utils/include/Singleton.h similarity index 100% rename from include/phasar/Utils/Singleton.h rename to phasar/utils/include/Singleton.h diff --git a/include/phasar/Utils/Soundness.def b/phasar/utils/include/Soundness.def similarity index 100% rename from include/phasar/Utils/Soundness.def rename to phasar/utils/include/Soundness.def diff --git a/include/phasar/Utils/Soundness.h b/phasar/utils/include/Soundness.h similarity index 100% rename from include/phasar/Utils/Soundness.h rename to phasar/utils/include/Soundness.h diff --git a/include/phasar/Utils/StableVector.h b/phasar/utils/include/StableVector.h similarity index 100% rename from include/phasar/Utils/StableVector.h rename to phasar/utils/include/StableVector.h diff --git a/include/phasar/Utils/Table.h b/phasar/utils/include/Table.h similarity index 100% rename from include/phasar/Utils/Table.h rename to phasar/utils/include/Table.h diff --git a/include/phasar/Utils/TwoElementSet.h b/phasar/utils/include/TwoElementSet.h similarity index 100% rename from include/phasar/Utils/TwoElementSet.h rename to phasar/utils/include/TwoElementSet.h diff --git a/include/phasar/Utils/TypeTraits.h b/phasar/utils/include/TypeTraits.h similarity index 100% rename from include/phasar/Utils/TypeTraits.h rename to phasar/utils/include/TypeTraits.h diff --git a/include/phasar/Utils/Utilities.h b/phasar/utils/include/Utilities.h similarity index 100% rename from include/phasar/Utils/Utilities.h rename to phasar/utils/include/Utilities.h diff --git a/lib/Utils/GraphExtensions.cpp b/phasar/utils/src/GraphExtensions.cpp similarity index 100% rename from lib/Utils/GraphExtensions.cpp rename to phasar/utils/src/GraphExtensions.cpp diff --git a/lib/Utils/IO.cpp b/phasar/utils/src/IO.cpp similarity index 100% rename from lib/Utils/IO.cpp rename to phasar/utils/src/IO.cpp diff --git a/lib/Utils/LLVMCXXShorthands.cpp b/phasar/utils/src/LLVMCXXShorthands.cpp similarity index 100% rename from lib/Utils/LLVMCXXShorthands.cpp rename to phasar/utils/src/LLVMCXXShorthands.cpp diff --git a/lib/Utils/LLVMIRToSrc.cpp b/phasar/utils/src/LLVMIRToSrc.cpp similarity index 100% rename from lib/Utils/LLVMIRToSrc.cpp rename to phasar/utils/src/LLVMIRToSrc.cpp diff --git a/lib/Utils/LLVMShorthands.cpp b/phasar/utils/src/LLVMShorthands.cpp similarity index 100% rename from lib/Utils/LLVMShorthands.cpp rename to phasar/utils/src/LLVMShorthands.cpp diff --git a/lib/Utils/Logger.cpp b/phasar/utils/src/Logger.cpp similarity index 100% rename from lib/Utils/Logger.cpp rename to phasar/utils/src/Logger.cpp diff --git a/lib/Utils/NlohmannLogging.cpp b/phasar/utils/src/NlohmannLogging.cpp similarity index 100% rename from lib/Utils/NlohmannLogging.cpp rename to phasar/utils/src/NlohmannLogging.cpp diff --git a/lib/Utils/PAMM.cpp b/phasar/utils/src/PAMM.cpp similarity index 100% rename from lib/Utils/PAMM.cpp rename to phasar/utils/src/PAMM.cpp diff --git a/lib/Utils/Soundness.cpp b/phasar/utils/src/Soundness.cpp similarity index 100% rename from lib/Utils/Soundness.cpp rename to phasar/utils/src/Soundness.cpp diff --git a/lib/Utils/Utilities.cpp b/phasar/utils/src/Utilities.cpp similarity index 100% rename from lib/Utils/Utilities.cpp rename to phasar/utils/src/Utilities.cpp diff --git a/unittests/Utils/BitVectorSetTest.cpp b/phasar/utils/test/src/BitVectorSetTest.cpp similarity index 100% rename from unittests/Utils/BitVectorSetTest.cpp rename to phasar/utils/test/src/BitVectorSetTest.cpp diff --git a/unittests/Utils/EquivalenceClassMapTest.cpp b/phasar/utils/test/src/EquivalenceClassMapTest.cpp similarity index 100% rename from unittests/Utils/EquivalenceClassMapTest.cpp rename to phasar/utils/test/src/EquivalenceClassMapTest.cpp diff --git a/unittests/Utils/IOTest.cpp b/phasar/utils/test/src/IOTest.cpp similarity index 100% rename from unittests/Utils/IOTest.cpp rename to phasar/utils/test/src/IOTest.cpp diff --git a/unittests/Utils/LLVMIRToSrcTest.cpp b/phasar/utils/test/src/LLVMIRToSrcTest.cpp similarity index 100% rename from unittests/Utils/LLVMIRToSrcTest.cpp rename to phasar/utils/test/src/LLVMIRToSrcTest.cpp diff --git a/unittests/Utils/LLVMShorthandsTest.cpp b/phasar/utils/test/src/LLVMShorthandsTest.cpp similarity index 100% rename from unittests/Utils/LLVMShorthandsTest.cpp rename to phasar/utils/test/src/LLVMShorthandsTest.cpp diff --git a/unittests/Utils/PAMMTest.cpp b/phasar/utils/test/src/PAMMTest.cpp similarity index 100% rename from unittests/Utils/PAMMTest.cpp rename to phasar/utils/test/src/PAMMTest.cpp diff --git a/unittests/Utils/StableVectorTest.cpp b/phasar/utils/test/src/StableVectorTest.cpp similarity index 100% rename from unittests/Utils/StableVectorTest.cpp rename to phasar/utils/test/src/StableVectorTest.cpp From 7f74332e06534a7afaf349db627b9d65db85dad4 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 11:03:33 +0200 Subject: [PATCH 04/95] restructre: includes to correct subfolder --- move_to_phasar_folder.sh | 2 +- phasar/clang/include/{ => phasar/PhasarClang}/ClangController.h | 0 .../include/{ => phasar/PhasarClang}/RandomChangeASTConsumer.h | 0 .../{ => phasar/PhasarClang}/RandomChangeFrontendAction.h | 0 .../include/{ => phasar/PhasarClang}/RandomChangeVisitor.h | 0 phasar/config/include/{ => phasar/Config}/Configuration.h | 0 .../config/include/{ => phasar/Config}/ContainerConfiguration.h | 0 phasar/config/include/{ => phasar/Config}/Version.h | 0 .../include/{ => phasar/Controller}/AnalysisController.h | 0 phasar/db/include/{ => phasar/DB}/DBConn.h | 0 phasar/db/include/{ => phasar/DB}/Hexastore.h | 0 phasar/db/include/{ => phasar/DB}/ProjectIRDB.h | 0 phasar/db/include/{ => phasar/DB}/Queries.h | 0 .../include/{ => phasar/Experimental}/Experimental.h | 0 .../{ => phasar/PhasarLLVM}/AnalysisStrategy/AnalysisSetup.h | 0 .../PhasarLLVM}/AnalysisStrategy/DemandDrivenAnalysis.h | 0 .../PhasarLLVM}/AnalysisStrategy/IncrementalUpdateAnalysis.h | 0 .../PhasarLLVM}/AnalysisStrategy/ModuleWiseAnalysis.h | 0 .../{ => phasar/PhasarLLVM}/AnalysisStrategy/Strategies.def | 0 .../{ => phasar/PhasarLLVM}/AnalysisStrategy/Strategies.h | 0 .../PhasarLLVM}/AnalysisStrategy/VariationalAnalysis.h | 0 .../PhasarLLVM}/AnalysisStrategy/WholeProgramAnalysis.h | 0 .../llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/BiDiICFG.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/CFG.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/ICFG.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBackwardCFG.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBackwardICFG.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBiDiICFG.h | 0 .../include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedCFG.h | 0 .../include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedICFG.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/CHAResolver.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/DTAResolver.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/NOResolver.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/OTFResolver.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/RTAResolver.h | 0 .../{ => phasar/PhasarLLVM}/ControlFlow/Resolver/Resolver.h | 0 .../PhasarLLVM}/ControlFlow/SpecialMemberFunctionType.def | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/DefaultSeeds.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFact.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFactWrapper.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFunctions.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFact.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFactWrapper.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFunctions.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/IDESummaries.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IDESummary.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/IDETabulationProblem.h | 0 .../FlowFunctions/BranchSwitchInstFlowFunction.h | 0 .../FlowFunctions/CallToRetFlowFunction.h | 0 .../FlowFunctions/CheckOperandsFlowFunction.h | 0 .../IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h | 0 .../FlowFunctions/GEPInstFlowFunction.h | 0 .../FlowFunctions/GenerateFlowFunction.h | 0 .../FlowFunctions/IdentityFlowFunction.h | 0 .../FlowFunctions/MapTaintedValuesToCallee.h | 0 .../FlowFunctions/MapTaintedValuesToCaller.h | 0 .../FlowFunctions/MemSetInstFlowFunction.h | 0 .../FlowFunctions/MemTransferInstFlowFunction.h | 0 .../FlowFunctions/PHINodeFlowFunction.h | 0 .../FlowFunctions/ReturnInstFlowFunction.h | 0 .../FlowFunctions/StoreInstFlowFunction.h | 0 .../FlowFunctions/VAEndInstFlowFunction.h | 0 .../FlowFunctions/VAStartInstFlowFunction.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h | 0 .../IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSSummary.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/InitialSeeds.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/JoinLattice.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/LLVMZeroValue.h | 0 .../Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h | 0 .../ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h | 0 .../Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h | 0 .../Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h | 0 .../ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h | 0 .../Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h | 0 .../IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h | 0 .../Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h | 0 .../Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h | 0 .../Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h | 0 .../Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h | 0 .../IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h | 0 .../IfdsIde/Problems/IDEInstInteractionAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h | 0 .../IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h | 0 .../IfdsIde/Problems/IFDSLinearConstantAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h | 0 .../DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h | 0 .../IfdsIde/Problems/IFDSUninitializedVariables.h | 0 .../TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h | 0 .../TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h | 0 .../Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h | 0 .../TypeStateDescriptions/OpenSSLSecureHeapDescription.h | 0 .../TypeStateDescriptions/OpenSSLSecureMemoryDescription.h | 0 .../Problems/TypeStateDescriptions/TypeStateDescription.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/IDESolver.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h | 0 .../DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h | 0 .../DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h | 0 .../DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/LinkedNode.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/PathEdge.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/SolverResults.h | 0 .../PhasarLLVM}/DataFlowSolver/IfdsIde/SpecialSummaries.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/CallString.h | 0 .../PhasarLLVM}/DataFlowSolver/Mono/Contexts/CallStringCTX.h | 0 .../PhasarLLVM}/DataFlowSolver/Mono/InterMonoProblem.h | 0 .../PhasarLLVM}/DataFlowSolver/Mono/IntraMonoProblem.h | 0 .../Mono/Problems/InterMonoFullConstantPropagation.h | 0 .../DataFlowSolver/Mono/Problems/InterMonoSolverTest.h | 0 .../DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h | 0 .../Mono/Problems/IntraMonoFullConstantPropagation.h | 0 .../DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h | 0 .../DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h | 0 .../PhasarLLVM}/DataFlowSolver/Mono/Solver/InterMonoSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/Mono/Solver/IntraMonoSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h | 0 .../DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h | 0 .../DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/Solver/PDSSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/Solver/WPDSSolver.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/WPDSGenKillProblem.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSOptions.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSProblem.h | 0 .../PhasarLLVM}/DataFlowSolver/WPDS/WPDSSolverConfig.h | 0 .../{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSType.def | 0 .../include/{ => phasar/PhasarLLVM}/Domain/AnalysisDomain.h | 0 .../llvm/include/{ => phasar/PhasarLLVM}/Domain/ExtendedValue.h | 0 .../include/{ => phasar/PhasarLLVM}/Passes/ExampleModulePass.h | 0 .../{ => phasar/PhasarLLVM}/Passes/GeneralStatisticsAnalysis.h | 0 .../{ => phasar/PhasarLLVM}/Passes/ValueAnnotationPass.h | 0 .../{ => phasar/PhasarLLVM}/Pointer/DynamicPointsToSetPtr.h | 0 .../{ => phasar/PhasarLLVM}/Pointer/LLVMBasedPointsToAnalysis.h | 0 .../include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToGraph.h | 0 .../include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToInfo.h | 0 .../include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToSet.h | 0 .../include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToUtils.h | 0 .../llvm/include/{ => phasar/PhasarLLVM}/Pointer/PointsToInfo.h | 0 .../include/{ => phasar/PhasarLLVM}/Pointer/PointsToSetOwner.h | 0 .../PhasarLLVM}/Pointer/TypeGraphs/CachedTypeGraph.h | 0 .../{ => phasar/PhasarLLVM}/Pointer/TypeGraphs/LazyTypeGraph.h | 0 .../{ => phasar/PhasarLLVM}/Pointer/TypeGraphs/TypeGraph.h | 0 .../include/{ => phasar/PhasarLLVM}/TaintConfig/TaintConfig.h | 0 .../{ => phasar/PhasarLLVM}/TaintConfig/TaintConfigUtilities.h | 0 .../{ => phasar/PhasarLLVM}/TypeHierarchy/LLVMTypeHierarchy.h | 0 .../include/{ => phasar/PhasarLLVM}/TypeHierarchy/LLVMVFTable.h | 0 .../{ => phasar/PhasarLLVM}/TypeHierarchy/TypeHierarchy.h | 0 .../include/{ => phasar/PhasarLLVM}/TypeHierarchy/VFTable.h | 0 .../include/{ => phasar/PhasarLLVM}/Utils/AnalysisSetups.def | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Annotation.h | 0 .../include/{ => phasar/PhasarLLVM}/Utils/BasicBlockOrdering.h | 0 .../llvm/include/{ => phasar/PhasarLLVM}/Utils/BinaryDomain.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/DOTGraph.h | 0 .../{ => phasar/PhasarLLVM}/Utils/DataFlowAnalysisType.def | 0 .../{ => phasar/PhasarLLVM}/Utils/DataFlowAnalysisType.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/IOFormat.def | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/IOFormat.h | 0 .../llvm/include/{ => phasar/PhasarLLVM}/Utils/LatticeDomain.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Printer.h | 0 phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Scopes.h | 0 .../include/{ => phasar/PhasarLLVM}/Utils/SummaryStrategy.h | 0 phasar/pass/include/{ => phasar/PhasarPass}/Options.h | 0 phasar/pass/include/{ => phasar/PhasarPass}/PhasarPass.h | 0 phasar/pass/include/{ => phasar/PhasarPass}/PhasarPrinterPass.h | 0 phasar/pass/include/{ => phasar/PhasarPass}/RegisterPasses.h | 0 phasar/utils/include/{ => phasar/Utils}/BitVectorSet.h | 0 phasar/utils/include/{ => phasar/Utils}/DebugOutput.h | 0 phasar/utils/include/{ => phasar/Utils}/EnumFlags.h | 0 phasar/utils/include/{ => phasar/Utils}/EquivalenceClassMap.h | 0 phasar/utils/include/{ => phasar/Utils}/GraphExtensions.h | 0 phasar/utils/include/{ => phasar/Utils}/IO.h | 0 phasar/utils/include/{ => phasar/Utils}/LLVMCXXShorthands.h | 0 phasar/utils/include/{ => phasar/Utils}/LLVMIRToSrc.h | 0 phasar/utils/include/{ => phasar/Utils}/LLVMShorthands.h | 0 phasar/utils/include/{ => phasar/Utils}/Logger.h | 0 phasar/utils/include/{ => phasar/Utils}/MultiIndexTable.h | 0 phasar/utils/include/{ => phasar/Utils}/NlohmannLogging.h | 0 phasar/utils/include/{ => phasar/Utils}/PAMM.h | 0 phasar/utils/include/{ => phasar/Utils}/PAMMMacros.h | 0 phasar/utils/include/{ => phasar/Utils}/SeverityLevel.def | 0 phasar/utils/include/{ => phasar/Utils}/Singleton.h | 0 phasar/utils/include/{ => phasar/Utils}/Soundness.def | 0 phasar/utils/include/{ => phasar/Utils}/Soundness.h | 0 phasar/utils/include/{ => phasar/Utils}/StableVector.h | 0 phasar/utils/include/{ => phasar/Utils}/Table.h | 0 phasar/utils/include/{ => phasar/Utils}/TwoElementSet.h | 0 phasar/utils/include/{ => phasar/Utils}/TypeTraits.h | 0 phasar/utils/include/{ => phasar/Utils}/Utilities.h | 0 227 files changed, 1 insertion(+), 1 deletion(-) rename phasar/clang/include/{ => phasar/PhasarClang}/ClangController.h (100%) rename phasar/clang/include/{ => phasar/PhasarClang}/RandomChangeASTConsumer.h (100%) rename phasar/clang/include/{ => phasar/PhasarClang}/RandomChangeFrontendAction.h (100%) rename phasar/clang/include/{ => phasar/PhasarClang}/RandomChangeVisitor.h (100%) rename phasar/config/include/{ => phasar/Config}/Configuration.h (100%) rename phasar/config/include/{ => phasar/Config}/ContainerConfiguration.h (100%) rename phasar/config/include/{ => phasar/Config}/Version.h (100%) rename phasar/controller/include/{ => phasar/Controller}/AnalysisController.h (100%) rename phasar/db/include/{ => phasar/DB}/DBConn.h (100%) rename phasar/db/include/{ => phasar/DB}/Hexastore.h (100%) rename phasar/db/include/{ => phasar/DB}/ProjectIRDB.h (100%) rename phasar/db/include/{ => phasar/DB}/Queries.h (100%) rename phasar/experimental/include/{ => phasar/Experimental}/Experimental.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/AnalysisSetup.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/DemandDrivenAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/IncrementalUpdateAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/ModuleWiseAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/Strategies.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/Strategies.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/VariationalAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/AnalysisStrategy/WholeProgramAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/BiDiICFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/CFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/ICFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBackwardCFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBackwardICFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedBiDiICFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedCFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/LLVMBasedICFG.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/CHAResolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/DTAResolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/NOResolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/OTFResolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/RTAResolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/Resolver/Resolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/ControlFlow/SpecialMemberFunctionType.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/DefaultSeeds.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFact.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFactWrapper.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/EdgeFunctions.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFact.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFactWrapper.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/FlowFunctions.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IDESummaries.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IDESummary.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IDETabulationProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSSummary.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/InitialSeeds.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/JoinLattice.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/LLVMZeroValue.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/IDESolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/LinkedNode.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/PathEdge.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/Solver/SolverResults.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/IfdsIde/SpecialSummaries.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/CallString.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Contexts/CallStringCTX.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/InterMonoProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/IntraMonoProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Solver/InterMonoSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/Mono/Solver/IntraMonoSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/Solver/PDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/Solver/WPDSSolver.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSGenKillProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSOptions.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSProblem.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSSolverConfig.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/DataFlowSolver/WPDS/WPDSType.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Domain/AnalysisDomain.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Domain/ExtendedValue.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Passes/ExampleModulePass.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Passes/GeneralStatisticsAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Passes/ValueAnnotationPass.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/DynamicPointsToSetPtr.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/LLVMBasedPointsToAnalysis.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToGraph.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToInfo.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToSet.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/LLVMPointsToUtils.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/PointsToInfo.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/PointsToSetOwner.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/TypeGraphs/CachedTypeGraph.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/TypeGraphs/LazyTypeGraph.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Pointer/TypeGraphs/TypeGraph.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TaintConfig/TaintConfig.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TaintConfig/TaintConfigUtilities.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TypeHierarchy/LLVMTypeHierarchy.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TypeHierarchy/LLVMVFTable.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TypeHierarchy/TypeHierarchy.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/TypeHierarchy/VFTable.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/AnalysisSetups.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Annotation.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/BasicBlockOrdering.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/BinaryDomain.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/DOTGraph.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/DataFlowAnalysisType.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/DataFlowAnalysisType.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/IOFormat.def (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/IOFormat.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/LatticeDomain.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Printer.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/Scopes.h (100%) rename phasar/llvm/include/{ => phasar/PhasarLLVM}/Utils/SummaryStrategy.h (100%) rename phasar/pass/include/{ => phasar/PhasarPass}/Options.h (100%) rename phasar/pass/include/{ => phasar/PhasarPass}/PhasarPass.h (100%) rename phasar/pass/include/{ => phasar/PhasarPass}/PhasarPrinterPass.h (100%) rename phasar/pass/include/{ => phasar/PhasarPass}/RegisterPasses.h (100%) rename phasar/utils/include/{ => phasar/Utils}/BitVectorSet.h (100%) rename phasar/utils/include/{ => phasar/Utils}/DebugOutput.h (100%) rename phasar/utils/include/{ => phasar/Utils}/EnumFlags.h (100%) rename phasar/utils/include/{ => phasar/Utils}/EquivalenceClassMap.h (100%) rename phasar/utils/include/{ => phasar/Utils}/GraphExtensions.h (100%) rename phasar/utils/include/{ => phasar/Utils}/IO.h (100%) rename phasar/utils/include/{ => phasar/Utils}/LLVMCXXShorthands.h (100%) rename phasar/utils/include/{ => phasar/Utils}/LLVMIRToSrc.h (100%) rename phasar/utils/include/{ => phasar/Utils}/LLVMShorthands.h (100%) rename phasar/utils/include/{ => phasar/Utils}/Logger.h (100%) rename phasar/utils/include/{ => phasar/Utils}/MultiIndexTable.h (100%) rename phasar/utils/include/{ => phasar/Utils}/NlohmannLogging.h (100%) rename phasar/utils/include/{ => phasar/Utils}/PAMM.h (100%) rename phasar/utils/include/{ => phasar/Utils}/PAMMMacros.h (100%) rename phasar/utils/include/{ => phasar/Utils}/SeverityLevel.def (100%) rename phasar/utils/include/{ => phasar/Utils}/Singleton.h (100%) rename phasar/utils/include/{ => phasar/Utils}/Soundness.def (100%) rename phasar/utils/include/{ => phasar/Utils}/Soundness.h (100%) rename phasar/utils/include/{ => phasar/Utils}/StableVector.h (100%) rename phasar/utils/include/{ => phasar/Utils}/Table.h (100%) rename phasar/utils/include/{ => phasar/Utils}/TwoElementSet.h (100%) rename phasar/utils/include/{ => phasar/Utils}/TypeTraits.h (100%) rename phasar/utils/include/{ => phasar/Utils}/Utilities.h (100%) diff --git a/move_to_phasar_folder.sh b/move_to_phasar_folder.sh index a685e37ed..4447233cd 100644 --- a/move_to_phasar_folder.sh +++ b/move_to_phasar_folder.sh @@ -10,7 +10,7 @@ createStructure() { } moveInclude() { - mapfile -t headers < <(cd "include/phasar/$1/" && find . -iname "*.h*" -or -iname "*.def*") + mapfile -t headers < <(cd "include/" && find . -wholename "*phasar/$1/*.h*" -or -wholename "*phasar/$1/*.def*") for header in "${headers[@]}"; do mkdir -p "$(dirname "phasar/$2/include/$header")" git mv "include/phasar/$1/$header" "phasar/$2/include/$header" diff --git a/phasar/clang/include/ClangController.h b/phasar/clang/include/phasar/PhasarClang/ClangController.h similarity index 100% rename from phasar/clang/include/ClangController.h rename to phasar/clang/include/phasar/PhasarClang/ClangController.h diff --git a/phasar/clang/include/RandomChangeASTConsumer.h b/phasar/clang/include/phasar/PhasarClang/RandomChangeASTConsumer.h similarity index 100% rename from phasar/clang/include/RandomChangeASTConsumer.h rename to phasar/clang/include/phasar/PhasarClang/RandomChangeASTConsumer.h diff --git a/phasar/clang/include/RandomChangeFrontendAction.h b/phasar/clang/include/phasar/PhasarClang/RandomChangeFrontendAction.h similarity index 100% rename from phasar/clang/include/RandomChangeFrontendAction.h rename to phasar/clang/include/phasar/PhasarClang/RandomChangeFrontendAction.h diff --git a/phasar/clang/include/RandomChangeVisitor.h b/phasar/clang/include/phasar/PhasarClang/RandomChangeVisitor.h similarity index 100% rename from phasar/clang/include/RandomChangeVisitor.h rename to phasar/clang/include/phasar/PhasarClang/RandomChangeVisitor.h diff --git a/phasar/config/include/Configuration.h b/phasar/config/include/phasar/Config/Configuration.h similarity index 100% rename from phasar/config/include/Configuration.h rename to phasar/config/include/phasar/Config/Configuration.h diff --git a/phasar/config/include/ContainerConfiguration.h b/phasar/config/include/phasar/Config/ContainerConfiguration.h similarity index 100% rename from phasar/config/include/ContainerConfiguration.h rename to phasar/config/include/phasar/Config/ContainerConfiguration.h diff --git a/phasar/config/include/Version.h b/phasar/config/include/phasar/Config/Version.h similarity index 100% rename from phasar/config/include/Version.h rename to phasar/config/include/phasar/Config/Version.h diff --git a/phasar/controller/include/AnalysisController.h b/phasar/controller/include/phasar/Controller/AnalysisController.h similarity index 100% rename from phasar/controller/include/AnalysisController.h rename to phasar/controller/include/phasar/Controller/AnalysisController.h diff --git a/phasar/db/include/DBConn.h b/phasar/db/include/phasar/DB/DBConn.h similarity index 100% rename from phasar/db/include/DBConn.h rename to phasar/db/include/phasar/DB/DBConn.h diff --git a/phasar/db/include/Hexastore.h b/phasar/db/include/phasar/DB/Hexastore.h similarity index 100% rename from phasar/db/include/Hexastore.h rename to phasar/db/include/phasar/DB/Hexastore.h diff --git a/phasar/db/include/ProjectIRDB.h b/phasar/db/include/phasar/DB/ProjectIRDB.h similarity index 100% rename from phasar/db/include/ProjectIRDB.h rename to phasar/db/include/phasar/DB/ProjectIRDB.h diff --git a/phasar/db/include/Queries.h b/phasar/db/include/phasar/DB/Queries.h similarity index 100% rename from phasar/db/include/Queries.h rename to phasar/db/include/phasar/DB/Queries.h diff --git a/phasar/experimental/include/Experimental.h b/phasar/experimental/include/phasar/Experimental/Experimental.h similarity index 100% rename from phasar/experimental/include/Experimental.h rename to phasar/experimental/include/phasar/Experimental/Experimental.h diff --git a/phasar/llvm/include/AnalysisStrategy/AnalysisSetup.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/AnalysisSetup.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h diff --git a/phasar/llvm/include/AnalysisStrategy/DemandDrivenAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/DemandDrivenAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/DemandDrivenAnalysis.h diff --git a/phasar/llvm/include/AnalysisStrategy/IncrementalUpdateAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/IncrementalUpdateAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/IncrementalUpdateAnalysis.h diff --git a/phasar/llvm/include/AnalysisStrategy/ModuleWiseAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/ModuleWiseAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/ModuleWiseAnalysis.h diff --git a/phasar/llvm/include/AnalysisStrategy/Strategies.def b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/Strategies.def rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.def diff --git a/phasar/llvm/include/AnalysisStrategy/Strategies.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/Strategies.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/Strategies.h diff --git a/phasar/llvm/include/AnalysisStrategy/VariationalAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/VariationalAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/VariationalAnalysis.h diff --git a/phasar/llvm/include/AnalysisStrategy/WholeProgramAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h similarity index 100% rename from phasar/llvm/include/AnalysisStrategy/WholeProgramAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h diff --git a/phasar/llvm/include/ControlFlow/BiDiICFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/BiDiICFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/BiDiICFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/BiDiICFG.h diff --git a/phasar/llvm/include/ControlFlow/CFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/CFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/CFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/CFG.h diff --git a/phasar/llvm/include/ControlFlow/ICFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/ICFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/ICFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/ICFG.h diff --git a/phasar/llvm/include/ControlFlow/LLVMBasedBackwardCFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/LLVMBasedBackwardCFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardCFG.h diff --git a/phasar/llvm/include/ControlFlow/LLVMBasedBackwardICFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/LLVMBasedBackwardICFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBackwardICFG.h diff --git a/phasar/llvm/include/ControlFlow/LLVMBasedBiDiICFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/LLVMBasedBiDiICFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedBiDiICFG.h diff --git a/phasar/llvm/include/ControlFlow/LLVMBasedCFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/LLVMBasedCFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedCFG.h diff --git a/phasar/llvm/include/ControlFlow/LLVMBasedICFG.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h similarity index 100% rename from phasar/llvm/include/ControlFlow/LLVMBasedICFG.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/CHAResolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/CHAResolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/CHAResolver.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/DTAResolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/DTAResolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/DTAResolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/DTAResolver.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/NOResolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/NOResolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/NOResolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/NOResolver.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/OTFResolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/OTFResolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/OTFResolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/OTFResolver.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/RTAResolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/RTAResolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/RTAResolver.h diff --git a/phasar/llvm/include/ControlFlow/Resolver/Resolver.h b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h similarity index 100% rename from phasar/llvm/include/ControlFlow/Resolver/Resolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/Resolver/Resolver.h diff --git a/phasar/llvm/include/ControlFlow/SpecialMemberFunctionType.def b/phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def similarity index 100% rename from phasar/llvm/include/ControlFlow/SpecialMemberFunctionType.def rename to phasar/llvm/include/phasar/PhasarLLVM/ControlFlow/SpecialMemberFunctionType.def diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/DefaultSeeds.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/DefaultSeeds.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/DefaultSeeds.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/DefaultSeeds.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFact.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFact.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFact.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFact.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFactWrapper.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFactWrapper.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFactWrapper.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFactWrapper.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctionComposer.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctions.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/EdgeFunctions.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/EdgeFunctions.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowEdgeFunctionCache.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFact.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFact.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFact.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFact.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFactWrapper.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFactWrapper.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFactWrapper.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFactWrapper.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFunctions.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/FlowFunctions.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/FlowFunctions.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummaries.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummaries.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummaries.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummaries.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummary.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummary.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IDESummary.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDESummary.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IDETabulationProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IDETabulationProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IDETabulationProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/BranchSwitchInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CallToRetFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/CheckOperandsFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/FlowFunctionBase.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GEPInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/GenerateFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/IdentityFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCallee.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MapTaintedValuesToCaller.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemSetInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/MemTransferInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/PHINodeFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/ReturnInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/StoreInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAEndInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/FlowFunctions/VAStartInstFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovRetValWriter.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LcovWriter.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberEntry.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/LineNumberWriter.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStats.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Stats/TraceStatsWriter.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/DataFlowUtils.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSFieldSensTaintAnalysis/Utils/Log.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSSummary.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSSummary.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSSummary.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSTabulationProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/InitialSeeds.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/InitialSeeds.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/InitialSeeds.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/JoinLattice.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/JoinLattice.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/JoinLattice.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMFlowFunctions.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMZeroValue.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/LLVMZeroValue.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/LLVMZeroValue.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocation.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/AbstractMemoryLocationFactory.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/ComposeEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/DebugEdgeIdentity.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/EdgeDomain.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/GenEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/Helpers.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinConstEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/JoinEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/KillIfSanitizedEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/TransferEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintAnalysisBase.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/ExtendedTaintAnalysis/XTaintEdgeFunctionBase.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/AllBot.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/BinaryEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/ConstantHelper.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValue.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/EdgeValueSet.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/GenConstant.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/IDEGeneralizedLCA.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/JoinEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/LCAEdgeFunctionComposer.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCalleeFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/MapFactsToCallerFlowFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCA/TypecastEdgeFunction.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDEProtoAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESecureHeapPropagation.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDESolverTest.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETaintAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDETypeStateAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSFieldSensTaintAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSProtoAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSignAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSSolverTest.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSTypeAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariables.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/CSTDFILEIOTypeStateDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFCTXDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLEVPKDFDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureHeapDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/OpenSSLSecureMemoryDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/TypeStateDescriptions/TypeStateDescription.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIDESolver.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/BiDiIFDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/DefaultSeeds.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IDESolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IDESolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSToIDETabulationProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNode.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JoinHandlingNodeIFDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/JumpFunctions.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/LinkedNode.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/LinkedNode.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/LinkedNode.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/LinkedNode.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/PathEdge.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/PathEdge.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/PathEdge.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/SolverResults.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/Solver/SolverResults.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/SolverResults.h diff --git a/phasar/llvm/include/DataFlowSolver/IfdsIde/SpecialSummaries.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/IfdsIde/SpecialSummaries.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/SpecialSummaries.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/CallString.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/CallString.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/CallString.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Contexts/CallStringCTX.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Contexts/CallStringCTX.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Contexts/CallStringCTX.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/InterMonoProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/InterMonoProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/InterMonoProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/IntraMonoProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/IntraMonoProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/IntraMonoProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoFullConstantPropagation.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoSolverTest.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/InterMonoTaintAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoFullConstantPropagation.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoSolverTest.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Problems/IntraMonoUninitVariables.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Solver/InterMonoSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Solver/InterMonoSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/InterMonoSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/Mono/Solver/IntraMonoSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/Mono/Solver/IntraMonoSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/Mono/Solver/IntraMonoSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/SyncPDS/Solver/SyncPDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/JoinLatticeToSemiRingElem.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSAliasCollector.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSLinearConstantAnalysis.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Problems/WPDSSolverTest.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/Solver/PDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/PDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/Solver/PDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/PDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/Solver/WPDSSolver.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolver.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/Solver/WPDSSolver.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/Solver/WPDSSolver.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/WPDSGenKillProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/WPDSGenKillProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSGenKillProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/WPDSOptions.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/WPDSOptions.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSOptions.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/WPDSProblem.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSProblem.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/WPDSProblem.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSProblem.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/WPDSSolverConfig.h b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.h similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/WPDSSolverConfig.h rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSSolverConfig.h diff --git a/phasar/llvm/include/DataFlowSolver/WPDS/WPDSType.def b/phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSType.def similarity index 100% rename from phasar/llvm/include/DataFlowSolver/WPDS/WPDSType.def rename to phasar/llvm/include/phasar/PhasarLLVM/DataFlowSolver/WPDS/WPDSType.def diff --git a/phasar/llvm/include/Domain/AnalysisDomain.h b/phasar/llvm/include/phasar/PhasarLLVM/Domain/AnalysisDomain.h similarity index 100% rename from phasar/llvm/include/Domain/AnalysisDomain.h rename to phasar/llvm/include/phasar/PhasarLLVM/Domain/AnalysisDomain.h diff --git a/phasar/llvm/include/Domain/ExtendedValue.h b/phasar/llvm/include/phasar/PhasarLLVM/Domain/ExtendedValue.h similarity index 100% rename from phasar/llvm/include/Domain/ExtendedValue.h rename to phasar/llvm/include/phasar/PhasarLLVM/Domain/ExtendedValue.h diff --git a/phasar/llvm/include/Passes/ExampleModulePass.h b/phasar/llvm/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h similarity index 100% rename from phasar/llvm/include/Passes/ExampleModulePass.h rename to phasar/llvm/include/phasar/PhasarLLVM/Passes/ExampleModulePass.h diff --git a/phasar/llvm/include/Passes/GeneralStatisticsAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h similarity index 100% rename from phasar/llvm/include/Passes/GeneralStatisticsAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/Passes/GeneralStatisticsAnalysis.h diff --git a/phasar/llvm/include/Passes/ValueAnnotationPass.h b/phasar/llvm/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h similarity index 100% rename from phasar/llvm/include/Passes/ValueAnnotationPass.h rename to phasar/llvm/include/phasar/PhasarLLVM/Passes/ValueAnnotationPass.h diff --git a/phasar/llvm/include/Pointer/DynamicPointsToSetPtr.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h similarity index 100% rename from phasar/llvm/include/Pointer/DynamicPointsToSetPtr.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/DynamicPointsToSetPtr.h diff --git a/phasar/llvm/include/Pointer/LLVMBasedPointsToAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h similarity index 100% rename from phasar/llvm/include/Pointer/LLVMBasedPointsToAnalysis.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMBasedPointsToAnalysis.h diff --git a/phasar/llvm/include/Pointer/LLVMPointsToGraph.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h similarity index 100% rename from phasar/llvm/include/Pointer/LLVMPointsToGraph.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToGraph.h diff --git a/phasar/llvm/include/Pointer/LLVMPointsToInfo.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h similarity index 100% rename from phasar/llvm/include/Pointer/LLVMPointsToInfo.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToInfo.h diff --git a/phasar/llvm/include/Pointer/LLVMPointsToSet.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h similarity index 100% rename from phasar/llvm/include/Pointer/LLVMPointsToSet.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h diff --git a/phasar/llvm/include/Pointer/LLVMPointsToUtils.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h similarity index 100% rename from phasar/llvm/include/Pointer/LLVMPointsToUtils.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToUtils.h diff --git a/phasar/llvm/include/Pointer/PointsToInfo.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToInfo.h similarity index 100% rename from phasar/llvm/include/Pointer/PointsToInfo.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToInfo.h diff --git a/phasar/llvm/include/Pointer/PointsToSetOwner.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h similarity index 100% rename from phasar/llvm/include/Pointer/PointsToSetOwner.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h diff --git a/phasar/llvm/include/Pointer/TypeGraphs/CachedTypeGraph.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.h similarity index 100% rename from phasar/llvm/include/Pointer/TypeGraphs/CachedTypeGraph.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/CachedTypeGraph.h diff --git a/phasar/llvm/include/Pointer/TypeGraphs/LazyTypeGraph.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.h similarity index 100% rename from phasar/llvm/include/Pointer/TypeGraphs/LazyTypeGraph.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/LazyTypeGraph.h diff --git a/phasar/llvm/include/Pointer/TypeGraphs/TypeGraph.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/TypeGraph.h similarity index 100% rename from phasar/llvm/include/Pointer/TypeGraphs/TypeGraph.h rename to phasar/llvm/include/phasar/PhasarLLVM/Pointer/TypeGraphs/TypeGraph.h diff --git a/phasar/llvm/include/TaintConfig/TaintConfig.h b/phasar/llvm/include/phasar/PhasarLLVM/TaintConfig/TaintConfig.h similarity index 100% rename from phasar/llvm/include/TaintConfig/TaintConfig.h rename to phasar/llvm/include/phasar/PhasarLLVM/TaintConfig/TaintConfig.h diff --git a/phasar/llvm/include/TaintConfig/TaintConfigUtilities.h b/phasar/llvm/include/phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h similarity index 100% rename from phasar/llvm/include/TaintConfig/TaintConfigUtilities.h rename to phasar/llvm/include/phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h diff --git a/phasar/llvm/include/TypeHierarchy/LLVMTypeHierarchy.h b/phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h similarity index 100% rename from phasar/llvm/include/TypeHierarchy/LLVMTypeHierarchy.h rename to phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h diff --git a/phasar/llvm/include/TypeHierarchy/LLVMVFTable.h b/phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h similarity index 100% rename from phasar/llvm/include/TypeHierarchy/LLVMVFTable.h rename to phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/LLVMVFTable.h diff --git a/phasar/llvm/include/TypeHierarchy/TypeHierarchy.h b/phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h similarity index 100% rename from phasar/llvm/include/TypeHierarchy/TypeHierarchy.h rename to phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/TypeHierarchy.h diff --git a/phasar/llvm/include/TypeHierarchy/VFTable.h b/phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h similarity index 100% rename from phasar/llvm/include/TypeHierarchy/VFTable.h rename to phasar/llvm/include/phasar/PhasarLLVM/TypeHierarchy/VFTable.h diff --git a/phasar/llvm/include/Utils/AnalysisSetups.def b/phasar/llvm/include/phasar/PhasarLLVM/Utils/AnalysisSetups.def similarity index 100% rename from phasar/llvm/include/Utils/AnalysisSetups.def rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/AnalysisSetups.def diff --git a/phasar/llvm/include/Utils/Annotation.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/Annotation.h similarity index 100% rename from phasar/llvm/include/Utils/Annotation.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/Annotation.h diff --git a/phasar/llvm/include/Utils/BasicBlockOrdering.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/BasicBlockOrdering.h similarity index 100% rename from phasar/llvm/include/Utils/BasicBlockOrdering.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/BasicBlockOrdering.h diff --git a/phasar/llvm/include/Utils/BinaryDomain.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/BinaryDomain.h similarity index 100% rename from phasar/llvm/include/Utils/BinaryDomain.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/BinaryDomain.h diff --git a/phasar/llvm/include/Utils/DOTGraph.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/DOTGraph.h similarity index 100% rename from phasar/llvm/include/Utils/DOTGraph.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/DOTGraph.h diff --git a/phasar/llvm/include/Utils/DataFlowAnalysisType.def b/phasar/llvm/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.def similarity index 100% rename from phasar/llvm/include/Utils/DataFlowAnalysisType.def rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.def diff --git a/phasar/llvm/include/Utils/DataFlowAnalysisType.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h similarity index 100% rename from phasar/llvm/include/Utils/DataFlowAnalysisType.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/DataFlowAnalysisType.h diff --git a/phasar/llvm/include/Utils/IOFormat.def b/phasar/llvm/include/phasar/PhasarLLVM/Utils/IOFormat.def similarity index 100% rename from phasar/llvm/include/Utils/IOFormat.def rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/IOFormat.def diff --git a/phasar/llvm/include/Utils/IOFormat.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/IOFormat.h similarity index 100% rename from phasar/llvm/include/Utils/IOFormat.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/IOFormat.h diff --git a/phasar/llvm/include/Utils/LatticeDomain.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/LatticeDomain.h similarity index 100% rename from phasar/llvm/include/Utils/LatticeDomain.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/LatticeDomain.h diff --git a/phasar/llvm/include/Utils/Printer.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/Printer.h similarity index 100% rename from phasar/llvm/include/Utils/Printer.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/Printer.h diff --git a/phasar/llvm/include/Utils/Scopes.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/Scopes.h similarity index 100% rename from phasar/llvm/include/Utils/Scopes.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/Scopes.h diff --git a/phasar/llvm/include/Utils/SummaryStrategy.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h similarity index 100% rename from phasar/llvm/include/Utils/SummaryStrategy.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/SummaryStrategy.h diff --git a/phasar/pass/include/Options.h b/phasar/pass/include/phasar/PhasarPass/Options.h similarity index 100% rename from phasar/pass/include/Options.h rename to phasar/pass/include/phasar/PhasarPass/Options.h diff --git a/phasar/pass/include/PhasarPass.h b/phasar/pass/include/phasar/PhasarPass/PhasarPass.h similarity index 100% rename from phasar/pass/include/PhasarPass.h rename to phasar/pass/include/phasar/PhasarPass/PhasarPass.h diff --git a/phasar/pass/include/PhasarPrinterPass.h b/phasar/pass/include/phasar/PhasarPass/PhasarPrinterPass.h similarity index 100% rename from phasar/pass/include/PhasarPrinterPass.h rename to phasar/pass/include/phasar/PhasarPass/PhasarPrinterPass.h diff --git a/phasar/pass/include/RegisterPasses.h b/phasar/pass/include/phasar/PhasarPass/RegisterPasses.h similarity index 100% rename from phasar/pass/include/RegisterPasses.h rename to phasar/pass/include/phasar/PhasarPass/RegisterPasses.h diff --git a/phasar/utils/include/BitVectorSet.h b/phasar/utils/include/phasar/Utils/BitVectorSet.h similarity index 100% rename from phasar/utils/include/BitVectorSet.h rename to phasar/utils/include/phasar/Utils/BitVectorSet.h diff --git a/phasar/utils/include/DebugOutput.h b/phasar/utils/include/phasar/Utils/DebugOutput.h similarity index 100% rename from phasar/utils/include/DebugOutput.h rename to phasar/utils/include/phasar/Utils/DebugOutput.h diff --git a/phasar/utils/include/EnumFlags.h b/phasar/utils/include/phasar/Utils/EnumFlags.h similarity index 100% rename from phasar/utils/include/EnumFlags.h rename to phasar/utils/include/phasar/Utils/EnumFlags.h diff --git a/phasar/utils/include/EquivalenceClassMap.h b/phasar/utils/include/phasar/Utils/EquivalenceClassMap.h similarity index 100% rename from phasar/utils/include/EquivalenceClassMap.h rename to phasar/utils/include/phasar/Utils/EquivalenceClassMap.h diff --git a/phasar/utils/include/GraphExtensions.h b/phasar/utils/include/phasar/Utils/GraphExtensions.h similarity index 100% rename from phasar/utils/include/GraphExtensions.h rename to phasar/utils/include/phasar/Utils/GraphExtensions.h diff --git a/phasar/utils/include/IO.h b/phasar/utils/include/phasar/Utils/IO.h similarity index 100% rename from phasar/utils/include/IO.h rename to phasar/utils/include/phasar/Utils/IO.h diff --git a/phasar/utils/include/LLVMCXXShorthands.h b/phasar/utils/include/phasar/Utils/LLVMCXXShorthands.h similarity index 100% rename from phasar/utils/include/LLVMCXXShorthands.h rename to phasar/utils/include/phasar/Utils/LLVMCXXShorthands.h diff --git a/phasar/utils/include/LLVMIRToSrc.h b/phasar/utils/include/phasar/Utils/LLVMIRToSrc.h similarity index 100% rename from phasar/utils/include/LLVMIRToSrc.h rename to phasar/utils/include/phasar/Utils/LLVMIRToSrc.h diff --git a/phasar/utils/include/LLVMShorthands.h b/phasar/utils/include/phasar/Utils/LLVMShorthands.h similarity index 100% rename from phasar/utils/include/LLVMShorthands.h rename to phasar/utils/include/phasar/Utils/LLVMShorthands.h diff --git a/phasar/utils/include/Logger.h b/phasar/utils/include/phasar/Utils/Logger.h similarity index 100% rename from phasar/utils/include/Logger.h rename to phasar/utils/include/phasar/Utils/Logger.h diff --git a/phasar/utils/include/MultiIndexTable.h b/phasar/utils/include/phasar/Utils/MultiIndexTable.h similarity index 100% rename from phasar/utils/include/MultiIndexTable.h rename to phasar/utils/include/phasar/Utils/MultiIndexTable.h diff --git a/phasar/utils/include/NlohmannLogging.h b/phasar/utils/include/phasar/Utils/NlohmannLogging.h similarity index 100% rename from phasar/utils/include/NlohmannLogging.h rename to phasar/utils/include/phasar/Utils/NlohmannLogging.h diff --git a/phasar/utils/include/PAMM.h b/phasar/utils/include/phasar/Utils/PAMM.h similarity index 100% rename from phasar/utils/include/PAMM.h rename to phasar/utils/include/phasar/Utils/PAMM.h diff --git a/phasar/utils/include/PAMMMacros.h b/phasar/utils/include/phasar/Utils/PAMMMacros.h similarity index 100% rename from phasar/utils/include/PAMMMacros.h rename to phasar/utils/include/phasar/Utils/PAMMMacros.h diff --git a/phasar/utils/include/SeverityLevel.def b/phasar/utils/include/phasar/Utils/SeverityLevel.def similarity index 100% rename from phasar/utils/include/SeverityLevel.def rename to phasar/utils/include/phasar/Utils/SeverityLevel.def diff --git a/phasar/utils/include/Singleton.h b/phasar/utils/include/phasar/Utils/Singleton.h similarity index 100% rename from phasar/utils/include/Singleton.h rename to phasar/utils/include/phasar/Utils/Singleton.h diff --git a/phasar/utils/include/Soundness.def b/phasar/utils/include/phasar/Utils/Soundness.def similarity index 100% rename from phasar/utils/include/Soundness.def rename to phasar/utils/include/phasar/Utils/Soundness.def diff --git a/phasar/utils/include/Soundness.h b/phasar/utils/include/phasar/Utils/Soundness.h similarity index 100% rename from phasar/utils/include/Soundness.h rename to phasar/utils/include/phasar/Utils/Soundness.h diff --git a/phasar/utils/include/StableVector.h b/phasar/utils/include/phasar/Utils/StableVector.h similarity index 100% rename from phasar/utils/include/StableVector.h rename to phasar/utils/include/phasar/Utils/StableVector.h diff --git a/phasar/utils/include/Table.h b/phasar/utils/include/phasar/Utils/Table.h similarity index 100% rename from phasar/utils/include/Table.h rename to phasar/utils/include/phasar/Utils/Table.h diff --git a/phasar/utils/include/TwoElementSet.h b/phasar/utils/include/phasar/Utils/TwoElementSet.h similarity index 100% rename from phasar/utils/include/TwoElementSet.h rename to phasar/utils/include/phasar/Utils/TwoElementSet.h diff --git a/phasar/utils/include/TypeTraits.h b/phasar/utils/include/phasar/Utils/TypeTraits.h similarity index 100% rename from phasar/utils/include/TypeTraits.h rename to phasar/utils/include/phasar/Utils/TypeTraits.h diff --git a/phasar/utils/include/Utilities.h b/phasar/utils/include/phasar/Utils/Utilities.h similarity index 100% rename from phasar/utils/include/Utilities.h rename to phasar/utils/include/phasar/Utils/Utilities.h From 1ea753c48a0577037760c5c5d31c0c599803ced0 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 11:07:38 +0200 Subject: [PATCH 05/95] build: circular dep between utils / config resolve --- phasar/{utils => config}/include/phasar/Utils/IO.h | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename phasar/{utils => config}/include/phasar/Utils/IO.h (100%) diff --git a/phasar/utils/include/phasar/Utils/IO.h b/phasar/config/include/phasar/Utils/IO.h similarity index 100% rename from phasar/utils/include/phasar/Utils/IO.h rename to phasar/config/include/phasar/Utils/IO.h From 97144100e88326c0962dcc2c25afdd158ba066d4 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 11:08:36 +0200 Subject: [PATCH 06/95] build: initial CMakeLists + just-simple.cmake --- CMakeLists.txt | 35 + cmake/code-coverage.cmake | 672 +++++++++++ cmake/conan.cmake | 1026 +++++++++++++++++ cmake/just-simple.cmake | 5 + conanfile.txt | 5 +- .../phasar => phasar/clang}/CMakeLists.txt | 0 phasar/config/CMakeLists.txt | 4 + phasar/controller/CMakeLists.txt | 0 phasar/db/CMakeLists.txt | 0 phasar/experimental/CMakeLists.txt | 0 phasar/llvm/CMakeLists.txt | 0 phasar/pass/CMakeLists.txt | 0 phasar/utils/CMakeLists.txt | 8 + 13 files changed, 1753 insertions(+), 2 deletions(-) create mode 100644 CMakeLists.txt create mode 100644 cmake/code-coverage.cmake create mode 100644 cmake/conan.cmake rename {include/phasar => phasar/clang}/CMakeLists.txt (100%) create mode 100644 phasar/config/CMakeLists.txt create mode 100644 phasar/controller/CMakeLists.txt create mode 100644 phasar/db/CMakeLists.txt create mode 100644 phasar/experimental/CMakeLists.txt create mode 100644 phasar/llvm/CMakeLists.txt create mode 100644 phasar/pass/CMakeLists.txt create mode 100644 phasar/utils/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100644 index 000000000..d7a204bdb --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,35 @@ +cmake_minimum_required (VERSION 3.21) +project(phasar + VERSION 1.0.0 + HOMEPAGE_URL "https://github.com/secure-software-engineering/phasar") + +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build mode ('DebugSan' or 'Debug' or 'Release', default is 'Debug')" FORCE) +endif () + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP -fvisibility-inlines-hidden -fstack-protector-strong -ffunction-sections -fdata-sections -pipe") +if(CMAKE_BUILD_TYPE STREQUAL "DebugSan") + message(STATUS "Selected Debug Build with sanitizers") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer -fsanitize=address,undefined") + set(CMAKE_BUILD_TYPE "Debug") +elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(STATUS "Selected Debug Build") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") +else() + set(CMAKE_BUILD_TYPE "Release") + message(STATUS "Selected Release Build") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") +endif() + +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) +include(cmake/just-simple.cmake) + +#add_subdirectory(phasar/clang) +add_subdirectory(phasar/config) +#add_subdirectory(phasar/controller) +#add_subdirectory(phasar/db) +#add_subdirectory(phasar/experimental) +#add_subdirectory(phasar/llvm) +#add_subdirectory(phasar/pass) +#add_subdirectory(phasar/utils) diff --git a/cmake/code-coverage.cmake b/cmake/code-coverage.cmake new file mode 100644 index 000000000..d19d83d3a --- /dev/null +++ b/cmake/code-coverage.cmake @@ -0,0 +1,672 @@ +# +# Copyright (C) 2018-2020 by George Cave - gcave@stablecoder.ca +# +# Licensed under the Apache License, Version 2.0 (the "License"); you may not +# use this file except in compliance with the License. You may obtain a copy of +# the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations under +# the License. + +# USAGE: To enable any code coverage instrumentation/targets, the single CMake +# option of `CODE_COVERAGE` needs to be set to 'ON', either by GUI, ccmake, or +# on the command line. +# +# From this point, there are two primary methods for adding instrumentation to +# targets: 1 - A blanket instrumentation by calling `add_code_coverage()`, where +# all targets in that directory and all subdirectories are automatically +# instrumented. 2 - Per-target instrumentation by calling +# `target_code_coverage()`, where the target is given and thus only +# that target is instrumented. This applies to both libraries and executables. +# +# To add coverage targets, such as calling `make ccov` to generate the actual +# coverage information for perusal or consumption, call +# `target_code_coverage()` on an *executable* target. +# +# Example 1: All targets instrumented +# +# In this case, the coverage information reported will will be that of the +# `theLib` library target and `theExe` executable. +# +# 1a: Via global command +# +# ~~~ +# add_code_coverage() # Adds instrumentation to all targets +# +# add_library(theLib lib.cpp) +# +# add_executable(theExe main.cpp) +# target_link_libraries(theExe PRIVATE theLib) +# target_code_coverage(theExe) # As an executable target, adds the 'ccov-theExe' target (instrumentation already added via global anyways) for generating code coverage reports. +# ~~~ +# +# 1b: Via target commands +# +# ~~~ +# add_library(theLib lib.cpp) +# target_code_coverage(theLib) # As a library target, adds coverage instrumentation but no targets. +# +# add_executable(theExe main.cpp) +# target_link_libraries(theExe PRIVATE theLib) +# target_code_coverage(theExe) # As an executable target, adds the 'ccov-theExe' target and instrumentation for generating code coverage reports. +# ~~~ +# +# Example 2: Target instrumented, but with regex pattern of files to be excluded +# from report +# +# ~~~ +# add_executable(theExe main.cpp non_covered.cpp) +# target_code_coverage(theExe EXCLUDE non_covered.cpp test/*) # As an executable target, the reports will exclude the non-covered.cpp file, and any files in a test/ folder. +# ~~~ +# +# Example 3: Target added to the 'ccov' and 'ccov-all' targets +# +# ~~~ +# add_code_coverage_all_targets(EXCLUDE test/*) # Adds the 'ccov-all' target set and sets it to exclude all files in test/ folders. +# +# add_executable(theExe main.cpp non_covered.cpp) +# target_code_coverage(theExe AUTO ALL EXCLUDE non_covered.cpp test/*) # As an executable target, adds to the 'ccov' and ccov-all' targets, and the reports will exclude the non-covered.cpp file, and any files in a test/ folder. +# ~~~ + +# Options +option( + CODE_COVERAGE + "Builds targets with code coverage instrumentation. (Requires GCC or Clang)" + OFF) + +# Programs +find_program(LLVM_COV_PATH llvm-cov) +find_program(LLVM_PROFDATA_PATH llvm-profdata) +find_program(LCOV_PATH lcov) +find_program(GENHTML_PATH genhtml) +# Hide behind the 'advanced' mode flag for GUI/ccmake +mark_as_advanced(FORCE LLVM_COV_PATH LLVM_PROFDATA_PATH LCOV_PATH GENHTML_PATH) + +# Variables +set(CMAKE_COVERAGE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/ccov) +set_property(GLOBAL PROPERTY JOB_POOLS ccov_serial_pool=1) + +# Common initialization/checks +if(CODE_COVERAGE AND NOT CODE_COVERAGE_ADDED) + set(CODE_COVERAGE_ADDED ON) + + # Common Targets + add_custom_target( + ccov-preprocessing + COMMAND ${CMAKE_COMMAND} -E make_directory + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY} + DEPENDS ccov-clean) + + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + # Messages + message(STATUS "Building with llvm Code Coverage Tools") + + if(NOT LLVM_COV_PATH) + message(FATAL_ERROR "llvm-cov not found! Aborting.") + else() + # Version number checking for 'EXCLUDE' compatibility + execute_process(COMMAND ${LLVM_COV_PATH} --version + OUTPUT_VARIABLE LLVM_COV_VERSION_CALL_OUTPUT) + string(REGEX MATCH "[0-9]+\\.[0-9]+\\.[0-9]+" LLVM_COV_VERSION + ${LLVM_COV_VERSION_CALL_OUTPUT}) + + if(LLVM_COV_VERSION VERSION_LESS "7.0.0") + message( + WARNING + "target_code_coverage()/add_code_coverage_all_targets() 'EXCLUDE' option only available on llvm-cov >= 7.0.0" + ) + endif() + endif() + + # Targets + if(${CMAKE_VERSION} VERSION_LESS "3.17.0") + add_custom_target( + ccov-clean + COMMAND ${CMAKE_COMMAND} -E remove -f + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list + COMMAND ${CMAKE_COMMAND} -E remove -f + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/profraw.list) + else() + add_custom_target( + ccov-clean + COMMAND ${CMAKE_COMMAND} -E rm -f + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list + COMMAND ${CMAKE_COMMAND} -E rm -f + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/profraw.list) + endif() + + # Used to get the shared object file list before doing the main all- + # processing + add_custom_target( + ccov-libs + COMMAND ; + COMMENT "libs ready for coverage report.") + + elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES + "GNU") + # Messages + message(STATUS "Building with lcov Code Coverage Tools") + + if(CMAKE_BUILD_TYPE) + string(TOUPPER ${CMAKE_BUILD_TYPE} upper_build_type) + if(NOT ${upper_build_type} STREQUAL "DEBUG") + message( + WARNING + "Code coverage results with an optimized (non-Debug) build may be misleading" + ) + endif() + else() + message( + WARNING + "Code coverage results with an optimized (non-Debug) build may be misleading" + ) + endif() + if(NOT LCOV_PATH) + message(FATAL_ERROR "lcov not found! Aborting...") + endif() + if(NOT GENHTML_PATH) + message(FATAL_ERROR "genhtml not found! Aborting...") + endif() + + # Targets + add_custom_target(ccov-clean COMMAND ${LCOV_PATH} --directory + ${CMAKE_BINARY_DIR} --zerocounters) + + else() + message(FATAL_ERROR "Code coverage requires Clang or GCC. Aborting.") + endif() +endif() + +# Adds code coverage instrumentation to a library, or instrumentation/targets +# for an executable target. +# ~~~ +# EXECUTABLE ADDED TARGETS: +# GCOV/LCOV: +# ccov : Generates HTML code coverage report for every target added with 'AUTO' parameter. +# ccov-${TARGET_NAME} : Generates HTML code coverage report for the associated named target. +# ccov-all : Generates HTML code coverage report, merging every target added with 'ALL' parameter into a single detailed report. +# +# LLVM-COV: +# ccov : Generates HTML code coverage report for every target added with 'AUTO' parameter. +# ccov-report : Generates HTML code coverage report for every target added with 'AUTO' parameter. +# ccov-${TARGET_NAME} : Generates HTML code coverage report. +# ccov-report-${TARGET_NAME} : Prints to command line summary per-file coverage information. +# ccov-export-${TARGET_NAME} : Exports the coverage report to a JSON file. +# ccov-show-${TARGET_NAME} : Prints to command line detailed per-line coverage information. +# ccov-all : Generates HTML code coverage report, merging every target added with 'ALL' parameter into a single detailed report. +# ccov-all-report : Prints summary per-file coverage information for every target added with ALL' parameter to the command line. +# ccov-all-export : Exports the coverage report to a JSON file. +# +# Required: +# TARGET_NAME - Name of the target to generate code coverage for. +# Optional: +# PUBLIC - Sets the visibility for added compile options to targets to PUBLIC instead of the default of PRIVATE. +# INTERFACE - Sets the visibility for added compile options to targets to INTERFACE instead of the default of PRIVATE. +# PLAIN - Do not set any target visibility (backward compatibility with old cmake projects) +# AUTO - Adds the target to the 'ccov' target so that it can be run in a batch with others easily. Effective on executable targets. +# ALL - Adds the target to the 'ccov-all' and 'ccov-all-report' targets, which merge several executable targets coverage data to a single report. Effective on executable targets. +# EXTERNAL - For GCC's lcov, allows the profiling of 'external' files from the processing directory +# COVERAGE_TARGET_NAME - For executables ONLY, changes the outgoing target name so instead of `ccov-${TARGET_NAME}` it becomes `ccov-${COVERAGE_TARGET_NAME}`. +# EXCLUDE - Excludes files of the patterns provided from coverage. Note that GCC/lcov excludes by glob pattern, and clang/LLVM excludes via regex! **These do not copy to the 'all' targets.** +# OBJECTS - For executables ONLY, if the provided targets are shared libraries, adds coverage information to the output +# ARGS - For executables ONLY, appends the given arguments to the associated ccov-* executable call +# ~~~ +function(target_code_coverage TARGET_NAME) + # Argument parsing + set(options AUTO ALL EXTERNAL PUBLIC INTERFACE PLAIN) + set(single_value_keywords COVERAGE_TARGET_NAME) + set(multi_value_keywords EXCLUDE OBJECTS ARGS) + cmake_parse_arguments( + target_code_coverage "${options}" "${single_value_keywords}" + "${multi_value_keywords}" ${ARGN}) + + # Set the visibility of target functions to PUBLIC, INTERFACE or default to + # PRIVATE. + if(target_code_coverage_PUBLIC) + set(TARGET_VISIBILITY PUBLIC) + set(TARGET_LINK_VISIBILITY PUBLIC) + elseif(target_code_coverage_INTERFACE) + set(TARGET_VISIBILITY INTERFACE) + set(TARGET_LINK_VISIBILITY INTERFACE) + elseif(target_code_coverage_PLAIN) + set(TARGET_VISIBILITY PUBLIC) + set(TARGET_LINK_VISIBILITY) + else() + set(TARGET_VISIBILITY PRIVATE) + set(TARGET_LINK_VISIBILITY PRIVATE) + endif() + + if(NOT target_code_coverage_COVERAGE_TARGET_NAME) + # If a specific name was given, use that instead. + set(target_code_coverage_COVERAGE_TARGET_NAME ${TARGET_NAME}) + endif() + + if(CODE_COVERAGE) + + # Add code coverage instrumentation to the target's linker command + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + target_compile_options(${TARGET_NAME} ${TARGET_VISIBILITY} + -fprofile-instr-generate -fcoverage-mapping) + target_link_options(${TARGET_NAME} ${TARGET_VISIBILITY} + -fprofile-instr-generate -fcoverage-mapping) + elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES + "GNU") + target_compile_options(${TARGET_NAME} ${TARGET_VISIBILITY} -fprofile-arcs + -ftest-coverage) + target_link_libraries(${TARGET_NAME} ${TARGET_LINK_VISIBILITY} gcov) + endif() + + # Targets + get_target_property(target_type ${TARGET_NAME} TYPE) + + # Add shared library to processing for 'all' targets + if(target_type STREQUAL "SHARED_LIBRARY" AND target_code_coverage_ALL) + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + add_custom_target( + ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${CMAKE_COMMAND} -E echo "-object=$" >> + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list + DEPENDS ccov-preprocessing ${TARGET_NAME}) + + if(NOT TARGET ccov-libs) + message( + FATAL_ERROR + "Calling target_code_coverage with 'ALL' must be after a call to 'add_code_coverage_all_targets'." + ) + endif() + + add_dependencies(ccov-libs + ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME}) + endif() + endif() + + # For executables add targets to run and produce output + if(target_type STREQUAL "EXECUTABLE") + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + + # If there are shared objects to also work with, generate the string to + # add them here + foreach(SO_TARGET ${target_code_coverage_OBJECTS}) + # Check to see if the target is a shared object + if(TARGET ${SO_TARGET}) + get_target_property(SO_TARGET_TYPE ${SO_TARGET} TYPE) + if(${SO_TARGET_TYPE} STREQUAL "SHARED_LIBRARY") + set(SO_OBJECTS ${SO_OBJECTS} -object=$) + endif() + endif() + endforeach() + + # Run the executable, generating raw profile data Make the run data + # available for further processing. Separated to allow Windows to run + # this target serially. + add_custom_target( + ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${CMAKE_COMMAND} -E env + LLVM_PROFILE_FILE=${target_code_coverage_COVERAGE_TARGET_NAME}.profraw + $ ${target_code_coverage_ARGS} + COMMAND + ${CMAKE_COMMAND} -E echo "-object=$" + ${SO_OBJECTS} >> ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list + COMMAND + ${CMAKE_COMMAND} -E echo + "${CMAKE_CURRENT_BINARY_DIR}/${target_code_coverage_COVERAGE_TARGET_NAME}.profraw" + >> ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/profraw.list + JOB_POOL ccov_serial_pool + DEPENDS ccov-preprocessing ccov-libs ${TARGET_NAME}) + + # Merge the generated profile data so llvm-cov can process it + add_custom_target( + ccov-processing-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${LLVM_PROFDATA_PATH} merge -sparse + ${target_code_coverage_COVERAGE_TARGET_NAME}.profraw -o + ${target_code_coverage_COVERAGE_TARGET_NAME}.profdata + DEPENDS ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME}) + + # Ignore regex only works on LLVM >= 7 + if(LLVM_COV_VERSION VERSION_GREATER_EQUAL "7.0.0") + foreach(EXCLUDE_ITEM ${target_code_coverage_EXCLUDE}) + set(EXCLUDE_REGEX ${EXCLUDE_REGEX} + -ignore-filename-regex='${EXCLUDE_ITEM}') + endforeach() + endif() + + # Print out details of the coverage information to the command line + add_custom_target( + ccov-show-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${LLVM_COV_PATH} show $ ${SO_OBJECTS} + -instr-profile=${target_code_coverage_COVERAGE_TARGET_NAME}.profdata + -show-line-counts-or-regions ${EXCLUDE_REGEX} + DEPENDS ccov-processing-${target_code_coverage_COVERAGE_TARGET_NAME}) + + # Print out a summary of the coverage information to the command line + add_custom_target( + ccov-report-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${LLVM_COV_PATH} report $ ${SO_OBJECTS} + -instr-profile=${target_code_coverage_COVERAGE_TARGET_NAME}.profdata + ${EXCLUDE_REGEX} + DEPENDS ccov-processing-${target_code_coverage_COVERAGE_TARGET_NAME}) + + # Export coverage information so continuous integration tools (e.g. + # Jenkins) can consume it + add_custom_target( + ccov-export-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${LLVM_COV_PATH} export $ ${SO_OBJECTS} + -instr-profile=${target_code_coverage_COVERAGE_TARGET_NAME}.profdata + -format="text" ${EXCLUDE_REGEX} > + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/${target_code_coverage_COVERAGE_TARGET_NAME}.json + DEPENDS ccov-processing-${target_code_coverage_COVERAGE_TARGET_NAME}) + + # Generates HTML output of the coverage information for perusal + add_custom_target( + ccov-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${LLVM_COV_PATH} show $ ${SO_OBJECTS} + -instr-profile=${target_code_coverage_COVERAGE_TARGET_NAME}.profdata + -show-line-counts-or-regions + -output-dir=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/${target_code_coverage_COVERAGE_TARGET_NAME} + -format="html" ${EXCLUDE_REGEX} + DEPENDS ccov-processing-${target_code_coverage_COVERAGE_TARGET_NAME}) + + elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES + "GNU") + set(COVERAGE_INFO + "${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/${target_code_coverage_COVERAGE_TARGET_NAME}.info" + ) + + # Run the executable, generating coverage information + add_custom_target( + ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND $ ${target_code_coverage_ARGS} + DEPENDS ccov-preprocessing ${TARGET_NAME}) + + # Generate exclusion string for use + foreach(EXCLUDE_ITEM ${target_code_coverage_EXCLUDE}) + set(EXCLUDE_REGEX ${EXCLUDE_REGEX} --remove ${COVERAGE_INFO} + '${EXCLUDE_ITEM}') + endforeach() + + if(EXCLUDE_REGEX) + set(EXCLUDE_COMMAND ${LCOV_PATH} ${EXCLUDE_REGEX} --output-file + ${COVERAGE_INFO}) + else() + set(EXCLUDE_COMMAND ;) + endif() + + if(NOT ${target_code_coverage_EXTERNAL}) + set(EXTERNAL_OPTION --no-external) + endif() + + # Capture coverage data + if(${CMAKE_VERSION} VERSION_LESS "3.17.0") + add_custom_target( + ccov-capture-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND ${CMAKE_COMMAND} -E remove -f ${COVERAGE_INFO} + COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --zerocounters + COMMAND $ ${target_code_coverage_ARGS} + COMMAND + ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --base-directory + ${CMAKE_SOURCE_DIR} --capture ${EXTERNAL_OPTION} --output-file + ${COVERAGE_INFO} + COMMAND ${EXCLUDE_COMMAND} + DEPENDS ccov-preprocessing ${TARGET_NAME}) + else() + add_custom_target( + ccov-capture-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND ${CMAKE_COMMAND} -E rm -f ${COVERAGE_INFO} + COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --zerocounters + COMMAND $ ${target_code_coverage_ARGS} + COMMAND + ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --base-directory + ${CMAKE_SOURCE_DIR} --capture ${EXTERNAL_OPTION} --output-file + ${COVERAGE_INFO} + COMMAND ${EXCLUDE_COMMAND} + DEPENDS ccov-preprocessing ${TARGET_NAME}) + endif() + + # Generates HTML output of the coverage information for perusal + add_custom_target( + ccov-${target_code_coverage_COVERAGE_TARGET_NAME} + COMMAND + ${GENHTML_PATH} -o + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/${target_code_coverage_COVERAGE_TARGET_NAME} + ${COVERAGE_INFO} + DEPENDS ccov-capture-${target_code_coverage_COVERAGE_TARGET_NAME}) + endif() + + add_custom_command( + TARGET ccov-${target_code_coverage_COVERAGE_TARGET_NAME} + POST_BUILD + COMMAND ; + COMMENT + "Open ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/${target_code_coverage_COVERAGE_TARGET_NAME}/index.html in your browser to view the coverage report." + ) + + # AUTO + if(target_code_coverage_AUTO) + if(NOT TARGET ccov) + add_custom_target(ccov) + endif() + add_dependencies(ccov ccov-${target_code_coverage_COVERAGE_TARGET_NAME}) + + if(NOT CMAKE_C_COMPILER_ID MATCHES "GNU" AND NOT CMAKE_CXX_COMPILER_ID + MATCHES "GNU") + if(NOT TARGET ccov-report) + add_custom_target(ccov-report) + endif() + add_dependencies( + ccov-report + ccov-report-${target_code_coverage_COVERAGE_TARGET_NAME}) + endif() + endif() + + # ALL + if(target_code_coverage_ALL) + if(NOT TARGET ccov-all-processing) + message( + FATAL_ERROR + "Calling target_code_coverage with 'ALL' must be after a call to 'add_code_coverage_all_targets'." + ) + endif() + + add_dependencies(ccov-all-processing + ccov-run-${target_code_coverage_COVERAGE_TARGET_NAME}) + endif() + endif() + endif() +endfunction() + +# Adds code coverage instrumentation to all targets in the current directory and +# any subdirectories. To add coverage instrumentation to only specific targets, +# use `target_code_coverage`. +function(add_code_coverage) + if(CODE_COVERAGE) + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + add_compile_options(-fprofile-instr-generate -fcoverage-mapping) + add_link_options(-fprofile-instr-generate -fcoverage-mapping) + elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES + "GNU") + add_compile_options(-fprofile-arcs -ftest-coverage) + link_libraries(gcov) + endif() + endif() +endfunction() + +# Adds the 'ccov-all' type targets that calls all targets added via +# `target_code_coverage` with the `ALL` parameter, but merges all the coverage +# data from them into a single large report instead of the numerous smaller +# reports. Also adds the ccov-all-capture Generates an all-merged.info file, for +# use with coverage dashboards (e.g. codecov.io, coveralls). +# ~~~ +# Optional: +# EXCLUDE - Excludes files of the patterns provided from coverage. Note that GCC/lcov excludes by glob pattern, and clang/LLVM excludes via regex! +# ~~~ +function(add_code_coverage_all_targets) + # Argument parsing + set(multi_value_keywords EXCLUDE) + cmake_parse_arguments(add_code_coverage_all_targets "" "" + "${multi_value_keywords}" ${ARGN}) + + if(CODE_COVERAGE) + if(CMAKE_C_COMPILER_ID MATCHES "(Apple)?[Cc]lang" + OR CMAKE_CXX_COMPILER_ID MATCHES "(Apple)?[Cc]lang") + + # Merge the profile data for all of the run executables + if(WIN32) + add_custom_target( + ccov-all-processing + COMMAND + powershell -Command $$FILELIST = Get-Content + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/profraw.list\; llvm-profdata.exe + merge -o ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + -sparse $$FILELIST) + else() + add_custom_target( + ccov-all-processing + COMMAND + ${LLVM_PROFDATA_PATH} merge -o + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata -sparse `cat + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/profraw.list`) + endif() + + # Regex exclude only available for LLVM >= 7 + if(LLVM_COV_VERSION VERSION_GREATER_EQUAL "7.0.0") + foreach(EXCLUDE_ITEM ${add_code_coverage_all_targets_EXCLUDE}) + set(EXCLUDE_REGEX ${EXCLUDE_REGEX} + -ignore-filename-regex='${EXCLUDE_ITEM}') + endforeach() + endif() + + # Print summary of the code coverage information to the command line + if(WIN32) + add_custom_target( + ccov-all-report + COMMAND + powershell -Command $$FILELIST = Get-Content + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list\; llvm-cov.exe + report $$FILELIST + -instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + ${EXCLUDE_REGEX} + DEPENDS ccov-all-processing) + else() + add_custom_target( + ccov-all-report + COMMAND + ${LLVM_COV_PATH} report `cat + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list` + -instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + ${EXCLUDE_REGEX} + DEPENDS ccov-all-processing) + endif() + + # Export coverage information so continuous integration tools (e.g. + # Jenkins) can consume it + add_custom_target( + ccov-all-export + COMMAND + ${LLVM_COV_PATH} export `cat + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list` + -instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + -format="text" ${EXCLUDE_REGEX} > + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/coverage.json + DEPENDS ccov-all-processing) + + # Generate HTML output of all added targets for perusal + if(WIN32) + add_custom_target( + ccov-all + COMMAND + powershell -Command $$FILELIST = Get-Content + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list\; llvm-cov.exe show + $$FILELIST + -instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + -show-line-counts-or-regions + -output-dir=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged + -format="html" ${EXCLUDE_REGEX} + DEPENDS ccov-all-processing) + else() + add_custom_target( + ccov-all + COMMAND + ${LLVM_COV_PATH} show `cat + ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/binaries.list` + -instr-profile=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.profdata + -show-line-counts-or-regions + -output-dir=${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged + -format="html" ${EXCLUDE_REGEX} + DEPENDS ccov-all-processing) + endif() + + elseif(CMAKE_C_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES + "GNU") + set(COVERAGE_INFO "${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged.info") + + # Nothing required for gcov + add_custom_target(ccov-all-processing COMMAND ;) + + # Exclusion regex string creation + set(EXCLUDE_REGEX) + foreach(EXCLUDE_ITEM ${add_code_coverage_all_targets_EXCLUDE}) + set(EXCLUDE_REGEX ${EXCLUDE_REGEX} --remove ${COVERAGE_INFO} + '${EXCLUDE_ITEM}') + endforeach() + + if(EXCLUDE_REGEX) + set(EXCLUDE_COMMAND ${LCOV_PATH} ${EXCLUDE_REGEX} --output-file + ${COVERAGE_INFO}) + else() + set(EXCLUDE_COMMAND ;) + endif() + + # Capture coverage data + if(${CMAKE_VERSION} VERSION_LESS "3.17.0") + add_custom_target( + ccov-all-capture + COMMAND ${CMAKE_COMMAND} -E remove -f ${COVERAGE_INFO} + COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture + --output-file ${COVERAGE_INFO} + COMMAND ${EXCLUDE_COMMAND} + DEPENDS ccov-preprocessing ccov-all-processing) + else() + add_custom_target( + ccov-all-capture + COMMAND ${CMAKE_COMMAND} -E rm -f ${COVERAGE_INFO} + COMMAND ${LCOV_PATH} --directory ${CMAKE_BINARY_DIR} --capture + --output-file ${COVERAGE_INFO} + COMMAND ${EXCLUDE_COMMAND} + DEPENDS ccov-preprocessing ccov-all-processing) + endif() + + # Generates HTML output of all targets for perusal + add_custom_target( + ccov-all + COMMAND ${GENHTML_PATH} -o ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged + ${COVERAGE_INFO} -p ${CMAKE_SOURCE_DIR} + DEPENDS ccov-all-capture) + + endif() + + add_custom_command( + TARGET ccov-all + POST_BUILD + COMMAND ; + COMMENT + "Open ${CMAKE_COVERAGE_OUTPUT_DIRECTORY}/all-merged/index.html in your browser to view the coverage report." + ) + endif() +endfunction() diff --git a/cmake/conan.cmake b/cmake/conan.cmake new file mode 100644 index 000000000..4f5f67e74 --- /dev/null +++ b/cmake/conan.cmake @@ -0,0 +1,1026 @@ +# The MIT License (MIT) + +# Copyright (c) 2018 JFrog + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in all +# copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + + + +# This file comes from: https://github.com/conan-io/cmake-conan. Please refer +# to this repository for issues and documentation. + +# Its purpose is to wrap and launch Conan C/C++ Package Manager when cmake is called. +# It will take CMake current settings (os, compiler, compiler version, architecture) +# and translate them to conan settings for installing and retrieving dependencies. + +# It is intended to facilitate developers building projects that have conan dependencies, +# but it is only necessary on the end-user side. It is not necessary to create conan +# packages, in fact it shouldn't be use for that. Check the project documentation. + +# version: 0.18.1 + +include(CMakeParseArguments) + +function(_get_msvc_ide_version result) + set(${result} "" PARENT_SCOPE) + if(NOT MSVC_VERSION VERSION_LESS 1400 AND MSVC_VERSION VERSION_LESS 1500) + set(${result} 8 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1500 AND MSVC_VERSION VERSION_LESS 1600) + set(${result} 9 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1600 AND MSVC_VERSION VERSION_LESS 1700) + set(${result} 10 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1700 AND MSVC_VERSION VERSION_LESS 1800) + set(${result} 11 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1800 AND MSVC_VERSION VERSION_LESS 1900) + set(${result} 12 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1900 AND MSVC_VERSION VERSION_LESS 1910) + set(${result} 14 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1910 AND MSVC_VERSION VERSION_LESS 1920) + set(${result} 15 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1920 AND MSVC_VERSION VERSION_LESS 1930) + set(${result} 16 PARENT_SCOPE) + elseif(NOT MSVC_VERSION VERSION_LESS 1930 AND MSVC_VERSION VERSION_LESS 1940) + set(${result} 17 PARENT_SCOPE) + else() + message(FATAL_ERROR "Conan: Unknown MSVC compiler version [${MSVC_VERSION}]") + endif() +endfunction() + +macro(_conan_detect_build_type) + conan_parse_arguments(${ARGV}) + + if(ARGUMENTS_BUILD_TYPE) + set(_CONAN_SETTING_BUILD_TYPE ${ARGUMENTS_BUILD_TYPE}) + elseif(CMAKE_BUILD_TYPE) + set(_CONAN_SETTING_BUILD_TYPE ${CMAKE_BUILD_TYPE}) + else() + message(FATAL_ERROR "Please specify in command line CMAKE_BUILD_TYPE (-DCMAKE_BUILD_TYPE=Release)") + endif() + + string(TOUPPER ${_CONAN_SETTING_BUILD_TYPE} _CONAN_SETTING_BUILD_TYPE_UPPER) + if (_CONAN_SETTING_BUILD_TYPE_UPPER STREQUAL "DEBUG") + set(_CONAN_SETTING_BUILD_TYPE "Debug") + elseif(_CONAN_SETTING_BUILD_TYPE_UPPER STREQUAL "RELEASE") + set(_CONAN_SETTING_BUILD_TYPE "Release") + elseif(_CONAN_SETTING_BUILD_TYPE_UPPER STREQUAL "RELWITHDEBINFO") + set(_CONAN_SETTING_BUILD_TYPE "RelWithDebInfo") + elseif(_CONAN_SETTING_BUILD_TYPE_UPPER STREQUAL "MINSIZEREL") + set(_CONAN_SETTING_BUILD_TYPE "MinSizeRel") + endif() +endmacro() + +macro(_conan_check_system_name) + #handle -s os setting + if(CMAKE_SYSTEM_NAME AND NOT CMAKE_SYSTEM_NAME STREQUAL "Generic") + #use default conan os setting if CMAKE_SYSTEM_NAME is not defined + set(CONAN_SYSTEM_NAME ${CMAKE_SYSTEM_NAME}) + if(${CMAKE_SYSTEM_NAME} STREQUAL "Darwin") + set(CONAN_SYSTEM_NAME Macos) + endif() + if(${CMAKE_SYSTEM_NAME} STREQUAL "QNX") + set(CONAN_SYSTEM_NAME Neutrino) + endif() + set(CONAN_SUPPORTED_PLATFORMS Windows Linux Macos Android iOS FreeBSD WindowsStore WindowsCE watchOS tvOS FreeBSD SunOS AIX Arduino Emscripten Neutrino) + list (FIND CONAN_SUPPORTED_PLATFORMS "${CONAN_SYSTEM_NAME}" _index) + if (${_index} GREATER -1) + #check if the cmake system is a conan supported one + set(_CONAN_SETTING_OS ${CONAN_SYSTEM_NAME}) + else() + message(FATAL_ERROR "cmake system ${CONAN_SYSTEM_NAME} is not supported by conan. Use one of ${CONAN_SUPPORTED_PLATFORMS}") + endif() + endif() +endmacro() + +macro(_conan_check_language) + get_property(_languages GLOBAL PROPERTY ENABLED_LANGUAGES) + if (";${_languages};" MATCHES ";CXX;") + set(LANGUAGE CXX) + set(USING_CXX 1) + elseif (";${_languages};" MATCHES ";C;") + set(LANGUAGE C) + set(USING_CXX 0) + else () + message(FATAL_ERROR "Conan: Neither C or C++ was detected as a language for the project. Unabled to detect compiler version.") + endif() +endmacro() + +macro(_conan_detect_compiler) + + conan_parse_arguments(${ARGV}) + + if(ARGUMENTS_ARCH) + set(_CONAN_SETTING_ARCH ${ARGUMENTS_ARCH}) + endif() + + if(USING_CXX) + set(_CONAN_SETTING_COMPILER_CPPSTD ${CMAKE_CXX_STANDARD}) + endif() + + if (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL GNU) + # using GCC + # TODO: Handle other params + string(REPLACE "." ";" VERSION_LIST ${CMAKE_${LANGUAGE}_COMPILER_VERSION}) + list(GET VERSION_LIST 0 MAJOR) + list(GET VERSION_LIST 1 MINOR) + set(COMPILER_VERSION ${MAJOR}.${MINOR}) + if(${MAJOR} GREATER 4) + set(COMPILER_VERSION ${MAJOR}) + endif() + set(_CONAN_SETTING_COMPILER gcc) + set(_CONAN_SETTING_COMPILER_VERSION ${COMPILER_VERSION}) + if (USING_CXX) + conan_cmake_detect_unix_libcxx(_LIBCXX) + set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX}) + endif () + elseif (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Intel) + string(REPLACE "." ";" VERSION_LIST ${CMAKE_${LANGUAGE}_COMPILER_VERSION}) + list(GET VERSION_LIST 0 MAJOR) + list(GET VERSION_LIST 1 MINOR) + set(COMPILER_VERSION ${MAJOR}.${MINOR}) + set(_CONAN_SETTING_COMPILER intel) + set(_CONAN_SETTING_COMPILER_VERSION ${COMPILER_VERSION}) + if (USING_CXX) + conan_cmake_detect_unix_libcxx(_LIBCXX) + set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX}) + endif () + elseif (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL AppleClang) + # using AppleClang + string(REPLACE "." ";" VERSION_LIST ${CMAKE_${LANGUAGE}_COMPILER_VERSION}) + list(GET VERSION_LIST 0 MAJOR) + list(GET VERSION_LIST 1 MINOR) + set(_CONAN_SETTING_COMPILER apple-clang) + set(_CONAN_SETTING_COMPILER_VERSION ${MAJOR}.${MINOR}) + if (USING_CXX) + conan_cmake_detect_unix_libcxx(_LIBCXX) + set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX}) + endif () + elseif (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Clang + AND NOT "${CMAKE_${LANGUAGE}_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC" + AND NOT "${CMAKE_${LANGUAGE}_SIMULATE_ID}" STREQUAL "MSVC") + + string(REPLACE "." ";" VERSION_LIST ${CMAKE_${LANGUAGE}_COMPILER_VERSION}) + list(GET VERSION_LIST 0 MAJOR) + list(GET VERSION_LIST 1 MINOR) + set(_CONAN_SETTING_COMPILER clang) + set(_CONAN_SETTING_COMPILER_VERSION ${MAJOR}.${MINOR}) + if(APPLE) + cmake_policy(GET CMP0025 APPLE_CLANG_POLICY) + if(NOT APPLE_CLANG_POLICY STREQUAL NEW) + message(STATUS "Conan: APPLE and Clang detected. Assuming apple-clang compiler. Set CMP0025 to avoid it") + set(_CONAN_SETTING_COMPILER apple-clang) + endif() + endif() + if(${_CONAN_SETTING_COMPILER} STREQUAL clang AND ${MAJOR} GREATER 7) + set(_CONAN_SETTING_COMPILER_VERSION ${MAJOR}) + endif() + if (USING_CXX) + conan_cmake_detect_unix_libcxx(_LIBCXX) + set(_CONAN_SETTING_COMPILER_LIBCXX ${_LIBCXX}) + endif () + elseif(${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL MSVC + OR (${CMAKE_${LANGUAGE}_COMPILER_ID} STREQUAL Clang + AND "${CMAKE_${LANGUAGE}_COMPILER_FRONTEND_VARIANT}" STREQUAL "MSVC" + AND "${CMAKE_${LANGUAGE}_SIMULATE_ID}" STREQUAL "MSVC")) + + set(_VISUAL "Visual Studio") + _get_msvc_ide_version(_VISUAL_VERSION) + if("${_VISUAL_VERSION}" STREQUAL "") + message(FATAL_ERROR "Conan: Visual Studio not recognized") + else() + set(_CONAN_SETTING_COMPILER ${_VISUAL}) + set(_CONAN_SETTING_COMPILER_VERSION ${_VISUAL_VERSION}) + endif() + + if(NOT _CONAN_SETTING_ARCH) + if (MSVC_${LANGUAGE}_ARCHITECTURE_ID MATCHES "64") + set(_CONAN_SETTING_ARCH x86_64) + elseif (MSVC_${LANGUAGE}_ARCHITECTURE_ID MATCHES "^ARM") + message(STATUS "Conan: Using default ARM architecture from MSVC") + set(_CONAN_SETTING_ARCH armv6) + elseif (MSVC_${LANGUAGE}_ARCHITECTURE_ID MATCHES "86") + set(_CONAN_SETTING_ARCH x86) + else () + message(FATAL_ERROR "Conan: Unknown MSVC architecture [${MSVC_${LANGUAGE}_ARCHITECTURE_ID}]") + endif() + endif() + + conan_cmake_detect_vs_runtime(_vs_runtime ${ARGV}) + message(STATUS "Conan: Detected VS runtime: ${_vs_runtime}") + set(_CONAN_SETTING_COMPILER_RUNTIME ${_vs_runtime}) + + if (CMAKE_GENERATOR_TOOLSET) + set(_CONAN_SETTING_COMPILER_TOOLSET ${CMAKE_VS_PLATFORM_TOOLSET}) + elseif(CMAKE_VS_PLATFORM_TOOLSET AND (CMAKE_GENERATOR STREQUAL "Ninja")) + set(_CONAN_SETTING_COMPILER_TOOLSET ${CMAKE_VS_PLATFORM_TOOLSET}) + endif() + else() + message(FATAL_ERROR "Conan: compiler setup not recognized") + endif() + +endmacro() + +function(conan_cmake_settings result) + #message(STATUS "COMPILER " ${CMAKE_CXX_COMPILER}) + #message(STATUS "COMPILER " ${CMAKE_CXX_COMPILER_ID}) + #message(STATUS "VERSION " ${CMAKE_CXX_COMPILER_VERSION}) + #message(STATUS "FLAGS " ${CMAKE_LANG_FLAGS}) + #message(STATUS "LIB ARCH " ${CMAKE_CXX_LIBRARY_ARCHITECTURE}) + #message(STATUS "BUILD TYPE " ${CMAKE_BUILD_TYPE}) + #message(STATUS "GENERATOR " ${CMAKE_GENERATOR}) + #message(STATUS "GENERATOR WIN64 " ${CMAKE_CL_64}) + + message(STATUS "Conan: Automatic detection of conan settings from cmake") + + conan_parse_arguments(${ARGV}) + + _conan_detect_build_type(${ARGV}) + + _conan_check_system_name() + + _conan_check_language() + + _conan_detect_compiler(${ARGV}) + + # If profile is defined it is used + if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND ARGUMENTS_DEBUG_PROFILE) + set(_APPLIED_PROFILES ${ARGUMENTS_DEBUG_PROFILE}) + elseif(CMAKE_BUILD_TYPE STREQUAL "Release" AND ARGUMENTS_RELEASE_PROFILE) + set(_APPLIED_PROFILES ${ARGUMENTS_RELEASE_PROFILE}) + elseif(CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo" AND ARGUMENTS_RELWITHDEBINFO_PROFILE) + set(_APPLIED_PROFILES ${ARGUMENTS_RELWITHDEBINFO_PROFILE}) + elseif(CMAKE_BUILD_TYPE STREQUAL "MinSizeRel" AND ARGUMENTS_MINSIZEREL_PROFILE) + set(_APPLIED_PROFILES ${ARGUMENTS_MINSIZEREL_PROFILE}) + elseif(ARGUMENTS_PROFILE) + set(_APPLIED_PROFILES ${ARGUMENTS_PROFILE}) + endif() + + foreach(ARG ${_APPLIED_PROFILES}) + set(_SETTINGS ${_SETTINGS} -pr=${ARG}) + endforeach() + foreach(ARG ${ARGUMENTS_PROFILE_BUILD}) + conan_check(VERSION 1.24.0 REQUIRED DETECT_QUIET) + set(_SETTINGS ${_SETTINGS} -pr:b=${ARG}) + endforeach() + + if(NOT _SETTINGS OR ARGUMENTS_PROFILE_AUTO STREQUAL "ALL") + set(ARGUMENTS_PROFILE_AUTO arch build_type compiler compiler.version + compiler.runtime compiler.libcxx compiler.toolset) + endif() + + # remove any manually specified settings from the autodetected settings + foreach(ARG ${ARGUMENTS_SETTINGS}) + string(REGEX MATCH "[^=]*" MANUAL_SETTING "${ARG}") + message(STATUS "Conan: ${MANUAL_SETTING} was added as an argument. Not using the autodetected one.") + list(REMOVE_ITEM ARGUMENTS_PROFILE_AUTO "${MANUAL_SETTING}") + endforeach() + + # Automatic from CMake + foreach(ARG ${ARGUMENTS_PROFILE_AUTO}) + string(TOUPPER ${ARG} _arg_name) + string(REPLACE "." "_" _arg_name ${_arg_name}) + if(_CONAN_SETTING_${_arg_name}) + set(_SETTINGS ${_SETTINGS} -s ${ARG}=${_CONAN_SETTING_${_arg_name}}) + endif() + endforeach() + + foreach(ARG ${ARGUMENTS_SETTINGS}) + set(_SETTINGS ${_SETTINGS} -s ${ARG}) + endforeach() + + message(STATUS "Conan: Settings= ${_SETTINGS}") + + set(${result} ${_SETTINGS} PARENT_SCOPE) +endfunction() + + +function(conan_cmake_detect_unix_libcxx result) + # Take into account any -stdlib in compile options + get_directory_property(compile_options DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMPILE_OPTIONS) + string(GENEX_STRIP "${compile_options}" compile_options) + + # Take into account any _GLIBCXX_USE_CXX11_ABI in compile definitions + get_directory_property(defines DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} COMPILE_DEFINITIONS) + string(GENEX_STRIP "${defines}" defines) + + foreach(define ${defines}) + if(define MATCHES "_GLIBCXX_USE_CXX11_ABI") + if(define MATCHES "^-D") + set(compile_options ${compile_options} "${define}") + else() + set(compile_options ${compile_options} "-D${define}") + endif() + endif() + endforeach() + + # add additional compiler options ala cmRulePlaceholderExpander::ExpandRuleVariable + set(EXPAND_CXX_COMPILER ${CMAKE_CXX_COMPILER}) + if(CMAKE_CXX_COMPILER_ARG1) + # CMake splits CXX="foo bar baz" into CMAKE_CXX_COMPILER="foo", CMAKE_CXX_COMPILER_ARG1="bar baz" + # without this, ccache, winegcc, or other wrappers might lose all their arguments + separate_arguments(SPLIT_CXX_COMPILER_ARG1 NATIVE_COMMAND ${CMAKE_CXX_COMPILER_ARG1}) + list(APPEND EXPAND_CXX_COMPILER ${SPLIT_CXX_COMPILER_ARG1}) + endif() + + if(CMAKE_CXX_COMPILE_OPTIONS_TARGET AND CMAKE_CXX_COMPILER_TARGET) + # without --target= we may be calling the wrong underlying GCC + list(APPEND EXPAND_CXX_COMPILER "${CMAKE_CXX_COMPILE_OPTIONS_TARGET}${CMAKE_CXX_COMPILER_TARGET}") + endif() + + if(CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN AND CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN) + list(APPEND EXPAND_CXX_COMPILER "${CMAKE_CXX_COMPILE_OPTIONS_EXTERNAL_TOOLCHAIN}${CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN}") + endif() + + if(CMAKE_CXX_COMPILE_OPTIONS_SYSROOT) + # without --sysroot= we may find the wrong #include + if(CMAKE_SYSROOT_COMPILE) + list(APPEND EXPAND_CXX_COMPILER "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT_COMPILE}") + elseif(CMAKE_SYSROOT) + list(APPEND EXPAND_CXX_COMPILER "${CMAKE_CXX_COMPILE_OPTIONS_SYSROOT}${CMAKE_SYSROOT}") + endif() + endif() + + separate_arguments(SPLIT_CXX_FLAGS NATIVE_COMMAND ${CMAKE_CXX_FLAGS}) + + if(CMAKE_OSX_SYSROOT) + set(xcode_sysroot_option "--sysroot=${CMAKE_OSX_SYSROOT}") + endif() + + execute_process( + COMMAND ${CMAKE_COMMAND} -E echo "#include " + COMMAND ${EXPAND_CXX_COMPILER} ${SPLIT_CXX_FLAGS} -x c++ ${xcode_sysroot_option} ${compile_options} -E -dM - + OUTPUT_VARIABLE string_defines + ) + + if(string_defines MATCHES "#define __GLIBCXX__") + # Allow -D_GLIBCXX_USE_CXX11_ABI=ON/OFF as argument to cmake + if(DEFINED _GLIBCXX_USE_CXX11_ABI) + if(_GLIBCXX_USE_CXX11_ABI) + set(${result} libstdc++11 PARENT_SCOPE) + return() + else() + set(${result} libstdc++ PARENT_SCOPE) + return() + endif() + endif() + + if(string_defines MATCHES "#define _GLIBCXX_USE_CXX11_ABI 1\n") + set(${result} libstdc++11 PARENT_SCOPE) + else() + # Either the compiler is missing the define because it is old, and so + # it can't use the new abi, or the compiler was configured to use the + # old abi by the user or distro (e.g. devtoolset on RHEL/CentOS) + set(${result} libstdc++ PARENT_SCOPE) + endif() + else() + set(${result} libc++ PARENT_SCOPE) + endif() +endfunction() + +function(conan_cmake_detect_vs_runtime result) + + conan_parse_arguments(${ARGV}) + if(ARGUMENTS_BUILD_TYPE) + set(build_type "${ARGUMENTS_BUILD_TYPE}") + elseif(CMAKE_BUILD_TYPE) + set(build_type "${CMAKE_BUILD_TYPE}") + else() + message(FATAL_ERROR "Please specify in command line CMAKE_BUILD_TYPE (-DCMAKE_BUILD_TYPE=Release)") + endif() + + if(build_type) + string(TOUPPER "${build_type}" build_type) + endif() + set(variables CMAKE_CXX_FLAGS_${build_type} CMAKE_C_FLAGS_${build_type} CMAKE_CXX_FLAGS CMAKE_C_FLAGS) + foreach(variable ${variables}) + if(NOT "${${variable}}" STREQUAL "") + string(REPLACE " " ";" flags "${${variable}}") + foreach (flag ${flags}) + if("${flag}" STREQUAL "/MD" OR "${flag}" STREQUAL "/MDd" OR "${flag}" STREQUAL "/MT" OR "${flag}" STREQUAL "/MTd") + string(SUBSTRING "${flag}" 1 -1 runtime) + set(${result} "${runtime}" PARENT_SCOPE) + return() + endif() + endforeach() + endif() + endforeach() + if("${build_type}" STREQUAL "DEBUG") + set(${result} "MDd" PARENT_SCOPE) + else() + set(${result} "MD" PARENT_SCOPE) + endif() +endfunction() + +function(_collect_settings result) + set(ARGUMENTS_PROFILE_AUTO arch build_type compiler compiler.version + compiler.runtime compiler.libcxx compiler.toolset + compiler.cppstd) + foreach(ARG ${ARGUMENTS_PROFILE_AUTO}) + string(TOUPPER ${ARG} _arg_name) + string(REPLACE "." "_" _arg_name ${_arg_name}) + if(_CONAN_SETTING_${_arg_name}) + set(detected_setings ${detected_setings} ${ARG}=${_CONAN_SETTING_${_arg_name}}) + endif() + endforeach() + set(${result} ${detected_setings} PARENT_SCOPE) +endfunction() + +function(conan_cmake_autodetect detected_settings) + _conan_detect_build_type(${ARGV}) + _conan_check_system_name() + _conan_check_language() + _conan_detect_compiler(${ARGV}) + _collect_settings(collected_settings) + set(${detected_settings} ${collected_settings} PARENT_SCOPE) +endfunction() + +macro(conan_parse_arguments) + set(options BASIC_SETUP CMAKE_TARGETS UPDATE KEEP_RPATHS NO_LOAD NO_OUTPUT_DIRS OUTPUT_QUIET NO_IMPORTS SKIP_STD) + set(oneValueArgs CONANFILE ARCH BUILD_TYPE INSTALL_FOLDER OUTPUT_FOLDER CONAN_COMMAND) + set(multiValueArgs DEBUG_PROFILE RELEASE_PROFILE RELWITHDEBINFO_PROFILE MINSIZEREL_PROFILE + PROFILE REQUIRES OPTIONS IMPORTS SETTINGS BUILD ENV GENERATORS PROFILE_AUTO + INSTALL_ARGS CONFIGURATION_TYPES PROFILE_BUILD BUILD_REQUIRES) + cmake_parse_arguments(ARGUMENTS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) +endmacro() + +function(old_conan_cmake_install) + # Calls "conan install" + # Argument BUILD is equivalant to --build={missing, PkgName,...} or + # --build when argument is 'BUILD all' (which builds all packages from source) + # Argument CONAN_COMMAND, to specify the conan path, e.g. in case of running from source + # cmake does not identify conan as command, even if it is +x and it is in the path + conan_parse_arguments(${ARGV}) + + if(CONAN_CMAKE_MULTI) + set(ARGUMENTS_GENERATORS ${ARGUMENTS_GENERATORS} cmake_multi) + else() + set(ARGUMENTS_GENERATORS ${ARGUMENTS_GENERATORS} cmake) + endif() + + set(CONAN_BUILD_POLICY "") + foreach(ARG ${ARGUMENTS_BUILD}) + if(${ARG} STREQUAL "all") + set(CONAN_BUILD_POLICY ${CONAN_BUILD_POLICY} --build) + break() + else() + set(CONAN_BUILD_POLICY ${CONAN_BUILD_POLICY} --build=${ARG}) + endif() + endforeach() + if(ARGUMENTS_CONAN_COMMAND) + set(CONAN_CMD ${ARGUMENTS_CONAN_COMMAND}) + else() + conan_check(REQUIRED) + endif() + set(CONAN_OPTIONS "") + if(ARGUMENTS_CONANFILE) + if(IS_ABSOLUTE ${ARGUMENTS_CONANFILE}) + set(CONANFILE ${ARGUMENTS_CONANFILE}) + else() + set(CONANFILE ${CMAKE_CURRENT_SOURCE_DIR}/${ARGUMENTS_CONANFILE}) + endif() + else() + set(CONANFILE ".") + endif() + foreach(ARG ${ARGUMENTS_OPTIONS}) + set(CONAN_OPTIONS ${CONAN_OPTIONS} -o=${ARG}) + endforeach() + if(ARGUMENTS_UPDATE) + set(CONAN_INSTALL_UPDATE --update) + endif() + if(ARGUMENTS_NO_IMPORTS) + set(CONAN_INSTALL_NO_IMPORTS --no-imports) + endif() + set(CONAN_INSTALL_FOLDER "") + if(ARGUMENTS_INSTALL_FOLDER) + set(CONAN_INSTALL_FOLDER -if=${ARGUMENTS_INSTALL_FOLDER}) + endif() + set(CONAN_OUTPUT_FOLDER "") + if(ARGUMENTS_OUTPUT_FOLDER) + set(CONAN_OUTPUT_FOLDER -of=${ARGUMENTS_OUTPUT_FOLDER}) + endif() + foreach(ARG ${ARGUMENTS_GENERATORS}) + set(CONAN_GENERATORS ${CONAN_GENERATORS} -g=${ARG}) + endforeach() + foreach(ARG ${ARGUMENTS_ENV}) + set(CONAN_ENV_VARS ${CONAN_ENV_VARS} -e=${ARG}) + endforeach() + set(conan_args install ${CONANFILE} ${settings} ${CONAN_ENV_VARS} ${CONAN_GENERATORS} ${CONAN_BUILD_POLICY} ${CONAN_INSTALL_UPDATE} ${CONAN_INSTALL_NO_IMPORTS} ${CONAN_OPTIONS} ${CONAN_INSTALL_FOLDER} ${ARGUMENTS_INSTALL_ARGS}) + + string (REPLACE ";" " " _conan_args "${conan_args}") + message(STATUS "Conan executing: ${CONAN_CMD} ${_conan_args}") + + if(ARGUMENTS_OUTPUT_QUIET) + execute_process(COMMAND ${CONAN_CMD} ${conan_args} + RESULT_VARIABLE return_code + OUTPUT_VARIABLE conan_output + ERROR_VARIABLE conan_output + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + else() + execute_process(COMMAND ${CONAN_CMD} ${conan_args} + RESULT_VARIABLE return_code + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + endif() + + if(NOT "${return_code}" STREQUAL "0") + message(FATAL_ERROR "Conan install failed='${return_code}'") + endif() + +endfunction() + +function(conan_cmake_install) + if(DEFINED CONAN_COMMAND) + set(CONAN_CMD ${CONAN_COMMAND}) + else() + conan_check(REQUIRED) + endif() + + set(installOptions UPDATE NO_IMPORTS OUTPUT_QUIET ERROR_QUIET) + set(installOneValueArgs PATH_OR_REFERENCE REFERENCE REMOTE LOCKFILE LOCKFILE_OUT LOCKFILE_NODE_ID INSTALL_FOLDER OUTPUT_FOLDER) + set(installMultiValueArgs GENERATOR BUILD ENV ENV_HOST ENV_BUILD OPTIONS_HOST OPTIONS OPTIONS_BUILD PROFILE + PROFILE_HOST PROFILE_BUILD SETTINGS SETTINGS_HOST SETTINGS_BUILD) + cmake_parse_arguments(ARGS "${installOptions}" "${installOneValueArgs}" "${installMultiValueArgs}" ${ARGN}) + foreach(arg ${installOptions}) + if(ARGS_${arg}) + set(${arg} ${${arg}} ${ARGS_${arg}}) + endif() + endforeach() + foreach(arg ${installOneValueArgs}) + if(DEFINED ARGS_${arg}) + if("${arg}" STREQUAL "REMOTE") + set(flag "--remote") + elseif("${arg}" STREQUAL "LOCKFILE") + set(flag "--lockfile") + elseif("${arg}" STREQUAL "LOCKFILE_OUT") + set(flag "--lockfile-out") + elseif("${arg}" STREQUAL "LOCKFILE_NODE_ID") + set(flag "--lockfile-node-id") + elseif("${arg}" STREQUAL "INSTALL_FOLDER") + set(flag "--install-folder") + elseif("${arg}" STREQUAL "OUTPUT_FOLDER") + set(flag "--output-folder") + endif() + set(${arg} ${${arg}} ${flag} ${ARGS_${arg}}) + endif() + endforeach() + foreach(arg ${installMultiValueArgs}) + if(DEFINED ARGS_${arg}) + if("${arg}" STREQUAL "GENERATOR") + set(flag "--generator") + elseif("${arg}" STREQUAL "BUILD") + set(flag "--build") + elseif("${arg}" STREQUAL "ENV") + set(flag "--env") + elseif("${arg}" STREQUAL "ENV_HOST") + set(flag "--env:host") + elseif("${arg}" STREQUAL "ENV_BUILD") + set(flag "--env:build") + elseif("${arg}" STREQUAL "OPTIONS") + set(flag "--options") + elseif("${arg}" STREQUAL "OPTIONS_HOST") + set(flag "--options:host") + elseif("${arg}" STREQUAL "OPTIONS_BUILD") + set(flag "--options:build") + elseif("${arg}" STREQUAL "PROFILE") + set(flag "--profile") + elseif("${arg}" STREQUAL "PROFILE_HOST") + set(flag "--profile:host") + elseif("${arg}" STREQUAL "PROFILE_BUILD") + set(flag "--profile:build") + elseif("${arg}" STREQUAL "SETTINGS") + set(flag "--settings") + elseif("${arg}" STREQUAL "SETTINGS_HOST") + set(flag "--settings:host") + elseif("${arg}" STREQUAL "SETTINGS_BUILD") + set(flag "--settings:build") + endif() + list(LENGTH ARGS_${arg} numargs) + foreach(item ${ARGS_${arg}}) + if(${item} STREQUAL "all" AND ${arg} STREQUAL "BUILD") + set(${arg} "--build") + break() + endif() + set(${arg} ${${arg}} ${flag} ${item}) + endforeach() + endif() + endforeach() + if(DEFINED UPDATE) + set(UPDATE --update) + endif() + if(DEFINED NO_IMPORTS) + set(NO_IMPORTS --no-imports) + endif() + set(install_args install ${PATH_OR_REFERENCE} ${REFERENCE} ${UPDATE} ${NO_IMPORTS} ${REMOTE} ${LOCKFILE} ${LOCKFILE_OUT} ${LOCKFILE_NODE_ID} ${INSTALL_FOLDER} ${OUTPUT_FOLDER} + ${GENERATOR} ${BUILD} ${ENV} ${ENV_HOST} ${ENV_BUILD} ${OPTIONS} ${OPTIONS_HOST} ${OPTIONS_BUILD} + ${PROFILE} ${PROFILE_HOST} ${PROFILE_BUILD} ${SETTINGS} ${SETTINGS_HOST} ${SETTINGS_BUILD}) + + string(REPLACE ";" " " _install_args "${install_args}") + message(STATUS "Conan executing: ${CONAN_CMD} ${_install_args}") + + if(ARGS_OUTPUT_QUIET) + set(OUTPUT_OPT OUTPUT_QUIET) + endif() + if(ARGS_ERROR_QUIET) + set(ERROR_OPT ERROR_QUIET) + endif() + + execute_process(COMMAND ${CONAN_CMD} ${install_args} + RESULT_VARIABLE return_code + ${OUTPUT_OPT} + ${ERROR_OPT} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + + if(NOT "${return_code}" STREQUAL "0") + if (ARGS_ERROR_QUIET) + message(WARNING "Conan install failed='${return_code}'") + else() + message(FATAL_ERROR "Conan install failed='${return_code}'") + endif() + endif() + +endfunction() + +function(conan_cmake_lock_create) + if(DEFINED CONAN_COMMAND) + set(CONAN_CMD ${CONAN_COMMAND}) + else() + conan_check(REQUIRED) + endif() + + set(lockCreateOptions UPDATE BASE OUTPUT_QUIET ERROR_QUIET) + set(lockCreateOneValueArgs PATH REFERENCE REMOTE LOCKFILE LOCKFILE_OUT) + set(lockCreateMultiValueArgs BUILD ENV ENV_HOST ENV_BUILD OPTIONS_HOST OPTIONS OPTIONS_BUILD PROFILE + PROFILE_HOST PROFILE_BUILD SETTINGS SETTINGS_HOST SETTINGS_BUILD) + cmake_parse_arguments(ARGS "${lockCreateOptions}" "${lockCreateOneValueArgs}" "${lockCreateMultiValueArgs}" ${ARGN}) + foreach(arg ${lockCreateOptions}) + if(ARGS_${arg}) + set(${arg} ${${arg}} ${ARGS_${arg}}) + endif() + endforeach() + foreach(arg ${lockCreateOneValueArgs}) + if(DEFINED ARGS_${arg}) + if("${arg}" STREQUAL "REMOTE") + set(flag "--remote") + elseif("${arg}" STREQUAL "LOCKFILE") + set(flag "--lockfile") + elseif("${arg}" STREQUAL "LOCKFILE_OUT") + set(flag "--lockfile-out") + endif() + set(${arg} ${${arg}} ${flag} ${ARGS_${arg}}) + endif() + endforeach() + foreach(arg ${lockCreateMultiValueArgs}) + if(DEFINED ARGS_${arg}) + if("${arg}" STREQUAL "BUILD") + set(flag "--build") + elseif("${arg}" STREQUAL "ENV") + set(flag "--env") + elseif("${arg}" STREQUAL "ENV_HOST") + set(flag "--env:host") + elseif("${arg}" STREQUAL "ENV_BUILD") + set(flag "--env:build") + elseif("${arg}" STREQUAL "OPTIONS") + set(flag "--options") + elseif("${arg}" STREQUAL "OPTIONS_HOST") + set(flag "--options:host") + elseif("${arg}" STREQUAL "OPTIONS_BUILD") + set(flag "--options:build") + elseif("${arg}" STREQUAL "PROFILE") + set(flag "--profile") + elseif("${arg}" STREQUAL "PROFILE_HOST") + set(flag "--profile:host") + elseif("${arg}" STREQUAL "PROFILE_BUILD") + set(flag "--profile:build") + elseif("${arg}" STREQUAL "SETTINGS") + set(flag "--settings") + elseif("${arg}" STREQUAL "SETTINGS_HOST") + set(flag "--settings:host") + elseif("${arg}" STREQUAL "SETTINGS_BUILD") + set(flag "--settings:build") + endif() + list(LENGTH ARGS_${arg} numargs) + foreach(item ${ARGS_${arg}}) + if(${item} STREQUAL "all" AND ${arg} STREQUAL "BUILD") + set(${arg} "--build") + break() + endif() + set(${arg} ${${arg}} ${flag} ${item}) + endforeach() + endif() + endforeach() + if(DEFINED UPDATE) + set(UPDATE --update) + endif() + if(DEFINED BASE) + set(BASE --base) + endif() + set(lock_create_Args lock create ${PATH} ${REFERENCE} ${UPDATE} ${BASE} ${REMOTE} ${LOCKFILE} ${LOCKFILE_OUT} ${LOCKFILE_NODE_ID} ${INSTALL_FOLDER} + ${GENERATOR} ${BUILD} ${ENV} ${ENV_HOST} ${ENV_BUILD} ${OPTIONS} ${OPTIONS_HOST} ${OPTIONS_BUILD} + ${PROFILE} ${PROFILE_HOST} ${PROFILE_BUILD} ${SETTINGS} ${SETTINGS_HOST} ${SETTINGS_BUILD}) + + string(REPLACE ";" " " _lock_create_Args "${lock_create_Args}") + message(STATUS "Conan executing: ${CONAN_CMD} ${_lock_create_Args}") + + if(ARGS_OUTPUT_QUIET) + set(OUTPUT_OPT OUTPUT_QUIET) + endif() + if(ARGS_ERROR_QUIET) + set(ERROR_OPT ERROR_QUIET) + endif() + + execute_process(COMMAND ${CONAN_CMD} ${lock_create_Args} + RESULT_VARIABLE return_code + ${OUTPUT_OPT} + ${ERROR_OPT} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}) + + if(NOT "${return_code}" STREQUAL "0") + if (ARGS_ERROR_QUIET) + message(WARNING "Conan lock create failed='${return_code}'") + else() + message(FATAL_ERROR "Conan lock create failed='${return_code}'") + endif() + endif() +endfunction() + +function(conan_cmake_setup_conanfile) + conan_parse_arguments(${ARGV}) + if(ARGUMENTS_CONANFILE) + get_filename_component(_CONANFILE_NAME ${ARGUMENTS_CONANFILE} NAME) + # configure_file will make sure cmake re-runs when conanfile is updated + configure_file(${ARGUMENTS_CONANFILE} ${CMAKE_CURRENT_BINARY_DIR}/${_CONANFILE_NAME}.junk COPYONLY) + file(REMOVE ${CMAKE_CURRENT_BINARY_DIR}/${_CONANFILE_NAME}.junk) + else() + conan_cmake_generate_conanfile(ON ${ARGV}) + endif() +endfunction() + +function(conan_cmake_configure) + conan_cmake_generate_conanfile(OFF ${ARGV}) +endfunction() + +# Generate, writing in disk a conanfile.txt with the requires, options, and imports +# specified as arguments +# This will be considered as temporary file, generated in CMAKE_CURRENT_BINARY_DIR) +function(conan_cmake_generate_conanfile DEFAULT_GENERATOR) + + conan_parse_arguments(${ARGV}) + + set(_FN "${CMAKE_CURRENT_BINARY_DIR}/conanfile.txt") + file(WRITE ${_FN} "") + + if(DEFINED ARGUMENTS_REQUIRES) + file(APPEND ${_FN} "[requires]\n") + foreach(REQUIRE ${ARGUMENTS_REQUIRES}) + file(APPEND ${_FN} ${REQUIRE} "\n") + endforeach() + endif() + + if (DEFAULT_GENERATOR OR DEFINED ARGUMENTS_GENERATORS) + file(APPEND ${_FN} "[generators]\n") + if (DEFAULT_GENERATOR) + file(APPEND ${_FN} "cmake\n") + endif() + if (DEFINED ARGUMENTS_GENERATORS) + foreach(GENERATOR ${ARGUMENTS_GENERATORS}) + file(APPEND ${_FN} ${GENERATOR} "\n") + endforeach() + endif() + endif() + + if(DEFINED ARGUMENTS_BUILD_REQUIRES) + file(APPEND ${_FN} "[build_requires]\n") + foreach(BUILD_REQUIRE ${ARGUMENTS_BUILD_REQUIRES}) + file(APPEND ${_FN} ${BUILD_REQUIRE} "\n") + endforeach() + endif() + + if(DEFINED ARGUMENTS_IMPORTS) + file(APPEND ${_FN} "[imports]\n") + foreach(IMPORTS ${ARGUMENTS_IMPORTS}) + file(APPEND ${_FN} ${IMPORTS} "\n") + endforeach() + endif() + + if(DEFINED ARGUMENTS_OPTIONS) + file(APPEND ${_FN} "[options]\n") + foreach(OPTION ${ARGUMENTS_OPTIONS}) + file(APPEND ${_FN} ${OPTION} "\n") + endforeach() + endif() + +endfunction() + + +macro(conan_load_buildinfo) + if(CONAN_CMAKE_MULTI) + set(_CONANBUILDINFO conanbuildinfo_multi.cmake) + else() + set(_CONANBUILDINFO conanbuildinfo.cmake) + endif() + if(ARGUMENTS_INSTALL_FOLDER) + set(_CONANBUILDINFOFOLDER ${ARGUMENTS_INSTALL_FOLDER}) + else() + set(_CONANBUILDINFOFOLDER ${CMAKE_CURRENT_BINARY_DIR}) + endif() + # Checks for the existence of conanbuildinfo.cmake, and loads it + # important that it is macro, so variables defined at parent scope + if(EXISTS "${_CONANBUILDINFOFOLDER}/${_CONANBUILDINFO}") + message(STATUS "Conan: Loading ${_CONANBUILDINFO}") + include(${_CONANBUILDINFOFOLDER}/${_CONANBUILDINFO}) + else() + message(FATAL_ERROR "${_CONANBUILDINFO} doesn't exist in ${CMAKE_CURRENT_BINARY_DIR}") + endif() +endmacro() + + +macro(conan_cmake_run) + conan_parse_arguments(${ARGV}) + + if(ARGUMENTS_CONFIGURATION_TYPES AND NOT CMAKE_CONFIGURATION_TYPES) + message(WARNING "CONFIGURATION_TYPES should only be specified for multi-configuration generators") + elseif(ARGUMENTS_CONFIGURATION_TYPES AND ARGUMENTS_BUILD_TYPE) + message(WARNING "CONFIGURATION_TYPES and BUILD_TYPE arguments should not be defined at the same time.") + endif() + + if(CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE AND NOT CONAN_EXPORTED + AND NOT ARGUMENTS_BUILD_TYPE) + set(CONAN_CMAKE_MULTI ON) + if (NOT ARGUMENTS_CONFIGURATION_TYPES) + set(ARGUMENTS_CONFIGURATION_TYPES "Release;Debug") + endif() + message(STATUS "Conan: Using cmake-multi generator") + else() + set(CONAN_CMAKE_MULTI OFF) + endif() + + if(NOT CONAN_EXPORTED) + conan_cmake_setup_conanfile(${ARGV}) + if(CONAN_CMAKE_MULTI) + foreach(CMAKE_BUILD_TYPE ${ARGUMENTS_CONFIGURATION_TYPES}) + set(ENV{CONAN_IMPORT_PATH} ${CMAKE_BUILD_TYPE}) + conan_cmake_settings(settings ${ARGV}) + old_conan_cmake_install(SETTINGS ${settings} ${ARGV}) + endforeach() + set(CMAKE_BUILD_TYPE) + else() + conan_cmake_settings(settings ${ARGV}) + old_conan_cmake_install(SETTINGS ${settings} ${ARGV}) + endif() + endif() + + if (NOT ARGUMENTS_NO_LOAD) + conan_load_buildinfo() + endif() + + if(ARGUMENTS_BASIC_SETUP) + foreach(_option CMAKE_TARGETS KEEP_RPATHS NO_OUTPUT_DIRS SKIP_STD) + if(ARGUMENTS_${_option}) + if(${_option} STREQUAL "CMAKE_TARGETS") + list(APPEND _setup_options "TARGETS") + else() + list(APPEND _setup_options ${_option}) + endif() + endif() + endforeach() + conan_basic_setup(${_setup_options}) + endif() +endmacro() + +macro(conan_check) + # Checks conan availability in PATH + # Arguments REQUIRED, DETECT_QUIET and VERSION are optional + # Example usage: + # conan_check(VERSION 1.0.0 REQUIRED) + set(options REQUIRED DETECT_QUIET) + set(oneValueArgs VERSION) + cmake_parse_arguments(CONAN "${options}" "${oneValueArgs}" "" ${ARGN}) + if(NOT CONAN_DETECT_QUIET) + message(STATUS "Conan: checking conan executable") + endif() + + find_program(CONAN_CMD conan) + if(NOT CONAN_CMD AND CONAN_REQUIRED) + message(FATAL_ERROR "Conan executable not found! Please install conan.") + endif() + if(NOT CONAN_DETECT_QUIET) + message(STATUS "Conan: Found program ${CONAN_CMD}") + endif() + execute_process(COMMAND ${CONAN_CMD} --version + RESULT_VARIABLE return_code + OUTPUT_VARIABLE CONAN_VERSION_OUTPUT + ERROR_VARIABLE CONAN_VERSION_OUTPUT) + + if(NOT "${return_code}" STREQUAL "0") + message(FATAL_ERROR "Conan --version failed='${return_code}'") + endif() + + if(NOT CONAN_DETECT_QUIET) + string(STRIP "${CONAN_VERSION_OUTPUT}" _CONAN_VERSION_OUTPUT) + message(STATUS "Conan: Version found ${_CONAN_VERSION_OUTPUT}") + endif() + + if(DEFINED CONAN_VERSION) + string(REGEX MATCH ".*Conan version ([0-9]+\\.[0-9]+\\.[0-9]+)" FOO + "${CONAN_VERSION_OUTPUT}") + if(${CMAKE_MATCH_1} VERSION_LESS ${CONAN_VERSION}) + message(FATAL_ERROR "Conan outdated. Installed: ${CMAKE_MATCH_1}, \ + required: ${CONAN_VERSION}. Consider updating via 'pip \ + install conan==${CONAN_VERSION}'.") + endif() + endif() +endmacro() + +function(conan_add_remote) + # Adds a remote + # Arguments URL and NAME are required, INDEX, COMMAND and VERIFY_SSL are optional + # Example usage: + # conan_add_remote(NAME bincrafters INDEX 1 + # URL https://api.bintray.com/conan/bincrafters/public-conan + # VERIFY_SSL True) + set(oneValueArgs URL NAME INDEX COMMAND VERIFY_SSL) + cmake_parse_arguments(CONAN "" "${oneValueArgs}" "" ${ARGN}) + + if(DEFINED CONAN_INDEX) + set(CONAN_INDEX_ARG "-i ${CONAN_INDEX}") + endif() + if(DEFINED CONAN_COMMAND) + set(CONAN_CMD ${CONAN_COMMAND}) + else() + conan_check(REQUIRED DETECT_QUIET) + endif() + set(CONAN_VERIFY_SSL_ARG "True") + if(DEFINED CONAN_VERIFY_SSL) + set(CONAN_VERIFY_SSL_ARG ${CONAN_VERIFY_SSL}) + endif() + message(STATUS "Conan: Adding ${CONAN_NAME} remote repository (${CONAN_URL}) verify ssl (${CONAN_VERIFY_SSL_ARG})") + execute_process(COMMAND ${CONAN_CMD} remote add ${CONAN_NAME} ${CONAN_INDEX_ARG} -f ${CONAN_URL} ${CONAN_VERIFY_SSL_ARG} + RESULT_VARIABLE return_code) + if(NOT "${return_code}" STREQUAL "0") + message(FATAL_ERROR "Conan remote failed='${return_code}'") + endif() +endfunction() + +macro(conan_config_install) + # install a full configuration from a local or remote zip file + # Argument ITEM is required, arguments TYPE, SOURCE, TARGET and VERIFY_SSL are optional + # Example usage: + # conan_config_install(ITEM https://github.com/conan-io/cmake-conan.git + # TYPE git SOURCE source-folder TARGET target-folder VERIFY_SSL false) + set(oneValueArgs ITEM TYPE SOURCE TARGET VERIFY_SSL) + set(multiValueArgs ARGS) + cmake_parse_arguments(CONAN "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN}) + + if(DEFINED CONAN_COMMAND) + set(CONAN_CMD ${CONAN_COMMAND}) + else() + conan_check(REQUIRED) + endif() + + if(DEFINED CONAN_VERIFY_SSL) + set(CONAN_VERIFY_SSL_ARG "--verify-ssl=${CONAN_VERIFY_SSL}") + endif() + + if(DEFINED CONAN_TYPE) + set(CONAN_TYPE_ARG "--type=${CONAN_TYPE}") + endif() + + if(DEFINED CONAN_ARGS) + set(CONAN_ARGS_ARGS "--args=\"${CONAN_ARGS}\"") + endif() + + if(DEFINED CONAN_SOURCE) + set(CONAN_SOURCE_ARGS "--source-folder=${CONAN_SOURCE}") + endif() + + if(DEFINED CONAN_TARGET) + set(CONAN_TARGET_ARGS "--target-folder=${CONAN_TARGET}") + endif() + + set (CONAN_CONFIG_INSTALL_ARGS ${CONAN_VERIFY_SSL_ARG} + ${CONAN_TYPE_ARG} + ${CONAN_ARGS_ARGS} + ${CONAN_SOURCE_ARGS} + ${CONAN_TARGET_ARGS}) + + message(STATUS "Conan: Installing config from ${CONAN_ITEM}") + execute_process(COMMAND ${CONAN_CMD} config install ${CONAN_ITEM} ${CONAN_CONFIG_INSTALL_ARGS} + RESULT_VARIABLE return_code) + if(NOT "${return_code}" STREQUAL "0") + message(FATAL_ERROR "Conan config failed='${return_code}'") + endif() +endmacro() diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index e268f59e0..24d627a04 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -3,6 +3,11 @@ if (${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_LESS "3.21") # for --output-junit message(FATAL_ERROR "just-simple.cmake requires min cmake version 3.21") endif() +include(GNUInstallDirs) +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug") +endif () + # download cmake dependencies if not present set(JUST_SIMPLE_conan "${CMAKE_SOURCE_DIR}/cmake/conan.cmake") set(JUST_SIMPLE_coverage "${CMAKE_SOURCE_DIR}/cmake/code-coverage.cmake") diff --git a/conanfile.txt b/conanfile.txt index 7483a391b..23277ee54 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,11 +1,12 @@ [requires] llvm/14.0.6@intellisectest+intellisectest-application/stable -boost/1.76.0 -gtest/1.12.0 +boost/1.72.0 +gtest/1.12.1 sqlite3/3.36.0 json-schema-validator/2.1.0 nlohmann_json/3.9.1 libcurl/7.80.0 +zlib/1.2.12 # fix boost / clash zlib [generators] cmake diff --git a/include/phasar/CMakeLists.txt b/phasar/clang/CMakeLists.txt similarity index 100% rename from include/phasar/CMakeLists.txt rename to phasar/clang/CMakeLists.txt diff --git a/phasar/config/CMakeLists.txt b/phasar/config/CMakeLists.txt new file mode 100644 index 000000000..8a6912ffe --- /dev/null +++ b/phasar/config/CMakeLists.txt @@ -0,0 +1,4 @@ +just_add_library( + LINK + LLVMSupport + ) diff --git a/phasar/controller/CMakeLists.txt b/phasar/controller/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/db/CMakeLists.txt b/phasar/db/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/experimental/CMakeLists.txt b/phasar/experimental/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/pass/CMakeLists.txt b/phasar/pass/CMakeLists.txt new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/utils/CMakeLists.txt b/phasar/utils/CMakeLists.txt new file mode 100644 index 000000000..11ee7382c --- /dev/null +++ b/phasar/utils/CMakeLists.txt @@ -0,0 +1,8 @@ +# just_add_library( +# LINK +# LLVMCore +# LLVMSupport +# LLVMBitWriter +# LLVMDemangle +# phasar-config +# ) From 0ee0e53036d4e351b967087b1ea450ca0b033100 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 11:59:02 +0200 Subject: [PATCH 07/95] test: simple test for link resolving --- cmake/just-simple.cmake | 4 ++-- migration.md | 3 +++ phasar/clang/test/CMakeLists.txt | 1 + phasar/clang/test/include/.gitkeep | 0 phasar/clang/test/src/everything_linked.cpp | 3 +++ phasar/config/test/CMakeLists.txt | 1 + phasar/config/test/include/.gitkeep | 0 phasar/config/test/src/everything_linked.cpp | 3 +++ phasar/controller/test/CMakeLists.txt | 1 + phasar/controller/test/include/.gitkeep | 0 phasar/controller/test/src/everything_linked.cpp | 3 +++ phasar/experimental/test/CMakeLists.txt | 1 + phasar/experimental/test/include/.gitkeep | 0 .../experimental/test/src/everything_linked.cpp | 3 +++ phasar/pass/test/CMakeLists.txt | 1 + phasar/pass/test/include/.gitkeep | 0 phasar/pass/test/src/everything_linked.cpp | 3 +++ phasar/utils/CMakeLists.txt | 16 ++++++++-------- 18 files changed, 33 insertions(+), 10 deletions(-) create mode 100644 migration.md create mode 100644 phasar/clang/test/CMakeLists.txt create mode 100644 phasar/clang/test/include/.gitkeep create mode 100644 phasar/clang/test/src/everything_linked.cpp create mode 100644 phasar/config/test/CMakeLists.txt create mode 100644 phasar/config/test/include/.gitkeep create mode 100644 phasar/config/test/src/everything_linked.cpp create mode 100644 phasar/controller/test/CMakeLists.txt create mode 100644 phasar/controller/test/include/.gitkeep create mode 100644 phasar/controller/test/src/everything_linked.cpp create mode 100644 phasar/experimental/test/CMakeLists.txt create mode 100644 phasar/experimental/test/include/.gitkeep create mode 100644 phasar/experimental/test/src/everything_linked.cpp create mode 100644 phasar/pass/test/CMakeLists.txt create mode 100644 phasar/pass/test/include/.gitkeep create mode 100644 phasar/pass/test/src/everything_linked.cpp diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index 24d627a04..6ff5933a7 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -319,7 +319,7 @@ function(just_add_tests) # if target under tests has resources, the tests need them as well get_target_property(target_under_test_source_dir "${TARGET_UNDER_TEST}" "SOURCE_DIR") - _just_add_resources("${target_under_test_source_dir}") + _just_add_resource("${target_under_test_source_dir}") # but also allow them to overwrite & have other dependencies too - _just_add_resources("${CMAKE_CURRENT_SOURCE_DIR}") + _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") endfunction() diff --git a/migration.md b/migration.md new file mode 100644 index 000000000..2e82bcbbb --- /dev/null +++ b/migration.md @@ -0,0 +1,3 @@ +move_to_old.sh +move_to_phasar_folder.sh +config -> inclure from utils but utils links to config => moved IO.h to config diff --git a/phasar/clang/test/CMakeLists.txt b/phasar/clang/test/CMakeLists.txt new file mode 100644 index 000000000..85321c55f --- /dev/null +++ b/phasar/clang/test/CMakeLists.txt @@ -0,0 +1 @@ +just_add_tests() diff --git a/phasar/clang/test/include/.gitkeep b/phasar/clang/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/clang/test/src/everything_linked.cpp b/phasar/clang/test/src/everything_linked.cpp new file mode 100644 index 000000000..39585a78c --- /dev/null +++ b/phasar/clang/test/src/everything_linked.cpp @@ -0,0 +1,3 @@ +#include "gtest/gtest.h" + +TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/config/test/CMakeLists.txt b/phasar/config/test/CMakeLists.txt new file mode 100644 index 000000000..85321c55f --- /dev/null +++ b/phasar/config/test/CMakeLists.txt @@ -0,0 +1 @@ +just_add_tests() diff --git a/phasar/config/test/include/.gitkeep b/phasar/config/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/config/test/src/everything_linked.cpp b/phasar/config/test/src/everything_linked.cpp new file mode 100644 index 000000000..39585a78c --- /dev/null +++ b/phasar/config/test/src/everything_linked.cpp @@ -0,0 +1,3 @@ +#include "gtest/gtest.h" + +TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/controller/test/CMakeLists.txt b/phasar/controller/test/CMakeLists.txt new file mode 100644 index 000000000..85321c55f --- /dev/null +++ b/phasar/controller/test/CMakeLists.txt @@ -0,0 +1 @@ +just_add_tests() diff --git a/phasar/controller/test/include/.gitkeep b/phasar/controller/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/controller/test/src/everything_linked.cpp b/phasar/controller/test/src/everything_linked.cpp new file mode 100644 index 000000000..39585a78c --- /dev/null +++ b/phasar/controller/test/src/everything_linked.cpp @@ -0,0 +1,3 @@ +#include "gtest/gtest.h" + +TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/experimental/test/CMakeLists.txt b/phasar/experimental/test/CMakeLists.txt new file mode 100644 index 000000000..85321c55f --- /dev/null +++ b/phasar/experimental/test/CMakeLists.txt @@ -0,0 +1 @@ +just_add_tests() diff --git a/phasar/experimental/test/include/.gitkeep b/phasar/experimental/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/experimental/test/src/everything_linked.cpp b/phasar/experimental/test/src/everything_linked.cpp new file mode 100644 index 000000000..39585a78c --- /dev/null +++ b/phasar/experimental/test/src/everything_linked.cpp @@ -0,0 +1,3 @@ +#include "gtest/gtest.h" + +TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/pass/test/CMakeLists.txt b/phasar/pass/test/CMakeLists.txt new file mode 100644 index 000000000..85321c55f --- /dev/null +++ b/phasar/pass/test/CMakeLists.txt @@ -0,0 +1 @@ +just_add_tests() diff --git a/phasar/pass/test/include/.gitkeep b/phasar/pass/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/pass/test/src/everything_linked.cpp b/phasar/pass/test/src/everything_linked.cpp new file mode 100644 index 000000000..39585a78c --- /dev/null +++ b/phasar/pass/test/src/everything_linked.cpp @@ -0,0 +1,3 @@ +#include "gtest/gtest.h" + +TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/utils/CMakeLists.txt b/phasar/utils/CMakeLists.txt index 11ee7382c..647048803 100644 --- a/phasar/utils/CMakeLists.txt +++ b/phasar/utils/CMakeLists.txt @@ -1,8 +1,8 @@ -# just_add_library( -# LINK -# LLVMCore -# LLVMSupport -# LLVMBitWriter -# LLVMDemangle -# phasar-config -# ) +just_add_library( + LINK + LLVMCore + LLVMSupport + LLVMBitWriter + LLVMDemangle + phasar-config + ) From 2c48b792c966b1f525f8fb582abdd2e04512a495 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 14:02:01 +0200 Subject: [PATCH 08/95] build: phasar-config --- CMakeLists.txt | 2 +- phasar/{utils => db}/include/phasar/Utils/LLVMShorthands.h | 0 phasar/{utils => db}/src/LLVMShorthands.cpp | 0 phasar/{utils => db}/test/src/LLVMIRToSrcTest.cpp | 0 .../include/phasar/PhasarLLVM}/Utils/TypeTraits.h | 0 .../phasar => llvm/include/phasar/PhasarLLVM}/Utils/Utilities.h | 0 phasar/{utils => llvm}/src/IO.cpp | 0 phasar/{utils => llvm}/src/Utilities.cpp | 0 8 files changed, 1 insertion(+), 1 deletion(-) rename phasar/{utils => db}/include/phasar/Utils/LLVMShorthands.h (100%) rename phasar/{utils => db}/src/LLVMShorthands.cpp (100%) rename phasar/{utils => db}/test/src/LLVMIRToSrcTest.cpp (100%) rename phasar/{utils/include/phasar => llvm/include/phasar/PhasarLLVM}/Utils/TypeTraits.h (100%) rename phasar/{utils/include/phasar => llvm/include/phasar/PhasarLLVM}/Utils/Utilities.h (100%) rename phasar/{utils => llvm}/src/IO.cpp (100%) rename phasar/{utils => llvm}/src/Utilities.cpp (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index d7a204bdb..bd2a044f5 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,4 +32,4 @@ add_subdirectory(phasar/config) #add_subdirectory(phasar/experimental) #add_subdirectory(phasar/llvm) #add_subdirectory(phasar/pass) -#add_subdirectory(phasar/utils) +add_subdirectory(phasar/utils) diff --git a/phasar/utils/include/phasar/Utils/LLVMShorthands.h b/phasar/db/include/phasar/Utils/LLVMShorthands.h similarity index 100% rename from phasar/utils/include/phasar/Utils/LLVMShorthands.h rename to phasar/db/include/phasar/Utils/LLVMShorthands.h diff --git a/phasar/utils/src/LLVMShorthands.cpp b/phasar/db/src/LLVMShorthands.cpp similarity index 100% rename from phasar/utils/src/LLVMShorthands.cpp rename to phasar/db/src/LLVMShorthands.cpp diff --git a/phasar/utils/test/src/LLVMIRToSrcTest.cpp b/phasar/db/test/src/LLVMIRToSrcTest.cpp similarity index 100% rename from phasar/utils/test/src/LLVMIRToSrcTest.cpp rename to phasar/db/test/src/LLVMIRToSrcTest.cpp diff --git a/phasar/utils/include/phasar/Utils/TypeTraits.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h similarity index 100% rename from phasar/utils/include/phasar/Utils/TypeTraits.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h diff --git a/phasar/utils/include/phasar/Utils/Utilities.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/Utilities.h similarity index 100% rename from phasar/utils/include/phasar/Utils/Utilities.h rename to phasar/llvm/include/phasar/PhasarLLVM/Utils/Utilities.h diff --git a/phasar/utils/src/IO.cpp b/phasar/llvm/src/IO.cpp similarity index 100% rename from phasar/utils/src/IO.cpp rename to phasar/llvm/src/IO.cpp diff --git a/phasar/utils/src/Utilities.cpp b/phasar/llvm/src/Utilities.cpp similarity index 100% rename from phasar/utils/src/Utilities.cpp rename to phasar/llvm/src/Utilities.cpp From 7caf54a46570db321235764aef31786678c897a3 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 14:31:15 +0200 Subject: [PATCH 09/95] restructure: partly reverting with fabian --- CMakeLists.txt | 1 + migration.md | 20 +++++++++++++++++++ .../test/src/LLVMShorthandsTest.cpp | 0 phasar/test-utils/CMakeLists.txt | 8 ++++++++ .../include/phasar/Utils}/TestConfig.h | 0 .../include/phasar/Utils/IO.h | 0 .../include/phasar}/Utils/TypeTraits.h | 0 .../include/phasar}/Utils/Utilities.h | 0 phasar/{llvm => utils}/src/IO.cpp | 0 phasar/{llvm => utils}/src/Utilities.cpp | 0 phasar/utils/test/include/.gitkeep | 0 phasar/utils/test/src/IOTest.cpp | 2 +- 12 files changed, 30 insertions(+), 1 deletion(-) rename phasar/{utils => db}/test/src/LLVMShorthandsTest.cpp (100%) create mode 100644 phasar/test-utils/CMakeLists.txt rename {unittests/TestUtils => phasar/test-utils/include/phasar/Utils}/TestConfig.h (100%) rename phasar/{config => utils}/include/phasar/Utils/IO.h (100%) rename phasar/{llvm/include/phasar/PhasarLLVM => utils/include/phasar}/Utils/TypeTraits.h (100%) rename phasar/{llvm/include/phasar/PhasarLLVM => utils/include/phasar}/Utils/Utilities.h (100%) rename phasar/{llvm => utils}/src/IO.cpp (100%) rename phasar/{llvm => utils}/src/Utilities.cpp (100%) create mode 100644 phasar/utils/test/include/.gitkeep diff --git a/CMakeLists.txt b/CMakeLists.txt index bd2a044f5..4054848ea 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -33,3 +33,4 @@ add_subdirectory(phasar/config) #add_subdirectory(phasar/llvm) #add_subdirectory(phasar/pass) add_subdirectory(phasar/utils) +add_subdirectory(phasar/test-utils) diff --git a/migration.md b/migration.md index 2e82bcbbb..6cabb25d3 100644 --- a/migration.md +++ b/migration.md @@ -1,3 +1,23 @@ move_to_old.sh move_to_phasar_folder.sh config -> inclure from utils but utils links to config => moved IO.h to config +//- mkdir -p phasar/config/include/phasar/Utils/ && git mv phasar/utils/include/phasar/Utils/IO.h phasar/config/include/phasar/Utils/IO.h +// - git mv phasar/utils/src/IO.cpp phasar/config/src/ +utils uses includes from PhasarLLVM but PhasarLLVM links to utils +// - git mv phasar/utils/include/phasar/Utils/TypeTraits.h phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h +// - git mv phasar/utils/include/phasar/Utils/Utilities.h phasar/llvm/include/phasar/PhasarLLVM/Utils/ +// - git mv phasar/utils/src/Utilities.cpp phasar/llvm/src/ +utils uses includes from DB but DB links to utils +- mkdir -p phasar/db/include/phasar/Utils && git mv phasar/utils/include/phasar/Utils/LLVMShorthands.h phasar/db/include/phasar/Utils + - git mv phasar/utils/src/LLVMShorthands.cpp phasar/db/src/ + - mkdir -p phasar/db/test/src/ && git mv phasar/utils/test/src/LLVMIRToSrcTest.cpp phasar/db/test/src/ + - git mv phasar/utils/test/src/LLVMShorthandsTest.cpp phasar/db/test/src/ +util tests +- mkdir -p phasar/test-utils/include/phasar/Utils/ && git mv /home/ubuntu/git/phasar-itst/unittests/TestUtils/TestConfig.h phasar/test-utils/include/phasar/Utils/ + +- test/clang phasar-clang-test +- test/json phasar-llvm-test -> taint +- test/llvm phasar-llvm-test +- test/text_test phasar-utils +- test/build_systems_tests !? Fabian kennt es nicht + diff --git a/phasar/utils/test/src/LLVMShorthandsTest.cpp b/phasar/db/test/src/LLVMShorthandsTest.cpp similarity index 100% rename from phasar/utils/test/src/LLVMShorthandsTest.cpp rename to phasar/db/test/src/LLVMShorthandsTest.cpp diff --git a/phasar/test-utils/CMakeLists.txt b/phasar/test-utils/CMakeLists.txt new file mode 100644 index 000000000..647048803 --- /dev/null +++ b/phasar/test-utils/CMakeLists.txt @@ -0,0 +1,8 @@ +just_add_library( + LINK + LLVMCore + LLVMSupport + LLVMBitWriter + LLVMDemangle + phasar-config + ) diff --git a/unittests/TestUtils/TestConfig.h b/phasar/test-utils/include/phasar/Utils/TestConfig.h similarity index 100% rename from unittests/TestUtils/TestConfig.h rename to phasar/test-utils/include/phasar/Utils/TestConfig.h diff --git a/phasar/config/include/phasar/Utils/IO.h b/phasar/utils/include/phasar/Utils/IO.h similarity index 100% rename from phasar/config/include/phasar/Utils/IO.h rename to phasar/utils/include/phasar/Utils/IO.h diff --git a/phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h b/phasar/utils/include/phasar/Utils/TypeTraits.h similarity index 100% rename from phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h rename to phasar/utils/include/phasar/Utils/TypeTraits.h diff --git a/phasar/llvm/include/phasar/PhasarLLVM/Utils/Utilities.h b/phasar/utils/include/phasar/Utils/Utilities.h similarity index 100% rename from phasar/llvm/include/phasar/PhasarLLVM/Utils/Utilities.h rename to phasar/utils/include/phasar/Utils/Utilities.h diff --git a/phasar/llvm/src/IO.cpp b/phasar/utils/src/IO.cpp similarity index 100% rename from phasar/llvm/src/IO.cpp rename to phasar/utils/src/IO.cpp diff --git a/phasar/llvm/src/Utilities.cpp b/phasar/utils/src/Utilities.cpp similarity index 100% rename from phasar/llvm/src/Utilities.cpp rename to phasar/utils/src/Utilities.cpp diff --git a/phasar/utils/test/include/.gitkeep b/phasar/utils/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/utils/test/src/IOTest.cpp b/phasar/utils/test/src/IOTest.cpp index 120950d70..7746677a8 100644 --- a/phasar/utils/test/src/IOTest.cpp +++ b/phasar/utils/test/src/IOTest.cpp @@ -1,7 +1,7 @@ #include "gtest/gtest.h" -#include "../TestUtils/TestConfig.h" #include "phasar/Utils/IO.h" +#include "phasar/Utils/TestConfig.h" //===----------------------------------------------------------------------===// // Unit tests for the IO functionalities From 9dac8e635bd74ba09d39962d0e7e2e317eb60530 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 14:38:29 +0200 Subject: [PATCH 10/95] build: fix circular dependency with fabian --- phasar/config/src/Configuration.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/phasar/config/src/Configuration.cpp b/phasar/config/src/Configuration.cpp index 4d56c1618..152cb7f04 100644 --- a/phasar/config/src/Configuration.cpp +++ b/phasar/config/src/Configuration.cpp @@ -18,10 +18,10 @@ #include "boost/algorithm/string/classification.hpp" #include "boost/algorithm/string/split.hpp" +#include "llvm/Support/MemoryBuffer.h" #include "phasar/Config/Configuration.h" #include "phasar/Config/Version.h" -#include "phasar/Utils/IO.h" using namespace psr; @@ -63,6 +63,15 @@ const std::string &PhasarConfig::PhasarDirectory() { return PhasarDir; } +// copied from utils to prevent circular dependency +std::string readTextFile(const llvm::Twine &Path) { + auto Ret = llvm::MemoryBuffer::getFile(Path); + if (!Ret) { + throw std::system_error(Ret.getError()); + } + return Ret.get()->getBuffer().str(); +} + void PhasarConfig::loadGlibcSpecialFunctionNames() { const std::string GLIBCFunctionListFilePath = ConfigurationDirectory() + GLIBCFunctionListFileName; From d353ddfe27d3b988cafe1ad1cb2363baea800de7 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 14:49:56 +0200 Subject: [PATCH 11/95] restructure: phasar-util-test working --- migration.md | 8 ++--- phasar/config/CMakeLists.txt | 1 + phasar/config/src/Configuration.cpp | 2 +- .../phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h | 33 +++++++++++++++++++ .../utils/include/phasar/Utils/TypeTraits.h | 14 -------- phasar/utils/test/CMakeLists.txt | 4 +++ .../utils/test/resource}/test.txt | 0 phasar/utils/test/src/BitVectorSetTest.cpp | 5 --- .../test/src/EquivalenceClassMapTest.cpp | 5 --- phasar/utils/test/src/IOTest.cpp | 7 +--- phasar/utils/test/src/PAMMTest.cpp | 6 ---- phasar/utils/test/src/StableVectorTest.cpp | 5 --- 12 files changed, 43 insertions(+), 47 deletions(-) create mode 100644 phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h create mode 100644 phasar/utils/test/CMakeLists.txt rename {test/text_test_code => phasar/utils/test/resource}/test.txt (100%) diff --git a/migration.md b/migration.md index 6cabb25d3..cd7c00c63 100644 --- a/migration.md +++ b/migration.md @@ -1,12 +1,9 @@ move_to_old.sh move_to_phasar_folder.sh config -> inclure from utils but utils links to config => moved IO.h to config -//- mkdir -p phasar/config/include/phasar/Utils/ && git mv phasar/utils/include/phasar/Utils/IO.h phasar/config/include/phasar/Utils/IO.h -// - git mv phasar/utils/src/IO.cpp phasar/config/src/ +=> resolved with fabian copied small code part utils uses includes from PhasarLLVM but PhasarLLVM links to utils -// - git mv phasar/utils/include/phasar/Utils/TypeTraits.h phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraits.h -// - git mv phasar/utils/include/phasar/Utils/Utilities.h phasar/llvm/include/phasar/PhasarLLVM/Utils/ -// - git mv phasar/utils/src/Utilities.cpp phasar/llvm/src/ +=> split TypeTrait / TypeTraitsLLVM utils uses includes from DB but DB links to utils - mkdir -p phasar/db/include/phasar/Utils && git mv phasar/utils/include/phasar/Utils/LLVMShorthands.h phasar/db/include/phasar/Utils - git mv phasar/utils/src/LLVMShorthands.cpp phasar/db/src/ @@ -14,6 +11,7 @@ utils uses includes from DB but DB links to utils - git mv phasar/utils/test/src/LLVMShorthandsTest.cpp phasar/db/test/src/ util tests - mkdir -p phasar/test-utils/include/phasar/Utils/ && git mv /home/ubuntu/git/phasar-itst/unittests/TestUtils/TestConfig.h phasar/test-utils/include/phasar/Utils/ +- mkdir -p phasar/utils/test/resource && git mv test/text_test_code/test.txt /phasar/utils/test/resource - test/clang phasar-clang-test - test/json phasar-llvm-test -> taint diff --git a/phasar/config/CMakeLists.txt b/phasar/config/CMakeLists.txt index 8a6912ffe..464bf267f 100644 --- a/phasar/config/CMakeLists.txt +++ b/phasar/config/CMakeLists.txt @@ -1,4 +1,5 @@ just_add_library( LINK LLVMSupport + boost_program_options ) diff --git a/phasar/config/src/Configuration.cpp b/phasar/config/src/Configuration.cpp index 152cb7f04..71746993b 100644 --- a/phasar/config/src/Configuration.cpp +++ b/phasar/config/src/Configuration.cpp @@ -64,7 +64,7 @@ const std::string &PhasarConfig::PhasarDirectory() { } // copied from utils to prevent circular dependency -std::string readTextFile(const llvm::Twine &Path) { +static std::string readTextFile(const llvm::Twine &Path) { auto Ret = llvm::MemoryBuffer::getFile(Path); if (!Ret) { throw std::system_error(Ret.getError()); diff --git a/phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h b/phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h new file mode 100644 index 000000000..9cb6f3601 --- /dev/null +++ b/phasar/llvm/include/phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h @@ -0,0 +1,33 @@ +/****************************************************************************** + * Copyright (c) 2021 Fabian Schiebel. + * All rights reserved. This program and the accompanying materials are made + * available under the terms of LICENSE.txt. + * + * Contributors: + * Fabian Schiebel + *****************************************************************************/ + +#ifndef PHASAR_UTILS_TYPETRAITSLLVM_H +#define PHASAR_UTILS_TYPETRAITSLLVM_H + +#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" + +#include + +namespace psr { + +namespace detail { +template +struct has_setIFDSIDESolverConfig : std::false_type {}; +template +struct has_setIFDSIDESolverConfig< + T, decltype(std::declval().setIFDSIDESolverConfig( + std::declval()))> : std::true_type {}; +} // namespace detail + +template +constexpr bool has_setIFDSIDESolverConfig_v = // NOLINT + detail::has_setIFDSIDESolverConfig::value; + +} // namespace psr +#endif diff --git a/phasar/utils/include/phasar/Utils/TypeTraits.h b/phasar/utils/include/phasar/Utils/TypeTraits.h index 6f1ee8281..9fe1930be 100644 --- a/phasar/utils/include/phasar/Utils/TypeTraits.h +++ b/phasar/utils/include/phasar/Utils/TypeTraits.h @@ -14,8 +14,6 @@ #include #include -#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" - #include "llvm/Support/raw_ostream.h" namespace psr { @@ -75,14 +73,6 @@ struct is_llvm_hashable : std::false_type {}; // NOLINT template struct is_llvm_hashable()))> // NOLINT : std::true_type {}; - -template -struct has_setIFDSIDESolverConfig : std::false_type {}; -template -struct has_setIFDSIDESolverConfig< - T, decltype(std::declval().setIFDSIDESolverConfig( - std::declval()))> : std::true_type {}; - } // namespace detail template @@ -119,10 +109,6 @@ template constexpr bool is_llvm_hashable_v = // NOLINT detail::is_llvm_hashable::value; -template -constexpr bool has_setIFDSIDESolverConfig_v = // NOLINT - detail::has_setIFDSIDESolverConfig::value; - template struct is_variant : std::false_type {}; // NOLINT template diff --git a/phasar/utils/test/CMakeLists.txt b/phasar/utils/test/CMakeLists.txt new file mode 100644 index 000000000..d138bab2f --- /dev/null +++ b/phasar/utils/test/CMakeLists.txt @@ -0,0 +1,4 @@ +just_add_tests( + LINK + phasar-test-utils +) \ No newline at end of file diff --git a/test/text_test_code/test.txt b/phasar/utils/test/resource/test.txt similarity index 100% rename from test/text_test_code/test.txt rename to phasar/utils/test/resource/test.txt diff --git a/phasar/utils/test/src/BitVectorSetTest.cpp b/phasar/utils/test/src/BitVectorSetTest.cpp index dda90af13..a06c1a8e4 100644 --- a/phasar/utils/test/src/BitVectorSetTest.cpp +++ b/phasar/utils/test/src/BitVectorSetTest.cpp @@ -476,8 +476,3 @@ TEST(BitVector, biggerVecWithUpperBitsSetShouldBeLess) { EXPECT_FALSE(internal::isLess(A, B)); EXPECT_TRUE(internal::isLess(B, A)); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/utils/test/src/EquivalenceClassMapTest.cpp b/phasar/utils/test/src/EquivalenceClassMapTest.cpp index ece577967..631231ccc 100644 --- a/phasar/utils/test/src/EquivalenceClassMapTest.cpp +++ b/phasar/utils/test/src/EquivalenceClassMapTest.cpp @@ -179,8 +179,3 @@ TEST(EquivalenceClassMap, threeMixedValues) { EXPECT_EQ(M.numEquivalenceClasses(), 2U); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/utils/test/src/IOTest.cpp b/phasar/utils/test/src/IOTest.cpp index 7746677a8..f7f342f06 100644 --- a/phasar/utils/test/src/IOTest.cpp +++ b/phasar/utils/test/src/IOTest.cpp @@ -8,7 +8,7 @@ TEST(IO, ReadTextFile) { std::string File("test.txt"); - std::string Path = psr::unittest::PathToTxtTestFiles + File; + std::string Path = File; std::string Contents = psr::readTextFile(Path); std::string Expected = @@ -18,8 +18,3 @@ Check out the cool project yourself. )"; ASSERT_EQ(Contents, Expected); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/utils/test/src/PAMMTest.cpp b/phasar/utils/test/src/PAMMTest.cpp index 69180f333..996e6bd67 100644 --- a/phasar/utils/test/src/PAMMTest.cpp +++ b/phasar/utils/test/src/PAMMTest.cpp @@ -195,9 +195,3 @@ TEST_F(PAMMTest, DISABLED_PerformanceTimerBasic) { std::chrono::duration_cast(End15 - Start15); llvm::outs() << "timer_15 : " << Duration.count() << '\n'; } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/utils/test/src/StableVectorTest.cpp b/phasar/utils/test/src/StableVectorTest.cpp index 39f52f69d..eef29cfb6 100644 --- a/phasar/utils/test/src/StableVectorTest.cpp +++ b/phasar/utils/test/src/StableVectorTest.cpp @@ -286,8 +286,3 @@ INSTANTIATE_TEST_SUITE_P(StableVector, Copy, ::testing::Values(100, 200, 300, 511, 512)); INSTANTIATE_TEST_SUITE_P(StableVector, Clear, ::testing::Values(100, 200, 300, 511, 512)); - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} From db15da9576a8898c7c9b30e8a4362e68810ba8e0 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 15:17:05 +0200 Subject: [PATCH 12/95] restructure: phasar-db working --- CMakeLists.txt | 2 +- migration.md | 16 ++++++++++------ phasar/db/CMakeLists.txt | 4 ++++ .../{db => llvm}/include/phasar/DB/ProjectIRDB.h | 0 .../include/phasar/Utils/LLVMShorthands.h | 0 .../src => llvm/src/Utils}/LLVMShorthands.cpp | 0 .../src => llvm/src/phasar/DB}/ProjectIRDB.cpp | 0 .../{db => llvm}/test/src/LLVMShorthandsTest.cpp | 0 .../test/src/Utils}/LLVMIRToSrcTest.cpp | 0 .../include/{phasar/Utils => }/TestConfig.h | 0 phasar/utils/test/src/IOTest.cpp | 2 +- 11 files changed, 16 insertions(+), 8 deletions(-) rename phasar/{db => llvm}/include/phasar/DB/ProjectIRDB.h (100%) rename phasar/{db => llvm}/include/phasar/Utils/LLVMShorthands.h (100%) rename phasar/{db/src => llvm/src/Utils}/LLVMShorthands.cpp (100%) rename phasar/{db/src => llvm/src/phasar/DB}/ProjectIRDB.cpp (100%) rename phasar/{db => llvm}/test/src/LLVMShorthandsTest.cpp (100%) rename phasar/{db/test/src => llvm/test/src/Utils}/LLVMIRToSrcTest.cpp (100%) rename phasar/test-utils/include/{phasar/Utils => }/TestConfig.h (100%) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4054848ea..3e1e2a95b 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -28,7 +28,7 @@ include(cmake/just-simple.cmake) #add_subdirectory(phasar/clang) add_subdirectory(phasar/config) #add_subdirectory(phasar/controller) -#add_subdirectory(phasar/db) +add_subdirectory(phasar/db) #add_subdirectory(phasar/experimental) #add_subdirectory(phasar/llvm) #add_subdirectory(phasar/pass) diff --git a/migration.md b/migration.md index cd7c00c63..c02e30784 100644 --- a/migration.md +++ b/migration.md @@ -4,15 +4,19 @@ config -> inclure from utils but utils links to config => moved IO.h to config => resolved with fabian copied small code part utils uses includes from PhasarLLVM but PhasarLLVM links to utils => split TypeTrait / TypeTraitsLLVM -utils uses includes from DB but DB links to utils -- mkdir -p phasar/db/include/phasar/Utils && git mv phasar/utils/include/phasar/Utils/LLVMShorthands.h phasar/db/include/phasar/Utils - - git mv phasar/utils/src/LLVMShorthands.cpp phasar/db/src/ - - mkdir -p phasar/db/test/src/ && git mv phasar/utils/test/src/LLVMIRToSrcTest.cpp phasar/db/test/src/ - - git mv phasar/utils/test/src/LLVMShorthandsTest.cpp phasar/db/test/src/ +utils uses includes from DB but DB links to utils -> dependency moved later to phasarLLVM +- mkdir -p phasar/llvm/include/phasar/Utils/ && phasar/utils/include/phasar/Utils/LLVMShorthands.h phasar/llvm/include/phasar/Utils/ + - mkdir -p phasar/llvm/src/Utils/ && git mv phasar/utils/src/LLVMShorthands.cpp phasar/llvm/src/Utils/ + - mkdir -p phasar/db/test/src/ && git mv phasar/utils/test/src/LLVMIRToSrcTest.cpp phasar/llvm/test/src/Utils/ + - mkdir -p phasar/llvm/test/src/ && git mv phasar/utils/test/src/LLVMShorthandsTest.cpp phasar/llvm/test/src/ util tests -- mkdir -p phasar/test-utils/include/phasar/Utils/ && git mv /home/ubuntu/git/phasar-itst/unittests/TestUtils/TestConfig.h phasar/test-utils/include/phasar/Utils/ +- mkdir -p phasar/test-utils/include/phasar/Utils/ && git mv /home/ubuntu/git/phasar-itst/unittests/TestUtils/TestConfig.h phasar/test-utils/include/ - mkdir -p phasar/utils/test/resource && git mv test/text_test_code/test.txt /phasar/utils/test/resource +DB uses phasarLLVM include but phasarLLVM links to DB +- mkdir -p phasar/llvm/include/phasar/DB/ && git mv phasar/db/include/phasar/DB/ProjectIRDB.h phasar/llvm/include/phasar/DB/ +- mkdir -p phasar/llvm/src/phasar/DB/ && git mv phasar/db/src/ProjectIRDB.cpp phasar/llvm/src/phasar/DB/ + - test/clang phasar-clang-test - test/json phasar-llvm-test -> taint - test/llvm phasar-llvm-test diff --git a/phasar/db/CMakeLists.txt b/phasar/db/CMakeLists.txt index e69de29bb..bad584adf 100644 --- a/phasar/db/CMakeLists.txt +++ b/phasar/db/CMakeLists.txt @@ -0,0 +1,4 @@ +just_add_library( + LINK + phasar-utils +) \ No newline at end of file diff --git a/phasar/db/include/phasar/DB/ProjectIRDB.h b/phasar/llvm/include/phasar/DB/ProjectIRDB.h similarity index 100% rename from phasar/db/include/phasar/DB/ProjectIRDB.h rename to phasar/llvm/include/phasar/DB/ProjectIRDB.h diff --git a/phasar/db/include/phasar/Utils/LLVMShorthands.h b/phasar/llvm/include/phasar/Utils/LLVMShorthands.h similarity index 100% rename from phasar/db/include/phasar/Utils/LLVMShorthands.h rename to phasar/llvm/include/phasar/Utils/LLVMShorthands.h diff --git a/phasar/db/src/LLVMShorthands.cpp b/phasar/llvm/src/Utils/LLVMShorthands.cpp similarity index 100% rename from phasar/db/src/LLVMShorthands.cpp rename to phasar/llvm/src/Utils/LLVMShorthands.cpp diff --git a/phasar/db/src/ProjectIRDB.cpp b/phasar/llvm/src/phasar/DB/ProjectIRDB.cpp similarity index 100% rename from phasar/db/src/ProjectIRDB.cpp rename to phasar/llvm/src/phasar/DB/ProjectIRDB.cpp diff --git a/phasar/db/test/src/LLVMShorthandsTest.cpp b/phasar/llvm/test/src/LLVMShorthandsTest.cpp similarity index 100% rename from phasar/db/test/src/LLVMShorthandsTest.cpp rename to phasar/llvm/test/src/LLVMShorthandsTest.cpp diff --git a/phasar/db/test/src/LLVMIRToSrcTest.cpp b/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp similarity index 100% rename from phasar/db/test/src/LLVMIRToSrcTest.cpp rename to phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp diff --git a/phasar/test-utils/include/phasar/Utils/TestConfig.h b/phasar/test-utils/include/TestConfig.h similarity index 100% rename from phasar/test-utils/include/phasar/Utils/TestConfig.h rename to phasar/test-utils/include/TestConfig.h diff --git a/phasar/utils/test/src/IOTest.cpp b/phasar/utils/test/src/IOTest.cpp index f7f342f06..ed1840ea9 100644 --- a/phasar/utils/test/src/IOTest.cpp +++ b/phasar/utils/test/src/IOTest.cpp @@ -1,7 +1,7 @@ #include "gtest/gtest.h" #include "phasar/Utils/IO.h" -#include "phasar/Utils/TestConfig.h" +#include "TestConfig.h" //===----------------------------------------------------------------------===// // Unit tests for the IO functionalities From e3e15e125e3bbc53f0f15fb775e61526eb7dd8fe Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 15:21:34 +0200 Subject: [PATCH 13/95] restructure: phasar-db-test working --- phasar/db/test/CMakeLists.txt | 6 ++++++ phasar/db/test/include/.gitkeep | 0 phasar/db/test/src/HexastoreTest.cpp | 5 ----- 3 files changed, 6 insertions(+), 5 deletions(-) create mode 100644 phasar/db/test/CMakeLists.txt create mode 100644 phasar/db/test/include/.gitkeep diff --git a/phasar/db/test/CMakeLists.txt b/phasar/db/test/CMakeLists.txt new file mode 100644 index 000000000..2bd4e7645 --- /dev/null +++ b/phasar/db/test/CMakeLists.txt @@ -0,0 +1,6 @@ +just_add_tests( + LINK + phasar-test-utils + sqlite3 + dl +) \ No newline at end of file diff --git a/phasar/db/test/include/.gitkeep b/phasar/db/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/db/test/src/HexastoreTest.cpp b/phasar/db/test/src/HexastoreTest.cpp index 9a9576974..165e190ba 100644 --- a/phasar/db/test/src/HexastoreTest.cpp +++ b/phasar/db/test/src/HexastoreTest.cpp @@ -268,8 +268,3 @@ TEST(HexastoreTest, StoreGraphWithEdgeLabels) { // } ASSERT_TRUE(boost::isomorphism(I, J)); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} From d5998f340f3367b2cf65ff4770f9d6a8770f9520 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 15:27:42 +0200 Subject: [PATCH 14/95] restructure: phasar-clang working --- CMakeLists.txt | 2 +- phasar/clang/CMakeLists.txt | 8 ++++++++ phasar/utils/CMakeLists.txt | 5 +++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3e1e2a95b..7513d1909 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,7 +25,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(cmake/just-simple.cmake) -#add_subdirectory(phasar/clang) +add_subdirectory(phasar/clang) add_subdirectory(phasar/config) #add_subdirectory(phasar/controller) add_subdirectory(phasar/db) diff --git a/phasar/clang/CMakeLists.txt b/phasar/clang/CMakeLists.txt index e69de29bb..a32704fa2 100644 --- a/phasar/clang/CMakeLists.txt +++ b/phasar/clang/CMakeLists.txt @@ -0,0 +1,8 @@ +just_add_library( + LINK + LLVMCore + LLVMOption + LLVMSupport + + phasar-utils +) \ No newline at end of file diff --git a/phasar/utils/CMakeLists.txt b/phasar/utils/CMakeLists.txt index 647048803..f470f7468 100644 --- a/phasar/utils/CMakeLists.txt +++ b/phasar/utils/CMakeLists.txt @@ -1,8 +1,9 @@ just_add_library( LINK - LLVMCore - LLVMSupport LLVMBitWriter + LLVMCore LLVMDemangle + LLVMSupport + phasar-config ) From 3811be673b78d45222b03ec942932eab613cb1e2 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 17:09:49 +0200 Subject: [PATCH 15/95] build: check always library order --- cmake/just-simple.cmake | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index 6ff5933a7..0a219a726 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -156,6 +156,31 @@ function(just_copy_resource TARGET) endforeach() endfunction() +function(_just_check_library_order) + set(options) + set(oneValueArgs TARGET) + set(multiValueArgs LINK) + cmake_parse_arguments(PARSE_ARGV "0" "just_check" "${options}" "${oneValueArgs}" "${multiValueArgs}") + + set(index -1) + set(wrong_order OFF) + set(correct_order) + foreach(available_lib ${CONAN_LIBS}) + list(FIND just_check_LINK ${available_lib} found) + if (found GREATER -1) + list(APPEND correct_order "${available_lib}") + if (found LESS index) + set(wrong_order ON) + endif() + set(index "${found}") + endif() + endforeach() + + if (${wrong_order}) + message(FATAL_ERROR "${just_check_TARGET} has wrong link order, expecting: ${correct_order}") + endif() +endfunction() + function(just_add_library) # Argument parsing set(options SKIP_SUBDIRECTORIES) @@ -171,6 +196,10 @@ function(just_add_library) endif() _just_add_check("${TARGET}") + if (just_add_LINK) + _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) + endif() + # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) @@ -218,6 +247,10 @@ function(just_add_executable) endif() _just_add_check("${TARGET}") + if (just_add_LINK) + _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) + endif() + # create filelist file(GLOB_RECURSE files include/* src/*) @@ -278,6 +311,10 @@ function(just_add_tests) endif() _just_add_check("${TARGET}") + if (just_add_LINK) + _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) + endif() + # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) From 8cb3a1557d0b3620d3e5eced12a195da394d607c Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 27 Jul 2022 17:27:38 +0200 Subject: [PATCH 16/95] restructured: merged PhasarPass and PhasarLLVM because of many circular dependencies --- CMakeLists.txt | 1 - lib/Config/CMakeLists.txt | 30 ------------------- lib/Config/phasar_config-config.cmake | 7 ----- migration.md | 6 +++- phasar/clang/CMakeLists.txt | 2 +- .../include/phasar/PhasarPass/Options.h | 0 .../include/phasar/PhasarPass/PhasarPass.h | 0 .../phasar/PhasarPass/PhasarPrinterPass.h | 0 .../phasar/PhasarPass/RegisterPasses.h | 0 .../llvm/src/{phasar => }/DB/ProjectIRDB.cpp | 0 .../src/PhasarPass}/PhasarPass.cpp | 0 .../src/PhasarPass}/PhasarPrinterPass.cpp | 0 .../src/PhasarPass}/RegisterPasses.cpp | 0 phasar/pass/CMakeLists.txt | 0 phasar/pass/test/CMakeLists.txt | 1 - phasar/pass/test/include/.gitkeep | 0 phasar/pass/test/src/everything_linked.cpp | 3 -- phasar/test-utils/CMakeLists.txt | 4 +-- unittests/Config/CMakeLists.txt | 0 unittests/PhasarClang/CMakeLists.txt | 0 20 files changed, 8 insertions(+), 46 deletions(-) delete mode 100644 lib/Config/CMakeLists.txt delete mode 100644 lib/Config/phasar_config-config.cmake rename phasar/{pass => llvm}/include/phasar/PhasarPass/Options.h (100%) rename phasar/{pass => llvm}/include/phasar/PhasarPass/PhasarPass.h (100%) rename phasar/{pass => llvm}/include/phasar/PhasarPass/PhasarPrinterPass.h (100%) rename phasar/{pass => llvm}/include/phasar/PhasarPass/RegisterPasses.h (100%) rename phasar/llvm/src/{phasar => }/DB/ProjectIRDB.cpp (100%) rename phasar/{pass/src => llvm/src/PhasarPass}/PhasarPass.cpp (100%) rename phasar/{pass/src => llvm/src/PhasarPass}/PhasarPrinterPass.cpp (100%) rename phasar/{pass/src => llvm/src/PhasarPass}/RegisterPasses.cpp (100%) delete mode 100644 phasar/pass/CMakeLists.txt delete mode 100644 phasar/pass/test/CMakeLists.txt delete mode 100644 phasar/pass/test/include/.gitkeep delete mode 100644 phasar/pass/test/src/everything_linked.cpp delete mode 100644 unittests/Config/CMakeLists.txt delete mode 100644 unittests/PhasarClang/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 7513d1909..bd0f03a65 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -31,6 +31,5 @@ add_subdirectory(phasar/config) add_subdirectory(phasar/db) #add_subdirectory(phasar/experimental) #add_subdirectory(phasar/llvm) -#add_subdirectory(phasar/pass) add_subdirectory(phasar/utils) add_subdirectory(phasar/test-utils) diff --git a/lib/Config/CMakeLists.txt b/lib/Config/CMakeLists.txt deleted file mode 100644 index faf5945e6..000000000 --- a/lib/Config/CMakeLists.txt +++ /dev/null @@ -1,30 +0,0 @@ -file(GLOB_RECURSE CONFIG_SRC *.h *.cpp) - -set(LLVM_LINK_COMPONENTS - Support -) - -if(BUILD_SHARED_LIBS) - add_phasar_library(phasar_config - SHARED - ${CONFIG_SRC} - ) -else() - add_phasar_library(phasar_config - STATIC - ${CONFIG_SRC} - ) -endif() - -find_package(Boost COMPONENTS program_options REQUIRED) - -target_link_libraries(phasar_config - LINK_PUBLIC - ${Boost_LIBRARIES} -) - -set_target_properties(phasar_config - PROPERTIES - LINKER_LANGUAGE CXX - PREFIX "lib" -) diff --git a/lib/Config/phasar_config-config.cmake b/lib/Config/phasar_config-config.cmake deleted file mode 100644 index c73253461..000000000 --- a/lib/Config/phasar_config-config.cmake +++ /dev/null @@ -1,7 +0,0 @@ -set(PHASAR_config_COMPONENT_FOUND 1) - -list(APPEND - PHASAR_LLVM_DEPS - Support) - -find_package(Boost COMPONENTS program_options REQUIRED) diff --git a/migration.md b/migration.md index c02e30784..6cfbe7903 100644 --- a/migration.md +++ b/migration.md @@ -15,7 +15,11 @@ util tests DB uses phasarLLVM include but phasarLLVM links to DB - mkdir -p phasar/llvm/include/phasar/DB/ && git mv phasar/db/include/phasar/DB/ProjectIRDB.h phasar/llvm/include/phasar/DB/ -- mkdir -p phasar/llvm/src/phasar/DB/ && git mv phasar/db/src/ProjectIRDB.cpp phasar/llvm/src/phasar/DB/ +- mkdir -p phasar/llvm/src/DB/ && git mv phasar/db/src/ProjectIRDB.cpp phasar/llvm/src/DB/ + +pass <-> llvm +git mv phasar/pass/include/phasar/PhasarPass phasar/llvm/include/phasar +- mkdir -p phasar/llvm/src/phasar/PhasarPass/ && git mv phasar/pass/src/* phasar/llvm/src/PhasarPass/ - test/clang phasar-clang-test - test/json phasar-llvm-test -> taint diff --git a/phasar/clang/CMakeLists.txt b/phasar/clang/CMakeLists.txt index a32704fa2..33b996721 100644 --- a/phasar/clang/CMakeLists.txt +++ b/phasar/clang/CMakeLists.txt @@ -3,6 +3,6 @@ just_add_library( LLVMCore LLVMOption LLVMSupport - + #clang-cpp phasar-utils ) \ No newline at end of file diff --git a/phasar/pass/include/phasar/PhasarPass/Options.h b/phasar/llvm/include/phasar/PhasarPass/Options.h similarity index 100% rename from phasar/pass/include/phasar/PhasarPass/Options.h rename to phasar/llvm/include/phasar/PhasarPass/Options.h diff --git a/phasar/pass/include/phasar/PhasarPass/PhasarPass.h b/phasar/llvm/include/phasar/PhasarPass/PhasarPass.h similarity index 100% rename from phasar/pass/include/phasar/PhasarPass/PhasarPass.h rename to phasar/llvm/include/phasar/PhasarPass/PhasarPass.h diff --git a/phasar/pass/include/phasar/PhasarPass/PhasarPrinterPass.h b/phasar/llvm/include/phasar/PhasarPass/PhasarPrinterPass.h similarity index 100% rename from phasar/pass/include/phasar/PhasarPass/PhasarPrinterPass.h rename to phasar/llvm/include/phasar/PhasarPass/PhasarPrinterPass.h diff --git a/phasar/pass/include/phasar/PhasarPass/RegisterPasses.h b/phasar/llvm/include/phasar/PhasarPass/RegisterPasses.h similarity index 100% rename from phasar/pass/include/phasar/PhasarPass/RegisterPasses.h rename to phasar/llvm/include/phasar/PhasarPass/RegisterPasses.h diff --git a/phasar/llvm/src/phasar/DB/ProjectIRDB.cpp b/phasar/llvm/src/DB/ProjectIRDB.cpp similarity index 100% rename from phasar/llvm/src/phasar/DB/ProjectIRDB.cpp rename to phasar/llvm/src/DB/ProjectIRDB.cpp diff --git a/phasar/pass/src/PhasarPass.cpp b/phasar/llvm/src/PhasarPass/PhasarPass.cpp similarity index 100% rename from phasar/pass/src/PhasarPass.cpp rename to phasar/llvm/src/PhasarPass/PhasarPass.cpp diff --git a/phasar/pass/src/PhasarPrinterPass.cpp b/phasar/llvm/src/PhasarPass/PhasarPrinterPass.cpp similarity index 100% rename from phasar/pass/src/PhasarPrinterPass.cpp rename to phasar/llvm/src/PhasarPass/PhasarPrinterPass.cpp diff --git a/phasar/pass/src/RegisterPasses.cpp b/phasar/llvm/src/PhasarPass/RegisterPasses.cpp similarity index 100% rename from phasar/pass/src/RegisterPasses.cpp rename to phasar/llvm/src/PhasarPass/RegisterPasses.cpp diff --git a/phasar/pass/CMakeLists.txt b/phasar/pass/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/pass/test/CMakeLists.txt b/phasar/pass/test/CMakeLists.txt deleted file mode 100644 index 85321c55f..000000000 --- a/phasar/pass/test/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -just_add_tests() diff --git a/phasar/pass/test/include/.gitkeep b/phasar/pass/test/include/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/pass/test/src/everything_linked.cpp b/phasar/pass/test/src/everything_linked.cpp deleted file mode 100644 index 39585a78c..000000000 --- a/phasar/pass/test/src/everything_linked.cpp +++ /dev/null @@ -1,3 +0,0 @@ -#include "gtest/gtest.h" - -TEST(Linkage, test) {} \ No newline at end of file diff --git a/phasar/test-utils/CMakeLists.txt b/phasar/test-utils/CMakeLists.txt index 647048803..cf7024a63 100644 --- a/phasar/test-utils/CMakeLists.txt +++ b/phasar/test-utils/CMakeLists.txt @@ -1,8 +1,8 @@ just_add_library( LINK - LLVMCore - LLVMSupport LLVMBitWriter + LLVMCore LLVMDemangle + LLVMSupport phasar-config ) diff --git a/unittests/Config/CMakeLists.txt b/unittests/Config/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/unittests/PhasarClang/CMakeLists.txt b/unittests/PhasarClang/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 From ecc01839529f0daca2c98d0a66f659482333a718 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 13:50:31 +0200 Subject: [PATCH 17/95] restructure: phasar-llvm & phasar-llvm-test --- CMakeLists.txt | 2 +- phasar/llvm/CMakeLists.txt | 44 +++++++++ .../include}/config/TaintConfigSchema.json | 0 phasar/llvm/src/TaintConfig/TaintConfig.cpp | 2 +- phasar/llvm/test/CMakeLists.txt | 5 + phasar/llvm/test/include/.gitkeep | 0 .../ControlFlow/LLVMBasedBackwardCFGTest.cpp | 5 - .../ControlFlow/LLVMBasedBackwardICFGTest.cpp | 5 - .../test/src/ControlFlow/LLVMBasedCFGTest.cpp | 5 - .../ControlFlow/LLVMBasedICFGExportTest.cpp | 5 - .../LLVMBasedICFGGlobCtorDtorTest.cpp | 5 - .../src/ControlFlow/LLVMBasedICFGTest.cpp | 5 - .../src/ControlFlow/LLVMBasedICFG_CHATest.cpp | 5 - .../src/ControlFlow/LLVMBasedICFG_DTATest.cpp | 5 - .../src/ControlFlow/LLVMBasedICFG_OTFTest.cpp | 5 - .../src/ControlFlow/LLVMBasedICFG_RTATest.cpp | 5 - .../IfdsIde/EdgeFunctionComposerTest.cpp | 6 -- .../EdgeFunctionSingletonFactoryTest.cpp | 6 -- .../Problems/IDEExtendedTaintAnalysisTest.cpp | 5 - .../Problems/IDEGeneralizedLCATest.cpp | 5 - .../IDEInstInteractionAnalysisTest.cpp | 6 -- .../IDELinearConstantAnalysisTest.cpp | 6 -- .../IDELinearConstantAnalysis_DotTest.cpp | 98 +++++++++---------- .../Problems/IDETSAnalysisFileIOTest.cpp | 6 -- .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 6 -- .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 5 - .../IDETSAnalysisOpenSSLSecureMemoryTest.cpp | 6 -- .../Problems/IFDSConstAnalysisTest.cpp | 6 -- .../Problems/IFDSTaintAnalysisTest.cpp | 5 - .../IFDSUninitializedVariablesTest.cpp | 4 - .../InterMonoFullConstantPropagationTest.cpp | 5 - .../Mono/InterMonoTaintAnalysisTest.cpp | 5 - .../IntraMonoFullConstantPropagationTest.cpp | 5 - .../Mono/IntraMonoUninitVariablesTest.cpp | 5 - phasar/llvm/test/src/LLVMShorthandsTest.cpp | 5 - .../LLVMPointsToSetSerializationTest.cpp | 5 - .../test/src/Pointer/LLVMPointsToSetTest.cpp | 5 - .../test/src/TaintConfig/TaintConfigTest.cpp | 7 +- .../TypeHierarchy/LLVMTypeHierarchyTest.cpp | 7 -- .../test/src/TypeHierarchy/TypeGraphTest.cpp | 7 -- .../llvm/test/src/Utils/LLVMIRToSrcTest.cpp | 5 - .../llvm/test/src/Utils/LatticeDomainTest.cpp | 5 - .../WPDSLinearConstantAnalysisTest.cpp | 6 -- phasar/utils/include/phasar/Utils/Logger.h | 1 + 44 files changed, 99 insertions(+), 247 deletions(-) rename {old => phasar/llvm/include}/config/TaintConfigSchema.json (100%) create mode 100644 phasar/llvm/test/CMakeLists.txt create mode 100644 phasar/llvm/test/include/.gitkeep diff --git a/CMakeLists.txt b/CMakeLists.txt index bd0f03a65..4e1e5b2af 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,6 +30,6 @@ add_subdirectory(phasar/config) #add_subdirectory(phasar/controller) add_subdirectory(phasar/db) #add_subdirectory(phasar/experimental) -#add_subdirectory(phasar/llvm) +add_subdirectory(phasar/llvm) add_subdirectory(phasar/utils) add_subdirectory(phasar/test-utils) diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt index e69de29bb..aa360f17a 100644 --- a/phasar/llvm/CMakeLists.txt +++ b/phasar/llvm/CMakeLists.txt @@ -0,0 +1,44 @@ +just_add_library( + LINK + phasar-config + phasar-utils + phasar-db + + LLVMAggressiveInstCombine # llvm::createAggressiveInstCombinerPass() + LLVMAnalysis + LLVMAsmParser # undefined symbol: llvm::parseAssembly + + LLVMBinaryFormat # llvm::dwarf::getOperationEncoding + LLVMBitReader # undefined symbol: llvm::getOwningLazyBitcodeModule + LLVMBitstreamReader # undefined symbol: llvm::BitstreamCursor::skipRecord + + LLVMCore + LLVMCoroutines # llvm::CoroCleanupPass::run + LLVMDebugInfoDWARF # llvm::DWARFFormValue::getAsCString() + LLVMDemangle + LLVMFrontendOpenMP # llvm::OpenMPIRBuilder::addAttributes + LLVMIRReader + LLVMInstCombine # llvm::createInstructionCombiningPass() + LLVMInstrumentation # llvm::MemorySanitizerOptions::MemorySanitizerOptions + LLVMLinker + LLVMMC # llvm::TargetRegistry::lookupTarget + LLVMMCParser # llvm::MCAsmParser::setTargetParser + LLVMObjCARCOpts # llvm::ObjCARCExpandPass::run + LLVMObject # undefined symbol: llvm::ModuleSymbolTable::CollectAsmSymvers + LLVMPasses + LLVMProfileData # undefined symbol ProfileSummaryCutoffHot + LLVMRemarks # llvm::remarks::RemarkStreamer::matchesFilter + LLVMScalarOpts # llvm::ADCEPass::run + + LLVMSupport + LLVMTarget # llvm::TargetMachine::getTargetIRAnalysis() + LLVMTextAPI # llvm::MachO::mapToPlatformSet(llvm::ArrayRef + LLVMTransformUtils # undefined symbol: llvm::ValueMapper::ValueMapper + + LLVMVectorize # llvm::ShouldRunExtraVectorPasses::Key + LLVMipo # llvm::AttributorPass::run + + + nlohmann_json_schema_validator + EXCLUDE "^.*/WPDS/.*$" +) diff --git a/old/config/TaintConfigSchema.json b/phasar/llvm/include/config/TaintConfigSchema.json similarity index 100% rename from old/config/TaintConfigSchema.json rename to phasar/llvm/include/config/TaintConfigSchema.json diff --git a/phasar/llvm/src/TaintConfig/TaintConfig.cpp b/phasar/llvm/src/TaintConfig/TaintConfig.cpp index 5bc450d5f..1d96f8237 100644 --- a/phasar/llvm/src/TaintConfig/TaintConfig.cpp +++ b/phasar/llvm/src/TaintConfig/TaintConfig.cpp @@ -41,7 +41,7 @@ namespace { const nlohmann::json TaintConfigSchema = -#include "../config/TaintConfigSchema.json" +#include "config/TaintConfigSchema.json" ; } // anonymous namespace diff --git a/phasar/llvm/test/CMakeLists.txt b/phasar/llvm/test/CMakeLists.txt new file mode 100644 index 000000000..220560a7b --- /dev/null +++ b/phasar/llvm/test/CMakeLists.txt @@ -0,0 +1,5 @@ +just_add_tests( + LINK + phasar-test-utils + EXCLUDE "^.*/WPDS/.*$" +) \ No newline at end of file diff --git a/phasar/llvm/test/include/.gitkeep b/phasar/llvm/test/include/.gitkeep new file mode 100644 index 000000000..e69de29bb diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp index 80eaa58d0..d7d2fa023 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp @@ -128,8 +128,3 @@ TEST(LLVMBasedBackwardCFGTest, HandlesSingleOrEmptySuccessor) { Successor.clear(); ASSERT_EQ(SuccsOfInst, Successor); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp index 64acbe814..caee5d598 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp @@ -21,8 +21,3 @@ TEST_F(LLVMBasedBackwardICFGTest, test1) { // TODO add suitable test cases // ASSERT_FALSE(true); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp index 50256adf5..eaff46e32 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp @@ -430,8 +430,3 @@ TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInControlFlowEdges) { } } } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp index 7d6010de8..8b846679c 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp @@ -307,8 +307,3 @@ TEST_F(LLVMBasedICFGExportTest, ExportCFG01) { } } // namespace psr - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp index be5df63d3..519a1211f 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGGlobCtorDtorTest.cpp @@ -374,8 +374,3 @@ TEST_F(LLVMBasedICFGGlobCtorDtorTest, LCATest5) { // EXPECT_EQ(43, Solver.resultAt(BeforeDtorPrintF, Foo)); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp index 7f36d5ca5..7f8edddbf 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGTest.cpp @@ -407,8 +407,3 @@ TEST(LLVMBasedICFGTest, GlobalCtorDtor_4) { ASSERT_TRUE(VertFuns.find(BeforeMain) != boost::end(VertFuns)); ASSERT_TRUE(VertFuns.find(AfterMain) != boost::end(VertFuns)); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp index d4da41b4f..25567a7d1 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_CHATest.cpp @@ -111,8 +111,3 @@ TEST(LLVMBasedICFG_CHATest, VirtualCallSite_7) { ASSERT_TRUE(Callees.count(VfuncA)); } } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp index 5be402392..de920d370 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_DTATest.cpp @@ -60,8 +60,3 @@ TEST(LLVMBasedICFG_DTATest, VirtualCallSite_6) { ASSERT_EQ(Callers.size(), 1U); ASSERT_TRUE(Callers.count(I)); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp index eca69dfd1..0c57c0832 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_OTFTest.cpp @@ -121,8 +121,3 @@ TEST(LLVMBasedICFG_OTFTest, FunctionPtrCall_3) { ASSERT_EQ(Callees.size(), 1U); ASSERT_EQ(Callees.count(Foo), 1U); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp index 2ce86f31a..e55d58f05 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFG_RTATest.cpp @@ -80,8 +80,3 @@ TEST(LLVMBasedICFG_RTATest, StaticCallSite_13) { ASSERT_EQ(Callees.size(), 1U); } } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp index 5de4f4b22..d6f0ea7cf 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionComposerTest.cpp @@ -99,9 +99,3 @@ TEST(EdgeFunctionComposerTest, HandleEFComposition) { EXPECT_EQ(12, Result); EXPECT_FALSE(AddEF1->equal_to(AddEF2)); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp index 26cc465be..c10e489be 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/EdgeFunctionSingletonFactoryTest.cpp @@ -118,9 +118,3 @@ TEST(EdgeFunctionSingletonFactoryTest, selfCleanExpiredEdgeFunctionsThreaded) { TestEdgeFunction::getTestCacheData().DataMutex); EXPECT_EQ(TestEdgeFunction::getTestCacheData().Storage.size(), 1U); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp index 31443116f..538065eea 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEExtendedTaintAnalysisTest.cpp @@ -356,8 +356,3 @@ TEST_F(IDETaintAnalysisTest, XTaint21) { doAnalysis({PathToLLFiles + "xtaint21_cpp.ll"}, Gt, CallBackPairTy{std::move(SourceCB), std::move(SinkCB)}); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp index 9e78c2280..022efb086 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp @@ -195,8 +195,3 @@ TEST_F(IDEGeneralizedLCATest, NullTest) { GroundTruth.push_back({{EdgeValue("")}, 4, 5}); // foo(null) compareResults(GroundTruth); } - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp index dd30caa55..02a661b80 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp @@ -660,9 +660,3 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleStruct_01) { "main", 10, "x", {"1", "4", "5", "13"})); doAnalysisAndCompareResults("struct_01_cpp.ll", GroundTruth, false); } - -// main function for the test case/* */ -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp index 09aecfedc..2ce4df6fd 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp @@ -800,9 +800,3 @@ TEST_F(IDELinearConstantAnalysisTest, HandleModuloByZero) { // GroundTruth.emplace("main", 4, "j", IDELinearConstantAnalysis::TOP); compareResults(Results, GroundTruth); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp index 2993f1a3c..29baa5f12 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp @@ -16,7 +16,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ -class IDELinearConstantAnalysisTest : public ::testing::Test { +class IDELinearConstantAnalysisDotTest : public ::testing::Test { protected: const std::string PathToLlFiles = unittest::PathToLLTestFiles + "linear_constant/"; @@ -84,7 +84,7 @@ class IDELinearConstantAnalysisTest : public ::testing::Test { }; // Test Fixture /* ============== BASIC TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_01) { auto Results = doAnalysis("basic_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 13); @@ -92,7 +92,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_01) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_02) { auto Results = doAnalysis("basic_02_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 13); @@ -101,7 +101,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_02) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_03) { auto Results = doAnalysis("basic_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 10); @@ -112,7 +112,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_03) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_04) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_04) { auto Results = doAnalysis("basic_04_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 14); @@ -125,7 +125,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_04) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_05) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_05) { auto Results = doAnalysis("basic_05_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 3); @@ -134,7 +134,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_05) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_06) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_06) { auto Results = doAnalysis("basic_06_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); @@ -143,7 +143,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_06) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_07) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_07) { auto Results = doAnalysis("basic_07_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); @@ -154,7 +154,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_07) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_08) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_08) { auto Results = doAnalysis("basic_08_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -165,7 +165,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_08) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_09) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_09) { auto Results = doAnalysis("basic_09_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -176,7 +176,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_09) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_10) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_10) { auto Results = doAnalysis("basic_10_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -187,7 +187,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_10) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_11) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_11) { auto Results = doAnalysis("basic_11_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -199,7 +199,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_11) { } /* ============== BRANCH TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_01) { auto Results = doAnalysis("branch_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); @@ -210,7 +210,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_01) { EXPECT_TRUE(Results["main"].find(7) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_02) { auto Results = doAnalysis("branch_02_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); @@ -220,7 +220,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_02) { EXPECT_TRUE(Results["main"].find(8) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_03) { auto Results = doAnalysis("branch_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 42); @@ -230,7 +230,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_03) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_04) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_04) { auto Results = doAnalysis("branch_04_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); @@ -242,7 +242,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_04) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_05) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_05) { auto Results = doAnalysis("branch_05_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); @@ -255,7 +255,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_05) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_06) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_06) { auto Results = doAnalysis("branch_06_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); @@ -264,7 +264,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_06) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_07) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_07) { auto Results = doAnalysis("branch_07_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); @@ -278,7 +278,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_07) { } /* ============== LOOP TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_01) { auto Results = doAnalysis("while_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -287,7 +287,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_01) { EXPECT_TRUE(Results["main"].find(6) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_02) { auto Results = doAnalysis("while_02_cpp_dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); @@ -296,7 +296,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_02) { EXPECT_TRUE(Results["main"].find(6) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_03) { auto Results = doAnalysis("while_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -307,7 +307,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_03) { EXPECT_TRUE(Results["main"].find(6) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_04) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_04) { auto Results = doAnalysis("while_04_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); @@ -317,7 +317,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_04) { EXPECT_TRUE(Results["main"].find(7) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_05) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_05) { auto Results = doAnalysis("for_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "a", 0); @@ -327,7 +327,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_05) { } /* ============== CALL TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_01) { auto Results = doAnalysis("call_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 42); @@ -341,7 +341,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_01) { EXPECT_TRUE(Results["_Z3fooi"].find(4) == Results["_Z3fooi"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_02) { auto Results = doAnalysis("call_02_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 2); @@ -353,7 +353,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_02) { EXPECT_TRUE(Results["main"].find(6) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_03) { auto Results = doAnalysis("call_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); @@ -361,7 +361,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_03) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_04) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_04) { auto Results = doAnalysis("call_04_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); @@ -370,13 +370,13 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_04) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_05) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_05) { auto Results = doAnalysis("call_05_cpp_dbg.ll"); std::set GroundTruth; EXPECT_TRUE(Results["main"].empty()); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_06) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_06) { auto Results = doAnalysis("call_06_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); @@ -388,7 +388,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_06) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_07) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_07) { auto Results = doAnalysis("call_07_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); @@ -407,7 +407,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_07) { Results["_Z9incrementi"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_08) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_08) { auto Results = doAnalysis("call_08_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooii", 1, "a", 10); @@ -427,7 +427,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_08) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_09) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_09) { auto Results = doAnalysis("call_09_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); @@ -441,7 +441,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_09) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_10) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_10) { auto Results = doAnalysis("call_10_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); @@ -452,7 +452,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_10) { EXPECT_TRUE(Results["main"].find(9) == Results["main"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_11) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_11) { auto Results = doAnalysis("call_11_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); @@ -468,7 +468,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_11) { /* ============== RECURSION TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_01) { auto Results = doAnalysis("recursion_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 10, "j", -1); @@ -480,13 +480,13 @@ TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_01) { Results["_Z9decrementi"].end()); } -TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_02) { auto Results = doAnalysis("recursion_02_cpp_dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_03) { auto Results = doAnalysis("recursion_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 9, "a", 1); @@ -499,7 +499,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_03) { /* ============== GLOBAL VARIABLE TESTS ============== */ -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_01) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_01) { auto Results = doAnalysis("global_01_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "g1", 10); @@ -514,7 +514,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_01) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_02) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_02) { auto Results = doAnalysis("global_02_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 4, "g", 10); @@ -528,7 +528,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_02) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_03) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_03) { auto Results = doAnalysis("global_03_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); @@ -543,7 +543,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_03) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_04) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_04) { auto Results = doAnalysis("global_04_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); @@ -559,7 +559,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_04) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_05) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_05) { auto Results = doAnalysis("global_05_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 2); @@ -575,7 +575,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_05) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_06) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_06) { auto Results = doAnalysis("global_06_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); @@ -587,7 +587,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_06) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_07) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_07) { auto Results = doAnalysis("global_07_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); @@ -613,7 +613,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_07) { compareResults(Results, GroundTruth); } -TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_08) { +TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_08) { auto Results = doAnalysis("global_08_cpp_dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 7, "b", 2); @@ -638,9 +638,3 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_08) { GroundTruth.emplace("main", 19, "g", 2); compareResults(Results, GroundTruth); } - -// main function for the test case/* */ -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp index 2e58e56b6..ccd9a2556 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp @@ -536,9 +536,3 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_19) { {25, {{"2", IOSTATE::CLOSED}, {"8", IOSTATE::CLOSED}}}}; compareResults(Gt, Llvmtssolver); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp index 85672e3e4..3c9316631 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp @@ -339,9 +339,3 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation8) { {"159", OpenSSLEVPKeyDerivationState::UNINIT}}; compareResults(Gt); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp index 8e138fc0e..cd8af463d 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp @@ -140,8 +140,3 @@ TEST_F(IDETSAnalysisOpenSSLSecureHeapTest, Memory7) { {"29", OpenSSLSecureHeapState::FREED}}; compareResults(Gt); } - -int main(int Argc, char *Argv[]) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp index ae89ed591..86b92d928 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp @@ -176,9 +176,3 @@ TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory5) { {"30", OpenSSLSecureMemoryState::ERROR}}; compareResults(Gt); } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp index af0140618..4ed7da0b3 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp @@ -521,9 +521,3 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { // llvmconstsolver.solve(); // compareResults({0}, llvmconstsolver); //} - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp index f91355dd6..041fa6b82 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp @@ -258,8 +258,3 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_10) { GroundTruth[62] = set{"61"}; compareResults(GroundTruth); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp index 6ec0af06f..3af7acaf3 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp @@ -382,7 +382,3 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_21_SHOULD_LEAK) { // 37 => {17}; actual leak compareResults(GroundTruth); } -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp index b1895bcee..72fb0a433 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp @@ -149,8 +149,3 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // "main", 9, "i", 5)); // doAnalysisAndCompareResults("advanced_03_cpp.ll", GroundTruth, true); // } - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp index e33246e88..28a55cabe 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp @@ -395,8 +395,3 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // compareResults(Leaks, GroundTruth); // } // ***********************************************************/ - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp index fcb42a485..867285ddb 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp @@ -150,8 +150,3 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_06) { doAnalysisAndCompareResults("full_constant/basic_06_cpp.ll", GroundTruth, true); } - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp index 4dd30e379..6f557504e 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp @@ -84,8 +84,3 @@ TEST_F(IntraMonoUninitVariablesTest, Basic_02) { GroundTruth.insert({17, {"%a", "%b"}}); doAnalysisAndCompareResults("basic_02_cpp.ll", GroundTruth, true); } - -int main(int argc, char **argv) { - ::testing::InitGoogleTest(&argc, argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/LLVMShorthandsTest.cpp b/phasar/llvm/test/src/LLVMShorthandsTest.cpp index bc2340fd5..b9fa9f3a2 100644 --- a/phasar/llvm/test/src/LLVMShorthandsTest.cpp +++ b/phasar/llvm/test/src/LLVMShorthandsTest.cpp @@ -42,8 +42,3 @@ TEST(LLVMGetterTest, HandlesLLVMTermInstruction) { ASSERT_EQ(getNthTermInstruction(F, 4), I); ASSERT_EQ(getNthTermInstruction(F, 5), nullptr); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp index 2ab90fd17..4a412b24f 100644 --- a/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp +++ b/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp @@ -114,8 +114,3 @@ TEST(LLVMPointsToSetSerializationTest, Ser_Global01) { {"_GLOBAL__sub_I_global_01.cpp", "_Z3fooPi", "__cxx_global_var_init", "main"}}); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp index a733a0a34..6b5ccce58 100644 --- a/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp +++ b/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp @@ -61,8 +61,3 @@ TEST(LLVMPointsToSet, Global_01) { PTS.print(llvm::outs()); llvm::outs() << '\n'; } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp b/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp index ca5e7fc25..5bbaab226 100644 --- a/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp +++ b/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp @@ -8,7 +8,7 @@ #include "llvm/IR/InstrTypes.h" #include "llvm/IR/Instructions.h" -#include "../TestUtils/TestConfig.h" +#include "TestConfig.h" #include "phasar/DB/ProjectIRDB.h" #include "phasar/PhasarLLVM/Passes/ValueAnnotationPass.h" @@ -465,8 +465,3 @@ TEST_F(TaintConfigTest, StaticFun_02_Json) { //===----------------------------------------------------------------------===// // The unit tests' entry point - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp b/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp index 815fb1a1f..7efb2cdd6 100644 --- a/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp +++ b/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp @@ -760,10 +760,3 @@ PHASAR_SKIP_TEST(TEST(LTHTest, HandleSTLString) { }) } // namespace psr - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - auto Res = RUN_ALL_TESTS(); - llvm::llvm_shutdown(); - return Res; -} diff --git a/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp b/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp index d7af3ca12..28462b940 100644 --- a/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp +++ b/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp @@ -409,10 +409,3 @@ TEST(TypeGraphTest, TypeAggregation) { ASSERT_TRUE(Tg.G[VertexE].Types.size() == 4); } } // namespace psr - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - auto Res = RUN_ALL_TESTS(); - llvm::llvm_shutdown(); - return Res; -} diff --git a/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp b/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp index febf76fbe..223f1ffcc 100644 --- a/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp +++ b/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp @@ -90,8 +90,3 @@ class LLVMIRToSrcTest : public ::testing::Test { // << std::endl; // } // } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/Utils/LatticeDomainTest.cpp b/phasar/llvm/test/src/Utils/LatticeDomainTest.cpp index cc902d590..6af635fc0 100644 --- a/phasar/llvm/test/src/Utils/LatticeDomainTest.cpp +++ b/phasar/llvm/test/src/Utils/LatticeDomainTest.cpp @@ -57,8 +57,3 @@ TEST(LatticeDomain, innerLatticeTypeShouldBeLessThanBottom) { EXPECT_TRUE(LD1 < LD2); EXPECT_FALSE(LD2 < LD1); } - -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp index 9577397b9..ca8a8b207 100644 --- a/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp +++ b/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp @@ -266,9 +266,3 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // {"main.0", LCAProblem->bottomElement()}}; // compareResults(gt, llvmlcasolver); // } - -// main function for the test case -int main(int Argc, char **Argv) { - ::testing::InitGoogleTest(&Argc, Argv); - return RUN_ALL_TESTS(); -} diff --git a/phasar/utils/include/phasar/Utils/Logger.h b/phasar/utils/include/phasar/Utils/Logger.h index 6e76701fa..203196c37 100644 --- a/phasar/utils/include/phasar/Utils/Logger.h +++ b/phasar/utils/include/phasar/Utils/Logger.h @@ -145,6 +145,7 @@ class Logger final { #define IS_LOG_ENABLED Logger::isLoggingEnabled() #else +#define IF_LOG_ENABLED(computation) #define IF_LOG_ENABLED_BOOL(condition, computation) ((void)0) #define PHASAR_LOG(computation) ((void)0) #define PHASAR_LOG_CAT(cat, message) ((void)0) From 4d3bf34b2fbb77399970ee9effe9fae8dcae8b63 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 14:15:10 +0200 Subject: [PATCH 18/95] restructure: llvm_test_code moved to test folder --- .../llvm/test}/llvm_test_code/CMakeLists.txt | 0 .../TaintConfig/AttrConfig/CMakeLists.txt | 0 .../TaintConfig/AttrConfig/array_01.c | 0 .../TaintConfig/AttrConfig/array_02.c | 0 .../TaintConfig/AttrConfig/basic_01.c | 0 .../TaintConfig/AttrConfig/basic_02.c | 0 .../TaintConfig/AttrConfig/basic_03.c | 0 .../TaintConfig/AttrConfig/basic_04.c | 0 .../TaintConfig/AttrConfig/data_member_01.cpp | 0 .../TaintConfig/AttrConfig/fun_member_01.cpp | 0 .../TaintConfig/AttrConfig/fun_member_02.cpp | 0 .../TaintConfig/AttrConfig/name_mangling_01.cpp | 0 .../TaintConfig/AttrConfig/static_fun_01.cpp | 0 .../TaintConfig/AttrConfig/static_fun_02.cpp | 0 .../test}/llvm_test_code/TaintConfig/CMakeLists.txt | 0 .../TaintConfig/JsonConfig/CMakeLists.txt | 0 .../TaintConfig/JsonConfig/array_01.c | 0 .../TaintConfig/JsonConfig/array_01_config.json | 0 .../TaintConfig/JsonConfig/array_02.c | 0 .../TaintConfig/JsonConfig/array_02_config.json | 0 .../TaintConfig/JsonConfig/basic_01.c | 0 .../TaintConfig/JsonConfig/basic_01_config.json | 0 .../TaintConfig/JsonConfig/basic_02.c | 0 .../TaintConfig/JsonConfig/basic_02_config.json | 0 .../TaintConfig/JsonConfig/basic_03.c | 0 .../TaintConfig/JsonConfig/basic_03_config.json | 0 .../TaintConfig/JsonConfig/basic_04.c | 0 .../TaintConfig/JsonConfig/basic_04_config.json | 0 .../TaintConfig/JsonConfig/data_member_01.cpp | 0 .../JsonConfig/data_member_01_config.json | 0 .../TaintConfig/JsonConfig/fun_member_01.cpp | 0 .../JsonConfig/fun_member_01_config.json | 0 .../TaintConfig/JsonConfig/fun_member_02.cpp | 0 .../JsonConfig/fun_member_02_config.json | 0 .../TaintConfig/JsonConfig/name_mangling_01.cpp | 0 .../JsonConfig/name_mangling_01_config.json | 0 .../TaintConfig/JsonConfig/static_fun_01.cpp | 0 .../JsonConfig/static_fun_01_config.json | 0 .../TaintConfig/JsonConfig/static_fun_02.cpp | 0 .../JsonConfig/static_fun_02_config.json | 0 .../test}/llvm_test_code/TaintConfig/README.txt | 0 .../llvm/test}/llvm_test_code/basic/CMakeLists.txt | 0 .../llvm/test}/llvm_test_code/basic/module.cpp | 0 .../test}/llvm_test_code/basic/seven_structs.cpp | 0 .../llvm/test}/llvm_test_code/basic/two_structs.cpp | 0 .../test}/llvm_test_code/call_graphs/CMakeLists.txt | 0 .../call_graphs/function_object_1.cpp | 0 .../llvm_test_code/call_graphs/function_pointer_1.c | 0 .../call_graphs/function_pointer_2.cpp | 0 .../call_graphs/function_pointer_3.cpp | 0 .../call_graphs/global_ctor_dtor_1.cpp | 0 .../call_graphs/global_ctor_dtor_2.cpp | 0 .../call_graphs/global_ctor_dtor_3.cpp | 0 .../call_graphs/global_ctor_dtor_4.cpp | 0 .../call_graphs/special_member_functions_1.cpp | 0 .../llvm_test_code/call_graphs/static_callsite_1.c | 0 .../call_graphs/static_callsite_10.cpp | 0 .../call_graphs/static_callsite_11.cpp | 0 .../call_graphs/static_callsite_12.cpp | 0 .../call_graphs/static_callsite_13.cpp | 0 .../llvm_test_code/call_graphs/static_callsite_2.c | 0 .../llvm_test_code/call_graphs/static_callsite_3.c | 0 .../call_graphs/static_callsite_4.cpp | 0 .../call_graphs/static_callsite_5.cpp | 0 .../call_graphs/static_callsite_6.cpp | 0 .../call_graphs/static_callsite_7.cpp | 0 .../call_graphs/static_callsite_8.cpp | 0 .../call_graphs/static_callsite_9.cpp | 0 .../llvm_test_code/call_graphs/type_graph_1.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_1.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_2.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_3.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_4.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_5.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_6.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_7.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_8.cpp | 0 .../llvm_test_code/call_graphs/virtual_call_9.cpp | 0 .../test}/llvm_test_code/constness/CMakeLists.txt | 0 .../llvm_test_code/constness/array/CMakeLists.txt | 0 .../llvm_test_code/constness/array/array_01.cpp | 0 .../llvm_test_code/constness/array/array_02.cpp | 0 .../llvm_test_code/constness/array/array_03.cpp | 0 .../llvm_test_code/constness/array/array_04.cpp | 0 .../llvm_test_code/constness/array/array_05.cpp | 0 .../llvm_test_code/constness/array/array_06.cpp | 0 .../llvm_test_code/constness/array/array_07.cpp | 0 .../llvm_test_code/constness/array/array_08.cpp | 0 .../llvm_test_code/constness/array/array_09.cpp | 0 .../constness/array/cstring/CMakeLists.txt | 0 .../constness/array/cstring/cstring_01.cpp | 0 .../constness/array/cstring/cstring_02.cpp | 0 .../constness/array/stl_array/CMakeLists.txt | 0 .../constness/array/stl_array/stl_array_01.cpp | 0 .../constness/array/stl_array/stl_array_02.cpp | 0 .../constness/array/stl_array/stl_array_03.cpp | 0 .../constness/array/stl_array/stl_array_04.cpp | 0 .../constness/array/stl_array/stl_array_05.cpp | 0 .../constness/array/stl_array/stl_array_06.cpp | 0 .../llvm_test_code/constness/basic/CMakeLists.txt | 0 .../llvm_test_code/constness/basic/basic_01.cpp | 0 .../llvm_test_code/constness/basic/basic_02.cpp | 0 .../llvm_test_code/constness/basic/basic_03.cpp | 0 .../llvm_test_code/constness/basic/basic_04.cpp | 0 .../llvm_test_code/constness/call/CMakeLists.txt | 0 .../constness/call/param/CMakeLists.txt | 0 .../constness/call/param/call_param_01.cpp | 0 .../constness/call/param/call_param_02.cpp | 0 .../constness/call/param/call_param_03.cpp | 0 .../constness/call/param/call_param_04.cpp | 0 .../constness/call/param/call_param_05.cpp | 0 .../constness/call/param/call_param_06.cpp | 0 .../constness/call/param/call_param_07.cpp | 0 .../constness/call/param/call_param_08.cpp | 0 .../constness/call/return/CMakeLists.txt | 0 .../constness/call/return/call_ret_01.cpp | 0 .../constness/call/return/call_ret_02.cpp | 0 .../constness/call/return/call_ret_03.cpp | 0 .../constness/const_benchmark_results.ods | Bin .../constness/control_flow/CMakeLists.txt | 0 .../constness/control_flow/cf_for_01.cpp | 0 .../constness/control_flow/cf_for_02.cpp | 0 .../constness/control_flow/cf_if_01.cpp | 0 .../constness/control_flow/cf_if_02.cpp | 0 .../constness/control_flow/cf_while_01.cpp | 0 .../llvm_test_code/constness/global/CMakeLists.txt | 0 .../llvm_test_code/constness/global/global_01.cpp | 0 .../llvm_test_code/constness/global/global_02.cpp | 0 .../llvm_test_code/constness/global/global_03.cpp | 0 .../llvm_test_code/constness/global/global_04.cpp | 0 .../llvm_test_code/constness/global/global_05.cpp | 0 .../llvm_test_code/constness/other/CMakeLists.txt | 0 .../llvm_test_code/constness/other/other_01.cpp | 0 .../llvm_test_code/constness/other/other_02.cpp | 0 .../llvm_test_code/constness/other/other_03.cpp | 0 .../llvm_test_code/constness/other/other_04.cpp | 0 .../llvm_test_code/constness/pointer/CMakeLists.txt | 0 .../llvm_test_code/constness/pointer/pointer_01.cpp | 0 .../llvm_test_code/constness/pointer/pointer_02.cpp | 0 .../llvm_test_code/constness/pointer/pointer_03.cpp | 0 .../llvm_test_code/constness/pointer/pointer_04.cpp | 0 .../llvm_test_code/constness/stl/CMakeLists.txt | 0 .../llvm_test_code/constness/stl/set/CMakeLists.txt | 0 .../llvm_test_code/constness/stl/set/set_01.cpp | 0 .../llvm_test_code/constness/stl/set/set_02.cpp | 0 .../llvm_test_code/constness/stl/set/set_03.cpp | 0 .../constness/stl/string/CMakeLists.txt | 0 .../constness/stl/string/string_01.cpp | 0 .../constness/stl/string/string_02.cpp | 0 .../constness/stl/string/string_03.cpp | 0 .../constness/stl/vector/CMakeLists.txt | 0 .../constness/stl/vector/vector_01.cpp | 0 .../constness/structure/CMakeLists.txt | 0 .../constness/structure/structure_01.cpp | 0 .../constness/structure/structure_02.cpp | 0 .../constness/structure/structure_03.cpp | 0 .../constness/structure/structure_04.cpp | 0 .../constness/structure/structure_05.cpp | 0 .../constness/structure/structure_06.cpp | 0 .../constness/structure/structure_07.cpp | 0 .../constness/structure/structure_08.cpp | 0 .../constness/structure/structure_09.cpp | 0 .../constness/structure/structure_10.cpp | 0 .../constness/structure/structure_11.cpp | 0 .../constness/structure/structure_12.cpp | 0 .../llvm_test_code/control_flow/CMakeLists.txt | 0 .../test}/llvm_test_code/control_flow/branch.cpp | 0 .../test}/llvm_test_code/control_flow/calls.cpp | 0 .../llvm_test_code/control_flow/function_call.cpp | 0 .../llvm_test_code/control_flow/function_call_2.cpp | 0 .../llvm_test_code/control_flow/global_stmt.cpp | 0 .../test}/llvm_test_code/control_flow/if_else.cpp | 0 .../control_flow/ignore_dbg_insts_1.cpp | 0 .../control_flow/ignore_dbg_insts_2.cpp | 0 .../control_flow/ignore_dbg_insts_3.cpp | 0 .../control_flow/ignore_dbg_insts_4.cpp | 0 .../llvm/test}/llvm_test_code/control_flow/loop.cpp | 0 .../llvm_test_code/control_flow/multi_calls.cpp | 0 .../llvm_test_code/control_flow/simple_call.cpp | 0 .../test}/llvm_test_code/control_flow/switch.cpp | 0 .../test}/llvm_test_code/exceptions/CMakeLists.txt | 0 .../llvm_test_code/exceptions/exceptions_01.cpp | 0 .../llvm/test}/llvm_test_code/fields/CMakeLists.txt | 0 .../llvm/test}/llvm_test_code/fields/array_1.cpp | 0 .../llvm/test}/llvm_test_code/fields/array_2.cpp | 0 .../llvm/test}/llvm_test_code/fields/array_3.cpp | 0 .../test}/llvm_test_code/fields/base_variable_1.cpp | 0 .../llvm/test}/llvm_test_code/fields/field_1.cpp | 0 .../llvm/test}/llvm_test_code/fields/field_2.cpp | 0 .../llvm/test}/llvm_test_code/fields/field_3.cpp | 0 .../llvm_test_code/full_constant/CMakeLists.txt | 0 .../llvm_test_code/full_constant/advanced_01.cpp | 0 .../llvm_test_code/full_constant/advanced_02.cpp | 0 .../llvm_test_code/full_constant/advanced_03.cpp | 0 .../test}/llvm_test_code/full_constant/basic_01.cpp | 0 .../test}/llvm_test_code/full_constant/basic_02.cpp | 0 .../test}/llvm_test_code/full_constant/basic_03.cpp | 0 .../test}/llvm_test_code/full_constant/basic_04.cpp | 0 .../test}/llvm_test_code/full_constant/basic_05.cpp | 0 .../test}/llvm_test_code/full_constant/basic_06.cpp | 0 .../llvm_test_code/function_pointer/CMakeLists.txt | 0 .../llvm_test_code/function_pointer/fptr_1.cpp | 0 .../function_pointer/function_ptr.cpp | 0 .../general_linear_constant/BranchTest.c | 0 .../general_linear_constant/CMakeLists.txt | 0 .../llvm_test_code/general_linear_constant/FPtest.c | 0 .../general_linear_constant/FloatDivision.c | 0 .../general_linear_constant/GlobalVariableTest.c | 0 .../general_linear_constant/Imprecision.c | 0 .../general_linear_constant/Imprecision.cryptosl | 0 .../general_linear_constant/NullTest.c | 0 .../general_linear_constant/ReturnConstTest.c | 0 .../general_linear_constant/SimpleFunctionTest.c | 0 .../general_linear_constant/SimpleTest.c | 0 .../general_linear_constant/StringBranchTest.c | 0 .../general_linear_constant/StringTest.c | 0 .../general_linear_constant/StringTest.cpp | 0 .../glibc_and_intrinsic_calls/CMakeLists.txt | 0 .../glibc_and_intrinsics_1.cpp | 0 .../glibc_and_intrinsics_2.cpp | 0 .../glibc_and_intrinsics_3.cpp | 0 .../test}/llvm_test_code/globals/CMakeLists.txt | 0 .../llvm/test}/llvm_test_code/globals/globals_1.cpp | 0 .../llvm/test}/llvm_test_code/globals/globals_2.cpp | 0 .../test}/llvm_test_code/globals/globals_ctor_1.cpp | 0 .../llvm_test_code/globals/globals_ctor_2_1.cpp | 0 .../test}/llvm_test_code/globals/globals_ctor_2_1.h | 0 .../llvm_test_code/globals/globals_ctor_2_2.cpp | 0 .../test}/llvm_test_code/globals/globals_dtor_1.cpp | 0 .../test}/llvm_test_code/globals/globals_lca_1.cpp | 0 .../test}/llvm_test_code/globals/globals_lca_2.cpp | 0 .../test}/llvm_test_code/globals/globals_lca_3.cpp | 0 .../test}/llvm_test_code/globals/globals_lca_4.cpp | 0 .../llvm_test_code/globals/globals_lca_4_1.cpp | 0 .../test}/llvm_test_code/globals/globals_lca_5.cpp | 0 .../llvm_test_code/hard_cxx_problems/CMakeLists.txt | 0 .../hard_cxx_problems/composition-inheritance.cpp | 0 .../test}/llvm_test_code/heap_model/CMakeLists.txt | 0 .../llvm_test_code/heap_model/heap_model_1.cpp | 0 .../llvm_test_code/inst_interaction/CMakeLists.txt | 0 .../llvm_test_code/inst_interaction/KillTest_01.cpp | 0 .../llvm_test_code/inst_interaction/KillTest_02.cpp | 0 .../llvm_test_code/inst_interaction/basic_01.cpp | 0 .../llvm_test_code/inst_interaction/basic_02.cpp | 0 .../llvm_test_code/inst_interaction/basic_03.cpp | 0 .../llvm_test_code/inst_interaction/basic_04.cpp | 0 .../llvm_test_code/inst_interaction/basic_05.cpp | 0 .../llvm_test_code/inst_interaction/basic_06.cpp | 0 .../llvm_test_code/inst_interaction/basic_07.cpp | 0 .../llvm_test_code/inst_interaction/basic_08.cpp | 0 .../llvm_test_code/inst_interaction/basic_09.cpp | 0 .../llvm_test_code/inst_interaction/basic_10.cpp | 0 .../llvm_test_code/inst_interaction/basic_11.cpp | 0 .../llvm_test_code/inst_interaction/call_01.cpp | 0 .../llvm_test_code/inst_interaction/call_02.cpp | 0 .../llvm_test_code/inst_interaction/call_03.cpp | 0 .../llvm_test_code/inst_interaction/call_04.cpp | 0 .../llvm_test_code/inst_interaction/call_05.cpp | 0 .../llvm_test_code/inst_interaction/call_06.cpp | 0 .../llvm_test_code/inst_interaction/global_01.cpp | 0 .../llvm_test_code/inst_interaction/global_02.cpp | 0 .../llvm_test_code/inst_interaction/global_03.cpp | 0 .../llvm_test_code/inst_interaction/global_04.cpp | 0 .../llvm_test_code/inst_interaction/heap_01.cpp | 0 .../llvm_test_code/inst_interaction/return_01.cpp | 0 .../llvm_test_code/inst_interaction/rvo_01.cpp | 0 .../llvm_test_code/inst_interaction/struct_01.cpp | 0 .../llvm_test_code/linear_constant/CMakeLists.txt | 0 .../llvm_test_code/linear_constant/basic_01.cpp | 0 .../llvm_test_code/linear_constant/basic_02.cpp | 0 .../llvm_test_code/linear_constant/basic_03.cpp | 0 .../llvm_test_code/linear_constant/basic_04.cpp | 0 .../llvm_test_code/linear_constant/basic_05.cpp | 0 .../llvm_test_code/linear_constant/basic_06.cpp | 0 .../llvm_test_code/linear_constant/basic_07.cpp | 0 .../llvm_test_code/linear_constant/basic_08.cpp | 0 .../llvm_test_code/linear_constant/basic_09.cpp | 0 .../llvm_test_code/linear_constant/basic_10.cpp | 0 .../llvm_test_code/linear_constant/basic_11.cpp | 0 .../llvm_test_code/linear_constant/basic_12.cpp | 0 .../llvm_test_code/linear_constant/branch_01.cpp | 0 .../llvm_test_code/linear_constant/branch_02.cpp | 0 .../llvm_test_code/linear_constant/branch_03.cpp | 0 .../llvm_test_code/linear_constant/branch_04.cpp | 0 .../llvm_test_code/linear_constant/branch_05.cpp | 0 .../llvm_test_code/linear_constant/branch_06.cpp | 0 .../llvm_test_code/linear_constant/branch_07.cpp | 0 .../llvm_test_code/linear_constant/call_01.cpp | 0 .../llvm_test_code/linear_constant/call_02.cpp | 0 .../llvm_test_code/linear_constant/call_03.cpp | 0 .../llvm_test_code/linear_constant/call_04.cpp | 0 .../llvm_test_code/linear_constant/call_05.cpp | 0 .../llvm_test_code/linear_constant/call_06.cpp | 0 .../llvm_test_code/linear_constant/call_07.cpp | 0 .../llvm_test_code/linear_constant/call_08.cpp | 0 .../llvm_test_code/linear_constant/call_09.cpp | 0 .../llvm_test_code/linear_constant/call_10.cpp | 0 .../llvm_test_code/linear_constant/call_11.cpp | 0 .../llvm_test_code/linear_constant/call_12.cpp | 0 .../test}/llvm_test_code/linear_constant/for_01.cpp | 0 .../llvm_test_code/linear_constant/global_01.cpp | 0 .../llvm_test_code/linear_constant/global_02.cpp | 0 .../llvm_test_code/linear_constant/global_03.cpp | 0 .../llvm_test_code/linear_constant/global_04.cpp | 0 .../llvm_test_code/linear_constant/global_05.cpp | 0 .../llvm_test_code/linear_constant/global_06.cpp | 0 .../llvm_test_code/linear_constant/global_07.cpp | 0 .../llvm_test_code/linear_constant/global_08.cpp | 0 .../llvm_test_code/linear_constant/global_09.cpp | 0 .../llvm_test_code/linear_constant/global_10.cpp | 0 .../llvm_test_code/linear_constant/global_11.cpp | 0 .../llvm_test_code/linear_constant/global_12.cpp | 0 .../llvm_test_code/linear_constant/global_13.cpp | 0 .../llvm_test_code/linear_constant/global_14.cpp | 0 .../llvm_test_code/linear_constant/global_15.cpp | 0 .../llvm_test_code/linear_constant/global_16.cpp | 0 .../llvm_test_code/linear_constant/overflow_add.cpp | 0 .../linear_constant/overflow_div_min_by_neg_one.cpp | 0 .../llvm_test_code/linear_constant/overflow_mul.cpp | 0 .../llvm_test_code/linear_constant/overflow_sub.cpp | 0 .../llvm_test_code/linear_constant/recursion_01.cpp | 0 .../llvm_test_code/linear_constant/recursion_02.cpp | 0 .../llvm_test_code/linear_constant/recursion_03.cpp | 0 .../linear_constant/ub_division_by_zero.cpp | 0 .../linear_constant/ub_modulo_by_zero.cpp | 0 .../llvm_test_code/linear_constant/while_01.cpp | 0 .../llvm_test_code/linear_constant/while_02.cpp | 0 .../llvm_test_code/linear_constant/while_03.cpp | 0 .../llvm_test_code/linear_constant/while_04.cpp | 0 .../test}/llvm_test_code/llvmIRtoSrc/CMakeLists.txt | 0 .../llvm_test_code/llvmIRtoSrc/function_call.cpp | 0 .../test}/llvm_test_code/llvmIRtoSrc/global_01.cpp | 0 .../llvm_test_code/llvmIRtoSrc/multi_calls.cpp | 0 .../llvm_test_code/memory_access/CMakeLists.txt | 0 .../memory_access/member_access_01.cpp | 0 .../memory_access/member_access_02.cpp | 0 .../test}/llvm_test_code/module_wise/CMakeLists.txt | 0 .../module_wise/module_wise_1/CMakeLists.txt | 0 .../module_wise/module_wise_1/Makefile | 0 .../module_wise/module_wise_1/main.cpp | 0 .../module_wise/module_wise_1/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_1/src1.h | 0 .../module_wise/module_wise_1/src2.cpp | 0 .../llvm_test_code/module_wise/module_wise_1/src2.h | 0 .../module_wise/module_wise_10/CMakeLists.txt | 0 .../module_wise/module_wise_10/Makefile | 0 .../module_wise/module_wise_10/main.cpp | 0 .../module_wise/module_wise_10/src1.cpp | 0 .../module_wise/module_wise_10/src1.h | 0 .../module_wise/module_wise_11/CMakeLists.txt | 0 .../module_wise/module_wise_11/Makefile | 0 .../module_wise/module_wise_11/main.cpp | 0 .../module_wise/module_wise_12/CMakeLists.txt | 0 .../module_wise/module_wise_12/Makefile | 0 .../module_wise/module_wise_12/main.cpp | 0 .../module_wise/module_wise_12/src1.cpp | 0 .../module_wise/module_wise_12/src1.h | 0 .../module_wise/module_wise_12/src2.cpp | 0 .../module_wise/module_wise_12/src2.h | 0 .../module_wise/module_wise_13/CMakeLists.txt | 0 .../module_wise/module_wise_13/Makefile | 0 .../module_wise/module_wise_13/main.cpp | 0 .../module_wise/module_wise_13/src1.cpp | 0 .../module_wise/module_wise_13/src1.h | 0 .../module_wise/module_wise_13/src2.cpp | 0 .../module_wise/module_wise_13/src2.h | 0 .../module_wise/module_wise_14/CMakeLists.txt | 0 .../module_wise/module_wise_14/Makefile | 0 .../module_wise/module_wise_14/main.cpp | 0 .../module_wise/module_wise_14/src1.cpp | 0 .../module_wise/module_wise_14/src1.h | 0 .../module_wise/module_wise_14/src2.cpp | 0 .../module_wise/module_wise_14/src2.h | 0 .../module_wise/module_wise_15/CMakeLists.txt | 0 .../module_wise/module_wise_15/Makefile | 0 .../module_wise/module_wise_15/main.cpp | 0 .../module_wise/module_wise_15/src1.cpp | 0 .../module_wise/module_wise_15/src1.h | 0 .../module_wise/module_wise_16/CMakeLists.txt | 0 .../module_wise/module_wise_16/Makefile | 0 .../module_wise/module_wise_16/main.cpp | 0 .../module_wise/module_wise_16/src1.cpp | 0 .../module_wise/module_wise_16/src1.h | 0 .../module_wise/module_wise_2/CMakeLists.txt | 0 .../module_wise/module_wise_2/Makefile | 0 .../module_wise/module_wise_2/main.cpp | 0 .../module_wise/module_wise_2/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_2/src1.h | 0 .../module_wise/module_wise_3/CMakeLists.txt | 0 .../module_wise/module_wise_3/Makefile | 0 .../module_wise/module_wise_3/main.cpp | 0 .../module_wise/module_wise_3/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_3/src1.h | 0 .../module_wise/module_wise_4/CMakeLists.txt | 0 .../module_wise/module_wise_4/Makefile | 0 .../module_wise/module_wise_4/main.cpp | 0 .../module_wise/module_wise_4/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_4/src1.h | 0 .../module_wise/module_wise_5/CMakeLists.txt | 0 .../module_wise/module_wise_5/Makefile | 0 .../module_wise/module_wise_5/main.cpp | 0 .../module_wise/module_wise_5/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_5/src1.h | 0 .../module_wise/module_wise_6/CMakeLists.txt | 0 .../module_wise/module_wise_6/Makefile | 0 .../module_wise/module_wise_6/main.cpp | 0 .../module_wise/module_wise_6/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_6/src1.h | 0 .../module_wise/module_wise_6/src2.cpp | 0 .../llvm_test_code/module_wise/module_wise_6/src2.h | 0 .../module_wise/module_wise_7/CMakeLists.txt | 0 .../module_wise/module_wise_7/Makefile | 0 .../module_wise/module_wise_7/main.cpp | 0 .../module_wise/module_wise_8/CMakeLists.txt | 0 .../module_wise/module_wise_8/Makefile | 0 .../module_wise/module_wise_8/main.cpp | 0 .../module_wise/module_wise_8/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_8/src1.h | 0 .../module_wise/module_wise_9/CMakeLists.txt | 0 .../module_wise/module_wise_9/Makefile | 0 .../llvm_test_code/module_wise/module_wise_9/abst.h | 0 .../module_wise/module_wise_9/main.cpp | 0 .../module_wise/module_wise_9/src1.cpp | 0 .../llvm_test_code/module_wise/module_wise_9/src1.h | 0 .../module_wise/module_wise_9/src2.cpp | 0 .../llvm_test_code/module_wise/module_wise_9/src2.h | 0 .../module_wise/module_wise_9/src3.cpp | 0 .../llvm_test_code/name_mangling/CMakeLists.txt | 0 .../name_mangling/special_members_1.cpp | 0 .../name_mangling/special_members_2.cpp | 0 .../name_mangling/special_members_3.cpp | 0 .../name_mangling/special_members_4.cpp | 0 .../test}/llvm_test_code/openssl/CMakeLists.txt | 0 .../openssl/key_derivation/CMakeLists.txt | 0 .../openssl/key_derivation/README.txt | 0 .../openssl/key_derivation/key-derivation1.c | 0 .../openssl/key_derivation/key-derivation2.c | 0 .../openssl/key_derivation/key-derivation3.c | 0 .../openssl/key_derivation/key-derivation4.c | 0 .../openssl/key_derivation/key-derivation5.c | 0 .../openssl/key_derivation/key-derivation6.c | 0 .../openssl/key_derivation/key-derivation7.c | 0 .../openssl/key_derivation/key-derivation8.c | 0 .../openssl/secure_heap/CMakeLists.txt | 0 .../llvm_test_code/openssl/secure_heap/README.txt | 0 .../llvm_test_code/openssl/secure_heap/memory6.c | 0 .../llvm_test_code/openssl/secure_heap/memory7.c | 0 .../openssl/secure_memory/CMakeLists.txt | 0 .../llvm_test_code/openssl/secure_memory/README.txt | 0 .../llvm_test_code/openssl/secure_memory/memory1.c | 0 .../llvm_test_code/openssl/secure_memory/memory2.c | 0 .../llvm_test_code/openssl/secure_memory/memory3.c | 0 .../llvm_test_code/openssl/secure_memory/memory4.c | 0 .../llvm_test_code/openssl/secure_memory/memory5.c | 0 .../test}/llvm_test_code/pointers/CMakeLists.txt | 0 .../llvm/test}/llvm_test_code/pointers/basic_01.cpp | 0 .../llvm/test}/llvm_test_code/pointers/call_01.cpp | 0 .../test}/llvm_test_code/pointers/dynamic_01.cpp | 0 .../test}/llvm_test_code/pointers/global_01.cpp | 0 .../llvm_test_code/pointers/inter_dynamic_01.cpp | 0 .../llvm_test_code/pointers/inter_dynamic_02.cpp | 0 .../test}/llvm_test_code/recursion/CMakeLists.txt | 0 .../test}/llvm_test_code/recursion/recursion_1.cpp | 0 .../llvm_test_code/special_shortcuts/CMakeLists.txt | 0 .../special_shortcuts/malloc_free.cpp | 0 .../summary_generation/CMakeLists.txt | 0 .../llvm_test_code/summary_generation/summary_1.cpp | 0 .../llvm_test_code/summary_generation/summary_2.cpp | 0 .../llvm_test_code/summary_generation/summary_3.cpp | 0 .../llvm_test_code/summary_generation/summary_4.cpp | 0 .../llvm_test_code/summary_generation/summary_5.cpp | 0 .../llvm_test_code/summary_generation/summary_6.cpp | 0 .../summary_generation/summary_class_1.cpp | 0 .../summary_generation/summary_class_2.cpp | 0 .../summary_generation/summary_class_3.cpp | 0 .../llvm_test_code/summary_reuse/CMakeLists.txt | 0 .../summary_reuse/summary_reuse_01.cpp | 0 .../summary_reuse/summary_reuse_02.cpp | 0 .../summary_reuse/summary_reuse_03.cpp | 0 .../summary_reuse/summary_reuse_04.cpp | 0 .../llvm_test_code/taint_analysis/CMakeLists.txt | 0 .../test}/llvm_test_code/taint_analysis/cmd_args.c | 0 .../taint_analysis/dummy_source_sink/CMakeLists.txt | 0 .../taint_analysis/dummy_source_sink/taint_01.cpp | 0 .../taint_analysis/dummy_source_sink/taint_02.cpp | 0 .../taint_analysis/dummy_source_sink/taint_03.cpp | 0 .../taint_analysis/dummy_source_sink/taint_04.cpp | 0 .../taint_analysis/dummy_source_sink/taint_05.cpp | 0 .../taint_analysis/dummy_source_sink/taint_06.cpp | 0 .../dummy_source_sink/taint_exception_01.cpp | 0 .../dummy_source_sink/taint_exception_02.cpp | 0 .../dummy_source_sink/taint_exception_03.cpp | 0 .../dummy_source_sink/taint_exception_04.cpp | 0 .../dummy_source_sink/taint_exception_05.cpp | 0 .../dummy_source_sink/taint_exception_06.cpp | 0 .../dummy_source_sink/taint_exception_07.cpp | 0 .../dummy_source_sink/taint_exception_08.cpp | 0 .../dummy_source_sink/taint_exception_09.cpp | 0 .../dummy_source_sink/taint_exception_10.cpp | 0 .../taint_analysis/dynamic_memory.cpp | 0 .../taint_analysis/dynamic_memory_simple.cpp | 0 .../test}/llvm_test_code/taint_analysis/fread.c | 0 .../taint_analysis/growing_example.cpp | 0 .../test}/llvm_test_code/taint_analysis/if_else.cpp | 0 .../taint_analysis/operator_shift.cpp | 0 .../test}/llvm_test_code/taint_analysis/print.cpp | 0 .../test}/llvm_test_code/taint_analysis/printf.c | 0 .../llvm/test}/llvm_test_code/taint_analysis/read.c | 0 .../taint_analysis/source_sink_function_test.c | 0 .../llvm_test_code/taint_analysis/struct_member.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_1.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_10.c | 0 .../test}/llvm_test_code/taint_analysis/taint_11.c | 0 .../test}/llvm_test_code/taint_analysis/taint_12.c | 0 .../test}/llvm_test_code/taint_analysis/taint_13.c | 0 .../llvm_test_code/taint_analysis/taint_14.cpp | 0 .../llvm_test_code/taint_analysis/taint_14_1.cpp | 0 .../llvm_test_code/taint_analysis/taint_15.cpp | 0 .../llvm_test_code/taint_analysis/taint_15_1.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_2.cpp | 0 .../llvm_test_code/taint_analysis/taint_2_v2.cpp | 0 .../llvm_test_code/taint_analysis/taint_2_v2_1.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_3.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_4.cpp | 0 .../llvm_test_code/taint_analysis/taint_4_v2.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_5.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_6.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_7.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_8.cpp | 0 .../test}/llvm_test_code/taint_analysis/taint_9.c | 0 .../llvm_test_code/taint_analysis/taint_cpy.txt | 0 .../llvm_test_code/taint_analysis/tainted_data.txt | 0 .../llvm_test_code/taint_analysis/virtual_calls.cpp | 0 .../taint_analysis/virtual_calls_v2.cpp | 0 .../llvm_test_code/type_hierarchies/CMakeLists.txt | 0 .../type_hierarchies/type_hierarchy_1.cpp | 0 .../type_hierarchies/type_hierarchy_10.cpp | 0 .../type_hierarchies/type_hierarchy_11.cpp | 0 .../type_hierarchies/type_hierarchy_12.cpp | 0 .../type_hierarchies/type_hierarchy_12_b.cpp | 0 .../type_hierarchies/type_hierarchy_12_c.cpp | 0 .../type_hierarchies/type_hierarchy_13.cpp | 0 .../type_hierarchies/type_hierarchy_14.cpp | 0 .../type_hierarchies/type_hierarchy_15.cpp | 0 .../type_hierarchies/type_hierarchy_2.cpp | 0 .../type_hierarchies/type_hierarchy_3.cpp | 0 .../type_hierarchies/type_hierarchy_4.cpp | 0 .../type_hierarchies/type_hierarchy_5.cpp | 0 .../type_hierarchies/type_hierarchy_6.cpp | 0 .../type_hierarchies/type_hierarchy_7.cpp | 0 .../type_hierarchies/type_hierarchy_7_b.cpp | 0 .../type_hierarchies/type_hierarchy_8.cpp | 0 .../type_hierarchies/type_hierarchy_9.cpp | 0 .../typestate_analysis_fileio/CMakeLists.txt | 0 .../typestate_analysis_fileio/typestate_01.c | 0 .../typestate_analysis_fileio/typestate_02.c | 0 .../typestate_analysis_fileio/typestate_03.c | 0 .../typestate_analysis_fileio/typestate_04.c | 0 .../typestate_analysis_fileio/typestate_05.c | 0 .../typestate_analysis_fileio/typestate_06.c | 0 .../typestate_analysis_fileio/typestate_07.c | 0 .../typestate_analysis_fileio/typestate_08.c | 0 .../typestate_analysis_fileio/typestate_09.c | 0 .../typestate_analysis_fileio/typestate_10.c | 0 .../typestate_analysis_fileio/typestate_11.c | 0 .../typestate_analysis_fileio/typestate_12.c | 0 .../typestate_analysis_fileio/typestate_13.c | 0 .../typestate_analysis_fileio/typestate_14.c | 0 .../typestate_analysis_fileio/typestate_15.c | 0 .../typestate_analysis_fileio/typestate_16.c | 0 .../typestate_analysis_fileio/typestate_17.c | 0 .../typestate_analysis_fileio/typestate_18.c | 0 .../typestate_analysis_fileio/typestate_19.c | 0 .../uninitialized_variables/CMakeLists.txt | 0 .../uninitialized_variables/all_uninit.cpp | 0 .../uninitialized_variables/array_init.cpp | 0 .../uninitialized_variables/array_init_simple.cpp | 0 .../uninitialized_variables/basic_01.cpp | 0 .../uninitialized_variables/basic_02.cpp | 0 .../uninitialized_variables/binop_uninit.cpp | 0 .../uninitialized_variables/branching_01.cpp | 0 .../uninitialized_variables/callnoret.c | 0 .../uninitialized_variables/callsite.cpp | 0 .../uninitialized_variables/calltoret.c | 0 .../llvm_test_code/uninitialized_variables/ctor.cpp | 0 .../uninitialized_variables/ctor_default.cpp | 0 .../uninitialized_variables/dyn_mem.cpp | 0 .../uninitialized_variables/exception.cpp | 0 .../uninitialized_variables/first_inst_call.cpp | 0 .../uninitialized_variables/global_variable.cpp | 0 .../uninitialized_variables/growing_example.cpp | 0 .../uninitialized_variables/main_args.cpp | 0 .../uninitialized_variables/main_args_init.cpp | 0 .../uninitialized_variables/multiple_calls.cpp | 0 .../uninitialized_variables/pointer_1.cpp | 0 .../uninitialized_variables/reassing_uninit.cpp | 0 .../uninitialized_variables/recursion.cpp | 0 .../uninitialized_variables/return_uninit.cpp | 0 .../uninitialized_variables/sanitizer.cpp | 0 .../uninitialized_variables/sanitizer2.cpp | 0 .../uninitialized_variables/sanitizer_uninit.cpp | 0 .../uninitialized_variables/simple_store.cpp | 0 .../uninitialized_variables/some_locals.cpp | 0 .../uninitialized_variables/struct_member_init.cpp | 0 .../struct_member_uninit.cpp | 0 .../struct_member_uninit2.cpp | 0 .../uninitialized_variables/struct_test.cpp | 0 .../llvm_test_code/uninitialized_variables/uninit.c | 0 .../uninitialized_variables/virtual_call.cpp | 0 .../uninitialized_variables/while_uninit_1.cpp | 0 .../llvm_test_code/value_annotation/CMakeLists.txt | 0 .../llvm_test_code/value_annotation/example.cpp | 0 .../llvm_test_code/virtual_callsites/CMakeLists.txt | 0 .../llvm_test_code/virtual_callsites/callsite.cpp | 0 .../virtual_callsites/callsite_dynmemory.cpp | 0 .../virtual_callsites/callsite_staticmemory.cpp | 0 .../virtual_callsites/circular_dependencies.cpp | 0 .../virtual_callsites/cross_module/CMakeLists.txt | 0 .../virtual_callsites/cross_module/base.cpp | 0 .../virtual_callsites/cross_module/base.h | 0 .../virtual_callsites/cross_module/derived.cpp | 0 .../virtual_callsites/cross_module/derived.h | 0 .../virtual_callsites/cross_module/main.cpp | 0 .../virtual_callsites/cross_module/utils.cpp | 0 .../virtual_callsites/cross_module/utils.h | 0 .../virtual_callsites/interproc_callsite.cpp | 0 .../virtual_callsites/interproc_callsite_double.cpp | 0 .../llvm/test}/llvm_test_code/vtable/CMakeLists.txt | 0 .../llvm_test_code/vtable/one_file/CMakeLists.txt | 0 .../test}/llvm_test_code/vtable/one_file/Makefile | 0 .../test}/llvm_test_code/vtable/one_file/main.cpp | 0 .../vtable/scattered_vfunc_impl/CMakeLists.txt | 0 .../vtable/scattered_vfunc_impl/Makefile | 0 .../vtable/scattered_vfunc_impl/base.cpp | 0 .../vtable/scattered_vfunc_impl/base.h | 0 .../vtable/scattered_vfunc_impl/child.h | 0 .../vtable/scattered_vfunc_impl/child_1.cpp | 0 .../vtable/scattered_vfunc_impl/child_2.cpp | 0 .../vtable/scattered_vfunc_impl/main.cpp | 0 .../llvm_test_code/vtable/simple/CMakeLists.txt | 0 .../test}/llvm_test_code/vtable/simple/Makefile | 0 .../test}/llvm_test_code/vtable/simple/base.cpp | 0 .../llvm/test}/llvm_test_code/vtable/simple/base.h | 0 .../test}/llvm_test_code/vtable/simple/main.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/CMakeLists.txt | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint01.cpp | 0 .../test}/llvm_test_code/xtaint/xtaint01_json.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint02.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint03.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint04.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint05.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint06.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint07.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint08.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint09.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint09_1.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint10.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint11.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint12.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint13.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint14.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint15.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint16.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint17.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint18.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint19.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint20.cpp | 0 .../llvm/test}/llvm_test_code/xtaint/xtaint21.cpp | 0 668 files changed, 0 insertions(+), 0 deletions(-) rename {test => phasar/llvm/test}/llvm_test_code/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/array_01.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/array_02.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/basic_01.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/basic_02.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/basic_03.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/basic_04.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/array_01.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/array_02.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_01.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_02.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_03.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_04.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json (100%) rename {test => phasar/llvm/test}/llvm_test_code/TaintConfig/README.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/basic/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/basic/module.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/basic/seven_structs.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/basic/two_structs.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/function_object_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/function_pointer_1.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/function_pointer_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/function_pointer_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/global_ctor_dtor_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/global_ctor_dtor_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/global_ctor_dtor_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/global_ctor_dtor_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/special_member_functions_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_1.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_13.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_2.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_3.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_6.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_7.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_8.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/static_callsite_9.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/type_graph_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_6.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_7.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_8.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/call_graphs/virtual_call_9.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/array_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/cstring/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/cstring/cstring_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/cstring/cstring_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/array/stl_array/stl_array_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/basic/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/basic/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/basic/basic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/basic/basic_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/basic/basic_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/param/call_param_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/return/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/return/call_ret_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/return/call_ret_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/call/return/call_ret_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/const_benchmark_results.ods (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/cf_for_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/cf_for_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/cf_if_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/cf_if_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/control_flow/cf_while_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/global_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/global_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/global_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/global_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/global/global_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/other/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/other/other_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/other/other_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/other/other_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/other/other_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/pointer/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/pointer/pointer_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/pointer/pointer_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/pointer/pointer_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/pointer/pointer_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/set/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/set/set_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/set/set_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/set/set_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/string/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/string/string_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/string/string_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/string/string_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/vector/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/stl/vector/vector_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/constness/structure/structure_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/branch.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/calls.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/function_call.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/function_call_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/global_stmt.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/if_else.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/loop.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/multi_calls.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/simple_call.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/control_flow/switch.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/exceptions/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/exceptions/exceptions_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/array_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/array_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/array_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/base_variable_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/field_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/field_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/fields/field_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/advanced_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/advanced_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/advanced_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/full_constant/basic_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/function_pointer/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/function_pointer/fptr_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/function_pointer/function_ptr.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/BranchTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/FPtest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/FloatDivision.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/GlobalVariableTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/Imprecision.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/Imprecision.cryptosl (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/NullTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/ReturnConstTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/SimpleFunctionTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/SimpleTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/StringBranchTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/StringTest.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/general_linear_constant/StringTest.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_ctor_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_ctor_2_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_ctor_2_1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_ctor_2_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_dtor_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_4_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/globals/globals_lca_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/hard_cxx_problems/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/hard_cxx_problems/composition-inheritance.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/heap_model/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/heap_model/heap_model_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/KillTest_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/KillTest_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/basic_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/call_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/global_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/global_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/global_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/global_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/heap_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/return_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/rvo_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/inst_interaction/struct_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/basic_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/branch_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/call_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/for_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_13.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_14.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_15.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/global_16.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/overflow_add.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/overflow_mul.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/overflow_sub.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/recursion_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/recursion_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/recursion_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/ub_division_by_zero.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/ub_modulo_by_zero.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/while_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/while_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/while_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/linear_constant/while_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/llvmIRtoSrc/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/llvmIRtoSrc/function_call.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/llvmIRtoSrc/global_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/llvmIRtoSrc/multi_calls.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/memory_access/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/memory_access/member_access_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/memory_access/member_access_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_1/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_10/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_10/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_10/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_10/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_11/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_11/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_12/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_13/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_14/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_15/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_15/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_15/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_15/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_16/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_16/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_16/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_16/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_2/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_2/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_2/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_2/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_3/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_3/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_3/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_3/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_4/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_4/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_4/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_4/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_5/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_5/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_5/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_5/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_6/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_7/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_7/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_8/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_8/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_8/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_8/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/abst.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/src1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/src1.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/src2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/src2.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/module_wise/module_wise_9/src3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/name_mangling/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/name_mangling/special_members_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/name_mangling/special_members_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/name_mangling/special_members_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/name_mangling/special_members_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/README.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation1.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation2.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation3.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation4.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation5.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation6.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation7.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/key_derivation/key-derivation8.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_heap/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_heap/README.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_heap/memory6.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_heap/memory7.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/README.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/memory1.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/memory2.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/memory3.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/memory4.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/openssl/secure_memory/memory5.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/call_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/dynamic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/global_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/inter_dynamic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/pointers/inter_dynamic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/recursion/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/recursion/recursion_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/special_shortcuts/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/special_shortcuts/malloc_free.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_6.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_class_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_class_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_generation/summary_class_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_reuse/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_reuse/summary_reuse_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_reuse/summary_reuse_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_reuse/summary_reuse_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/summary_reuse/summary_reuse_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/cmd_args.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dynamic_memory.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/dynamic_memory_simple.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/fread.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/growing_example.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/if_else.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/operator_shift.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/print.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/printf.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/read.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/source_sink_function_test.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/struct_member.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_10.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_11.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_12.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_13.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_14.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_14_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_15.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_15_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_2_v2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_2_v2_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_4_v2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_6.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_7.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_8.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_9.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/taint_cpy.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/tainted_data.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/virtual_calls.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/taint_analysis/virtual_calls_v2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_12_b.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_12_c.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_13.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_14.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_15.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_3.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_4.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_5.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_6.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_7.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_7_b.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_8.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/type_hierarchies/type_hierarchy_9.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_01.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_02.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_03.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_04.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_05.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_06.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_07.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_08.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_09.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_10.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_11.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_12.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_13.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_14.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_15.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_16.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_17.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_18.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/typestate_analysis_fileio/typestate_19.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/all_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/array_init.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/array_init_simple.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/basic_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/basic_02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/binop_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/branching_01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/callnoret.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/callsite.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/calltoret.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/ctor.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/ctor_default.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/dyn_mem.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/exception.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/first_inst_call.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/global_variable.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/growing_example.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/main_args.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/main_args_init.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/multiple_calls.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/pointer_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/reassing_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/recursion.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/return_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/sanitizer.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/sanitizer2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/simple_store.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/some_locals.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/struct_member_init.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/struct_test.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/uninit.c (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/virtual_call.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/uninitialized_variables/while_uninit_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/value_annotation/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/value_annotation/example.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/callsite.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/callsite_dynmemory.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/callsite_staticmemory.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/circular_dependencies.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/base.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/base.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/derived.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/derived.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/utils.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/cross_module/utils.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/interproc_callsite.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/virtual_callsites/interproc_callsite_double.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/one_file/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/one_file/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/one_file/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/base.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/base.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/child.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/child_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/child_2.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/scattered_vfunc_impl/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/simple/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/simple/Makefile (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/simple/base.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/simple/base.h (100%) rename {test => phasar/llvm/test}/llvm_test_code/vtable/simple/main.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/CMakeLists.txt (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint01.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint01_json.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint02.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint03.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint04.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint05.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint06.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint07.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint08.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint09.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint09_1.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint10.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint11.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint12.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint13.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint14.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint15.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint16.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint17.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint18.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint19.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint20.cpp (100%) rename {test => phasar/llvm/test}/llvm_test_code/xtaint/xtaint21.cpp (100%) diff --git a/test/llvm_test_code/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/CMakeLists.txt diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/array_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/array_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/array_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/array_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp diff --git a/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp diff --git a/test/llvm_test_code/TaintConfig/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/TaintConfig/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/TaintConfig/CMakeLists.txt diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/array_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/array_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/array_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/array_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp diff --git a/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json similarity index 100% rename from test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json diff --git a/test/llvm_test_code/TaintConfig/README.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/README.txt similarity index 100% rename from test/llvm_test_code/TaintConfig/README.txt rename to phasar/llvm/test/llvm_test_code/TaintConfig/README.txt diff --git a/test/llvm_test_code/basic/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/basic/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt diff --git a/test/llvm_test_code/basic/module.cpp b/phasar/llvm/test/llvm_test_code/basic/module.cpp similarity index 100% rename from test/llvm_test_code/basic/module.cpp rename to phasar/llvm/test/llvm_test_code/basic/module.cpp diff --git a/test/llvm_test_code/basic/seven_structs.cpp b/phasar/llvm/test/llvm_test_code/basic/seven_structs.cpp similarity index 100% rename from test/llvm_test_code/basic/seven_structs.cpp rename to phasar/llvm/test/llvm_test_code/basic/seven_structs.cpp diff --git a/test/llvm_test_code/basic/two_structs.cpp b/phasar/llvm/test/llvm_test_code/basic/two_structs.cpp similarity index 100% rename from test/llvm_test_code/basic/two_structs.cpp rename to phasar/llvm/test/llvm_test_code/basic/two_structs.cpp diff --git a/test/llvm_test_code/call_graphs/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/call_graphs/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt diff --git a/test/llvm_test_code/call_graphs/function_object_1.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/function_object_1.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/function_object_1.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/function_object_1.cpp diff --git a/test/llvm_test_code/call_graphs/function_pointer_1.c b/phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_1.c similarity index 100% rename from test/llvm_test_code/call_graphs/function_pointer_1.c rename to phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_1.c diff --git a/test/llvm_test_code/call_graphs/function_pointer_2.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_2.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/function_pointer_2.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_2.cpp diff --git a/test/llvm_test_code/call_graphs/function_pointer_3.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_3.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/function_pointer_3.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/function_pointer_3.cpp diff --git a/test/llvm_test_code/call_graphs/global_ctor_dtor_1.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_1.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/global_ctor_dtor_1.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_1.cpp diff --git a/test/llvm_test_code/call_graphs/global_ctor_dtor_2.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_2.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/global_ctor_dtor_2.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_2.cpp diff --git a/test/llvm_test_code/call_graphs/global_ctor_dtor_3.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_3.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/global_ctor_dtor_3.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_3.cpp diff --git a/test/llvm_test_code/call_graphs/global_ctor_dtor_4.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_4.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/global_ctor_dtor_4.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/global_ctor_dtor_4.cpp diff --git a/test/llvm_test_code/call_graphs/special_member_functions_1.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/special_member_functions_1.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/special_member_functions_1.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/special_member_functions_1.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_1.c b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_1.c similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_1.c rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_1.c diff --git a/test/llvm_test_code/call_graphs/static_callsite_10.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_10.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_10.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_10.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_11.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_11.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_11.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_11.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_12.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_12.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_12.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_12.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_13.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_13.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_13.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_13.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_2.c b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_2.c similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_2.c rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_2.c diff --git a/test/llvm_test_code/call_graphs/static_callsite_3.c b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_3.c similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_3.c rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_3.c diff --git a/test/llvm_test_code/call_graphs/static_callsite_4.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_4.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_4.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_4.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_5.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_5.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_5.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_5.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_6.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_6.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_6.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_6.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_7.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_7.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_7.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_7.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_8.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_8.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_8.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_8.cpp diff --git a/test/llvm_test_code/call_graphs/static_callsite_9.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_9.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/static_callsite_9.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/static_callsite_9.cpp diff --git a/test/llvm_test_code/call_graphs/type_graph_1.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/type_graph_1.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/type_graph_1.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/type_graph_1.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_1.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_1.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_1.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_1.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_2.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_2.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_2.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_2.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_3.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_3.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_3.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_3.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_4.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_4.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_4.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_4.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_5.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_5.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_5.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_5.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_6.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_6.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_6.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_6.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_7.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_7.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_7.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_7.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_8.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_8.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_8.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_8.cpp diff --git a/test/llvm_test_code/call_graphs/virtual_call_9.cpp b/phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_9.cpp similarity index 100% rename from test/llvm_test_code/call_graphs/virtual_call_9.cpp rename to phasar/llvm/test/llvm_test_code/call_graphs/virtual_call_9.cpp diff --git a/test/llvm_test_code/constness/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt diff --git a/test/llvm_test_code/constness/array/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/array/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt diff --git a/test/llvm_test_code/constness/array/array_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_01.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_01.cpp diff --git a/test/llvm_test_code/constness/array/array_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_02.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_02.cpp diff --git a/test/llvm_test_code/constness/array/array_03.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_03.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_03.cpp diff --git a/test/llvm_test_code/constness/array/array_04.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_04.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_04.cpp diff --git a/test/llvm_test_code/constness/array/array_05.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_05.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_05.cpp diff --git a/test/llvm_test_code/constness/array/array_06.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_06.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_06.cpp diff --git a/test/llvm_test_code/constness/array/array_07.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_07.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_07.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_07.cpp diff --git a/test/llvm_test_code/constness/array/array_08.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_08.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_08.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_08.cpp diff --git a/test/llvm_test_code/constness/array/array_09.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_09.cpp similarity index 100% rename from test/llvm_test_code/constness/array/array_09.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_09.cpp diff --git a/test/llvm_test_code/constness/array/cstring/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/array/cstring/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt diff --git a/test/llvm_test_code/constness/array/cstring/cstring_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.cpp similarity index 100% rename from test/llvm_test_code/constness/array/cstring/cstring_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.cpp diff --git a/test/llvm_test_code/constness/array/cstring/cstring_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.cpp similarity index 100% rename from test/llvm_test_code/constness/array/cstring/cstring_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp diff --git a/test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp similarity index 100% rename from test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp diff --git a/test/llvm_test_code/constness/basic/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/basic/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt diff --git a/test/llvm_test_code/constness/basic/basic_01.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_01.cpp similarity index 100% rename from test/llvm_test_code/constness/basic/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_01.cpp diff --git a/test/llvm_test_code/constness/basic/basic_02.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_02.cpp similarity index 100% rename from test/llvm_test_code/constness/basic/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_02.cpp diff --git a/test/llvm_test_code/constness/basic/basic_03.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_03.cpp similarity index 100% rename from test/llvm_test_code/constness/basic/basic_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_03.cpp diff --git a/test/llvm_test_code/constness/basic/basic_04.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_04.cpp similarity index 100% rename from test/llvm_test_code/constness/basic/basic_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_04.cpp diff --git a/test/llvm_test_code/constness/call/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/call/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt diff --git a/test/llvm_test_code/constness/call/param/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/call/param/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt diff --git a/test/llvm_test_code/constness/call/param/call_param_01.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_02.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_03.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_04.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_05.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_06.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_07.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_07.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.cpp diff --git a/test/llvm_test_code/constness/call/param/call_param_08.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.cpp similarity index 100% rename from test/llvm_test_code/constness/call/param/call_param_08.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.cpp diff --git a/test/llvm_test_code/constness/call/return/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/call/return/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt diff --git a/test/llvm_test_code/constness/call/return/call_ret_01.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.cpp similarity index 100% rename from test/llvm_test_code/constness/call/return/call_ret_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.cpp diff --git a/test/llvm_test_code/constness/call/return/call_ret_02.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.cpp similarity index 100% rename from test/llvm_test_code/constness/call/return/call_ret_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.cpp diff --git a/test/llvm_test_code/constness/call/return/call_ret_03.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.cpp similarity index 100% rename from test/llvm_test_code/constness/call/return/call_ret_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.cpp diff --git a/test/llvm_test_code/constness/const_benchmark_results.ods b/phasar/llvm/test/llvm_test_code/constness/const_benchmark_results.ods similarity index 100% rename from test/llvm_test_code/constness/const_benchmark_results.ods rename to phasar/llvm/test/llvm_test_code/constness/const_benchmark_results.ods diff --git a/test/llvm_test_code/constness/control_flow/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/control_flow/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/control_flow/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/control_flow/CMakeLists.txt diff --git a/test/llvm_test_code/constness/control_flow/cf_for_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.cpp similarity index 100% rename from test/llvm_test_code/constness/control_flow/cf_for_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.cpp diff --git a/test/llvm_test_code/constness/control_flow/cf_for_02.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.cpp similarity index 100% rename from test/llvm_test_code/constness/control_flow/cf_for_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.cpp diff --git a/test/llvm_test_code/constness/control_flow/cf_if_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.cpp similarity index 100% rename from test/llvm_test_code/constness/control_flow/cf_if_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.cpp diff --git a/test/llvm_test_code/constness/control_flow/cf_if_02.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.cpp similarity index 100% rename from test/llvm_test_code/constness/control_flow/cf_if_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.cpp diff --git a/test/llvm_test_code/constness/control_flow/cf_while_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.cpp similarity index 100% rename from test/llvm_test_code/constness/control_flow/cf_while_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.cpp diff --git a/test/llvm_test_code/constness/global/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/global/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt diff --git a/test/llvm_test_code/constness/global/global_01.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_01.cpp similarity index 100% rename from test/llvm_test_code/constness/global/global_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_01.cpp diff --git a/test/llvm_test_code/constness/global/global_02.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_02.cpp similarity index 100% rename from test/llvm_test_code/constness/global/global_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_02.cpp diff --git a/test/llvm_test_code/constness/global/global_03.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_03.cpp similarity index 100% rename from test/llvm_test_code/constness/global/global_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_03.cpp diff --git a/test/llvm_test_code/constness/global/global_04.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_04.cpp similarity index 100% rename from test/llvm_test_code/constness/global/global_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_04.cpp diff --git a/test/llvm_test_code/constness/global/global_05.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_05.cpp similarity index 100% rename from test/llvm_test_code/constness/global/global_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_05.cpp diff --git a/test/llvm_test_code/constness/other/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/other/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/other/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/other/CMakeLists.txt diff --git a/test/llvm_test_code/constness/other/other_01.cpp b/phasar/llvm/test/llvm_test_code/constness/other/other_01.cpp similarity index 100% rename from test/llvm_test_code/constness/other/other_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/other/other_01.cpp diff --git a/test/llvm_test_code/constness/other/other_02.cpp b/phasar/llvm/test/llvm_test_code/constness/other/other_02.cpp similarity index 100% rename from test/llvm_test_code/constness/other/other_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/other/other_02.cpp diff --git a/test/llvm_test_code/constness/other/other_03.cpp b/phasar/llvm/test/llvm_test_code/constness/other/other_03.cpp similarity index 100% rename from test/llvm_test_code/constness/other/other_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/other/other_03.cpp diff --git a/test/llvm_test_code/constness/other/other_04.cpp b/phasar/llvm/test/llvm_test_code/constness/other/other_04.cpp similarity index 100% rename from test/llvm_test_code/constness/other/other_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/other/other_04.cpp diff --git a/test/llvm_test_code/constness/pointer/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/pointer/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt diff --git a/test/llvm_test_code/constness/pointer/pointer_01.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.cpp similarity index 100% rename from test/llvm_test_code/constness/pointer/pointer_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.cpp diff --git a/test/llvm_test_code/constness/pointer/pointer_02.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.cpp similarity index 100% rename from test/llvm_test_code/constness/pointer/pointer_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.cpp diff --git a/test/llvm_test_code/constness/pointer/pointer_03.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.cpp similarity index 100% rename from test/llvm_test_code/constness/pointer/pointer_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.cpp diff --git a/test/llvm_test_code/constness/pointer/pointer_04.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.cpp similarity index 100% rename from test/llvm_test_code/constness/pointer/pointer_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.cpp diff --git a/test/llvm_test_code/constness/stl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/stl/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt diff --git a/test/llvm_test_code/constness/stl/set/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/set/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/stl/set/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/stl/set/CMakeLists.txt diff --git a/test/llvm_test_code/constness/stl/set/set_01.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/set/set_01.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/set/set_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/set/set_01.cpp diff --git a/test/llvm_test_code/constness/stl/set/set_02.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/set/set_02.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/set/set_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/set/set_02.cpp diff --git a/test/llvm_test_code/constness/stl/set/set_03.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/set/set_03.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/set/set_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/set/set_03.cpp diff --git a/test/llvm_test_code/constness/stl/string/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/string/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/stl/string/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/stl/string/CMakeLists.txt diff --git a/test/llvm_test_code/constness/stl/string/string_01.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/string/string_01.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/string/string_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/string/string_01.cpp diff --git a/test/llvm_test_code/constness/stl/string/string_02.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/string/string_02.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/string/string_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/string/string_02.cpp diff --git a/test/llvm_test_code/constness/stl/string/string_03.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/string/string_03.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/string/string_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/string/string_03.cpp diff --git a/test/llvm_test_code/constness/stl/vector/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/vector/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/stl/vector/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/stl/vector/CMakeLists.txt diff --git a/test/llvm_test_code/constness/stl/vector/vector_01.cpp b/phasar/llvm/test/llvm_test_code/constness/stl/vector/vector_01.cpp similarity index 100% rename from test/llvm_test_code/constness/stl/vector/vector_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/stl/vector/vector_01.cpp diff --git a/test/llvm_test_code/constness/structure/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/structure/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/constness/structure/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/constness/structure/CMakeLists.txt diff --git a/test/llvm_test_code/constness/structure/structure_01.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_01.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_01.cpp diff --git a/test/llvm_test_code/constness/structure/structure_02.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_02.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_02.cpp diff --git a/test/llvm_test_code/constness/structure/structure_03.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_03.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_03.cpp diff --git a/test/llvm_test_code/constness/structure/structure_04.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_04.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_04.cpp diff --git a/test/llvm_test_code/constness/structure/structure_05.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_05.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_05.cpp diff --git a/test/llvm_test_code/constness/structure/structure_06.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_06.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_06.cpp diff --git a/test/llvm_test_code/constness/structure/structure_07.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_07.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_07.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_07.cpp diff --git a/test/llvm_test_code/constness/structure/structure_08.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_08.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_08.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_08.cpp diff --git a/test/llvm_test_code/constness/structure/structure_09.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_09.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_09.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_09.cpp diff --git a/test/llvm_test_code/constness/structure/structure_10.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_10.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_10.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_10.cpp diff --git a/test/llvm_test_code/constness/structure/structure_11.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_11.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_11.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_11.cpp diff --git a/test/llvm_test_code/constness/structure/structure_12.cpp b/phasar/llvm/test/llvm_test_code/constness/structure/structure_12.cpp similarity index 100% rename from test/llvm_test_code/constness/structure/structure_12.cpp rename to phasar/llvm/test/llvm_test_code/constness/structure/structure_12.cpp diff --git a/test/llvm_test_code/control_flow/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/control_flow/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt diff --git a/test/llvm_test_code/control_flow/branch.cpp b/phasar/llvm/test/llvm_test_code/control_flow/branch.cpp similarity index 100% rename from test/llvm_test_code/control_flow/branch.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/branch.cpp diff --git a/test/llvm_test_code/control_flow/calls.cpp b/phasar/llvm/test/llvm_test_code/control_flow/calls.cpp similarity index 100% rename from test/llvm_test_code/control_flow/calls.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/calls.cpp diff --git a/test/llvm_test_code/control_flow/function_call.cpp b/phasar/llvm/test/llvm_test_code/control_flow/function_call.cpp similarity index 100% rename from test/llvm_test_code/control_flow/function_call.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/function_call.cpp diff --git a/test/llvm_test_code/control_flow/function_call_2.cpp b/phasar/llvm/test/llvm_test_code/control_flow/function_call_2.cpp similarity index 100% rename from test/llvm_test_code/control_flow/function_call_2.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/function_call_2.cpp diff --git a/test/llvm_test_code/control_flow/global_stmt.cpp b/phasar/llvm/test/llvm_test_code/control_flow/global_stmt.cpp similarity index 100% rename from test/llvm_test_code/control_flow/global_stmt.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/global_stmt.cpp diff --git a/test/llvm_test_code/control_flow/if_else.cpp b/phasar/llvm/test/llvm_test_code/control_flow/if_else.cpp similarity index 100% rename from test/llvm_test_code/control_flow/if_else.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/if_else.cpp diff --git a/test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp similarity index 100% rename from test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp diff --git a/test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp similarity index 100% rename from test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp diff --git a/test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp similarity index 100% rename from test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp diff --git a/test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp similarity index 100% rename from test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp diff --git a/test/llvm_test_code/control_flow/loop.cpp b/phasar/llvm/test/llvm_test_code/control_flow/loop.cpp similarity index 100% rename from test/llvm_test_code/control_flow/loop.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/loop.cpp diff --git a/test/llvm_test_code/control_flow/multi_calls.cpp b/phasar/llvm/test/llvm_test_code/control_flow/multi_calls.cpp similarity index 100% rename from test/llvm_test_code/control_flow/multi_calls.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/multi_calls.cpp diff --git a/test/llvm_test_code/control_flow/simple_call.cpp b/phasar/llvm/test/llvm_test_code/control_flow/simple_call.cpp similarity index 100% rename from test/llvm_test_code/control_flow/simple_call.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/simple_call.cpp diff --git a/test/llvm_test_code/control_flow/switch.cpp b/phasar/llvm/test/llvm_test_code/control_flow/switch.cpp similarity index 100% rename from test/llvm_test_code/control_flow/switch.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/switch.cpp diff --git a/test/llvm_test_code/exceptions/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/exceptions/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt diff --git a/test/llvm_test_code/exceptions/exceptions_01.cpp b/phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.cpp similarity index 100% rename from test/llvm_test_code/exceptions/exceptions_01.cpp rename to phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.cpp diff --git a/test/llvm_test_code/fields/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/fields/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt diff --git a/test/llvm_test_code/fields/array_1.cpp b/phasar/llvm/test/llvm_test_code/fields/array_1.cpp similarity index 100% rename from test/llvm_test_code/fields/array_1.cpp rename to phasar/llvm/test/llvm_test_code/fields/array_1.cpp diff --git a/test/llvm_test_code/fields/array_2.cpp b/phasar/llvm/test/llvm_test_code/fields/array_2.cpp similarity index 100% rename from test/llvm_test_code/fields/array_2.cpp rename to phasar/llvm/test/llvm_test_code/fields/array_2.cpp diff --git a/test/llvm_test_code/fields/array_3.cpp b/phasar/llvm/test/llvm_test_code/fields/array_3.cpp similarity index 100% rename from test/llvm_test_code/fields/array_3.cpp rename to phasar/llvm/test/llvm_test_code/fields/array_3.cpp diff --git a/test/llvm_test_code/fields/base_variable_1.cpp b/phasar/llvm/test/llvm_test_code/fields/base_variable_1.cpp similarity index 100% rename from test/llvm_test_code/fields/base_variable_1.cpp rename to phasar/llvm/test/llvm_test_code/fields/base_variable_1.cpp diff --git a/test/llvm_test_code/fields/field_1.cpp b/phasar/llvm/test/llvm_test_code/fields/field_1.cpp similarity index 100% rename from test/llvm_test_code/fields/field_1.cpp rename to phasar/llvm/test/llvm_test_code/fields/field_1.cpp diff --git a/test/llvm_test_code/fields/field_2.cpp b/phasar/llvm/test/llvm_test_code/fields/field_2.cpp similarity index 100% rename from test/llvm_test_code/fields/field_2.cpp rename to phasar/llvm/test/llvm_test_code/fields/field_2.cpp diff --git a/test/llvm_test_code/fields/field_3.cpp b/phasar/llvm/test/llvm_test_code/fields/field_3.cpp similarity index 100% rename from test/llvm_test_code/fields/field_3.cpp rename to phasar/llvm/test/llvm_test_code/fields/field_3.cpp diff --git a/test/llvm_test_code/full_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/full_constant/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt diff --git a/test/llvm_test_code/full_constant/advanced_01.cpp b/phasar/llvm/test/llvm_test_code/full_constant/advanced_01.cpp similarity index 100% rename from test/llvm_test_code/full_constant/advanced_01.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/advanced_01.cpp diff --git a/test/llvm_test_code/full_constant/advanced_02.cpp b/phasar/llvm/test/llvm_test_code/full_constant/advanced_02.cpp similarity index 100% rename from test/llvm_test_code/full_constant/advanced_02.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/advanced_02.cpp diff --git a/test/llvm_test_code/full_constant/advanced_03.cpp b/phasar/llvm/test/llvm_test_code/full_constant/advanced_03.cpp similarity index 100% rename from test/llvm_test_code/full_constant/advanced_03.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/advanced_03.cpp diff --git a/test/llvm_test_code/full_constant/basic_01.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_01.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_01.cpp diff --git a/test/llvm_test_code/full_constant/basic_02.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_02.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_02.cpp diff --git a/test/llvm_test_code/full_constant/basic_03.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_03.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_03.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_03.cpp diff --git a/test/llvm_test_code/full_constant/basic_04.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_04.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_04.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_04.cpp diff --git a/test/llvm_test_code/full_constant/basic_05.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_05.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_05.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_05.cpp diff --git a/test/llvm_test_code/full_constant/basic_06.cpp b/phasar/llvm/test/llvm_test_code/full_constant/basic_06.cpp similarity index 100% rename from test/llvm_test_code/full_constant/basic_06.cpp rename to phasar/llvm/test/llvm_test_code/full_constant/basic_06.cpp diff --git a/test/llvm_test_code/function_pointer/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/function_pointer/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt diff --git a/test/llvm_test_code/function_pointer/fptr_1.cpp b/phasar/llvm/test/llvm_test_code/function_pointer/fptr_1.cpp similarity index 100% rename from test/llvm_test_code/function_pointer/fptr_1.cpp rename to phasar/llvm/test/llvm_test_code/function_pointer/fptr_1.cpp diff --git a/test/llvm_test_code/function_pointer/function_ptr.cpp b/phasar/llvm/test/llvm_test_code/function_pointer/function_ptr.cpp similarity index 100% rename from test/llvm_test_code/function_pointer/function_ptr.cpp rename to phasar/llvm/test/llvm_test_code/function_pointer/function_ptr.cpp diff --git a/test/llvm_test_code/general_linear_constant/BranchTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/BranchTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/BranchTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/BranchTest.c diff --git a/test/llvm_test_code/general_linear_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/general_linear_constant/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt diff --git a/test/llvm_test_code/general_linear_constant/FPtest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/FPtest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/FPtest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/FPtest.c diff --git a/test/llvm_test_code/general_linear_constant/FloatDivision.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/FloatDivision.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/FloatDivision.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/FloatDivision.c diff --git a/test/llvm_test_code/general_linear_constant/GlobalVariableTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/GlobalVariableTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/GlobalVariableTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/GlobalVariableTest.c diff --git a/test/llvm_test_code/general_linear_constant/Imprecision.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/Imprecision.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/Imprecision.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/Imprecision.c diff --git a/test/llvm_test_code/general_linear_constant/Imprecision.cryptosl b/phasar/llvm/test/llvm_test_code/general_linear_constant/Imprecision.cryptosl similarity index 100% rename from test/llvm_test_code/general_linear_constant/Imprecision.cryptosl rename to phasar/llvm/test/llvm_test_code/general_linear_constant/Imprecision.cryptosl diff --git a/test/llvm_test_code/general_linear_constant/NullTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/NullTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/NullTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/NullTest.c diff --git a/test/llvm_test_code/general_linear_constant/ReturnConstTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/ReturnConstTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/ReturnConstTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/ReturnConstTest.c diff --git a/test/llvm_test_code/general_linear_constant/SimpleFunctionTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/SimpleFunctionTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/SimpleFunctionTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/SimpleFunctionTest.c diff --git a/test/llvm_test_code/general_linear_constant/SimpleTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/SimpleTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/SimpleTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/SimpleTest.c diff --git a/test/llvm_test_code/general_linear_constant/StringBranchTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/StringBranchTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/StringBranchTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/StringBranchTest.c diff --git a/test/llvm_test_code/general_linear_constant/StringTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.c similarity index 100% rename from test/llvm_test_code/general_linear_constant/StringTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.c diff --git a/test/llvm_test_code/general_linear_constant/StringTest.cpp b/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.cpp similarity index 100% rename from test/llvm_test_code/general_linear_constant/StringTest.cpp rename to phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.cpp diff --git a/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt diff --git a/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_1.cpp b/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_1.cpp similarity index 100% rename from test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_1.cpp rename to phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_1.cpp diff --git a/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_2.cpp b/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_2.cpp similarity index 100% rename from test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_2.cpp rename to phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_2.cpp diff --git a/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_3.cpp b/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_3.cpp similarity index 100% rename from test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_3.cpp rename to phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/glibc_and_intrinsics_3.cpp diff --git a/test/llvm_test_code/globals/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/globals/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt diff --git a/test/llvm_test_code/globals/globals_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_1.cpp diff --git a/test/llvm_test_code/globals/globals_2.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_2.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_2.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_2.cpp diff --git a/test/llvm_test_code/globals/globals_ctor_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_ctor_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_ctor_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_ctor_1.cpp diff --git a/test/llvm_test_code/globals/globals_ctor_2_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_ctor_2_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_1.cpp diff --git a/test/llvm_test_code/globals/globals_ctor_2_1.h b/phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_1.h similarity index 100% rename from test/llvm_test_code/globals/globals_ctor_2_1.h rename to phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_1.h diff --git a/test/llvm_test_code/globals/globals_ctor_2_2.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_2.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_ctor_2_2.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_ctor_2_2.cpp diff --git a/test/llvm_test_code/globals/globals_dtor_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_dtor_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_dtor_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_dtor_1.cpp diff --git a/test/llvm_test_code/globals/globals_lca_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_1.cpp diff --git a/test/llvm_test_code/globals/globals_lca_2.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_2.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_2.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_2.cpp diff --git a/test/llvm_test_code/globals/globals_lca_3.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_3.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_3.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_3.cpp diff --git a/test/llvm_test_code/globals/globals_lca_4.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_4.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_4.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_4.cpp diff --git a/test/llvm_test_code/globals/globals_lca_4_1.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_4_1.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_4_1.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_4_1.cpp diff --git a/test/llvm_test_code/globals/globals_lca_5.cpp b/phasar/llvm/test/llvm_test_code/globals/globals_lca_5.cpp similarity index 100% rename from test/llvm_test_code/globals/globals_lca_5.cpp rename to phasar/llvm/test/llvm_test_code/globals/globals_lca_5.cpp diff --git a/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/hard_cxx_problems/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt diff --git a/test/llvm_test_code/hard_cxx_problems/composition-inheritance.cpp b/phasar/llvm/test/llvm_test_code/hard_cxx_problems/composition-inheritance.cpp similarity index 100% rename from test/llvm_test_code/hard_cxx_problems/composition-inheritance.cpp rename to phasar/llvm/test/llvm_test_code/hard_cxx_problems/composition-inheritance.cpp diff --git a/test/llvm_test_code/heap_model/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/heap_model/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/heap_model/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/heap_model/CMakeLists.txt diff --git a/test/llvm_test_code/heap_model/heap_model_1.cpp b/phasar/llvm/test/llvm_test_code/heap_model/heap_model_1.cpp similarity index 100% rename from test/llvm_test_code/heap_model/heap_model_1.cpp rename to phasar/llvm/test/llvm_test_code/heap_model/heap_model_1.cpp diff --git a/test/llvm_test_code/inst_interaction/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/inst_interaction/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt diff --git a/test/llvm_test_code/inst_interaction/KillTest_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/KillTest_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/KillTest_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/KillTest_01.cpp diff --git a/test/llvm_test_code/inst_interaction/KillTest_02.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/KillTest_02.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/KillTest_02.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/KillTest_02.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_01.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_02.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_02.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_02.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_03.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_03.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_03.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_03.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_04.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_04.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_04.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_04.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_05.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_05.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_05.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_05.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_06.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_06.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_06.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_06.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_07.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_07.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_07.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_07.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_08.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_08.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_08.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_08.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_09.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_09.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_09.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_09.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_10.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_10.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_10.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_10.cpp diff --git a/test/llvm_test_code/inst_interaction/basic_11.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/basic_11.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/basic_11.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/basic_11.cpp diff --git a/test/llvm_test_code/inst_interaction/call_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_01.cpp diff --git a/test/llvm_test_code/inst_interaction/call_02.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_02.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_02.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_02.cpp diff --git a/test/llvm_test_code/inst_interaction/call_03.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_03.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_03.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_03.cpp diff --git a/test/llvm_test_code/inst_interaction/call_04.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_04.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_04.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_04.cpp diff --git a/test/llvm_test_code/inst_interaction/call_05.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_05.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_05.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_05.cpp diff --git a/test/llvm_test_code/inst_interaction/call_06.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/call_06.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/call_06.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/call_06.cpp diff --git a/test/llvm_test_code/inst_interaction/global_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/global_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_01.cpp diff --git a/test/llvm_test_code/inst_interaction/global_02.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_02.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/global_02.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_02.cpp diff --git a/test/llvm_test_code/inst_interaction/global_03.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_03.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/global_03.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_03.cpp diff --git a/test/llvm_test_code/inst_interaction/global_04.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_04.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/global_04.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_04.cpp diff --git a/test/llvm_test_code/inst_interaction/heap_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/heap_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/heap_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/heap_01.cpp diff --git a/test/llvm_test_code/inst_interaction/return_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/return_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/return_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/return_01.cpp diff --git a/test/llvm_test_code/inst_interaction/rvo_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/rvo_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/rvo_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/rvo_01.cpp diff --git a/test/llvm_test_code/inst_interaction/struct_01.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/struct_01.cpp similarity index 100% rename from test/llvm_test_code/inst_interaction/struct_01.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/struct_01.cpp diff --git a/test/llvm_test_code/linear_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/linear_constant/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt diff --git a/test/llvm_test_code/linear_constant/basic_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_01.cpp diff --git a/test/llvm_test_code/linear_constant/basic_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_02.cpp diff --git a/test/llvm_test_code/linear_constant/basic_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_03.cpp diff --git a/test/llvm_test_code/linear_constant/basic_04.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_04.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_04.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_04.cpp diff --git a/test/llvm_test_code/linear_constant/basic_05.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_05.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_05.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_05.cpp diff --git a/test/llvm_test_code/linear_constant/basic_06.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_06.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_06.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_06.cpp diff --git a/test/llvm_test_code/linear_constant/basic_07.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_07.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_07.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_07.cpp diff --git a/test/llvm_test_code/linear_constant/basic_08.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_08.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_08.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_08.cpp diff --git a/test/llvm_test_code/linear_constant/basic_09.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_09.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_09.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_09.cpp diff --git a/test/llvm_test_code/linear_constant/basic_10.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_10.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_10.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_10.cpp diff --git a/test/llvm_test_code/linear_constant/basic_11.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_11.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_11.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_11.cpp diff --git a/test/llvm_test_code/linear_constant/basic_12.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_12.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/basic_12.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/basic_12.cpp diff --git a/test/llvm_test_code/linear_constant/branch_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_01.cpp diff --git a/test/llvm_test_code/linear_constant/branch_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_02.cpp diff --git a/test/llvm_test_code/linear_constant/branch_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_03.cpp diff --git a/test/llvm_test_code/linear_constant/branch_04.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_04.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_04.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_04.cpp diff --git a/test/llvm_test_code/linear_constant/branch_05.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_05.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_05.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_05.cpp diff --git a/test/llvm_test_code/linear_constant/branch_06.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_06.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_06.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_06.cpp diff --git a/test/llvm_test_code/linear_constant/branch_07.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_07.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/branch_07.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/branch_07.cpp diff --git a/test/llvm_test_code/linear_constant/call_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_01.cpp diff --git a/test/llvm_test_code/linear_constant/call_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_02.cpp diff --git a/test/llvm_test_code/linear_constant/call_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_03.cpp diff --git a/test/llvm_test_code/linear_constant/call_04.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_04.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_04.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_04.cpp diff --git a/test/llvm_test_code/linear_constant/call_05.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_05.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_05.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_05.cpp diff --git a/test/llvm_test_code/linear_constant/call_06.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_06.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_06.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_06.cpp diff --git a/test/llvm_test_code/linear_constant/call_07.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_07.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_07.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_07.cpp diff --git a/test/llvm_test_code/linear_constant/call_08.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_08.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_08.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_08.cpp diff --git a/test/llvm_test_code/linear_constant/call_09.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_09.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_09.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_09.cpp diff --git a/test/llvm_test_code/linear_constant/call_10.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_10.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_10.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_10.cpp diff --git a/test/llvm_test_code/linear_constant/call_11.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_11.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_11.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_11.cpp diff --git a/test/llvm_test_code/linear_constant/call_12.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_12.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/call_12.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/call_12.cpp diff --git a/test/llvm_test_code/linear_constant/for_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/for_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/for_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/for_01.cpp diff --git a/test/llvm_test_code/linear_constant/global_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_01.cpp diff --git a/test/llvm_test_code/linear_constant/global_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_02.cpp diff --git a/test/llvm_test_code/linear_constant/global_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_03.cpp diff --git a/test/llvm_test_code/linear_constant/global_04.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_04.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_04.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_04.cpp diff --git a/test/llvm_test_code/linear_constant/global_05.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_05.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_05.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_05.cpp diff --git a/test/llvm_test_code/linear_constant/global_06.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_06.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_06.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_06.cpp diff --git a/test/llvm_test_code/linear_constant/global_07.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_07.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_07.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_07.cpp diff --git a/test/llvm_test_code/linear_constant/global_08.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_08.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_08.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_08.cpp diff --git a/test/llvm_test_code/linear_constant/global_09.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_09.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_09.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_09.cpp diff --git a/test/llvm_test_code/linear_constant/global_10.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_10.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_10.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_10.cpp diff --git a/test/llvm_test_code/linear_constant/global_11.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_11.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_11.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_11.cpp diff --git a/test/llvm_test_code/linear_constant/global_12.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_12.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_12.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_12.cpp diff --git a/test/llvm_test_code/linear_constant/global_13.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_13.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_13.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_13.cpp diff --git a/test/llvm_test_code/linear_constant/global_14.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_14.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_14.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_14.cpp diff --git a/test/llvm_test_code/linear_constant/global_15.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_15.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_15.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_15.cpp diff --git a/test/llvm_test_code/linear_constant/global_16.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_16.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/global_16.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/global_16.cpp diff --git a/test/llvm_test_code/linear_constant/overflow_add.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/overflow_add.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.cpp diff --git a/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.cpp diff --git a/test/llvm_test_code/linear_constant/overflow_mul.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/overflow_mul.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.cpp diff --git a/test/llvm_test_code/linear_constant/overflow_sub.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/overflow_sub.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.cpp diff --git a/test/llvm_test_code/linear_constant/recursion_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/recursion_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.cpp diff --git a/test/llvm_test_code/linear_constant/recursion_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/recursion_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.cpp diff --git a/test/llvm_test_code/linear_constant/recursion_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/recursion_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.cpp diff --git a/test/llvm_test_code/linear_constant/ub_division_by_zero.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/ub_division_by_zero.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.cpp diff --git a/test/llvm_test_code/linear_constant/ub_modulo_by_zero.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/ub_modulo_by_zero.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.cpp diff --git a/test/llvm_test_code/linear_constant/while_01.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_01.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/while_01.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/while_01.cpp diff --git a/test/llvm_test_code/linear_constant/while_02.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_02.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/while_02.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/while_02.cpp diff --git a/test/llvm_test_code/linear_constant/while_03.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_03.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/while_03.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/while_03.cpp diff --git a/test/llvm_test_code/linear_constant/while_04.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_04.cpp similarity index 100% rename from test/llvm_test_code/linear_constant/while_04.cpp rename to phasar/llvm/test/llvm_test_code/linear_constant/while_04.cpp diff --git a/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt diff --git a/test/llvm_test_code/llvmIRtoSrc/function_call.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.cpp similarity index 100% rename from test/llvm_test_code/llvmIRtoSrc/function_call.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.cpp diff --git a/test/llvm_test_code/llvmIRtoSrc/global_01.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.cpp similarity index 100% rename from test/llvm_test_code/llvmIRtoSrc/global_01.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.cpp diff --git a/test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp similarity index 100% rename from test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp diff --git a/test/llvm_test_code/memory_access/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/memory_access/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt diff --git a/test/llvm_test_code/memory_access/member_access_01.cpp b/phasar/llvm/test/llvm_test_code/memory_access/member_access_01.cpp similarity index 100% rename from test/llvm_test_code/memory_access/member_access_01.cpp rename to phasar/llvm/test/llvm_test_code/memory_access/member_access_01.cpp diff --git a/test/llvm_test_code/memory_access/member_access_02.cpp b/phasar/llvm/test/llvm_test_code/memory_access/member_access_02.cpp similarity index 100% rename from test/llvm_test_code/memory_access/member_access_02.cpp rename to phasar/llvm/test/llvm_test_code/memory_access/member_access_02.cpp diff --git a/test/llvm_test_code/module_wise/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_1/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_1/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_1/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_1/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_1/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_1/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_1/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_10/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_10/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_10/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_10/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_10/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_10/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_10/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_10/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_11/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_11/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_11/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_11/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_12/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_12/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_12/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_12/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_12/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_12/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_12/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_13/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_13/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_13/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_13/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_13/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_13/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_13/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_14/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_14/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_14/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_14/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_14/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_14/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_14/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_15/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_15/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_15/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_15/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_15/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_15/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_15/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_15/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_16/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_16/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_16/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_16/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_16/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_16/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_16/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_16/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_2/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_2/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_2/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_2/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_2/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_2/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_2/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_2/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_3/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_3/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_3/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_3/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_3/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_3/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_3/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_3/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_4/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_4/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_4/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_4/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_4/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_4/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_4/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_4/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_5/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_5/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_5/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_5/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_5/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_5/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_5/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_5/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_6/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_6/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_6/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_6/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_6/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_6/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_6/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_7/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_7/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_7/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_7/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_8/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_8/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_8/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_8/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_8/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_8/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_8/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_8/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt diff --git a/test/llvm_test_code/module_wise/module_wise_9/Makefile b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/Makefile similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/Makefile rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/Makefile diff --git a/test/llvm_test_code/module_wise/module_wise_9/abst.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/abst.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/abst.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/abst.h diff --git a/test/llvm_test_code/module_wise/module_wise_9/main.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/main.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/main.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/main.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_9/src1.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src1.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/src1.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src1.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_9/src1.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src1.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/src1.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src1.h diff --git a/test/llvm_test_code/module_wise/module_wise_9/src2.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src2.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/src2.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src2.cpp diff --git a/test/llvm_test_code/module_wise/module_wise_9/src2.h b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src2.h similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/src2.h rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src2.h diff --git a/test/llvm_test_code/module_wise/module_wise_9/src3.cpp b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src3.cpp similarity index 100% rename from test/llvm_test_code/module_wise/module_wise_9/src3.cpp rename to phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/src3.cpp diff --git a/test/llvm_test_code/name_mangling/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/name_mangling/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt diff --git a/test/llvm_test_code/name_mangling/special_members_1.cpp b/phasar/llvm/test/llvm_test_code/name_mangling/special_members_1.cpp similarity index 100% rename from test/llvm_test_code/name_mangling/special_members_1.cpp rename to phasar/llvm/test/llvm_test_code/name_mangling/special_members_1.cpp diff --git a/test/llvm_test_code/name_mangling/special_members_2.cpp b/phasar/llvm/test/llvm_test_code/name_mangling/special_members_2.cpp similarity index 100% rename from test/llvm_test_code/name_mangling/special_members_2.cpp rename to phasar/llvm/test/llvm_test_code/name_mangling/special_members_2.cpp diff --git a/test/llvm_test_code/name_mangling/special_members_3.cpp b/phasar/llvm/test/llvm_test_code/name_mangling/special_members_3.cpp similarity index 100% rename from test/llvm_test_code/name_mangling/special_members_3.cpp rename to phasar/llvm/test/llvm_test_code/name_mangling/special_members_3.cpp diff --git a/test/llvm_test_code/name_mangling/special_members_4.cpp b/phasar/llvm/test/llvm_test_code/name_mangling/special_members_4.cpp similarity index 100% rename from test/llvm_test_code/name_mangling/special_members_4.cpp rename to phasar/llvm/test/llvm_test_code/name_mangling/special_members_4.cpp diff --git a/test/llvm_test_code/openssl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/openssl/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt diff --git a/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt diff --git a/test/llvm_test_code/openssl/key_derivation/README.txt b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/README.txt similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/README.txt rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/README.txt diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation1.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation1.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation2.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation2.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation3.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation3.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation4.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation4.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation4.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation4.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation5.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation5.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation6.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation6.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation7.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation7.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c diff --git a/test/llvm_test_code/openssl/key_derivation/key-derivation8.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c similarity index 100% rename from test/llvm_test_code/openssl/key_derivation/key-derivation8.c rename to phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c diff --git a/test/llvm_test_code/openssl/secure_heap/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/secure_heap/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/openssl/secure_heap/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/openssl/secure_heap/CMakeLists.txt diff --git a/test/llvm_test_code/openssl/secure_heap/README.txt b/phasar/llvm/test/llvm_test_code/openssl/secure_heap/README.txt similarity index 100% rename from test/llvm_test_code/openssl/secure_heap/README.txt rename to phasar/llvm/test/llvm_test_code/openssl/secure_heap/README.txt diff --git a/test/llvm_test_code/openssl/secure_heap/memory6.c b/phasar/llvm/test/llvm_test_code/openssl/secure_heap/memory6.c similarity index 100% rename from test/llvm_test_code/openssl/secure_heap/memory6.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_heap/memory6.c diff --git a/test/llvm_test_code/openssl/secure_heap/memory7.c b/phasar/llvm/test/llvm_test_code/openssl/secure_heap/memory7.c similarity index 100% rename from test/llvm_test_code/openssl/secure_heap/memory7.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_heap/memory7.c diff --git a/test/llvm_test_code/openssl/secure_memory/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/CMakeLists.txt diff --git a/test/llvm_test_code/openssl/secure_memory/README.txt b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/README.txt similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/README.txt rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/README.txt diff --git a/test/llvm_test_code/openssl/secure_memory/memory1.c b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory1.c similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/memory1.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory1.c diff --git a/test/llvm_test_code/openssl/secure_memory/memory2.c b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory2.c similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/memory2.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory2.c diff --git a/test/llvm_test_code/openssl/secure_memory/memory3.c b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory3.c similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/memory3.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory3.c diff --git a/test/llvm_test_code/openssl/secure_memory/memory4.c b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory4.c similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/memory4.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory4.c diff --git a/test/llvm_test_code/openssl/secure_memory/memory5.c b/phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory5.c similarity index 100% rename from test/llvm_test_code/openssl/secure_memory/memory5.c rename to phasar/llvm/test/llvm_test_code/openssl/secure_memory/memory5.c diff --git a/test/llvm_test_code/pointers/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/pointers/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt diff --git a/test/llvm_test_code/pointers/basic_01.cpp b/phasar/llvm/test/llvm_test_code/pointers/basic_01.cpp similarity index 100% rename from test/llvm_test_code/pointers/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/pointers/basic_01.cpp diff --git a/test/llvm_test_code/pointers/call_01.cpp b/phasar/llvm/test/llvm_test_code/pointers/call_01.cpp similarity index 100% rename from test/llvm_test_code/pointers/call_01.cpp rename to phasar/llvm/test/llvm_test_code/pointers/call_01.cpp diff --git a/test/llvm_test_code/pointers/dynamic_01.cpp b/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.cpp similarity index 100% rename from test/llvm_test_code/pointers/dynamic_01.cpp rename to phasar/llvm/test/llvm_test_code/pointers/dynamic_01.cpp diff --git a/test/llvm_test_code/pointers/global_01.cpp b/phasar/llvm/test/llvm_test_code/pointers/global_01.cpp similarity index 100% rename from test/llvm_test_code/pointers/global_01.cpp rename to phasar/llvm/test/llvm_test_code/pointers/global_01.cpp diff --git a/test/llvm_test_code/pointers/inter_dynamic_01.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.cpp similarity index 100% rename from test/llvm_test_code/pointers/inter_dynamic_01.cpp rename to phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.cpp diff --git a/test/llvm_test_code/pointers/inter_dynamic_02.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.cpp similarity index 100% rename from test/llvm_test_code/pointers/inter_dynamic_02.cpp rename to phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.cpp diff --git a/test/llvm_test_code/recursion/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/recursion/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt diff --git a/test/llvm_test_code/recursion/recursion_1.cpp b/phasar/llvm/test/llvm_test_code/recursion/recursion_1.cpp similarity index 100% rename from test/llvm_test_code/recursion/recursion_1.cpp rename to phasar/llvm/test/llvm_test_code/recursion/recursion_1.cpp diff --git a/test/llvm_test_code/special_shortcuts/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/special_shortcuts/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt diff --git a/test/llvm_test_code/special_shortcuts/malloc_free.cpp b/phasar/llvm/test/llvm_test_code/special_shortcuts/malloc_free.cpp similarity index 100% rename from test/llvm_test_code/special_shortcuts/malloc_free.cpp rename to phasar/llvm/test/llvm_test_code/special_shortcuts/malloc_free.cpp diff --git a/test/llvm_test_code/summary_generation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/summary_generation/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt diff --git a/test/llvm_test_code/summary_generation/summary_1.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_1.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_1.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_1.cpp diff --git a/test/llvm_test_code/summary_generation/summary_2.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_2.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_2.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_2.cpp diff --git a/test/llvm_test_code/summary_generation/summary_3.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_3.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_3.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_3.cpp diff --git a/test/llvm_test_code/summary_generation/summary_4.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_4.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_4.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_4.cpp diff --git a/test/llvm_test_code/summary_generation/summary_5.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_5.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_5.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_5.cpp diff --git a/test/llvm_test_code/summary_generation/summary_6.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_6.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_6.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_6.cpp diff --git a/test/llvm_test_code/summary_generation/summary_class_1.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_class_1.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_class_1.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_class_1.cpp diff --git a/test/llvm_test_code/summary_generation/summary_class_2.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_class_2.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_class_2.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_class_2.cpp diff --git a/test/llvm_test_code/summary_generation/summary_class_3.cpp b/phasar/llvm/test/llvm_test_code/summary_generation/summary_class_3.cpp similarity index 100% rename from test/llvm_test_code/summary_generation/summary_class_3.cpp rename to phasar/llvm/test/llvm_test_code/summary_generation/summary_class_3.cpp diff --git a/test/llvm_test_code/summary_reuse/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/summary_reuse/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt diff --git a/test/llvm_test_code/summary_reuse/summary_reuse_01.cpp b/phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_01.cpp similarity index 100% rename from test/llvm_test_code/summary_reuse/summary_reuse_01.cpp rename to phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_01.cpp diff --git a/test/llvm_test_code/summary_reuse/summary_reuse_02.cpp b/phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_02.cpp similarity index 100% rename from test/llvm_test_code/summary_reuse/summary_reuse_02.cpp rename to phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_02.cpp diff --git a/test/llvm_test_code/summary_reuse/summary_reuse_03.cpp b/phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_03.cpp similarity index 100% rename from test/llvm_test_code/summary_reuse/summary_reuse_03.cpp rename to phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_03.cpp diff --git a/test/llvm_test_code/summary_reuse/summary_reuse_04.cpp b/phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_04.cpp similarity index 100% rename from test/llvm_test_code/summary_reuse/summary_reuse_04.cpp rename to phasar/llvm/test/llvm_test_code/summary_reuse/summary_reuse_04.cpp diff --git a/test/llvm_test_code/taint_analysis/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/taint_analysis/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt diff --git a/test/llvm_test_code/taint_analysis/cmd_args.c b/phasar/llvm/test/llvm_test_code/taint_analysis/cmd_args.c similarity index 100% rename from test/llvm_test_code/taint_analysis/cmd_args.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/cmd_args.c diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp diff --git a/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp diff --git a/test/llvm_test_code/taint_analysis/dynamic_memory.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dynamic_memory.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dynamic_memory.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dynamic_memory.cpp diff --git a/test/llvm_test_code/taint_analysis/dynamic_memory_simple.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dynamic_memory_simple.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/dynamic_memory_simple.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dynamic_memory_simple.cpp diff --git a/test/llvm_test_code/taint_analysis/fread.c b/phasar/llvm/test/llvm_test_code/taint_analysis/fread.c similarity index 100% rename from test/llvm_test_code/taint_analysis/fread.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/fread.c diff --git a/test/llvm_test_code/taint_analysis/growing_example.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/growing_example.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/growing_example.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/growing_example.cpp diff --git a/test/llvm_test_code/taint_analysis/if_else.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/if_else.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/if_else.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/if_else.cpp diff --git a/test/llvm_test_code/taint_analysis/operator_shift.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/operator_shift.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/operator_shift.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/operator_shift.cpp diff --git a/test/llvm_test_code/taint_analysis/print.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/print.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/print.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/print.cpp diff --git a/test/llvm_test_code/taint_analysis/printf.c b/phasar/llvm/test/llvm_test_code/taint_analysis/printf.c similarity index 100% rename from test/llvm_test_code/taint_analysis/printf.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/printf.c diff --git a/test/llvm_test_code/taint_analysis/read.c b/phasar/llvm/test/llvm_test_code/taint_analysis/read.c similarity index 100% rename from test/llvm_test_code/taint_analysis/read.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/read.c diff --git a/test/llvm_test_code/taint_analysis/source_sink_function_test.c b/phasar/llvm/test/llvm_test_code/taint_analysis/source_sink_function_test.c similarity index 100% rename from test/llvm_test_code/taint_analysis/source_sink_function_test.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/source_sink_function_test.c diff --git a/test/llvm_test_code/taint_analysis/struct_member.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/struct_member.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/struct_member.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/struct_member.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_1.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_1.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_1.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_1.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_10.c b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_10.c similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_10.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_10.c diff --git a/test/llvm_test_code/taint_analysis/taint_11.c b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_11.c similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_11.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_11.c diff --git a/test/llvm_test_code/taint_analysis/taint_12.c b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_12.c similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_12.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_12.c diff --git a/test/llvm_test_code/taint_analysis/taint_13.c b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_13.c similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_13.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_13.c diff --git a/test/llvm_test_code/taint_analysis/taint_14.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_14.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_14.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_14.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_14_1.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_14_1.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_14_1.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_14_1.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_15.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_15.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_15.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_15.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_15_1.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_15_1.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_15_1.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_15_1.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_2.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_2.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_2.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_2.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_2_v2.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_2_v2.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_2_v2.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_2_v2.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_2_v2_1.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_2_v2_1.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_2_v2_1.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_2_v2_1.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_3.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_3.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_3.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_3.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_4.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_4.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_4.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_4.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_4_v2.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_4_v2.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_4_v2.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_4_v2.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_5.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_5.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_5.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_5.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_6.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_6.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_6.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_6.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_7.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_7.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_7.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_7.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_8.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_8.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_8.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_8.cpp diff --git a/test/llvm_test_code/taint_analysis/taint_9.c b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_9.c similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_9.c rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_9.c diff --git a/test/llvm_test_code/taint_analysis/taint_cpy.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/taint_cpy.txt similarity index 100% rename from test/llvm_test_code/taint_analysis/taint_cpy.txt rename to phasar/llvm/test/llvm_test_code/taint_analysis/taint_cpy.txt diff --git a/test/llvm_test_code/taint_analysis/tainted_data.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/tainted_data.txt similarity index 100% rename from test/llvm_test_code/taint_analysis/tainted_data.txt rename to phasar/llvm/test/llvm_test_code/taint_analysis/tainted_data.txt diff --git a/test/llvm_test_code/taint_analysis/virtual_calls.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/virtual_calls.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/virtual_calls.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/virtual_calls.cpp diff --git a/test/llvm_test_code/taint_analysis/virtual_calls_v2.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/virtual_calls_v2.cpp similarity index 100% rename from test/llvm_test_code/taint_analysis/virtual_calls_v2.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/virtual_calls_v2.cpp diff --git a/test/llvm_test_code/type_hierarchies/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/type_hierarchies/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_1.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_1.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_1.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_1.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_10.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_10.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_10.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_10.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_11.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_11.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_11.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_11.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_12.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_12.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_12_b.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12_b.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_12_b.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12_b.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_12_c.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12_c.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_12_c.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_12_c.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_13.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_13.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_13.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_13.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_14.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_14.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_14.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_14.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_15.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_15.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_15.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_15.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_2.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_2.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_2.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_2.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_3.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_3.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_3.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_3.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_4.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_4.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_4.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_4.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_5.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_5.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_5.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_5.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_6.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_6.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_6.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_6.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_7.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_7.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_7.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_7.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_7_b.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_7_b.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_7_b.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_7_b.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_8.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_8.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_8.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_8.cpp diff --git a/test/llvm_test_code/type_hierarchies/type_hierarchy_9.cpp b/phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_9.cpp similarity index 100% rename from test/llvm_test_code/type_hierarchies/type_hierarchy_9.cpp rename to phasar/llvm/test/llvm_test_code/type_hierarchies/type_hierarchy_9.cpp diff --git a/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_01.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_01.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_02.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_02.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_03.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_03.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_04.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_04.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_05.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_05.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_06.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_06.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_07.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_07.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_08.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_08.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_09.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_09.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_10.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_10.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_11.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_11.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_12.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_12.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_13.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_13.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_14.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_14.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_15.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_15.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_16.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_16.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_17.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_17.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_18.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_18.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.c diff --git a/test/llvm_test_code/typestate_analysis_fileio/typestate_19.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.c similarity index 100% rename from test/llvm_test_code/typestate_analysis_fileio/typestate_19.c rename to phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.c diff --git a/test/llvm_test_code/uninitialized_variables/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/uninitialized_variables/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt diff --git a/test/llvm_test_code/uninitialized_variables/all_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/all_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/array_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/array_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.cpp diff --git a/test/llvm_test_code/uninitialized_variables/array_init_simple.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/array_init_simple.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.cpp diff --git a/test/llvm_test_code/uninitialized_variables/basic_01.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/basic_01.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/basic_01.cpp diff --git a/test/llvm_test_code/uninitialized_variables/basic_02.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/basic_02.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/basic_02.cpp diff --git a/test/llvm_test_code/uninitialized_variables/binop_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/binop_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/branching_01.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/branching_01.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/branching_01.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/branching_01.cpp diff --git a/test/llvm_test_code/uninitialized_variables/callnoret.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.c similarity index 100% rename from test/llvm_test_code/uninitialized_variables/callnoret.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.c diff --git a/test/llvm_test_code/uninitialized_variables/callsite.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/callsite.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.cpp diff --git a/test/llvm_test_code/uninitialized_variables/calltoret.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.c similarity index 100% rename from test/llvm_test_code/uninitialized_variables/calltoret.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.c diff --git a/test/llvm_test_code/uninitialized_variables/ctor.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/ctor.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.cpp diff --git a/test/llvm_test_code/uninitialized_variables/ctor_default.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/ctor_default.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.cpp diff --git a/test/llvm_test_code/uninitialized_variables/dyn_mem.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/dyn_mem.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.cpp diff --git a/test/llvm_test_code/uninitialized_variables/exception.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/exception.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.cpp diff --git a/test/llvm_test_code/uninitialized_variables/first_inst_call.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/first_inst_call.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.cpp diff --git a/test/llvm_test_code/uninitialized_variables/global_variable.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/global_variable.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.cpp diff --git a/test/llvm_test_code/uninitialized_variables/growing_example.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/growing_example.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.cpp diff --git a/test/llvm_test_code/uninitialized_variables/main_args.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/main_args.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.cpp diff --git a/test/llvm_test_code/uninitialized_variables/main_args_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/main_args_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.cpp diff --git a/test/llvm_test_code/uninitialized_variables/multiple_calls.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/multiple_calls.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.cpp diff --git a/test/llvm_test_code/uninitialized_variables/pointer_1.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/pointer_1.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.cpp diff --git a/test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/recursion.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/recursion.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.cpp diff --git a/test/llvm_test_code/uninitialized_variables/return_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/return_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/sanitizer.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/sanitizer.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.cpp diff --git a/test/llvm_test_code/uninitialized_variables/sanitizer2.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/sanitizer2.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.cpp diff --git a/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/simple_store.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/simple_store.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.cpp diff --git a/test/llvm_test_code/uninitialized_variables/some_locals.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/some_locals.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.cpp diff --git a/test/llvm_test_code/uninitialized_variables/struct_member_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/struct_member_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.cpp diff --git a/test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp diff --git a/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp diff --git a/test/llvm_test_code/uninitialized_variables/struct_test.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/struct_test.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.cpp diff --git a/test/llvm_test_code/uninitialized_variables/uninit.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.c similarity index 100% rename from test/llvm_test_code/uninitialized_variables/uninit.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.c diff --git a/test/llvm_test_code/uninitialized_variables/virtual_call.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/virtual_call.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.cpp diff --git a/test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp similarity index 100% rename from test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp diff --git a/test/llvm_test_code/value_annotation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/value_annotation/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt diff --git a/test/llvm_test_code/value_annotation/example.cpp b/phasar/llvm/test/llvm_test_code/value_annotation/example.cpp similarity index 100% rename from test/llvm_test_code/value_annotation/example.cpp rename to phasar/llvm/test/llvm_test_code/value_annotation/example.cpp diff --git a/test/llvm_test_code/virtual_callsites/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/virtual_callsites/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt diff --git a/test/llvm_test_code/virtual_callsites/callsite.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/callsite.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/callsite.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/callsite.cpp diff --git a/test/llvm_test_code/virtual_callsites/callsite_dynmemory.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/callsite_dynmemory.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/callsite_dynmemory.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/callsite_dynmemory.cpp diff --git a/test/llvm_test_code/virtual_callsites/callsite_staticmemory.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/callsite_staticmemory.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/callsite_staticmemory.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/callsite_staticmemory.cpp diff --git a/test/llvm_test_code/virtual_callsites/circular_dependencies.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/circular_dependencies.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/circular_dependencies.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/circular_dependencies.cpp diff --git a/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt diff --git a/test/llvm_test_code/virtual_callsites/cross_module/base.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/base.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/base.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/base.cpp diff --git a/test/llvm_test_code/virtual_callsites/cross_module/base.h b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/base.h similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/base.h rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/base.h diff --git a/test/llvm_test_code/virtual_callsites/cross_module/derived.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/derived.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/derived.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/derived.cpp diff --git a/test/llvm_test_code/virtual_callsites/cross_module/derived.h b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/derived.h similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/derived.h rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/derived.h diff --git a/test/llvm_test_code/virtual_callsites/cross_module/main.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/main.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/main.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/main.cpp diff --git a/test/llvm_test_code/virtual_callsites/cross_module/utils.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/utils.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/utils.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/utils.cpp diff --git a/test/llvm_test_code/virtual_callsites/cross_module/utils.h b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/utils.h similarity index 100% rename from test/llvm_test_code/virtual_callsites/cross_module/utils.h rename to phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/utils.h diff --git a/test/llvm_test_code/virtual_callsites/interproc_callsite.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/interproc_callsite.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/interproc_callsite.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/interproc_callsite.cpp diff --git a/test/llvm_test_code/virtual_callsites/interproc_callsite_double.cpp b/phasar/llvm/test/llvm_test_code/virtual_callsites/interproc_callsite_double.cpp similarity index 100% rename from test/llvm_test_code/virtual_callsites/interproc_callsite_double.cpp rename to phasar/llvm/test/llvm_test_code/virtual_callsites/interproc_callsite_double.cpp diff --git a/test/llvm_test_code/vtable/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/vtable/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt diff --git a/test/llvm_test_code/vtable/one_file/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/vtable/one_file/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt diff --git a/test/llvm_test_code/vtable/one_file/Makefile b/phasar/llvm/test/llvm_test_code/vtable/one_file/Makefile similarity index 100% rename from test/llvm_test_code/vtable/one_file/Makefile rename to phasar/llvm/test/llvm_test_code/vtable/one_file/Makefile diff --git a/test/llvm_test_code/vtable/one_file/main.cpp b/phasar/llvm/test/llvm_test_code/vtable/one_file/main.cpp similarity index 100% rename from test/llvm_test_code/vtable/one_file/main.cpp rename to phasar/llvm/test/llvm_test_code/vtable/one_file/main.cpp diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/Makefile b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/Makefile similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/Makefile rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/Makefile diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/base.cpp b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/base.cpp similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/base.cpp rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/base.cpp diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/base.h b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/base.h similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/base.h rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/base.h diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/child.h b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child.h similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/child.h rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child.h diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/child_1.cpp b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child_1.cpp similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/child_1.cpp rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child_1.cpp diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/child_2.cpp b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child_2.cpp similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/child_2.cpp rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/child_2.cpp diff --git a/test/llvm_test_code/vtable/scattered_vfunc_impl/main.cpp b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/main.cpp similarity index 100% rename from test/llvm_test_code/vtable/scattered_vfunc_impl/main.cpp rename to phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/main.cpp diff --git a/test/llvm_test_code/vtable/simple/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/vtable/simple/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt diff --git a/test/llvm_test_code/vtable/simple/Makefile b/phasar/llvm/test/llvm_test_code/vtable/simple/Makefile similarity index 100% rename from test/llvm_test_code/vtable/simple/Makefile rename to phasar/llvm/test/llvm_test_code/vtable/simple/Makefile diff --git a/test/llvm_test_code/vtable/simple/base.cpp b/phasar/llvm/test/llvm_test_code/vtable/simple/base.cpp similarity index 100% rename from test/llvm_test_code/vtable/simple/base.cpp rename to phasar/llvm/test/llvm_test_code/vtable/simple/base.cpp diff --git a/test/llvm_test_code/vtable/simple/base.h b/phasar/llvm/test/llvm_test_code/vtable/simple/base.h similarity index 100% rename from test/llvm_test_code/vtable/simple/base.h rename to phasar/llvm/test/llvm_test_code/vtable/simple/base.h diff --git a/test/llvm_test_code/vtable/simple/main.cpp b/phasar/llvm/test/llvm_test_code/vtable/simple/main.cpp similarity index 100% rename from test/llvm_test_code/vtable/simple/main.cpp rename to phasar/llvm/test/llvm_test_code/vtable/simple/main.cpp diff --git a/test/llvm_test_code/xtaint/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt similarity index 100% rename from test/llvm_test_code/xtaint/CMakeLists.txt rename to phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt diff --git a/test/llvm_test_code/xtaint/xtaint01.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint01.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint01.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint01.cpp diff --git a/test/llvm_test_code/xtaint/xtaint01_json.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint01_json.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.cpp diff --git a/test/llvm_test_code/xtaint/xtaint02.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint02.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint02.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint02.cpp diff --git a/test/llvm_test_code/xtaint/xtaint03.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint03.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint03.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint03.cpp diff --git a/test/llvm_test_code/xtaint/xtaint04.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint04.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint04.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint04.cpp diff --git a/test/llvm_test_code/xtaint/xtaint05.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint05.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint05.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint05.cpp diff --git a/test/llvm_test_code/xtaint/xtaint06.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint06.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint06.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint06.cpp diff --git a/test/llvm_test_code/xtaint/xtaint07.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint07.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp diff --git a/test/llvm_test_code/xtaint/xtaint08.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint08.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp diff --git a/test/llvm_test_code/xtaint/xtaint09.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint09.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint09.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint09.cpp diff --git a/test/llvm_test_code/xtaint/xtaint09_1.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint09_1.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint09_1.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint09_1.cpp diff --git a/test/llvm_test_code/xtaint/xtaint10.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint10.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint10.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint10.cpp diff --git a/test/llvm_test_code/xtaint/xtaint11.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint11.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint11.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint11.cpp diff --git a/test/llvm_test_code/xtaint/xtaint12.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint12.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint12.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint12.cpp diff --git a/test/llvm_test_code/xtaint/xtaint13.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint13.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint13.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint13.cpp diff --git a/test/llvm_test_code/xtaint/xtaint14.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint14.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint14.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint14.cpp diff --git a/test/llvm_test_code/xtaint/xtaint15.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint15.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint15.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint15.cpp diff --git a/test/llvm_test_code/xtaint/xtaint16.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint16.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint16.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint16.cpp diff --git a/test/llvm_test_code/xtaint/xtaint17.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint17.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint17.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint17.cpp diff --git a/test/llvm_test_code/xtaint/xtaint18.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint18.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint18.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint18.cpp diff --git a/test/llvm_test_code/xtaint/xtaint19.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint19.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint19.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint19.cpp diff --git a/test/llvm_test_code/xtaint/xtaint20.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint20.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint20.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint20.cpp diff --git a/test/llvm_test_code/xtaint/xtaint21.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint21.cpp similarity index 100% rename from test/llvm_test_code/xtaint/xtaint21.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint21.cpp From 25ef3973778e1dc9bb5aa1f912c4b8a47015ce8f Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 18:17:03 +0200 Subject: [PATCH 19/95] restructure: moved llvm_test_code part 1 --- phasar/llvm/CMakeLists.txt | 5 -- .../TaintConfig/AttrConfig/CMakeLists.txt | 18 ------ .../AttrConfig/{array_01.c => array_01.dbg.c} | 0 .../AttrConfig/{array_02.c => array_02.dbg.c} | 0 .../AttrConfig/{basic_01.c => basic_01.dbg.c} | 0 .../AttrConfig/{basic_02.c => basic_02.dbg.c} | 0 .../AttrConfig/{basic_03.c => basic_03.dbg.c} | 0 .../AttrConfig/{basic_04.c => basic_04.dbg.c} | 0 ...a_member_01.cpp => data_member_01.dbg.cpp} | 0 ...un_member_01.cpp => fun_member_01.dbg.cpp} | 0 ...un_member_02.cpp => fun_member_02.dbg.cpp} | 0 ...ngling_01.cpp => name_mangling_01.dbg.cpp} | 0 ...tatic_fun_01.cpp => static_fun_01.dbg.cpp} | 0 ...tatic_fun_02.cpp => static_fun_02.dbg.cpp} | 0 .../test/llvm_test_code/basic/CMakeLists.txt | 9 --- .../llvm_test_code/call_graphs/CMakeLists.txt | 38 ------------- .../llvm_test_code/constness/CMakeLists.txt | 4 -- .../constness/array/CMakeLists.txt | 18 ------ .../{array_01.cpp => array_01.m2r.dbg.cpp} | 0 .../{array_02.cpp => array_02.m2r.dbg.cpp} | 0 .../{array_03.cpp => array_03.m2r.dbg.cpp} | 0 .../{array_04.cpp => array_04.m2r.dbg.cpp} | 0 .../{array_05.cpp => array_05.m2r.dbg.cpp} | 0 .../{array_06.cpp => array_06.m2r.dbg.cpp} | 0 .../{array_07.cpp => array_07.m2r.dbg.cpp} | 0 .../{array_08.cpp => array_08.m2r.dbg.cpp} | 0 .../{array_09.cpp => array_09.m2r.dbg.cpp} | 0 .../constness/array/cstring/CMakeLists.txt | 8 --- ...{cstring_01.cpp => cstring_01.m2r.dbg.cpp} | 0 ...{cstring_02.cpp => cstring_02.m2r.dbg.cpp} | 0 .../constness/array/stl_array/CMakeLists.txt | 12 ---- ..._array_01.cpp => stl_array_01.m2r.dbg.cpp} | 0 ..._array_02.cpp => stl_array_02.m2r.dbg.cpp} | 0 ..._array_03.cpp => stl_array_03.m2r.dbg.cpp} | 0 ..._array_04.cpp => stl_array_04.m2r.dbg.cpp} | 0 ..._array_05.cpp => stl_array_05.m2r.dbg.cpp} | 0 ..._array_06.cpp => stl_array_06.m2r.dbg.cpp} | 0 .../constness/basic/CMakeLists.txt | 10 ---- .../basic/{basic_01.cpp => basic_01.dbg.cpp} | 0 .../basic/{basic_02.cpp => basic_02.dbg.cpp} | 0 .../basic/{basic_03.cpp => basic_03.dbg.cpp} | 0 .../basic/{basic_04.cpp => basic_04.dbg.cpp} | 0 .../constness/call/CMakeLists.txt | 2 - .../constness/call/param/CMakeLists.txt | 14 ----- ...param_01.cpp => call_param_01.m2r.dbg.cpp} | 0 ...param_02.cpp => call_param_02.m2r.dbg.cpp} | 0 ...param_03.cpp => call_param_03.m2r.dbg.cpp} | 0 ...param_04.cpp => call_param_04.m2r.dbg.cpp} | 0 ...param_05.cpp => call_param_05.m2r.dbg.cpp} | 0 ...param_06.cpp => call_param_06.m2r.dbg.cpp} | 0 ...param_07.cpp => call_param_07.m2r.dbg.cpp} | 0 ...param_08.cpp => call_param_08.m2r.dbg.cpp} | 0 .../constness/call/return/CMakeLists.txt | 9 --- ...all_ret_01.cpp => call_ret_01.m2r.dbg.cpp} | 0 ...all_ret_02.cpp => call_ret_02.m2r.dbg.cpp} | 0 ...all_ret_03.cpp => call_ret_03.m2r.dbg.cpp} | 0 .../{cf_for_01.cpp => cf_for_01.m2r.dbg.cpp} | 0 .../{cf_for_02.cpp => cf_for_02.m2r.dbg.cpp} | 0 .../{cf_if_01.cpp => cf_if_01.m2r.dbg.cpp} | 0 .../{cf_if_02.cpp => cf_if_02.m2r.dbg.cpp} | 0 ...f_while_01.cpp => cf_while_01.m2r.dbg.cpp} | 0 .../constness/global/CMakeLists.txt | 11 ---- .../{global_01.cpp => global_01.m2r.dbg.cpp} | 0 .../{global_02.cpp => global_02.m2r.dbg.cpp} | 0 .../{global_03.cpp => global_03.m2r.dbg.cpp} | 0 .../{global_04.cpp => global_04.m2r.dbg.cpp} | 0 .../{global_05.cpp => global_05.m2r.dbg.cpp} | 0 .../constness/other/CMakeLists.txt | 0 .../constness/pointer/CMakeLists.txt | 11 ---- .../{pointer_01.cpp => pointer_01.dbg.cpp} | 0 .../{pointer_02.cpp => pointer_02.dbg.cpp} | 0 .../{pointer_03.cpp => pointer_03.dbg.cpp} | 0 ...{pointer_04.cpp => pointer_04.m2r.dbg.cpp} | 0 .../constness/stl/CMakeLists.txt | 3 - .../constness/stl/set/CMakeLists.txt | 0 .../constness/stl/string/CMakeLists.txt | 0 .../constness/stl/vector/CMakeLists.txt | 0 .../constness/structure/CMakeLists.txt | 0 .../control_flow/CMakeLists.txt | 27 --------- ...insts_1.cpp => ignore_dbg_insts_1.dbg.cpp} | 0 ...insts_2.cpp => ignore_dbg_insts_2.dbg.cpp} | 0 ...insts_3.cpp => ignore_dbg_insts_3.dbg.cpp} | 0 ...insts_4.cpp => ignore_dbg_insts_4.dbg.cpp} | 0 .../llvm_test_code/exceptions/CMakeLists.txt | 7 --- ...xceptions_01.cpp => exceptions_01.dbg.cpp} | 0 .../test/llvm_test_code/fields/CMakeLists.txt | 13 ----- .../full_constant/CMakeLists.txt | 6 -- .../function_pointer/CMakeLists.txt | 8 --- .../general_linear_constant/CMakeLists.txt | 18 ------ .../glibc_and_intrinsic_calls/CMakeLists.txt | 9 --- .../llvm_test_code/globals/CMakeLists.txt | 18 ------ .../hard_cxx_problems/CMakeLists.txt | 7 --- .../llvm_test_code/heap_model/CMakeLists.txt | 0 .../inst_interaction/CMakeLists.txt | 40 ------------- .../{global_03.cpp => global_03.o1.cpp} | 0 .../{global_04.cpp => global_04.o1.cpp} | 0 .../llvm_test_code/llvmIRtoSrc/CMakeLists.txt | 9 --- ...unction_call.cpp => function_call.dbg.cpp} | 0 .../{global_01.cpp => global_01.dbg.cpp} | 0 .../{multi_calls.cpp => multi_calls.dbg.cpp} | 0 .../memory_access/CMakeLists.txt | 8 --- .../llvm_test_code/module_wise/CMakeLists.txt | 4 -- .../module_wise/module_wise_1/CMakeLists.txt | 9 --- .../module_wise/module_wise_10/CMakeLists.txt | 8 --- .../module_wise/module_wise_11/CMakeLists.txt | 7 --- .../module_wise/module_wise_12/CMakeLists.txt | 9 --- .../module_wise/module_wise_13/CMakeLists.txt | 9 --- .../module_wise/module_wise_14/CMakeLists.txt | 9 --- .../module_wise/module_wise_15/CMakeLists.txt | 8 --- .../module_wise/module_wise_16/CMakeLists.txt | 8 --- .../module_wise/module_wise_2/CMakeLists.txt | 8 --- .../module_wise/module_wise_3/CMakeLists.txt | 8 --- .../module_wise/module_wise_4/CMakeLists.txt | 8 --- .../module_wise/module_wise_5/CMakeLists.txt | 8 --- .../module_wise/module_wise_6/CMakeLists.txt | 9 --- .../module_wise/module_wise_7/CMakeLists.txt | 7 --- .../module_wise/module_wise_8/CMakeLists.txt | 8 --- .../module_wise/module_wise_9/CMakeLists.txt | 10 ---- .../name_mangling/CMakeLists.txt | 10 ---- .../llvm_test_code/recursion/CMakeLists.txt | 7 --- .../special_shortcuts/CMakeLists.txt | 7 --- .../summary_generation/CMakeLists.txt | 15 ----- .../summary_reuse/CMakeLists.txt | 10 ---- .../taint_analysis/CMakeLists.txt | 42 -------------- .../type_hierarchies/CMakeLists.txt | 24 -------- .../typestate_analysis_fileio/CMakeLists.txt | 11 ---- .../uninitialized_variables/CMakeLists.txt | 57 ------------------- .../{all_uninit.cpp => all_uninit.dbg.cpp} | 0 .../{array_init.cpp => array_init.dbg.cpp} | 0 ...t_simple.cpp => array_init_simple.dbg.cpp} | 0 ...{binop_uninit.cpp => binop_uninit.dbg.cpp} | 0 .../{callnoret.c => callnoret.dbg.c} | 0 .../{callsite.cpp => callsite.dbg.cpp} | 0 .../{calltoret.c => calltoret.dbg.c} | 0 .../{ctor.cpp => ctor.dbg.cpp} | 0 ...{ctor_default.cpp => ctor_default.dbg.cpp} | 0 .../{dyn_mem.cpp => dyn_mem.dbg.cpp} | 0 .../{exception.cpp => exception.dbg.cpp} | 0 ...t_call.cpp => first_inst_call.m2r.dbg.cpp} | 0 ...l_variable.cpp => global_variable.dbg.cpp} | 0 ...ng_example.cpp => growing_example.dbg.cpp} | 0 .../{main_args.cpp => main_args.dbg.cpp} | 0 ...n_args_init.cpp => main_args_init.dbg.cpp} | 0 ...tiple_calls.cpp => multiple_calls.dbg.cpp} | 0 .../{pointer_1.cpp => pointer_1.dbg.cpp} | 0 ...ing_uninit.cpp => reassing_uninit.dbg.cpp} | 0 .../{recursion.cpp => recursion.dbg.cpp} | 0 ...eturn_uninit.cpp => return_uninit.dbg.cpp} | 0 .../{sanitizer.cpp => sanitizer.dbg.cpp} | 0 .../{sanitizer2.cpp => sanitizer2.dbg.cpp} | 0 ...er_uninit.cpp => sanitizer_uninit.dbg.cpp} | 0 ...{simple_store.cpp => simple_store.dbg.cpp} | 0 .../{some_locals.cpp => some_locals.dbg.cpp} | 0 ...er_init.cpp => struct_member_init.dbg.cpp} | 0 ...ninit.cpp => struct_member_uninit.dbg.cpp} | 0 ...nit2.cpp => struct_member_uninit2.dbg.cpp} | 0 .../{struct_test.cpp => struct_test.dbg.cpp} | 0 .../{uninit.c => uninit.dbg.c} | 0 ...{virtual_call.cpp => virtual_call.dbg.cpp} | 0 ...le_uninit_1.cpp => while_uninit_1.dbg.cpp} | 0 .../value_annotation/CMakeLists.txt | 7 --- .../virtual_callsites/CMakeLists.txt | 14 ----- .../cross_module/CMakeLists.txt | 10 ---- .../test/llvm_test_code/vtable/CMakeLists.txt | 3 - .../vtable/one_file/CMakeLists.txt | 7 --- .../scattered_vfunc_impl/CMakeLists.txt | 10 ---- .../vtable/simple/CMakeLists.txt | 8 --- 167 files changed, 721 deletions(-) delete mode 100644 phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{array_01.c => array_01.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{array_02.c => array_02.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{basic_01.c => basic_01.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{basic_02.c => basic_02.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{basic_03.c => basic_03.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{basic_04.c => basic_04.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{data_member_01.cpp => data_member_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{fun_member_01.cpp => fun_member_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{fun_member_02.cpp => fun_member_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{name_mangling_01.cpp => name_mangling_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{static_fun_01.cpp => static_fun_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/{static_fun_02.cpp => static_fun_02.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/array/{array_01.cpp => array_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_02.cpp => array_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_03.cpp => array_03.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_04.cpp => array_04.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_05.cpp => array_05.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_06.cpp => array_06.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_07.cpp => array_07.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_08.cpp => array_08.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/{array_09.cpp => array_09.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/array/cstring/{cstring_01.cpp => cstring_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/cstring/{cstring_02.cpp => cstring_02.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_01.cpp => stl_array_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_02.cpp => stl_array_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_03.cpp => stl_array_03.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_04.cpp => stl_array_04.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_05.cpp => stl_array_05.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/array/stl_array/{stl_array_06.cpp => stl_array_06.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/basic/{basic_01.cpp => basic_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/basic/{basic_02.cpp => basic_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/basic/{basic_03.cpp => basic_03.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/basic/{basic_04.cpp => basic_04.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_01.cpp => call_param_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_02.cpp => call_param_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_03.cpp => call_param_03.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_04.cpp => call_param_04.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_05.cpp => call_param_05.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_06.cpp => call_param_06.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_07.cpp => call_param_07.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/param/{call_param_08.cpp => call_param_08.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/call/return/{call_ret_01.cpp => call_ret_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/return/{call_ret_02.cpp => call_ret_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/call/return/{call_ret_03.cpp => call_ret_03.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/control_flow/{cf_for_01.cpp => cf_for_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/control_flow/{cf_for_02.cpp => cf_for_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/control_flow/{cf_if_01.cpp => cf_if_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/control_flow/{cf_if_02.cpp => cf_if_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/control_flow/{cf_while_01.cpp => cf_while_01.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/global/{global_01.cpp => global_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/global/{global_02.cpp => global_02.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/global/{global_03.cpp => global_03.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/global/{global_04.cpp => global_04.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/global/{global_05.cpp => global_05.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/other/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/constness/pointer/{pointer_01.cpp => pointer_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/pointer/{pointer_02.cpp => pointer_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/pointer/{pointer_03.cpp => pointer_03.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/constness/pointer/{pointer_04.cpp => pointer_04.m2r.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/stl/set/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/stl/string/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/stl/vector/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/constness/structure/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/control_flow/{ignore_dbg_insts_1.cpp => ignore_dbg_insts_1.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/control_flow/{ignore_dbg_insts_2.cpp => ignore_dbg_insts_2.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/control_flow/{ignore_dbg_insts_3.cpp => ignore_dbg_insts_3.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/control_flow/{ignore_dbg_insts_4.cpp => ignore_dbg_insts_4.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/exceptions/{exceptions_01.cpp => exceptions_01.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/heap_model/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/inst_interaction/{global_03.cpp => global_03.o1.cpp} (100%) rename phasar/llvm/test/llvm_test_code/inst_interaction/{global_04.cpp => global_04.o1.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/llvmIRtoSrc/{function_call.cpp => function_call.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/llvmIRtoSrc/{global_01.cpp => global_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/llvmIRtoSrc/{multi_calls.cpp => multi_calls.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{all_uninit.cpp => all_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{array_init.cpp => array_init.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{array_init_simple.cpp => array_init_simple.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{binop_uninit.cpp => binop_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{callnoret.c => callnoret.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{callsite.cpp => callsite.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{calltoret.c => calltoret.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{ctor.cpp => ctor.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{ctor_default.cpp => ctor_default.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{dyn_mem.cpp => dyn_mem.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{exception.cpp => exception.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{first_inst_call.cpp => first_inst_call.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{global_variable.cpp => global_variable.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{growing_example.cpp => growing_example.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{main_args.cpp => main_args.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{main_args_init.cpp => main_args_init.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{multiple_calls.cpp => multiple_calls.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{pointer_1.cpp => pointer_1.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{reassing_uninit.cpp => reassing_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{recursion.cpp => recursion.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{return_uninit.cpp => return_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{sanitizer.cpp => sanitizer.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{sanitizer2.cpp => sanitizer2.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{sanitizer_uninit.cpp => sanitizer_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{simple_store.cpp => simple_store.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{some_locals.cpp => some_locals.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{struct_member_init.cpp => struct_member_init.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{struct_member_uninit.cpp => struct_member_uninit.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{struct_member_uninit2.cpp => struct_member_uninit2.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{struct_test.cpp => struct_test.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{uninit.c => uninit.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{virtual_call.cpp => virtual_call.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/uninitialized_variables/{while_uninit_1.cpp => while_uninit_1.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt index aa360f17a..c7ff1ae82 100644 --- a/phasar/llvm/CMakeLists.txt +++ b/phasar/llvm/CMakeLists.txt @@ -7,11 +7,9 @@ just_add_library( LLVMAggressiveInstCombine # llvm::createAggressiveInstCombinerPass() LLVMAnalysis LLVMAsmParser # undefined symbol: llvm::parseAssembly - LLVMBinaryFormat # llvm::dwarf::getOperationEncoding LLVMBitReader # undefined symbol: llvm::getOwningLazyBitcodeModule LLVMBitstreamReader # undefined symbol: llvm::BitstreamCursor::skipRecord - LLVMCore LLVMCoroutines # llvm::CoroCleanupPass::run LLVMDebugInfoDWARF # llvm::DWARFFormValue::getAsCString() @@ -29,16 +27,13 @@ just_add_library( LLVMProfileData # undefined symbol ProfileSummaryCutoffHot LLVMRemarks # llvm::remarks::RemarkStreamer::matchesFilter LLVMScalarOpts # llvm::ADCEPass::run - LLVMSupport LLVMTarget # llvm::TargetMachine::getTargetIRAnalysis() LLVMTextAPI # llvm::MachO::mapToPlatformSet(llvm::ArrayRef LLVMTransformUtils # undefined symbol: llvm::ValueMapper::ValueMapper - LLVMVectorize # llvm::ShouldRunExtraVectorPasses::Key LLVMipo # llvm::AttributorPass::run - nlohmann_json_schema_validator EXCLUDE "^.*/WPDS/.*$" ) diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt deleted file mode 100644 index d614665c1..000000000 --- a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -set(AttrTaintConfigTestSources - array_01.c - array_02.c - basic_01.c - basic_02.c - basic_03.c - basic_04.c - data_member_01.cpp - fun_member_01.cpp - fun_member_02.cpp - name_mangling_01.cpp - static_fun_01.cpp - static_fun_02.cpp -) - -foreach(TEST_SRC ${AttrTaintConfigTestSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_01.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/array_02.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_01.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_02.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_03.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/basic_04.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/data_member_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/fun_member_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/name_mangling_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/AttrConfig/static_fun_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt deleted file mode 100644 index c646673c0..000000000 --- a/phasar/llvm/test/llvm_test_code/basic/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(basics - module.cpp - seven_structs.cpp - two_structs.cpp -) - -foreach(TEST_SRC ${basics}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt deleted file mode 100644 index 9b1b58ebe..000000000 --- a/phasar/llvm/test/llvm_test_code/call_graphs/CMakeLists.txt +++ /dev/null @@ -1,38 +0,0 @@ -set(NoMem2regSources - function_object_1.cpp - function_pointer_1.c - function_pointer_2.cpp - function_pointer_3.cpp - special_member_functions_1.cpp - static_callsite_10.cpp - static_callsite_11.cpp - static_callsite_12.cpp - static_callsite_13.cpp - static_callsite_1.c - static_callsite_2.c - static_callsite_3.c - static_callsite_4.cpp - static_callsite_5.cpp - static_callsite_6.cpp - static_callsite_7.cpp - static_callsite_8.cpp - static_callsite_9.cpp - type_graph_1.cpp - virtual_call_1.cpp - virtual_call_2.cpp - virtual_call_3.cpp - virtual_call_4.cpp - virtual_call_5.cpp - virtual_call_6.cpp - virtual_call_7.cpp - virtual_call_8.cpp - virtual_call_9.cpp - global_ctor_dtor_1.cpp - global_ctor_dtor_2.cpp - global_ctor_dtor_3.cpp - global_ctor_dtor_4.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt deleted file mode 100644 index f2f85834f..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -subdirlist(subdirs ${CMAKE_CURRENT_SOURCE_DIR}) -foreach(subdir ${subdirs}) - add_subdirectory(${subdir}) -endforeach(subdir) diff --git a/phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt deleted file mode 100644 index f5f0e2520..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/array/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -add_subdirectory(cstring) -add_subdirectory(stl_array) - -set(Mem2regSources - array_01.cpp - array_02.cpp - array_03.cpp - array_04.cpp - array_05.cpp - array_06.cpp - array_07.cpp - array_08.cpp - array_09.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_03.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_03.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_03.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_04.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_04.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_04.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_05.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_05.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_05.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_06.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_06.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_06.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_07.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_07.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_07.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_07.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_08.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_08.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_08.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_08.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/array_09.cpp b/phasar/llvm/test/llvm_test_code/constness/array/array_09.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/array_09.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/array_09.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt deleted file mode 100644 index 21d930e6f..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/array/cstring/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(Mem2regSources - cstring_01.cpp - cstring_02.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/cstring/cstring_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt deleted file mode 100644 index d168c59cb..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -set(Mem2regSources - stl_array_01.cpp - stl_array_02.cpp - stl_array_03.cpp - stl_array_04.cpp - stl_array_05.cpp - stl_array_06.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_03.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_04.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_05.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp b/phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/array/stl_array/stl_array_06.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt deleted file mode 100644 index a2774b492..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/basic/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(NoMem2regSources - basic_01.cpp - basic_02.cpp - basic_03.cpp - basic_04.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/basic/basic_01.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/basic/basic_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/basic/basic_02.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/basic/basic_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/basic/basic_03.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_03.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/basic/basic_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_03.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/basic/basic_04.cpp b/phasar/llvm/test/llvm_test_code/constness/basic/basic_04.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/basic/basic_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/basic/basic_04.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt deleted file mode 100644 index 44b23b6b5..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/call/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_subdirectory(param) -add_subdirectory(return) diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt deleted file mode 100644 index 73de81aec..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/call/param/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -set(Mem2regSources - call_param_01.cpp - call_param_02.cpp - call_param_03.cpp - call_param_04.cpp - call_param_05.cpp - call_param_06.cpp - call_param_07.cpp - call_param_08.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_03.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_04.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_05.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_06.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_07.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.cpp b/phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/param/call_param_08.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt deleted file mode 100644 index fe3094ca5..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/call/return/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(Mem2regSources - call_ret_01.cpp - call_ret_02.cpp - call_ret_03.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.cpp b/phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/call/return/call_ret_03.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_for_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_if_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.cpp b/phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/control_flow/cf_while_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt deleted file mode 100644 index a6702db81..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/global/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -set(Mem2regSources - global_01.cpp - global_02.cpp - global_03.cpp - global_04.cpp - global_05.cpp -) - -foreach(TEST_SRC ${Mem2regSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/constness/global/global_01.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/global/global_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/global/global_02.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_02.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/global/global_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_02.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/global/global_03.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_03.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/global/global_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_03.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/global/global_04.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_04.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/global/global_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_04.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/global/global_05.cpp b/phasar/llvm/test/llvm_test_code/constness/global/global_05.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/global/global_05.cpp rename to phasar/llvm/test/llvm_test_code/constness/global/global_05.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/other/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/other/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt deleted file mode 100644 index 7ba015854..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/pointer/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -set(NoMem2regSources - pointer_01.cpp - pointer_02.cpp - pointer_03.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) - -generate_ll_file(FILE pointer_04.cpp MEM2REG DEBUG) diff --git a/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_03.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.cpp b/phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.cpp rename to phasar/llvm/test/llvm_test_code/constness/pointer/pointer_04.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt deleted file mode 100644 index e26501a7e..000000000 --- a/phasar/llvm/test/llvm_test_code/constness/stl/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(set) -add_subdirectory(string) -add_subdirectory(vector) diff --git a/phasar/llvm/test/llvm_test_code/constness/stl/set/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/set/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/constness/stl/string/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/string/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/constness/stl/vector/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/stl/vector/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/constness/structure/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/constness/structure/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt deleted file mode 100644 index ab806cd6a..000000000 --- a/phasar/llvm/test/llvm_test_code/control_flow/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -set(NoMem2regSources - branch.cpp - calls.cpp - function_call.cpp - function_call_2.cpp - global_stmt.cpp - if_else.cpp - loop.cpp - multi_calls.cpp - simple_call.cpp - switch.cpp -) - -set(DbgSources - ignore_dbg_insts_1.cpp - ignore_dbg_insts_2.cpp - ignore_dbg_insts_3.cpp - ignore_dbg_insts_4.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -foreach(TEST_DBG_SRC ${DbgSources}) - generate_ll_file(FILE ${TEST_DBG_SRC} DEBUG) -endforeach(TEST_DBG_SRC) diff --git a/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_1.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_2.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_3.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp b/phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.cpp rename to phasar/llvm/test/llvm_test_code/control_flow/ignore_dbg_insts_4.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt deleted file mode 100644 index da8291a92..000000000 --- a/phasar/llvm/test/llvm_test_code/exceptions/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(Sources - exceptions_01.cpp -) - -foreach(TEST_SRC ${Sources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.cpp b/phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.cpp rename to phasar/llvm/test/llvm_test_code/exceptions/exceptions_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt deleted file mode 100644 index 1c1377979..000000000 --- a/phasar/llvm/test/llvm_test_code/fields/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -set(fields - array_1.cpp - array_2.cpp - array_3.cpp - base_variable_1.cpp - field_1.cpp - field_2.cpp - field_3.cpp -) - -foreach(TEST_SRC ${fields}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt deleted file mode 100644 index b020eb6b3..000000000 --- a/phasar/llvm/test/llvm_test_code/full_constant/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -file(GLOB FullConstantFiles *.c *.cpp) - -foreach(TEST_SRC ${FullConstantFiles}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt deleted file mode 100644 index b4c5e933a..000000000 --- a/phasar/llvm/test/llvm_test_code/function_pointer/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - fptr_1.cpp - function_ptr.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt deleted file mode 100644 index c1da0c953..000000000 --- a/phasar/llvm/test/llvm_test_code/general_linear_constant/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -set(Sources - BranchTest.c - FloatDivision.c - FPtest.c - GlobalVariableTest.c - Imprecision.c - NullTest.c - ReturnConstTest.c - SimpleFunctionTest.c - SimpleTest.c - StringBranchTest.c - StringTest.c - StringTest.cpp -) - -foreach(TEST_SRC ${Sources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt deleted file mode 100644 index 73e9465e8..000000000 --- a/phasar/llvm/test/llvm_test_code/glibc_and_intrinsic_calls/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - glibc_and_intrinsics_1.cpp - glibc_and_intrinsics_2.cpp - glibc_and_intrinsics_3.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt deleted file mode 100644 index 61bb09749..000000000 --- a/phasar/llvm/test/llvm_test_code/globals/CMakeLists.txt +++ /dev/null @@ -1,18 +0,0 @@ -set(NoMem2regSources - globals_1.cpp - globals_2.cpp - globals_ctor_1.cpp - globals_ctor_2_1.cpp - globals_ctor_2_2.cpp - globals_dtor_1.cpp - globals_lca_1.cpp - globals_lca_2.cpp - globals_lca_3.cpp - globals_lca_4.cpp - globals_lca_4_1.cpp - globals_lca_5.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt deleted file mode 100644 index 56ec73bdf..000000000 --- a/phasar/llvm/test/llvm_test_code/hard_cxx_problems/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - composition-inheritance.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/heap_model/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/heap_model/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt deleted file mode 100644 index 74544367d..000000000 --- a/phasar/llvm/test/llvm_test_code/inst_interaction/CMakeLists.txt +++ /dev/null @@ -1,40 +0,0 @@ -set(Sources - basic_01.cpp - basic_02.cpp - basic_03.cpp - basic_04.cpp - basic_05.cpp - basic_06.cpp - basic_07.cpp - basic_08.cpp - basic_09.cpp - basic_10.cpp - basic_11.cpp - call_01.cpp - call_02.cpp - call_03.cpp - call_04.cpp - call_05.cpp - call_06.cpp - global_01.cpp - global_02.cpp - heap_01.cpp - KillTest_01.cpp - KillTest_02.cpp - return_01.cpp - rvo_01.cpp - struct_01.cpp -) - -set(SourcesOpt - global_03.cpp - global_04.cpp -) - -foreach(TEST_SRC ${Sources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${SourcesOpt}) - generate_ll_file(FILE ${TEST_SRC} O1) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/inst_interaction/global_03.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_03.o1.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/inst_interaction/global_03.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_03.o1.cpp diff --git a/phasar/llvm/test/llvm_test_code/inst_interaction/global_04.cpp b/phasar/llvm/test/llvm_test_code/inst_interaction/global_04.o1.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/inst_interaction/global_04.cpp rename to phasar/llvm/test/llvm_test_code/inst_interaction/global_04.o1.cpp diff --git a/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt deleted file mode 100644 index ae27ff030..000000000 --- a/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(DbgSources - function_call.cpp - multi_calls.cpp - global_01.cpp -) - -foreach(TEST_SRC ${DbgSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/function_call.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/global_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp b/phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.cpp rename to phasar/llvm/test/llvm_test_code/llvmIRtoSrc/multi_calls.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt deleted file mode 100644 index 638dcc58c..000000000 --- a/phasar/llvm/test/llvm_test_code/memory_access/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - member_access_01.cpp - member_access_02.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt deleted file mode 100644 index f2f85834f..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -subdirlist(subdirs ${CMAKE_CURRENT_SOURCE_DIR}) -foreach(subdir ${subdirs}) - add_subdirectory(${subdir}) -endforeach(subdir) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt deleted file mode 100644 index a447e59d9..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_1/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_10/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt deleted file mode 100644 index 7d1565aa6..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_11/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - main.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt deleted file mode 100644 index a447e59d9..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_12/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt deleted file mode 100644 index a447e59d9..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_13/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt deleted file mode 100644 index a447e59d9..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_14/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_15/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_16/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_2/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_3/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_4/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_5/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt deleted file mode 100644 index a447e59d9..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_6/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt deleted file mode 100644 index 7d1565aa6..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_7/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - main.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt deleted file mode 100644 index 677e1880e..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_8/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt deleted file mode 100644 index 785387b89..000000000 --- a/phasar/llvm/test/llvm_test_code/module_wise/module_wise_9/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(NoMem2regSources - main.cpp - src1.cpp - src2.cpp - src3.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt deleted file mode 100644 index 4be8ed2c8..000000000 --- a/phasar/llvm/test/llvm_test_code/name_mangling/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(name_mangling - special_members_1.cpp - special_members_2.cpp - special_members_3.cpp - special_members_4.cpp -) - -foreach(TEST_SRC ${name_mangling}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt deleted file mode 100644 index ba770e525..000000000 --- a/phasar/llvm/test/llvm_test_code/recursion/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - recursion_1.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt deleted file mode 100644 index 148e29330..000000000 --- a/phasar/llvm/test/llvm_test_code/special_shortcuts/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - malloc_free.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt deleted file mode 100644 index b45465b1c..000000000 --- a/phasar/llvm/test/llvm_test_code/summary_generation/CMakeLists.txt +++ /dev/null @@ -1,15 +0,0 @@ -set(NoMem2regSources - summary_1.cpp - summary_2.cpp - summary_3.cpp - summary_4.cpp - summary_5.cpp - summary_6.cpp - summary_class_1.cpp - summary_class_2.cpp - summary_class_3.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt deleted file mode 100644 index 8e7b4eca7..000000000 --- a/phasar/llvm/test/llvm_test_code/summary_reuse/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(NoMem2regSources - summary_reuse_01.cpp - summary_reuse_02.cpp - summary_reuse_03.cpp - summary_reuse_04.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt deleted file mode 100644 index 1571c8432..000000000 --- a/phasar/llvm/test/llvm_test_code/taint_analysis/CMakeLists.txt +++ /dev/null @@ -1,42 +0,0 @@ -set(NoMem2regSources - cmd_args.c - fread.c - growing_example.cpp - if_else.cpp - operator_shift.cpp - printf.c - print.cpp - read.c - source_sink_function_test.c - taint_1.cpp - taint_2.cpp - taint_3.cpp - taint_4.cpp - taint_5.cpp - taint_6.cpp - taint_7.cpp - taint_8.cpp - taint_9.c - taint_10.c - taint_11.c - taint_12.c - taint_13.c - taint_2_v2.cpp - taint_2_v2_1.cpp - taint_4_v2.cpp - taint_14.cpp - taint_14_1.cpp - taint_15.cpp - taint_15_1.cpp - virtual_calls.cpp - virtual_calls_v2.cpp - struct_member.cpp - dynamic_memory.cpp - dynamic_memory_simple.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -add_subdirectory(dummy_source_sink) diff --git a/phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt deleted file mode 100644 index 0695bc511..000000000 --- a/phasar/llvm/test/llvm_test_code/type_hierarchies/CMakeLists.txt +++ /dev/null @@ -1,24 +0,0 @@ -set(NoMem2regSources - type_hierarchy_1.cpp - type_hierarchy_2.cpp - type_hierarchy_3.cpp - type_hierarchy_4.cpp - type_hierarchy_5.cpp - type_hierarchy_6.cpp - type_hierarchy_7.cpp - type_hierarchy_7_b.cpp - type_hierarchy_8.cpp - type_hierarchy_9.cpp - type_hierarchy_10.cpp - type_hierarchy_11.cpp - type_hierarchy_12.cpp - type_hierarchy_12_b.cpp - type_hierarchy_12_c.cpp - type_hierarchy_13.cpp - type_hierarchy_14.cpp - type_hierarchy_15.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt deleted file mode 100644 index 9da0ecdc6..000000000 --- a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -file(GLOB typestate_files *.c *.cpp) - -foreach(TEST_SRC ${typestate_files}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE}) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${typestate_files}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt deleted file mode 100644 index 19c6ddcb3..000000000 --- a/phasar/llvm/test/llvm_test_code/uninitialized_variables/CMakeLists.txt +++ /dev/null @@ -1,57 +0,0 @@ -set(NoMem2RegSources - all_uninit.cpp - callnoret.c - calltoret.c - ctor.cpp - ctor_default.cpp - dyn_mem.cpp - exception.cpp - while_uninit_1.cpp - first_inst_call.cpp - global_variable.cpp - growing_example.cpp - multiple_calls.cpp - reassing_uninit.cpp - binop_uninit.cpp - some_locals.cpp - uninit.c - pointer_1.cpp - main_args.cpp - main_args_init.cpp - simple_store.cpp - callsite.cpp - return_uninit.cpp - struct_member_init.cpp - struct_member_uninit.cpp - struct_member_uninit2.cpp - struct_test.cpp - sanitizer.cpp - sanitizer2.cpp - sanitizer_uninit.cpp - array_init.cpp - array_init_simple.cpp - recursion.cpp - virtual_call.cpp -) - -set(NoMem2RegNoDbgSources - basic_01.cpp - basic_02.cpp - branching_01.cpp -) - -set(Mem2RegSources - first_inst_call.cpp -) - -foreach(TEST_SRC ${NoMem2RegSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${NoMem2RegNoDbgSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${Mem2RegSources}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/all_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/array_init_simple.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/binop_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/callnoret.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/callsite.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/calltoret.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/ctor_default.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/dyn_mem.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/exception.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/first_inst_call.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/global_variable.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/growing_example.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/main_args_init.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/multiple_calls.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/pointer_1.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/reassing_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/recursion.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/return_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer2.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/sanitizer_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/simple_store.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/some_locals.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_init.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_member_uninit2.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/struct_test.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.c b/phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.c rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/uninit.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/virtual_call.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp b/phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.cpp rename to phasar/llvm/test/llvm_test_code/uninitialized_variables/while_uninit_1.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt deleted file mode 100644 index 291420103..000000000 --- a/phasar/llvm/test/llvm_test_code/value_annotation/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - example.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt deleted file mode 100644 index 4a329e510..000000000 --- a/phasar/llvm/test/llvm_test_code/virtual_callsites/CMakeLists.txt +++ /dev/null @@ -1,14 +0,0 @@ -add_subdirectory(cross_module) - -set(NoMem2regSources - callsite.cpp - callsite_staticmemory.cpp - interproc_callsite.cpp - callsite_dynmemory.cpp - circular_dependencies.cpp - interproc_callsite_double.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt deleted file mode 100644 index 0acafd9f7..000000000 --- a/phasar/llvm/test/llvm_test_code/virtual_callsites/cross_module/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(NoMem2regSources - base.cpp - derived.cpp - main.cpp - utils.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt deleted file mode 100644 index a21c3423b..000000000 --- a/phasar/llvm/test/llvm_test_code/vtable/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(one_file) -add_subdirectory(scattered_vfunc_impl) -add_subdirectory(simple) diff --git a/phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt deleted file mode 100644 index 7d1565aa6..000000000 --- a/phasar/llvm/test/llvm_test_code/vtable/one_file/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(NoMem2regSources - main.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt deleted file mode 100644 index 79f430c00..000000000 --- a/phasar/llvm/test/llvm_test_code/vtable/scattered_vfunc_impl/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(NoMem2regSources - base.cpp - child_1.cpp - child_2.cpp - main.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt deleted file mode 100644 index e41930a26..000000000 --- a/phasar/llvm/test/llvm_test_code/vtable/simple/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(NoMem2regSources - base.cpp - main.cpp -) - -foreach(TEST_SRC ${NoMem2regSources}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) From 293f7694574bd163545ceb078fa04a0ad9d39a31 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 18:45:05 +0200 Subject: [PATCH 20/95] restructure: created llvm_test_code links --- .../TaintConfig/JsonConfig/CMakeLists.txt | 37 ------------------- .../JsonConfig/{array_01.c => array_01.dbg.c} | 0 .../JsonConfig/{array_02.c => array_02.dbg.c} | 0 .../JsonConfig/{basic_01.c => basic_01.dbg.c} | 0 .../JsonConfig/{basic_02.c => basic_02.dbg.c} | 0 .../JsonConfig/{basic_03.c => basic_03.dbg.c} | 0 .../JsonConfig/{basic_04.c => basic_04.dbg.c} | 0 ...a_member_01.cpp => data_member_01.dbg.cpp} | 0 ...un_member_01.cpp => fun_member_01.dbg.cpp} | 0 ...un_member_02.cpp => fun_member_02.dbg.cpp} | 0 ...ngling_01.cpp => name_mangling_01.dbg.cpp} | 0 ...tatic_fun_01.cpp => static_fun_01.dbg.cpp} | 0 ...tatic_fun_02.cpp => static_fun_02.dbg.cpp} | 0 .../linear_constant/CMakeLists.txt | 11 ------ .../linear_constant/basic_01.dbg.cpp | 1 + .../linear_constant/basic_02.dbg.cpp | 1 + .../linear_constant/basic_03.dbg.cpp | 1 + .../linear_constant/basic_04.dbg.cpp | 1 + .../linear_constant/basic_05.dbg.cpp | 1 + .../linear_constant/basic_06.dbg.cpp | 1 + .../linear_constant/basic_07.dbg.cpp | 1 + .../linear_constant/basic_08.dbg.cpp | 1 + .../linear_constant/basic_09.dbg.cpp | 1 + .../linear_constant/basic_10.dbg.cpp | 1 + .../linear_constant/basic_11.dbg.cpp | 1 + .../linear_constant/basic_12.dbg.cpp | 1 + .../linear_constant/branch_01.dbg.cpp | 1 + .../linear_constant/branch_02.dbg.cpp | 1 + .../linear_constant/branch_03.dbg.cpp | 1 + .../linear_constant/branch_04.dbg.cpp | 1 + .../linear_constant/branch_05.dbg.cpp | 1 + .../linear_constant/branch_06.dbg.cpp | 1 + .../linear_constant/branch_07.dbg.cpp | 1 + .../linear_constant/call_01.dbg.cpp | 1 + .../linear_constant/call_02.dbg.cpp | 1 + .../linear_constant/call_03.dbg.cpp | 1 + .../linear_constant/call_04.dbg.cpp | 1 + .../linear_constant/call_05.dbg.cpp | 1 + .../linear_constant/call_06.dbg.cpp | 1 + .../linear_constant/call_07.dbg.cpp | 1 + .../linear_constant/call_08.dbg.cpp | 1 + .../linear_constant/call_09.dbg.cpp | 1 + .../linear_constant/call_10.dbg.cpp | 1 + .../linear_constant/call_11.dbg.cpp | 1 + .../linear_constant/call_12.dbg.cpp | 1 + .../linear_constant/for_01.dbg.cpp | 1 + .../linear_constant/global_01.dbg.cpp | 1 + .../linear_constant/global_02.dbg.cpp | 1 + .../linear_constant/global_03.dbg.cpp | 1 + .../linear_constant/global_04.dbg.cpp | 1 + .../linear_constant/global_05.dbg.cpp | 1 + .../linear_constant/global_06.dbg.cpp | 1 + .../linear_constant/global_07.dbg.cpp | 1 + .../linear_constant/global_08.dbg.cpp | 1 + .../linear_constant/global_09.dbg.cpp | 1 + .../linear_constant/global_10.dbg.cpp | 1 + .../linear_constant/global_11.dbg.cpp | 1 + .../linear_constant/global_12.dbg.cpp | 1 + .../linear_constant/global_13.dbg.cpp | 1 + .../linear_constant/global_14.dbg.cpp | 1 + .../linear_constant/global_15.dbg.cpp | 1 + .../linear_constant/global_16.dbg.cpp | 1 + .../linear_constant/overflow_add.dbg.cpp | 1 + .../overflow_div_min_by_neg_one.dbg.cpp | 1 + .../linear_constant/overflow_mul.dbg.cpp | 1 + .../linear_constant/overflow_sub.dbg.cpp | 1 + .../linear_constant/recursion_01.dbg.cpp | 1 + .../linear_constant/recursion_02.dbg.cpp | 1 + .../linear_constant/recursion_03.dbg.cpp | 1 + .../ub_division_by_zero.dbg.cpp | 1 + .../linear_constant/ub_modulo_by_zero.dbg.cpp | 1 + .../linear_constant/while_01.dbg.cpp | 1 + .../linear_constant/while_02.dbg.cpp | 1 + .../linear_constant/while_03.dbg.cpp | 1 + .../linear_constant/while_04.dbg.cpp | 1 + .../llvm_test_code/pointers/CMakeLists.txt | 27 -------------- .../llvm_test_code/pointers/basic_01.dbg.cpp | 1 + .../pointers/basic_01.m2r.dbg.cpp | 1 + .../llvm_test_code/pointers/call_01.dbg.cpp | 1 + .../pointers/call_01.m2r.dbg.cpp | 1 + .../pointers/dynamic_01.dbg.cpp | 1 + .../pointers/dynamic_01.m2r.dbg.cpp | 1 + .../llvm_test_code/pointers/global_01.dbg.cpp | 1 + .../pointers/global_01.m2r.dbg.cpp | 1 + .../pointers/inter_dynamic_01.dbg.cpp | 1 + .../pointers/inter_dynamic_01.m2r.dbg.cpp | 1 + .../pointers/inter_dynamic_02.dbg.cpp | 1 + .../pointers/inter_dynamic_02.m2r.dbg.cpp | 1 + .../dummy_source_sink/CMakeLists.txt | 33 ----------------- .../{taint_01.cpp => taint_01.m2r.dbg.cpp} | 0 .../{taint_02.cpp => taint_02.dbg.cpp} | 0 .../{taint_03.cpp => taint_03.dbg.cpp} | 0 .../{taint_04.cpp => taint_04.dbg.cpp} | 0 .../{taint_05.cpp => taint_05.dbg.cpp} | 0 .../{taint_06.cpp => taint_06.m2r.dbg.cpp} | 0 ..._01.cpp => taint_exception_01.m2r.dbg.cpp} | 0 ...tion_02.cpp => taint_exception_02.dbg.cpp} | 0 ...tion_03.cpp => taint_exception_03.dbg.cpp} | 0 ...tion_04.cpp => taint_exception_04.dbg.cpp} | 0 ...tion_05.cpp => taint_exception_05.dbg.cpp} | 0 ...tion_06.cpp => taint_exception_06.dbg.cpp} | 0 ...tion_07.cpp => taint_exception_07.dbg.cpp} | 0 ...tion_08.cpp => taint_exception_08.dbg.cpp} | 0 ...tion_09.cpp => taint_exception_09.dbg.cpp} | 0 ...tion_10.cpp => taint_exception_10.dbg.cpp} | 0 .../typestate_01.dbg.c | 1 + .../typestate_02.dbg.c | 1 + .../typestate_03.dbg.c | 1 + .../typestate_04.dbg.c | 1 + .../typestate_05.dbg.c | 1 + .../typestate_06.dbg.c | 1 + .../typestate_07.dbg.c | 1 + .../typestate_08.dbg.c | 1 + .../typestate_09.dbg.c | 1 + .../typestate_10.dbg.c | 1 + .../typestate_11.dbg.c | 1 + .../typestate_12.dbg.c | 1 + .../typestate_13.dbg.c | 1 + .../typestate_14.dbg.c | 1 + .../typestate_15.dbg.c | 1 + .../typestate_16.dbg.c | 1 + .../typestate_17.dbg.c | 1 + .../typestate_18.dbg.c | 1 + .../typestate_19.dbg.c | 1 + .../test/llvm_test_code/xtaint/CMakeLists.txt | 37 ------------------- ...taint01_json.cpp => xtaint01_json.dbg.cpp} | 0 .../JsonConfig/array_01_config.json | 0 .../JsonConfig/array_02_config.json | 0 .../JsonConfig/basic_01_config.json | 0 .../JsonConfig/basic_02_config.json | 0 .../JsonConfig/basic_03_config.json | 0 .../JsonConfig/basic_04_config.json | 0 .../JsonConfig/data_member_01_config.json | 0 .../JsonConfig/fun_member_01_config.json | 0 .../JsonConfig/fun_member_02_config.json | 0 .../JsonConfig/name_mangling_01_config.json | 0 .../JsonConfig/static_fun_01_config.json | 0 .../JsonConfig/static_fun_02_config.json | 0 138 files changed, 92 insertions(+), 145 deletions(-) delete mode 100644 phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{array_01.c => array_01.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{array_02.c => array_02.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{basic_01.c => basic_01.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{basic_02.c => basic_02.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{basic_03.c => basic_03.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{basic_04.c => basic_04.dbg.c} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{data_member_01.cpp => data_member_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{fun_member_01.cpp => fun_member_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{fun_member_02.cpp => fun_member_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{name_mangling_01.cpp => name_mangling_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{static_fun_01.cpp => static_fun_01.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/{static_fun_02.cpp => static_fun_02.dbg.cpp} (100%) delete mode 100644 phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_04.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_05.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_06.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_07.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_08.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_09.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_10.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_11.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/basic_12.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_04.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_05.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_06.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/branch_07.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_04.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_05.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_06.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_07.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_08.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_09.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_10.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_11.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/call_12.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/for_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_04.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_05.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_06.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_07.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_08.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_09.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_10.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_11.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_12.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_13.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_14.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_15.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/global_16.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/while_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/while_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/while_03.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/linear_constant/while_04.dbg.cpp delete mode 100644 phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt create mode 120000 phasar/llvm/test/llvm_test_code/pointers/basic_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/basic_01.m2r.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/call_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/call_01.m2r.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/dynamic_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/dynamic_01.m2r.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/global_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/global_01.m2r.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.m2r.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.m2r.dbg.cpp delete mode 100644 phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_01.cpp => taint_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_02.cpp => taint_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_03.cpp => taint_03.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_04.cpp => taint_04.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_05.cpp => taint_05.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_06.cpp => taint_06.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_01.cpp => taint_exception_01.m2r.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_02.cpp => taint_exception_02.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_03.cpp => taint_exception_03.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_04.cpp => taint_exception_04.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_05.cpp => taint_exception_05.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_06.cpp => taint_exception_06.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_07.cpp => taint_exception_07.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_08.cpp => taint_exception_08.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_09.cpp => taint_exception_09.dbg.cpp} (100%) rename phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/{taint_exception_10.cpp => taint_exception_10.dbg.cpp} (100%) create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.dbg.c create mode 120000 phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.dbg.c delete mode 100644 phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt rename phasar/llvm/test/llvm_test_code/xtaint/{xtaint01_json.cpp => xtaint01_json.dbg.cpp} (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json (100%) rename phasar/llvm/test/{ => resource}/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json (100%) diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt deleted file mode 100644 index 25a6cd9c8..000000000 --- a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -set(JsonTaintConfigTestSources - array_01.c - array_02.c - basic_01.c - basic_02.c - basic_03.c - basic_04.c - data_member_01.cpp - fun_member_01.cpp - fun_member_02.cpp - name_mangling_01.cpp - static_fun_01.cpp - static_fun_02.cpp -) - -foreach(TEST_SRC ${JsonTaintConfigTestSources}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) - -set(JsonTaintConfigFiles - array_01_config.json - array_02_config.json - basic_01_config.json - basic_02_config.json - basic_03_config.json - basic_04_config.json - data_member_01_config.json - fun_member_01_config.json - fun_member_02_config.json - name_mangling_01_config.json - static_fun_01_config.json - static_fun_02_config.json -) - -foreach(TEST_CONFIG ${JsonTaintConfigFiles}) - configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/${TEST_CONFIG} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY) -endforeach(TEST_CONFIG) diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.dbg.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.c rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04.dbg.c diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp b/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.cpp rename to phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt deleted file mode 100644 index 00f528f39..000000000 --- a/phasar/llvm/test/llvm_test_code/linear_constant/CMakeLists.txt +++ /dev/null @@ -1,11 +0,0 @@ -file(GLOB lca_files *.c *.cpp) - -foreach(TEST_SRC ${lca_files}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE} DEBUG) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${lca_files}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_01.dbg.cpp new file mode 120000 index 000000000..b481a3dca --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_01.dbg.cpp @@ -0,0 +1 @@ +basic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_02.dbg.cpp new file mode 120000 index 000000000..ae6472fb0 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_02.dbg.cpp @@ -0,0 +1 @@ +basic_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_03.dbg.cpp new file mode 120000 index 000000000..127feed07 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_03.dbg.cpp @@ -0,0 +1 @@ +basic_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_04.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_04.dbg.cpp new file mode 120000 index 000000000..a64f00724 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_04.dbg.cpp @@ -0,0 +1 @@ +basic_04.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_05.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_05.dbg.cpp new file mode 120000 index 000000000..dafe5f48e --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_05.dbg.cpp @@ -0,0 +1 @@ +basic_05.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_06.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_06.dbg.cpp new file mode 120000 index 000000000..1aab43e95 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_06.dbg.cpp @@ -0,0 +1 @@ +basic_06.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_07.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_07.dbg.cpp new file mode 120000 index 000000000..53f9c98be --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_07.dbg.cpp @@ -0,0 +1 @@ +basic_07.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_08.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_08.dbg.cpp new file mode 120000 index 000000000..7ffb39dea --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_08.dbg.cpp @@ -0,0 +1 @@ +basic_08.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_09.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_09.dbg.cpp new file mode 120000 index 000000000..5ce7cb75f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_09.dbg.cpp @@ -0,0 +1 @@ +basic_09.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_10.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_10.dbg.cpp new file mode 120000 index 000000000..a5d94f06c --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_10.dbg.cpp @@ -0,0 +1 @@ +basic_10.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_11.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_11.dbg.cpp new file mode 120000 index 000000000..9ac2220ce --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_11.dbg.cpp @@ -0,0 +1 @@ +basic_11.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/basic_12.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/basic_12.dbg.cpp new file mode 120000 index 000000000..1ff42846f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/basic_12.dbg.cpp @@ -0,0 +1 @@ +basic_12.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_01.dbg.cpp new file mode 120000 index 000000000..d1b387602 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_01.dbg.cpp @@ -0,0 +1 @@ +branch_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_02.dbg.cpp new file mode 120000 index 000000000..67669f014 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_02.dbg.cpp @@ -0,0 +1 @@ +branch_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_03.dbg.cpp new file mode 120000 index 000000000..6dc7b1f45 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_03.dbg.cpp @@ -0,0 +1 @@ +branch_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_04.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_04.dbg.cpp new file mode 120000 index 000000000..78528c426 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_04.dbg.cpp @@ -0,0 +1 @@ +branch_04.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_05.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_05.dbg.cpp new file mode 120000 index 000000000..4535fd13d --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_05.dbg.cpp @@ -0,0 +1 @@ +branch_05.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_06.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_06.dbg.cpp new file mode 120000 index 000000000..d28187f15 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_06.dbg.cpp @@ -0,0 +1 @@ +branch_06.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/branch_07.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/branch_07.dbg.cpp new file mode 120000 index 000000000..2137ac1db --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/branch_07.dbg.cpp @@ -0,0 +1 @@ +branch_07.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_01.dbg.cpp new file mode 120000 index 000000000..8b5f92fee --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_01.dbg.cpp @@ -0,0 +1 @@ +call_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_02.dbg.cpp new file mode 120000 index 000000000..45e1ba5e8 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_02.dbg.cpp @@ -0,0 +1 @@ +call_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_03.dbg.cpp new file mode 120000 index 000000000..127c35fbf --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_03.dbg.cpp @@ -0,0 +1 @@ +call_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_04.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_04.dbg.cpp new file mode 120000 index 000000000..16b00f699 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_04.dbg.cpp @@ -0,0 +1 @@ +call_04.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_05.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_05.dbg.cpp new file mode 120000 index 000000000..919e7d594 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_05.dbg.cpp @@ -0,0 +1 @@ +call_05.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_06.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_06.dbg.cpp new file mode 120000 index 000000000..88d7a8c6f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_06.dbg.cpp @@ -0,0 +1 @@ +call_06.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_07.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_07.dbg.cpp new file mode 120000 index 000000000..2060c2090 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_07.dbg.cpp @@ -0,0 +1 @@ +call_07.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_08.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_08.dbg.cpp new file mode 120000 index 000000000..37f8c532e --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_08.dbg.cpp @@ -0,0 +1 @@ +call_08.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_09.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_09.dbg.cpp new file mode 120000 index 000000000..fd7657564 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_09.dbg.cpp @@ -0,0 +1 @@ +call_09.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_10.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_10.dbg.cpp new file mode 120000 index 000000000..0c95b2c0f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_10.dbg.cpp @@ -0,0 +1 @@ +call_10.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_11.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_11.dbg.cpp new file mode 120000 index 000000000..ebe1bcdc6 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_11.dbg.cpp @@ -0,0 +1 @@ +call_11.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/call_12.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/call_12.dbg.cpp new file mode 120000 index 000000000..8a98eed0c --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/call_12.dbg.cpp @@ -0,0 +1 @@ +call_12.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/for_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/for_01.dbg.cpp new file mode 120000 index 000000000..777666664 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/for_01.dbg.cpp @@ -0,0 +1 @@ +for_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_01.dbg.cpp new file mode 120000 index 000000000..3983a0d28 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_01.dbg.cpp @@ -0,0 +1 @@ +global_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_02.dbg.cpp new file mode 120000 index 000000000..ade4a3347 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_02.dbg.cpp @@ -0,0 +1 @@ +global_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_03.dbg.cpp new file mode 120000 index 000000000..597794253 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_03.dbg.cpp @@ -0,0 +1 @@ +global_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_04.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_04.dbg.cpp new file mode 120000 index 000000000..5fe218aa0 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_04.dbg.cpp @@ -0,0 +1 @@ +global_04.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_05.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_05.dbg.cpp new file mode 120000 index 000000000..da4111691 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_05.dbg.cpp @@ -0,0 +1 @@ +global_05.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_06.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_06.dbg.cpp new file mode 120000 index 000000000..7aa8b19f1 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_06.dbg.cpp @@ -0,0 +1 @@ +global_06.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_07.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_07.dbg.cpp new file mode 120000 index 000000000..a37f4b712 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_07.dbg.cpp @@ -0,0 +1 @@ +global_07.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_08.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_08.dbg.cpp new file mode 120000 index 000000000..2ba5ba881 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_08.dbg.cpp @@ -0,0 +1 @@ +global_08.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_09.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_09.dbg.cpp new file mode 120000 index 000000000..9089ed058 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_09.dbg.cpp @@ -0,0 +1 @@ +global_09.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_10.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_10.dbg.cpp new file mode 120000 index 000000000..b86d389f1 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_10.dbg.cpp @@ -0,0 +1 @@ +global_10.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_11.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_11.dbg.cpp new file mode 120000 index 000000000..87a61e4f1 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_11.dbg.cpp @@ -0,0 +1 @@ +global_11.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_12.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_12.dbg.cpp new file mode 120000 index 000000000..7fea909d4 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_12.dbg.cpp @@ -0,0 +1 @@ +global_12.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_13.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_13.dbg.cpp new file mode 120000 index 000000000..6ed858955 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_13.dbg.cpp @@ -0,0 +1 @@ +global_13.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_14.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_14.dbg.cpp new file mode 120000 index 000000000..4a5527a31 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_14.dbg.cpp @@ -0,0 +1 @@ +global_14.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_15.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_15.dbg.cpp new file mode 120000 index 000000000..15a167324 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_15.dbg.cpp @@ -0,0 +1 @@ +global_15.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/global_16.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/global_16.dbg.cpp new file mode 120000 index 000000000..f0f6c5483 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/global_16.dbg.cpp @@ -0,0 +1 @@ +global_16.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.dbg.cpp new file mode 120000 index 000000000..e0f88f0b6 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_add.dbg.cpp @@ -0,0 +1 @@ +overflow_add.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.dbg.cpp new file mode 120000 index 000000000..950055657 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_div_min_by_neg_one.dbg.cpp @@ -0,0 +1 @@ +overflow_div_min_by_neg_one.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.dbg.cpp new file mode 120000 index 000000000..8c373d833 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_mul.dbg.cpp @@ -0,0 +1 @@ +overflow_mul.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.dbg.cpp new file mode 120000 index 000000000..1a6997961 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/overflow_sub.dbg.cpp @@ -0,0 +1 @@ +overflow_sub.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.dbg.cpp new file mode 120000 index 000000000..c841693e0 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_01.dbg.cpp @@ -0,0 +1 @@ +recursion_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.dbg.cpp new file mode 120000 index 000000000..9b198f8fe --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_02.dbg.cpp @@ -0,0 +1 @@ +recursion_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.dbg.cpp new file mode 120000 index 000000000..e976bd33f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/recursion_03.dbg.cpp @@ -0,0 +1 @@ +recursion_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.dbg.cpp new file mode 120000 index 000000000..e87948e56 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/ub_division_by_zero.dbg.cpp @@ -0,0 +1 @@ +ub_division_by_zero.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.dbg.cpp new file mode 120000 index 000000000..72b4dd784 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/ub_modulo_by_zero.dbg.cpp @@ -0,0 +1 @@ +ub_modulo_by_zero.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/while_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_01.dbg.cpp new file mode 120000 index 000000000..be63d263f --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/while_01.dbg.cpp @@ -0,0 +1 @@ +while_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/while_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_02.dbg.cpp new file mode 120000 index 000000000..9b2cd1366 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/while_02.dbg.cpp @@ -0,0 +1 @@ +while_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/while_03.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_03.dbg.cpp new file mode 120000 index 000000000..c8130640e --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/while_03.dbg.cpp @@ -0,0 +1 @@ +while_03.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/linear_constant/while_04.dbg.cpp b/phasar/llvm/test/llvm_test_code/linear_constant/while_04.dbg.cpp new file mode 120000 index 000000000..d9bea2bb6 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/linear_constant/while_04.dbg.cpp @@ -0,0 +1 @@ +while_04.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt deleted file mode 100644 index 8201a4fbf..000000000 --- a/phasar/llvm/test/llvm_test_code/pointers/CMakeLists.txt +++ /dev/null @@ -1,27 +0,0 @@ -set(lca_files - basic_01.cpp - call_01.cpp - dynamic_01.cpp - global_01.cpp - inter_dynamic_01.cpp - inter_dynamic_02.cpp -) - -set(lca_files_mem2reg - basic_01.cpp - dynamic_01.cpp - inter_dynamic_01.cpp - inter_dynamic_02.cpp -) - -foreach(TEST_SRC ${lca_files}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${lca_files}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${lca_files_mem2reg}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/pointers/basic_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/basic_01.dbg.cpp new file mode 120000 index 000000000..b481a3dca --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/basic_01.dbg.cpp @@ -0,0 +1 @@ +basic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/basic_01.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/basic_01.m2r.dbg.cpp new file mode 120000 index 000000000..b481a3dca --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/basic_01.m2r.dbg.cpp @@ -0,0 +1 @@ +basic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/call_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/call_01.dbg.cpp new file mode 120000 index 000000000..8b5f92fee --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/call_01.dbg.cpp @@ -0,0 +1 @@ +call_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/call_01.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/call_01.m2r.dbg.cpp new file mode 120000 index 000000000..8b5f92fee --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/call_01.m2r.dbg.cpp @@ -0,0 +1 @@ +call_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.dbg.cpp new file mode 120000 index 000000000..d976c4a4d --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.dbg.cpp @@ -0,0 +1 @@ +dynamic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.m2r.dbg.cpp new file mode 120000 index 000000000..d976c4a4d --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/dynamic_01.m2r.dbg.cpp @@ -0,0 +1 @@ +dynamic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/global_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/global_01.dbg.cpp new file mode 120000 index 000000000..3983a0d28 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/global_01.dbg.cpp @@ -0,0 +1 @@ +global_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/global_01.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/global_01.m2r.dbg.cpp new file mode 120000 index 000000000..3983a0d28 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/global_01.m2r.dbg.cpp @@ -0,0 +1 @@ +global_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.dbg.cpp new file mode 120000 index 000000000..9fffb8629 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.dbg.cpp @@ -0,0 +1 @@ +inter_dynamic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.m2r.dbg.cpp new file mode 120000 index 000000000..9fffb8629 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_01.m2r.dbg.cpp @@ -0,0 +1 @@ +inter_dynamic_01.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.dbg.cpp new file mode 120000 index 000000000..9b6a9cc37 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.dbg.cpp @@ -0,0 +1 @@ +inter_dynamic_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.m2r.dbg.cpp b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.m2r.dbg.cpp new file mode 120000 index 000000000..9b6a9cc37 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/pointers/inter_dynamic_02.m2r.dbg.cpp @@ -0,0 +1 @@ +inter_dynamic_02.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt deleted file mode 100644 index abaa94d65..000000000 --- a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/CMakeLists.txt +++ /dev/null @@ -1,33 +0,0 @@ -set(taint_tests - taint_01.cpp - taint_02.cpp - taint_03.cpp - taint_04.cpp - taint_05.cpp - taint_exception_01.cpp - taint_exception_02.cpp - taint_exception_03.cpp - taint_exception_04.cpp - taint_exception_05.cpp - taint_exception_06.cpp - taint_exception_07.cpp - taint_exception_08.cpp - taint_exception_09.cpp - taint_exception_10.cpp -) - -set(taint_tests_mem2reg - taint_01.cpp - taint_06.cpp - taint_exception_01.cpp -) - - -foreach(TEST_SRC ${taint_tests}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) - - -foreach(TEST_SRC ${taint_tests_mem2reg}) - generate_ll_file(FILE ${TEST_SRC} MEM2REG DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_03.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_04.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_05.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_06.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.m2r.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.m2r.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_02.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_03.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_04.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_05.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_06.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_07.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_08.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_09.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.cpp rename to phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_10.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.dbg.c new file mode 120000 index 000000000..b793355ba --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_01.dbg.c @@ -0,0 +1 @@ +typestate_01.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.dbg.c new file mode 120000 index 000000000..8f7e94717 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_02.dbg.c @@ -0,0 +1 @@ +typestate_02.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.dbg.c new file mode 120000 index 000000000..22f7ca211 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_03.dbg.c @@ -0,0 +1 @@ +typestate_03.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.dbg.c new file mode 120000 index 000000000..64590739a --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_04.dbg.c @@ -0,0 +1 @@ +typestate_04.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.dbg.c new file mode 120000 index 000000000..c6b9787b7 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_05.dbg.c @@ -0,0 +1 @@ +typestate_05.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.dbg.c new file mode 120000 index 000000000..4ea1210b0 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_06.dbg.c @@ -0,0 +1 @@ +typestate_06.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.dbg.c new file mode 120000 index 000000000..388bf2dea --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_07.dbg.c @@ -0,0 +1 @@ +typestate_07.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.dbg.c new file mode 120000 index 000000000..da62d9273 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_08.dbg.c @@ -0,0 +1 @@ +typestate_08.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.dbg.c new file mode 120000 index 000000000..76a91b7a6 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_09.dbg.c @@ -0,0 +1 @@ +typestate_09.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.dbg.c new file mode 120000 index 000000000..4904f5d64 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_10.dbg.c @@ -0,0 +1 @@ +typestate_10.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.dbg.c new file mode 120000 index 000000000..8786bf91d --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_11.dbg.c @@ -0,0 +1 @@ +typestate_11.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.dbg.c new file mode 120000 index 000000000..cc2025c5a --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_12.dbg.c @@ -0,0 +1 @@ +typestate_12.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.dbg.c new file mode 120000 index 000000000..a3335cad5 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_13.dbg.c @@ -0,0 +1 @@ +typestate_13.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.dbg.c new file mode 120000 index 000000000..a200fbd33 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_14.dbg.c @@ -0,0 +1 @@ +typestate_14.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.dbg.c new file mode 120000 index 000000000..ccda3c629 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_15.dbg.c @@ -0,0 +1 @@ +typestate_15.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.dbg.c new file mode 120000 index 000000000..0895399df --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_16.dbg.c @@ -0,0 +1 @@ +typestate_16.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.dbg.c new file mode 120000 index 000000000..ea62dfa37 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_17.dbg.c @@ -0,0 +1 @@ +typestate_17.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.dbg.c new file mode 120000 index 000000000..4e3d9393c --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_18.dbg.c @@ -0,0 +1 @@ +typestate_18.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.dbg.c b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.dbg.c new file mode 120000 index 000000000..de43e0eb7 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/typestate_analysis_fileio/typestate_19.dbg.c @@ -0,0 +1 @@ +typestate_19.c \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt deleted file mode 100644 index ad1fa8702..000000000 --- a/phasar/llvm/test/llvm_test_code/xtaint/CMakeLists.txt +++ /dev/null @@ -1,37 +0,0 @@ -set(XTAINT_SOURCES - xtaint01.cpp - # xtaint01_json.cpp - xtaint02.cpp - xtaint03.cpp - xtaint04.cpp - xtaint05.cpp - xtaint06.cpp -# xtaint07.cpp -# xtaint08.cpp - xtaint09.cpp - xtaint09_1.cpp - xtaint10.cpp - xtaint11.cpp - xtaint12.cpp - xtaint13.cpp - xtaint14.cpp - xtaint15.cpp - xtaint16.cpp - xtaint17.cpp - xtaint18.cpp - xtaint19.cpp - xtaint20.cpp - xtaint21.cpp -) - -set(XTAINT_DBG_SOURCES - xtaint01_json.cpp -) - -foreach(TEST_SRC ${XTAINT_SOURCES}) - generate_ll_file(FILE ${TEST_SRC}) -endforeach(TEST_SRC) - -foreach(TEST_SRC ${XTAINT_DBG_SOURCES}) - generate_ll_file(FILE ${TEST_SRC} DEBUG) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.dbg.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.cpp rename to phasar/llvm/test/llvm_test_code/xtaint/xtaint01_json.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/array_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/array_02_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_02_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_03_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/basic_04_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/data_member_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/fun_member_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/fun_member_02_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/name_mangling_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/static_fun_01_config.json diff --git a/phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json b/phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json similarity index 100% rename from phasar/llvm/test/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json rename to phasar/llvm/test/resource/llvm_test_code/TaintConfig/JsonConfig/static_fun_02_config.json From e8ccbddbe724459efd5ee54dfdf9807ab9aef724 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 19:25:01 +0200 Subject: [PATCH 21/95] restructure: llvm_test_code generation done --- conanfile.txt | 1 + phasar/llvm/test/CMakeLists.txt | 4 +- .../llvm/test/llvm_test_code/CMakeLists.txt | 136 +++++++++++++++++- .../{StringTest.c => StringTestC.c} | 0 .../{StringTest.cpp => StringTestCpp.cpp} | 0 5 files changed, 136 insertions(+), 5 deletions(-) rename phasar/llvm/test/llvm_test_code/general_linear_constant/{StringTest.c => StringTestC.c} (100%) rename phasar/llvm/test/llvm_test_code/general_linear_constant/{StringTest.cpp => StringTestCpp.cpp} (100%) diff --git a/conanfile.txt b/conanfile.txt index 23277ee54..cbf8ab5aa 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -7,6 +7,7 @@ json-schema-validator/2.1.0 nlohmann_json/3.9.1 libcurl/7.80.0 zlib/1.2.12 # fix boost / clash zlib +openssl/3.0.5 # includes needed for some test files [generators] cmake diff --git a/phasar/llvm/test/CMakeLists.txt b/phasar/llvm/test/CMakeLists.txt index 220560a7b..b2dbd8ce9 100644 --- a/phasar/llvm/test/CMakeLists.txt +++ b/phasar/llvm/test/CMakeLists.txt @@ -1,5 +1,7 @@ just_add_tests( LINK phasar-test-utils + DEPENDS + LLFileGeneration EXCLUDE "^.*/WPDS/.*$" -) \ No newline at end of file +) diff --git a/phasar/llvm/test/llvm_test_code/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/CMakeLists.txt index dee9afd69..58addab16 100644 --- a/phasar/llvm/test/llvm_test_code/CMakeLists.txt +++ b/phasar/llvm/test/llvm_test_code/CMakeLists.txt @@ -1,6 +1,134 @@ add_custom_target(LLFileGeneration ALL) -subdirlist(subdirs ${CMAKE_CURRENT_SOURCE_DIR}) -foreach(subdir ${subdirs}) - add_subdirectory(${subdir}) -endforeach(subdir) +function(generate_ll_file) + # parse arguments + set(testfile FILE DEPENDENT) + cmake_parse_arguments(GEN_LL "${options}" "${testfile}" "" ${ARGN} ) + if(GEN_LL_UNPARSED_ARGUMENTS) + message(FATAL_ERROR "generate_ll_file has unparsed arguments \"${just_add_UNPARSED_ARGUMENTS}\" did you miss FILE before it?") + elseif(NOT GEN_LL_FILE) + message(FATAL_ERROR "generate_ll_file missing FILE to generata") + elseif(NOT GEN_LL_DEPENDENT) + message(FATAL_ERROR "generate_ll_file missing DEPENDENT, I dont know which target should depent on the generation of this file.") + endif() + + # check for mem2reg + string(FIND "${GEN_LL_FILE}" ".m2r." found_index) + if ("${found_index}" GREATER -1) + set(GEN_LL_MEM2REG ON) + endif() + + # check for debug + string(FIND "${GEN_LL_FILE}" ".dbg." found_index) + if ("${found_index}" GREATER -1) + set(GEN_LL_DEBUG ON) + endif() + + # check for opt + string(FIND "${GEN_LL_FILE}" ".o1." found_index) + if ("${found_index}" GREATER -1) + set(GEN_LL_O1 ON) + endif() + string(FIND "${GEN_LL_FILE}" ".o2." found_index) + if ("${found_index}" GREATER -1) + set(GEN_LL_O2 ON) + endif() + string(FIND "${GEN_LL_FILE}" ".o3." found_index) + if ("${found_index}" GREATER -1) + set(GEN_LL_O3 ON) + endif() + + # create new path / name + string(REGEX REPLACE "\.[^.]+$" ".ll" output_path "${GEN_LL_FILE}") + set(output_path "${CMAKE_CURRENT_BINARY_DIR}/${output_path}") + + # create directory structure if needed + cmake_path(GET output_path PARENT_PATH parent_path) + file(MAKE_DIRECTORY "${parent_path}") + + # define compilation flags + set(GEN_CXX_FLAGS -std=c++17 -fno-discard-value-names -emit-llvm -S) + set(GEN_C_FLAGS -fno-discard-value-names -emit-llvm -S) + set(GEN_CMD_COMMENT "[LL]") + if(GEN_LL_MEM2REG) + list(APPEND GEN_CXX_FLAGS -Xclang -disable-O0-optnone) + list(APPEND GEN_C_FLAGS -Xclang -disable-O0-optnone) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT}[M2R]") + endif() + if(GEN_LL_DEBUG) + list(APPEND GEN_CXX_FLAGS -g) + list(APPEND GEN_C_FLAGS -g) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT}[DBG]") + endif() + if(GEN_LL_O1) + list(APPEND GEN_CXX_FLAGS -O1) + list(APPEND GEN_C_FLAGS -O1) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT}[O1]") + elseif(GEN_LL_O2) + list(APPEND GEN_CXX_FLAGS -O2) + list(APPEND GEN_C_FLAGS -O2) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT}[O2]") + elseif(GEN_LL_03) + list(APPEND GEN_CXX_FLAGS -O3) + list(APPEND GEN_C_FLAGS -O3) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT}[O3]") + endif() + cmake_path(ABSOLUTE_PATH GEN_LL_FILE NORMALIZE OUTPUT_VARIABLE input_path) + set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT} ${input_path}") + + # define .ll file generation command + if("${GEN_LL_FILE}" MATCHES "\.cpp$") + set(GEN_CMD ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}) + list(APPEND GEN_CMD ${GEN_CXX_FLAGS}) + else() + set(GEN_CMD ${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER}) + list(APPEND GEN_CMD ${GEN_C_FLAGS}) + endif() + + # provide include paths + set(all_include_dirs ${CONAN_INCLUDE_DIRS}) + list(TRANSFORM all_include_dirs PREPEND "-I") + + if(GEN_LL_MEM2REG) + add_custom_command( + OUTPUT ${output_path} + COMMAND ${GEN_CMD} ${all_include_dirs} "${input_path}" -o "${output_path}" + COMMAND ${CMAKE_CXX_COMPILER_LAUNCHER} opt -mem2reg -S "${output_path}" -o "${output_path}" + COMMENT ${GEN_CMD_COMMENT} + DEPENDS ${GEN_LL_FILE} + VERBATIM + ) + else() + add_custom_command( + OUTPUT ${output_path} + COMMAND ${GEN_CMD} ${all_include_dirs} "${input_path}" -o "${output_path}" + COMMENT ${GEN_CMD_COMMENT} + DEPENDS ${GEN_LL_FILE} + VERBATIM + ) + endif() + + string(REGEX REPLACE "[/\\]" "__" test_code_file_target "${GEN_LL_FILE}") + string(REGEX REPLACE "[^a-zA-Z0-9_-]" "_" test_code_file_target "${test_code_file_target}") + set(test_code_file_target "${GEN_LL_DEPENDENT}__${test_code_file_target}") + add_custom_target("${test_code_file_target}" + DEPENDS ${output_path} + ) + + add_dependencies("${GEN_LL_DEPENDENT}" ${test_code_file_target}) +endfunction() + +file(GLOB_RECURSE test_code_files + LIST_DIRECTORIES false + RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" + "*.c*") +list(FILTER test_code_files INCLUDE REGEX "^.*\.(c|cpp)$") +list(FILTER test_code_files EXCLUDE REGEX "^.*xtaint0[78].cpp$") # TODO also excluded in CMakeList, maybe remove instead? +list(FILTER test_code_files EXCLUDE REGEX "^.*key-derivation[0-9].c$") # TODO includes are working but which version is the correct one? + +foreach(test_code_file ${test_code_files}) + generate_ll_file( + FILE "${test_code_file}" + DEPENDENT LLFileGeneration + ) +endforeach() diff --git a/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.c b/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTestC.c similarity index 100% rename from phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.c rename to phasar/llvm/test/llvm_test_code/general_linear_constant/StringTestC.c diff --git a/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.cpp b/phasar/llvm/test/llvm_test_code/general_linear_constant/StringTestCpp.cpp similarity index 100% rename from phasar/llvm/test/llvm_test_code/general_linear_constant/StringTest.cpp rename to phasar/llvm/test/llvm_test_code/general_linear_constant/StringTestCpp.cpp From 636846ae8c90d804f1c60aa6fe20b944635e3297 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 20:27:13 +0200 Subject: [PATCH 22/95] restructure: migrated .ll path in tests 60 tests still failing --- phasar/db/test/src/DBConnTest.cpp | 32 ++--- .../ControlFlow/LLVMBasedBackwardCFGTest.cpp | 15 +-- .../ControlFlow/LLVMBasedBackwardICFGTest.cpp | 6 +- .../test/src/ControlFlow/LLVMBasedCFGTest.cpp | 71 ++++------ .../ControlFlow/LLVMBasedICFGExportTest.cpp | 54 ++++---- .../LLVMBasedICFGGlobCtorDtorTest.cpp | 26 ++-- .../src/ControlFlow/LLVMBasedICFGTest.cpp | 75 +++++------ .../src/ControlFlow/LLVMBasedICFG_CHATest.cpp | 20 ++- .../src/ControlFlow/LLVMBasedICFG_DTATest.cpp | 10 +- .../src/ControlFlow/LLVMBasedICFG_OTFTest.cpp | 15 +-- .../src/ControlFlow/LLVMBasedICFG_RTATest.cpp | 15 +-- .../Problems/IDEExtendedTaintAnalysisTest.cpp | 46 +++---- .../Problems/IDEGeneralizedLCATest.cpp | 29 ++--- .../IDEInstInteractionAnalysisTest.cpp | 60 +++++---- .../IDELinearConstantAnalysisTest.cpp | 121 +++++++++--------- .../IDELinearConstantAnalysis_DotTest.cpp | 93 +++++++------- .../Problems/IDETSAnalysisFileIOTest.cpp | 41 +++--- .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 20 ++- .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 8 +- .../IDETSAnalysisOpenSSLSecureMemoryTest.cpp | 14 +- .../Problems/IFDSConstAnalysisTest.cpp | 116 ++++++++--------- .../Problems/IFDSTaintAnalysisTest.cpp | 50 +++----- .../IFDSUninitializedVariablesTest.cpp | 45 ++++--- .../InterMonoFullConstantPropagationTest.cpp | 15 +-- .../Mono/InterMonoTaintAnalysisTest.cpp | 58 ++++----- .../IntraMonoFullConstantPropagationTest.cpp | 20 +-- .../Mono/IntraMonoUninitVariablesTest.cpp | 7 +- phasar/llvm/test/src/LLVMShorthandsTest.cpp | 6 +- .../LLVMPointsToSetSerializationTest.cpp | 8 +- .../test/src/Pointer/LLVMPointsToSetTest.cpp | 6 +- .../test/src/TaintConfig/TaintConfigTest.cpp | 52 ++++---- .../TypeHierarchy/LLVMTypeHierarchyTest.cpp | 72 ++++------- .../test/src/TypeHierarchy/TypeGraphTest.cpp | 22 ++-- .../llvm/test/src/Utils/LLVMIRToSrcTest.cpp | 13 +- .../WPDSLinearConstantAnalysisTest.cpp | 40 +++--- 35 files changed, 589 insertions(+), 712 deletions(-) diff --git a/phasar/db/test/src/DBConnTest.cpp b/phasar/db/test/src/DBConnTest.cpp index 1f26473fb..055d82a84 100644 --- a/phasar/db/test/src/DBConnTest.cpp +++ b/phasar/db/test/src/DBConnTest.cpp @@ -8,18 +8,18 @@ using namespace psr; class DBConnTest : public ::testing::Test { protected: - const string pathToLLFiles = PhasarDirectory + "build/test/llvm_test_code/"; + const string pathToLLFiles = "llvm_test_code/"; }; TEST_F(DBConnTest, HandleLTHStoreWithMultipleProjects) { ProjectIRDB firstIRDB( - {pathToLLFiles + "module_wise/module_wise_13/src1_cpp.ll", - pathToLLFiles + "module_wise/module_wise_13/src2_cpp.ll", - pathToLLFiles + "module_wise/module_wise_13/main_cpp.ll"}); + {pathToLLFiles + "module_wise/module_wise_13/src1.ll", + pathToLLFiles + "module_wise/module_wise_13/src2.ll", + pathToLLFiles + "module_wise/module_wise_13/main.ll"}); ProjectIRDB secondIRDB( - {pathToLLFiles + "module_wise/module_wise_14/src1_cpp.ll", - pathToLLFiles + "module_wise/module_wise_14/src2_cpp.ll", - pathToLLFiles + "module_wise/module_wise_14/main_cpp.ll"}); + {pathToLLFiles + "module_wise/module_wise_14/src1.ll", + pathToLLFiles + "module_wise/module_wise_14/src2.ll", + pathToLLFiles + "module_wise/module_wise_14/main.ll"}); DBConn &db = DBConn::getInstance(); LLVMTypeHierarchy TH1(firstIRDB); @@ -33,10 +33,10 @@ TEST_F(DBConnTest, HandleLTHStoreWithMultipleProjects) { } // TEST_F(DBConnTest, HandleLTHWriteToHex) { -// ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1_cpp.ll", -// pathToLLFiles + "module_wise/module_wise_9/src2_cpp.ll", +// ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1.ll", +// pathToLLFiles + "module_wise/module_wise_9/src2.ll", // pathToLLFiles + -// "module_wise/module_wise_9/src3_cpp.ll"}); +// "module_wise/module_wise_9/src3.ll"}); // DBConn &db = DBConn::getInstance(); // db.storeProjectIRDB("phasardbtest", IRDB); // LLVMTypeHierarchy TH(IRDB); @@ -47,9 +47,9 @@ TEST_F(DBConnTest, HandleLTHStoreWithMultipleProjects) { // } TEST_F(DBConnTest, HandleLTHWriteToDot) { - ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1_cpp.ll", - pathToLLFiles + "module_wise/module_wise_9/src2_cpp.ll", - pathToLLFiles + "module_wise/module_wise_9/src3_cpp.ll"}); + ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1.ll", + pathToLLFiles + "module_wise/module_wise_9/src2.ll", + pathToLLFiles + "module_wise/module_wise_9/src3.ll"}); DBConn &db = DBConn::getInstance(); db.storeProjectIRDB("phasardbtest", IRDB); LLVMTypeHierarchy TH(IRDB); @@ -60,9 +60,9 @@ TEST_F(DBConnTest, HandleLTHWriteToDot) { } TEST_F(DBConnTest, StoreProjectIRDBTest) { - ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1_cpp.ll", - pathToLLFiles + "module_wise/module_wise_9/src2_cpp.ll", - pathToLLFiles + "module_wise/module_wise_9/src3_cpp.ll"}); + ProjectIRDB IRDB({pathToLLFiles + "module_wise/module_wise_9/src1.ll", + pathToLLFiles + "module_wise/module_wise_9/src2.ll", + pathToLLFiles + "module_wise/module_wise_9/src3.ll"}); DBConn &db = DBConn::getInstance(); db.storeProjectIRDB("phasardbtest", IRDB); } diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp index d7d2fa023..ef44ad5e1 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardCFGTest.cpp @@ -16,8 +16,7 @@ using namespace psr; TEST(LLVMBasedBackwardCFGTest, BranchTargetTest) { LLVMBasedBackwardCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); const auto *Term = getNthTermInstruction(F, 1); const auto *A = getNthInstruction(F, 10); @@ -31,8 +30,7 @@ TEST(LLVMBasedBackwardCFGTest, BranchTargetTest) { TEST(LLVMBasedBackwardCFGTest, HandlesMulitplePredeccessors) { LLVMBasedBackwardCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING CONDITIONAL BRANCH @@ -58,8 +56,7 @@ TEST(LLVMBasedBackwardCFGTest, HandlesMulitplePredeccessors) { TEST(LLVMBasedBackwardCFGTest, HandlesSingleOrEmptyPredeccessor) { LLVMBasedBackwardCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/function_call_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/function_call.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING SINGLE PREDECCESSOR @@ -81,8 +78,7 @@ TEST(LLVMBasedBackwardCFGTest, HandlesSingleOrEmptyPredeccessor) { TEST(LLVMBasedBackwardCFGTest, HandlesMultipleSuccessors) { LLVMBasedBackwardCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // ret i32 0 @@ -99,8 +95,7 @@ TEST(LLVMBasedBackwardCFGTest, HandlesMultipleSuccessors) { TEST(LLVMBasedBackwardCFGTest, HandlesSingleOrEmptySuccessor) { LLVMBasedBackwardCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING SINGLE SUCCESSOR diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp index caee5d598..e772a7828 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedBackwardICFGTest.cpp @@ -11,11 +11,7 @@ using namespace std; using namespace psr; -class LLVMBasedBackwardICFGTest : public ::testing::Test { -protected: - const std::string PathToLlFiles = - PhasarConfig::PhasarDirectory() + "build/test/llvm_test_code/"; -}; +class LLVMBasedBackwardICFGTest : public ::testing::Test {}; TEST_F(LLVMBasedBackwardICFGTest, test1) { // TODO add suitable test cases diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp index eaff46e32..11ecc4f2e 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedCFGTest.cpp @@ -15,8 +15,7 @@ using namespace psr; TEST(LLVMBasedCFGTest, FallThroughSuccTest) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING CONDITIONAL BRANCH @@ -38,8 +37,7 @@ TEST(LLVMBasedCFGTest, FallThroughSuccTest) { TEST(LLVMBasedCFGTest, BranchTargetTest) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/switch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/switch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING SWITCH INSTRUCTION @@ -74,8 +72,7 @@ TEST(LLVMBasedCFGTest, BranchTargetTest) { TEST(LLVMBasedCFGTest, HandlesMulitplePredeccessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // ret i32 0 @@ -91,8 +88,7 @@ TEST(LLVMBasedCFGTest, HandlesMulitplePredeccessors) { TEST(LLVMBasedCFGTest, HandlesSingleOrEmptyPredeccessor) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING SINGLE PREDECCESSOR @@ -123,8 +119,7 @@ TEST(LLVMBasedCFGTest, HandlesSingleOrEmptyPredeccessor) { TEST(LLVMBasedCFGTest, HandlesMultipleSuccessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/branch_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/branch.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING CONDITIONAL BRANCH @@ -150,8 +145,7 @@ TEST(LLVMBasedCFGTest, HandlesMultipleSuccessors) { TEST(LLVMBasedCFGTest, HandlesSingleOrEmptySuccessor) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/function_call_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/function_call.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING SINGLE SUCCESSOR @@ -173,8 +167,7 @@ TEST(LLVMBasedCFGTest, HandlesSingleOrEmptySuccessor) { TEST(LLVMBasedCFGTest, HandlesCallSuccessor) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/function_call_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/function_call.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); // HANDLING CALL INSTRUCTION SUCCESSOR @@ -189,7 +182,7 @@ TEST(LLVMBasedCFGTest, HandlesCallSuccessor) { TEST(LLVMBasedCFGTest, HandleFieldLoadsArray) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "fields/array_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/fields/array_1.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); const auto *Inst = getNthInstruction(F, 1); ASSERT_FALSE(Cfg.isFieldLoad(Inst)); @@ -199,7 +192,7 @@ TEST(LLVMBasedCFGTest, HandleFieldLoadsArray) { TEST(LLVMBasedCFGTest, HandleFieldStoreArray) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "fields/array_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/fields/array_1.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); const auto *Inst = getNthInstruction(F, 1); ASSERT_FALSE(Cfg.isFieldStore(Inst)); @@ -209,7 +202,7 @@ TEST(LLVMBasedCFGTest, HandleFieldStoreArray) { TEST(LLVMBasedCFGTest, HandleFieldLoadsField) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "fields/field_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/fields/field_1.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); const auto *Inst = getNthInstruction(F, 1); ASSERT_FALSE(Cfg.isFieldLoad(Inst)); @@ -223,7 +216,7 @@ TEST(LLVMBasedCFGTest, HandleFieldLoadsField) { TEST(LLVMBasedCFGTest, HandleFieldStoreField) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "fields/field_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/fields/field_1.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); const auto *Inst = getNthInstruction(F, 1); ASSERT_FALSE(Cfg.isFieldStore(Inst)); @@ -239,11 +232,9 @@ PHASAR_SKIP_TEST(TEST(LLVMBasedCFGTest, HandlesCppStandardType) { // If we use libcxx this won't work since internal implementation is different LIBCPP_GTEST_SKIP; - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "name_mangling/special_members_2_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/name_mangling/special_members_2.ll"}); - auto *M = IRDB.getModule(unittest::PathToLLTestFiles + - "name_mangling/special_members_2_cpp.ll"); + auto *M = IRDB.getModule("llvm_test_code/name_mangling/special_members_2.ll"); auto *F = M->getFunction("_ZNSt8ios_base4InitC1Ev"); LLVMBasedCFG CFG; ASSERT_EQ(CFG.getSpecialMemberFunctionType(F), @@ -258,11 +249,9 @@ PHASAR_SKIP_TEST(TEST(LLVMBasedCFGTest, HandlesCppStandardType) { }) TEST(LLVMBasedCFGTest, HandlesCppUserDefinedType) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "name_mangling/special_members_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/name_mangling/special_members_1.ll"}); - auto *M = IRDB.getModule(unittest::PathToLLTestFiles + - "name_mangling/special_members_1_cpp.ll"); + auto *M = IRDB.getModule("llvm_test_code/name_mangling/special_members_1.ll"); auto *F = M->getFunction("_ZN7MyClassC2Ev"); LLVMBasedCFG CFG; ASSERT_EQ(CFG.getSpecialMemberFunctionType(F), @@ -276,11 +265,9 @@ TEST(LLVMBasedCFGTest, HandlesCppUserDefinedType) { } TEST(LLVMBasedCFGTest, HandlesCppNonStandardFunctions) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "name_mangling/special_members_3_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/name_mangling/special_members_3.ll"}); - auto *M = IRDB.getModule(unittest::PathToLLTestFiles + - "name_mangling/special_members_3_cpp.ll"); + auto *M = IRDB.getModule("llvm_test_code/name_mangling/special_members_3.ll"); auto *F = M->getFunction("_ZN9testspace3foo3barES0_"); LLVMBasedCFG CFG; ASSERT_EQ(CFG.getSpecialMemberFunctionType(F), @@ -288,11 +275,9 @@ TEST(LLVMBasedCFGTest, HandlesCppNonStandardFunctions) { } TEST(LLVMBasedCFGTest, HandleFunctionsContainingCodesInName) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "name_mangling/special_members_4_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/name_mangling/special_members_4.ll"}); - auto *M = IRDB.getModule(unittest::PathToLLTestFiles + - "name_mangling/special_members_4_cpp.ll"); + auto *M = IRDB.getModule("llvm_test_code/name_mangling/special_members_4.ll"); auto *F = M->getFunction("_ZN8C0C1C2C12D1C2Ev"); // C0C1C2C1::D1::D1() LLVMBasedCFG CFG; std::cout << "VALUE IS: " @@ -319,8 +304,7 @@ TEST(LLVMBasedCFGTest, HandleFunctionsContainingCodesInName) { TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInSuccessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_1_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_1.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); const auto *I1 = getNthInstruction(F, 4); // Ask a non-debug instructions for its successors @@ -338,8 +322,7 @@ TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInSuccessors) { TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInSuccessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_4_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_4.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); const auto *I1 = getNthInstruction(F, 5); // Ask a non-debug instructions for its successors @@ -357,8 +340,7 @@ TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInSuccessors) { TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInPredecessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_1_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_1.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); const auto *I1 = getNthInstruction(F, 6); // Ask a non-debug instructions for its successors @@ -376,8 +358,7 @@ TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInPredecessors) { TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInPredecessors) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_4_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_4.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); const auto *I1 = getNthInstruction(F, 9); // Ask a non-debug instructions for its successors @@ -395,8 +376,7 @@ TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInPredecessors) { TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInControlFlowEdges) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_1_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_1.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); auto ControlFlowEdges = Cfg.getAllControlFlowEdges(F); for (const auto &[Src, Dst] : ControlFlowEdges) { @@ -414,8 +394,7 @@ TEST(LLVMBasedCFGTest, IgnoreSingleDbgInstructionsInControlFlowEdges) { TEST(LLVMBasedCFGTest, IgnoreMultiSubsequentDbgInstructionsInControlFlowEdges) { LLVMBasedCFG Cfg; - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "control_flow/ignore_dbg_insts_4_cpp_dbg.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/control_flow/ignore_dbg_insts_4.dbg.ll"}); const auto *F = IRDB1.getFunctionDefinition("main"); auto ControlFlowEdges = Cfg.getAllControlFlowEdges(F); for (const auto &[Src, Dst] : ControlFlowEdges) { diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp index 8b846679c..2c807f55d 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp @@ -34,7 +34,7 @@ using MapTy = llvm::DenseMap::config_callback_t, class IDETaintAnalysisTest : public ::testing::Test { protected: - const std::string PathToLLFiles = unittest::PathToLLTestFiles + "xtaint/"; + const std::string PathToLLFiles = "llvm_test_code/xtaint/"; const std::set EntryPoints = {"main"}; IDETaintAnalysisTest() = default; @@ -144,7 +144,7 @@ TEST_F(IDETaintAnalysisTest, XTaint01_Json) { ] })!"_json; - doAnalysis({PathToLLFiles + "xtaint01_json_cpp_dbg.ll"}, Gt, &Config); + doAnalysis({PathToLLFiles + "xtaint01_json.dbg.ll"}, Gt, &Config); } TEST_F(IDETaintAnalysisTest, XTaint01) { @@ -152,7 +152,7 @@ TEST_F(IDETaintAnalysisTest, XTaint01) { Gt[15] = {"14"}; - doAnalysis({PathToLLFiles + "xtaint01_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint01.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint02) { @@ -160,14 +160,14 @@ TEST_F(IDETaintAnalysisTest, XTaint02) { Gt[20] = {"19"}; - doAnalysis({PathToLLFiles + "xtaint02_cpp.ll"}, Gt, std::monostate{}, true); + doAnalysis({PathToLLFiles + "xtaint02.ll"}, Gt, std::monostate{}, true); } TEST_F(IDETaintAnalysisTest, XTaint03) { map> Gt; Gt[23] = {"22"}; - doAnalysis({PathToLLFiles + "xtaint03_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint03.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint04) { @@ -175,7 +175,7 @@ TEST_F(IDETaintAnalysisTest, XTaint04) { Gt[17] = {"16"}; - doAnalysis({PathToLLFiles + "xtaint04_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint04.ll"}, Gt, std::monostate{}); } // XTaint05 is similar to 06, but even harder @@ -185,7 +185,7 @@ TEST_F(IDETaintAnalysisTest, XTaint06) { // no leaks expected - doAnalysis({PathToLLFiles + "xtaint06_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint06.ll"}, Gt, std::monostate{}); } /// In the new TaintConfig specifying source/sink/sanitizer properties for extra @@ -196,7 +196,7 @@ TEST_F(IDETaintAnalysisTest, DISABLED_XTaint07) { Gt[21] = {"20"}; - doAnalysis({PathToLLFiles + "xtaint07_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint07.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, DISABLED_XTaint08) { @@ -204,7 +204,7 @@ TEST_F(IDETaintAnalysisTest, DISABLED_XTaint08) { Gt[24] = {"23"}; - doAnalysis({PathToLLFiles + "xtaint08_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint08.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint09_1) { @@ -212,7 +212,7 @@ TEST_F(IDETaintAnalysisTest, XTaint09_1) { Gt[27] = {"26"}; - doAnalysis({PathToLLFiles + "xtaint09_1_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint09_1.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint09) { @@ -220,7 +220,7 @@ TEST_F(IDETaintAnalysisTest, XTaint09) { Gt[34] = {"33"}; - doAnalysis({PathToLLFiles + "xtaint09_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint09.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, DISABLED_XTaint10) { @@ -235,7 +235,7 @@ TEST_F(IDETaintAnalysisTest, DISABLED_XTaint10) { // TODO: Also update the Gt Gt[33] = {"32"}; - doAnalysis({PathToLLFiles + "xtaint10_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint10.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, DISABLED_XTaint11) { @@ -243,7 +243,7 @@ TEST_F(IDETaintAnalysisTest, DISABLED_XTaint11) { // no leaks expected; actually finds "27" at 28 - doAnalysis({PathToLLFiles + "xtaint11_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint11.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint12) { @@ -253,7 +253,7 @@ TEST_F(IDETaintAnalysisTest, XTaint12) { // kill aliases at all Gt[30] = {"29"}; - doAnalysis({PathToLLFiles + "xtaint12_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint12.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint13) { @@ -261,7 +261,7 @@ TEST_F(IDETaintAnalysisTest, XTaint13) { Gt[32] = {"31"}; - doAnalysis({PathToLLFiles + "xtaint13_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint13.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint14) { @@ -269,7 +269,7 @@ TEST_F(IDETaintAnalysisTest, XTaint14) { Gt[35] = {"34"}; - doAnalysis({PathToLLFiles + "xtaint14_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint14.ll"}, Gt, std::monostate{}); } /// The TaintConfig fails to get all call-sites of Source::get, because it has @@ -279,7 +279,7 @@ TEST_F(IDETaintAnalysisTest, DISABLED_XTaint15) { Gt[47] = {"46"}; - doAnalysis({PathToLLFiles + "xtaint15_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint15.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint16) { @@ -287,7 +287,7 @@ TEST_F(IDETaintAnalysisTest, XTaint16) { Gt[26] = {"25"}; - doAnalysis({PathToLLFiles + "xtaint16_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint16.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint17) { @@ -295,7 +295,7 @@ TEST_F(IDETaintAnalysisTest, XTaint17) { Gt[29] = {"28"}; - doAnalysis({PathToLLFiles + "xtaint17_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint17.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint18) { @@ -303,7 +303,7 @@ TEST_F(IDETaintAnalysisTest, XTaint18) { // Gt[26] = {"25"}; - doAnalysis({PathToLLFiles + "xtaint18_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint18.ll"}, Gt, std::monostate{}); } PHASAR_SKIP_TEST(TEST_F(IDETaintAnalysisTest, XTaint19) { @@ -313,7 +313,7 @@ PHASAR_SKIP_TEST(TEST_F(IDETaintAnalysisTest, XTaint19) { Gt[22] = {"21"}; - doAnalysis({PathToLLFiles + "xtaint19_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint19.ll"}, Gt, std::monostate{}); }) TEST_F(IDETaintAnalysisTest, XTaint20) { @@ -322,7 +322,7 @@ TEST_F(IDETaintAnalysisTest, XTaint20) { Gt[25] = {"17"}; Gt[27] = {"26"}; - doAnalysis({PathToLLFiles + "xtaint20_cpp.ll"}, Gt, std::monostate{}); + doAnalysis({PathToLLFiles + "xtaint20.ll"}, Gt, std::monostate{}); } TEST_F(IDETaintAnalysisTest, XTaint21) { @@ -353,6 +353,6 @@ TEST_F(IDETaintAnalysisTest, XTaint21) { return Ret; }; - doAnalysis({PathToLLFiles + "xtaint21_cpp.ll"}, Gt, + doAnalysis({PathToLLFiles + "xtaint21.ll"}, Gt, CallBackPairTy{std::move(SourceCB), std::move(SinkCB)}); } diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp index 022efb086..3e8813725 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEGeneralizedLCATest.cpp @@ -34,8 +34,7 @@ using groundTruth_t = class IDEGeneralizedLCATest : public ::testing::Test { protected: - const std::string PathToLLFiles = - unittest::PathToLLTestFiles + "general_linear_constant/"; + const std::string PathToLLFiles = "llvm_test_code/general_linear_constant/"; std::unique_ptr IRDB; std::unique_ptr> LCASolver; @@ -89,7 +88,7 @@ class IDEGeneralizedLCATest : public ::testing::Test { }; // class Fixture TEST_F(IDEGeneralizedLCATest, SimpleTest) { - initialize("SimpleTest_c.ll"); + initialize("SimpleTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(10)}, 3, 20}); GroundTruth.push_back({{EdgeValue(15)}, 4, 20}); @@ -97,7 +96,7 @@ TEST_F(IDEGeneralizedLCATest, SimpleTest) { } TEST_F(IDEGeneralizedLCATest, BranchTest) { - initialize("BranchTest_c.ll"); + initialize("BranchTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(25), EdgeValue(43)}, 3, 22}); GroundTruth.push_back({{EdgeValue(24)}, 4, 22}); @@ -105,15 +104,15 @@ TEST_F(IDEGeneralizedLCATest, BranchTest) { } TEST_F(IDEGeneralizedLCATest, FPtest) { - initialize("FPtest_c.ll"); + initialize("FPtest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(4.5)}, 1, 16}); GroundTruth.push_back({{EdgeValue(2.0)}, 2, 16}); compareResults(GroundTruth); } -TEST_F(IDEGeneralizedLCATest, StringTest) { - initialize("StringTest_c.ll"); +TEST_F(IDEGeneralizedLCATest, StringTestC) { + initialize("StringTestC.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue("Hello, World")}, 2, 8}); GroundTruth.push_back({{EdgeValue("Hello, World")}, 3, 8}); @@ -121,7 +120,7 @@ TEST_F(IDEGeneralizedLCATest, StringTest) { } TEST_F(IDEGeneralizedLCATest, StringBranchTest) { - initialize("StringBranchTest_c.ll"); + initialize("StringBranchTest.ll"); std::vector GroundTruth; GroundTruth.push_back( {{EdgeValue("Hello, World"), EdgeValue("Hello Hello")}, 3, 15}); @@ -130,7 +129,7 @@ TEST_F(IDEGeneralizedLCATest, StringBranchTest) { } TEST_F(IDEGeneralizedLCATest, StringTestCpp) { - initialize("StringTest_cpp.ll"); + initialize("StringTestCpp.ll"); std::vector GroundTruth; const auto *LastMainInstruction = getLastInstructionOf(IRDB->getFunction("main")); @@ -141,7 +140,7 @@ TEST_F(IDEGeneralizedLCATest, StringTestCpp) { } TEST_F(IDEGeneralizedLCATest, FloatDivisionTest) { - initialize("FloatDivision_c.ll"); + initialize("FloatDivision.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(nullptr)}, 1, 24}); // i GroundTruth.push_back({{EdgeValue(1.0)}, 2, 24}); // j @@ -150,7 +149,7 @@ TEST_F(IDEGeneralizedLCATest, FloatDivisionTest) { } TEST_F(IDEGeneralizedLCATest, SimpleFunctionTest) { - initialize("SimpleFunctionTest_c.ll"); + initialize("SimpleFunctionTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(48)}, 10, 31}); // i GroundTruth.push_back({{EdgeValue(nullptr)}, 11, 31}); // j @@ -158,7 +157,7 @@ TEST_F(IDEGeneralizedLCATest, SimpleFunctionTest) { } TEST_F(IDEGeneralizedLCATest, GlobalVariableTest) { - initialize("GlobalVariableTest_c.ll"); + initialize("GlobalVariableTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(50)}, 7, 13}); // i GroundTruth.push_back({{EdgeValue(8)}, 10, 13}); // j @@ -166,7 +165,7 @@ TEST_F(IDEGeneralizedLCATest, GlobalVariableTest) { } TEST_F(IDEGeneralizedLCATest, Imprecision) { - initialize("Imprecision_c.ll", 2); + initialize("Imprecision.ll", 2); // auto xInst = IRDB->getInstruction(0); // foo.x // auto yInst = IRDB->getInstruction(1); // foo.y // auto barInst = IRDB->getInstruction(7); @@ -183,14 +182,14 @@ TEST_F(IDEGeneralizedLCATest, Imprecision) { } TEST_F(IDEGeneralizedLCATest, ReturnConstTest) { - initialize("ReturnConstTest_c.ll"); + initialize("ReturnConstTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue(43)}, 7, 8}); // i compareResults(GroundTruth); } TEST_F(IDEGeneralizedLCATest, NullTest) { - initialize("NullTest_c.ll"); + initialize("NullTest.ll"); std::vector GroundTruth; GroundTruth.push_back({{EdgeValue("")}, 4, 5}); // foo(null) compareResults(GroundTruth); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp index 02a661b80..06febc964 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDEInstInteractionAnalysisTest.cpp @@ -36,8 +36,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDEInstInteractionAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "inst_interaction/"; + const std::string PathToLlFiles = "llvm_test_code/inst_interaction/"; const std::set EntryPoints = {"main"}; // Function - Line Nr - Variable - Values @@ -142,8 +141,7 @@ class IDEInstInteractionAnalysisTest : public ::testing::Test { // TEST(IDEInstInteractionAnalysisTTest, HandleInterger) { // bool printDump = false; // ProjectIRDB IRDB( -// {PhasarConfig::getPhasarConfig().PhasarDirectory() + -// "build/test/llvm_test_code/inst_interaction/basic_01_cpp.ll"}, +// {"llvm_test_code/inst_interaction/basic_01.ll"}, // IRDBOptions::WPA); // if (printDump) { // IRDB.emitPreprocessedIR(llvm::outs(), false); @@ -219,7 +217,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_01) { GroundTruth.emplace( std::tuple>( "main", 9, "retval", {"3"})); - doAnalysisAndCompareResults("basic_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_01.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_02) { @@ -242,7 +240,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_02) { GroundTruth.emplace( std::tuple>( "main", 24, "k", {"22", "21", "16", "18", "20"})); - doAnalysisAndCompareResults("basic_02_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_02.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_03) { @@ -256,7 +254,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_03) { GroundTruth.emplace( std::tuple>( "main", 20, "x", {"5", "7", "14", "15", "16"})); - doAnalysisAndCompareResults("basic_03_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_03.ll", GroundTruth, false); } PHASAR_SKIP_TEST(TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_04) { @@ -282,7 +280,7 @@ PHASAR_SKIP_TEST(TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_04) { GroundTruth.emplace( std::tuple>( "main", 24, "k", {"10", "11", "12", "16", "19", "20", "25", "27"})); - doAnalysisAndCompareResults("basic_04_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_04.ll", GroundTruth, false); }) TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_05) { @@ -293,7 +291,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_05) { GroundTruth.emplace( std::tuple>( "main", 11, "retval", {"2"})); - doAnalysisAndCompareResults("basic_05_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_05.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_06) { @@ -313,7 +311,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_06) { GroundTruth.emplace( std::tuple>( "main", 19, "p", {"1", "2", "9", "11", "14", "16"})); - doAnalysisAndCompareResults("basic_06_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_06.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_07) { @@ -333,7 +331,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_07) { GroundTruth.emplace( std::tuple>( "main", 15, "j", {"8", "9", "10", "11"})); - doAnalysisAndCompareResults("basic_07_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_07.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_08) { @@ -344,7 +342,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_08) { GroundTruth.emplace( std::tuple>( "main", 12, "i", {"9", "10"})); - doAnalysisAndCompareResults("basic_08_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_08.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_09) { @@ -358,7 +356,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_09) { GroundTruth.emplace( std::tuple>( "main", 10, "retval", {"3"})); - doAnalysisAndCompareResults("basic_09_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_09.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_10) { @@ -369,7 +367,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_10) { GroundTruth.emplace( std::tuple>( "main", 6, "retval", {"2"})); - doAnalysisAndCompareResults("basic_10_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_10.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_11) { @@ -380,7 +378,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleBasicTest_11) { GroundTruth.emplace( std::tuple>( "main", 20, "retval", {"11", "16", "18"})); - doAnalysisAndCompareResults("basic_11_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("basic_11.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_01) { @@ -398,7 +396,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_01) { std::tuple>( "main", 14, "k", {"15", "1", "2", "13", "16", "12", "9", "10", "11"})); - doAnalysisAndCompareResults("call_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_01.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_02) { @@ -416,7 +414,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_02) { std::tuple>( "main", 13, "k", {"4", "19", "5", "15", "6", "3", "14", "2", "13", "16", "18"})); - doAnalysisAndCompareResults("call_02_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_02.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_03) { @@ -432,7 +430,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_03) { "main", 10, "j", {"22", "15", "6", "21", "3", "2", "13", "8", "9", "12", "10", "24", "25"})); - doAnalysisAndCompareResults("call_03_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_03.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_04) { @@ -454,7 +452,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_04) { {"41", "19", "15", "6", "44", "3", "2", "13", "8", "45", "18", "9", "12", "10", "46", "24", "47", "25", "35", "27", "23", "26", "38", "34", "37", "42", "40"})); - doAnalysisAndCompareResults("call_04_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_04.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_05) { @@ -468,7 +466,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_05) { GroundTruth.emplace( std::tuple>( "main", 10, "j", {"1", "10", "12", "13"})); - doAnalysisAndCompareResults("call_05_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_05.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_06) { @@ -488,7 +486,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleCallTest_06) { GroundTruth.emplace( std::tuple>( "main", 24, "l", {"4", "15", "3", "1", "2", "25", "27"})); - doAnalysisAndCompareResults("call_06_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("call_06.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_01) { @@ -502,7 +500,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_01) { GroundTruth.emplace( std::tuple>( "main", 9, "j", {"0", "5", "6"})); - doAnalysisAndCompareResults("global_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_01.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_02) { @@ -525,7 +523,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_02) { GroundTruth.emplace( std::tuple>( "main", 12, "c", {"1", "8", "7", "13"})); - doAnalysisAndCompareResults("global_02_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_02.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_03) { @@ -539,7 +537,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_03) { GroundTruth.emplace( std::tuple>( "main", 17, "GlobalFeature", {"0", "1"})); - doAnalysisAndCompareResults("global_03_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_03.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_04) { @@ -559,7 +557,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_04) { GroundTruth.emplace( std::tuple>( "_Z7doStuffi", 2, "GlobalFeature", {"0", "3"})); - doAnalysisAndCompareResults("global_04_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_04.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, KillTest_01) { @@ -576,7 +574,7 @@ TEST_F(IDEInstInteractionAnalysisTest, KillTest_01) { GroundTruth.emplace( std::tuple>( "main", 12, "k", {"9", "8", "5", "6"})); - doAnalysisAndCompareResults("KillTest_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("KillTest_01.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, KillTest_02) { @@ -593,7 +591,7 @@ TEST_F(IDEInstInteractionAnalysisTest, KillTest_02) { GroundTruth.emplace( std::tuple>( "main", 12, "C", {"1", "7", "8", "13"})); - doAnalysisAndCompareResults("KillTest_02_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("KillTest_02.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleReturnTest_01) { @@ -613,7 +611,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleReturnTest_01) { GroundTruth.emplace( std::tuple>( "main", 8, "call", {"0", "6"})); - doAnalysisAndCompareResults("return_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("return_01.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleHeapTest_01) { @@ -627,7 +625,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleHeapTest_01) { GroundTruth.emplace( std::tuple>( "main", 19, "j", {"6", "7", "8", "17", "10", "9"})); - doAnalysisAndCompareResults("heap_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("heap_01.ll", GroundTruth, false); } PHASAR_SKIP_TEST(TEST_F(IDEInstInteractionAnalysisTest, HandleRVOTest_01) { @@ -644,7 +642,7 @@ PHASAR_SKIP_TEST(TEST_F(IDEInstInteractionAnalysisTest, HandleRVOTest_01) { GroundTruth.emplace( std::tuple>( "main", 16, "ref.tmp", {"66", "9", "6", "29", "72", "73", "71"})); - doAnalysisAndCompareResults("rvo_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("rvo_01.ll", GroundTruth, false); }) TEST_F(IDEInstInteractionAnalysisTest, HandleStruct_01) { @@ -658,5 +656,5 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleStruct_01) { GroundTruth.emplace( std::tuple>( "main", 10, "x", {"1", "4", "5", "13"})); - doAnalysisAndCompareResults("struct_01_cpp.ll", GroundTruth, false); + doAnalysisAndCompareResults("struct_01.ll", GroundTruth, false); } diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp index 2ce4df6fd..e42262d00 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysisTest.cpp @@ -19,8 +19,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDELinearConstantAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "linear_constant/"; + const std::string PathToLlFiles = "llvm_test_code/linear_constant/"; // Function - Line Nr - Variable - Value using LCACompactResult_t = std::tuple GroundTruth; GroundTruth.emplace("main", 2, "i", 13); GroundTruth.emplace("main", 3, "i", 13); @@ -92,7 +91,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_02) { - auto Results = doAnalysis("basic_02_cpp_dbg.ll"); + auto Results = doAnalysis("basic_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 13); GroundTruth.emplace("main", 3, "i", 17); @@ -101,7 +100,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_02) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_03) { - auto Results = doAnalysis("basic_03_cpp_dbg.ll"); + auto Results = doAnalysis("basic_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 10); GroundTruth.emplace("main", 3, "i", 10); @@ -112,7 +111,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_03) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_04) { - auto Results = doAnalysis("basic_04_cpp_dbg.ll"); + auto Results = doAnalysis("basic_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 14); GroundTruth.emplace("main", 4, "i", 14); @@ -125,7 +124,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_04) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_05) { - auto Results = doAnalysis("basic_05_cpp_dbg.ll"); + auto Results = doAnalysis("basic_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 3); GroundTruth.emplace("main", 3, "i", 3); @@ -134,7 +133,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_05) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_06) { - auto Results = doAnalysis("basic_06_cpp_dbg.ll"); + auto Results = doAnalysis("basic_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); GroundTruth.emplace("main", 3, "i", 16); @@ -143,7 +142,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_06) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_07) { - auto Results = doAnalysis("basic_07_cpp_dbg.ll"); + auto Results = doAnalysis("basic_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); GroundTruth.emplace("main", 3, "i", 4); @@ -154,7 +153,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_07) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_08) { - auto Results = doAnalysis("basic_08_cpp_dbg.ll"); + auto Results = doAnalysis("basic_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -165,7 +164,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_08) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_09) { - auto Results = doAnalysis("basic_09_cpp_dbg.ll"); + auto Results = doAnalysis("basic_09.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -176,7 +175,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_09) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_10) { - auto Results = doAnalysis("basic_10_cpp_dbg.ll"); + auto Results = doAnalysis("basic_10.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -187,7 +186,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_10) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_11) { - auto Results = doAnalysis("basic_11_cpp_dbg.ll"); + auto Results = doAnalysis("basic_11.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -198,14 +197,14 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_11) { } TEST_F(IDELinearConstantAnalysisTest, HandleBasicTest_12) { - auto Results = doAnalysis("basic_12_cpp_dbg.ll"); + auto Results = doAnalysis("basic_12.dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); } /* ============== BRANCH TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_01) { - auto Results = doAnalysis("branch_01_cpp_dbg.ll"); + auto Results = doAnalysis("branch_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); GroundTruth.emplace("main", 5, "i", 2); @@ -216,7 +215,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_02) { - auto Results = doAnalysis("branch_02_cpp_dbg.ll"); + auto Results = doAnalysis("branch_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); compareResults(Results, GroundTruth); @@ -226,7 +225,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_02) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_03) { - auto Results = doAnalysis("branch_03_cpp_dbg.ll"); + auto Results = doAnalysis("branch_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 42); GroundTruth.emplace("main", 5, "i", 10); @@ -236,7 +235,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_03) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_04) { - auto Results = doAnalysis("branch_04_cpp_dbg.ll"); + auto Results = doAnalysis("branch_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -248,7 +247,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_04) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_05) { - auto Results = doAnalysis("branch_05_cpp_dbg.ll"); + auto Results = doAnalysis("branch_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -262,7 +261,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_05) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_06) { - auto Results = doAnalysis("branch_06_cpp_dbg.ll"); + auto Results = doAnalysis("branch_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); GroundTruth.emplace("main", 5, "i", 10); @@ -271,7 +270,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_06) { } TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_07) { - auto Results = doAnalysis("branch_07_cpp_dbg.ll"); + auto Results = doAnalysis("branch_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -286,7 +285,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleBranchTest_07) { /* ============== LOOP TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_01) { - auto Results = doAnalysis("while_01_cpp_dbg.ll"); + auto Results = doAnalysis("while_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); compareResults(Results, GroundTruth); @@ -295,7 +294,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_02) { - auto Results = doAnalysis("while_02_cpp_dbg.ll"); + auto Results = doAnalysis("while_02.dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); EXPECT_TRUE(Results["main"].find(2) == Results["main"].end()); @@ -304,7 +303,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_02) { } TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_03) { - auto Results = doAnalysis("while_03_cpp_dbg.ll"); + auto Results = doAnalysis("while_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 7, "a", 13); @@ -315,7 +314,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_03) { } TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_04) { - auto Results = doAnalysis("while_04_cpp_dbg.ll"); + auto Results = doAnalysis("while_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 4, "a", 0); @@ -325,7 +324,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_04) { } TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_05) { - auto Results = doAnalysis("for_01_cpp_dbg.ll"); + auto Results = doAnalysis("for_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "a", 0); compareResults(Results, GroundTruth); @@ -335,7 +334,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleLoopTest_05) { /* ============== CALL TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_01) { - auto Results = doAnalysis("call_01_cpp_dbg.ll"); + auto Results = doAnalysis("call_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 42); GroundTruth.emplace("_Z3fooi", 2, "a", 42); @@ -349,7 +348,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_02) { - auto Results = doAnalysis("call_02_cpp_dbg.ll"); + auto Results = doAnalysis("call_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 2); GroundTruth.emplace("_Z3fooi", 2, "a", 2); @@ -361,7 +360,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_02) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_03) { - auto Results = doAnalysis("call_03_cpp_dbg.ll"); + auto Results = doAnalysis("call_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); GroundTruth.emplace("main", 7, "i", 42); @@ -369,7 +368,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_03) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_04) { - auto Results = doAnalysis("call_04_cpp_dbg.ll"); + auto Results = doAnalysis("call_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); GroundTruth.emplace("main", 7, "i", 10); @@ -378,13 +377,13 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_04) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_05) { - auto Results = doAnalysis("call_05_cpp_dbg.ll"); + auto Results = doAnalysis("call_05.dbg.ll"); std::set GroundTruth; EXPECT_TRUE(Results["main"].empty()); } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_06) { - auto Results = doAnalysis("call_06_cpp_dbg.ll"); + auto Results = doAnalysis("call_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); GroundTruth.emplace("_Z9incrementi", 2, "a", 43); @@ -396,7 +395,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_06) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_07) { - auto Results = doAnalysis("call_07_cpp_dbg.ll"); + auto Results = doAnalysis("call_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); GroundTruth.emplace("main", 7, "i", 42); @@ -415,7 +414,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_07) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_08) { - auto Results = doAnalysis("call_08_cpp_dbg.ll"); + auto Results = doAnalysis("call_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooii", 1, "a", 10); GroundTruth.emplace("_Z3fooii", 1, "b", 1); @@ -435,7 +434,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_08) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_09) { - auto Results = doAnalysis("call_09_cpp_dbg.ll"); + auto Results = doAnalysis("call_09.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); GroundTruth.emplace("_Z9incrementi", 2, "a", 43); @@ -449,7 +448,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_09) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_10) { - auto Results = doAnalysis("call_10_cpp_dbg.ll"); + auto Results = doAnalysis("call_10.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); GroundTruth.emplace("_Z3fooi", 3, "a", 2); @@ -460,7 +459,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_10) { } TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_11) { - auto Results = doAnalysis("call_11_cpp_dbg.ll"); + auto Results = doAnalysis("call_11.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); GroundTruth.emplace("_Z3bari", 2, "b", 2); @@ -476,7 +475,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleCallTest_11) { /* ============== RECURSION TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_01) { - auto Results = doAnalysis("recursion_01_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 10, "j", -1); GroundTruth.emplace("main", 11, "j", -1); @@ -488,13 +487,13 @@ TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_02) { - auto Results = doAnalysis("recursion_02_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_02.dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); } TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_03) { - auto Results = doAnalysis("recursion_03_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 9, "a", 1); GroundTruth.emplace("main", 10, "a", 1); @@ -507,7 +506,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleRecursionTest_03) { /* ============== GLOBAL VARIABLE TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_01) { - auto Results = doAnalysis("global_01_cpp_dbg.ll"); + auto Results = doAnalysis("global_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 666); GroundTruth.emplace("main", 6, "g1", 10); @@ -519,7 +518,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_01) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_02) { - auto Results = doAnalysis("global_02_cpp_dbg.ll"); + auto Results = doAnalysis("global_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 4, "g", 10); GroundTruth.emplace("main", 4, "i", 10); @@ -533,7 +532,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_02) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_03) { - auto Results = doAnalysis("global_03_cpp_dbg.ll"); + auto Results = doAnalysis("global_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); GroundTruth.emplace("main", 8, "g", 0); @@ -548,7 +547,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_03) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_04) { - auto Results = doAnalysis("global_04_cpp_dbg.ll"); + auto Results = doAnalysis("global_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); GroundTruth.emplace("_Z3fooi", 3, "a", 1); @@ -564,7 +563,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_04) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_05) { - auto Results = doAnalysis("global_05_cpp_dbg.ll"); + auto Results = doAnalysis("global_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 2); GroundTruth.emplace("_Z3fooi", 3, "a", 2); @@ -580,7 +579,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_05) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_06) { - auto Results = doAnalysis("global_06_cpp_dbg.ll"); + auto Results = doAnalysis("global_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); GroundTruth.emplace("main", 8, "g", 1); @@ -592,7 +591,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_06) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_07) { - auto Results = doAnalysis("global_07_cpp_dbg.ll"); + auto Results = doAnalysis("global_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); GroundTruth.emplace("_Z3fooi", 3, "a", 10); @@ -618,7 +617,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_07) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_08) { - auto Results = doAnalysis("global_08_cpp_dbg.ll"); + auto Results = doAnalysis("global_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 7, "b", 2); GroundTruth.emplace("_Z3bari", 7, "g", 2); @@ -644,7 +643,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_08) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_10) { - auto Results = doAnalysis("global_10_cpp_dbg.ll"); + auto Results = doAnalysis("global_10.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 5, "g1", 42); GroundTruth.emplace("main", 5, "g2", 9001); @@ -652,7 +651,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_10) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_11) { - auto Results = doAnalysis("global_11_cpp_dbg.ll"); + auto Results = doAnalysis("global_11.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 10, "a", 13); GroundTruth.emplace("main", 10, "g1", 42); @@ -670,7 +669,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_11) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_12) { - auto Results = doAnalysis("global_12_cpp_dbg.ll"); + auto Results = doAnalysis("global_12.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z11global_ctorv", 3, "g", 42); GroundTruth.emplace("_Z3fooi", 6, "x", 43); @@ -683,7 +682,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_12) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_13) { - auto Results = doAnalysis("global_13_cpp_dbg.ll"); + auto Results = doAnalysis("global_13.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z11global_ctorv", 3, "g", 42); GroundTruth.emplace("_Z11global_dtorv", 5, "g", 666); @@ -700,7 +699,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_13) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_14) { - auto Results = doAnalysis("global_14_cpp_dbg.ll"); + auto Results = doAnalysis("global_14.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_ZN1XC2Ev", 4, "g", 1024); GroundTruth.emplace("_Z3fooi", 9, "x", 1025); @@ -713,7 +712,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_14) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_15) { - auto Results = doAnalysis("global_15_cpp_dbg.ll"); + auto Results = doAnalysis("global_15.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_ZN1XC2Ev", 5, "g1", 1024); GroundTruth.emplace("_ZN1XC2Ev", 5, "g2", 99); @@ -735,7 +734,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_15) { } TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_16) { - auto Results = doAnalysis("global_16_cpp_dbg.ll"); + auto Results = doAnalysis("global_16.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 4, "x", 16); GroundTruth.emplace("_Z3fooi", 4, "g", 15); @@ -751,7 +750,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleGlobalsTest_16) { /* ============== OVERFLOW TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleAddOverflow) { - auto Results = doAnalysis("overflow_add_cpp_dbg.ll"); + auto Results = doAnalysis("overflow_add.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 9223372036854775806); // GroundTruth.emplace("main", 6, "j", IDELinearConstantAnalysis::TOP); @@ -759,7 +758,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleAddOverflow) { } TEST_F(IDELinearConstantAnalysisTest, HandleSubOverflow) { - auto Results = doAnalysis("overflow_sub_cpp_dbg.ll"); + auto Results = doAnalysis("overflow_sub.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", -9223372036854775807); // GroundTruth.emplace("main", 6, "j", IDELinearConstantAnalysis::TOP); @@ -767,7 +766,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleSubOverflow) { } TEST_F(IDELinearConstantAnalysisTest, HandleMulOverflow) { - auto Results = doAnalysis("overflow_mul_cpp_dbg.ll"); + auto Results = doAnalysis("overflow_mul.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 9223372036854775806); // GroundTruth.emplace("main", 6, "j", IDELinearConstantAnalysis::TOP); @@ -775,7 +774,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleMulOverflow) { } TEST_F(IDELinearConstantAnalysisTest, HandleDivOverflowForMinIntDivByOne) { - auto Results = doAnalysis("overflow_div_min_by_neg_one_cpp_dbg.ll"); + auto Results = doAnalysis("overflow_div_min_by_neg_one.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", -9223372036854775807); // GroundTruth.emplace("main", 6, "j", IDELinearConstantAnalysis::TOP); @@ -786,7 +785,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleDivOverflowForMinIntDivByOne) { /* ============== ERROR TESTS ============== */ TEST_F(IDELinearConstantAnalysisTest, HandleDivisionByZero) { - auto Results = doAnalysis("ub_division_by_zero_cpp_dbg.ll"); + auto Results = doAnalysis("ub_division_by_zero.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 4, "i", 42); // GroundTruth.emplace("main", 4, "j", IDELinearConstantAnalysis::TOP); @@ -794,7 +793,7 @@ TEST_F(IDELinearConstantAnalysisTest, HandleDivisionByZero) { } TEST_F(IDELinearConstantAnalysisTest, HandleModuloByZero) { - auto Results = doAnalysis("ub_modulo_by_zero_cpp_dbg.ll"); + auto Results = doAnalysis("ub_modulo_by_zero.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 4, "i", 42); // GroundTruth.emplace("main", 4, "j", IDELinearConstantAnalysis::TOP); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp index 29baa5f12..448c41aba 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis_DotTest.cpp @@ -18,8 +18,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDELinearConstantAnalysisDotTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "linear_constant/"; + const std::string PathToLlFiles = "llvm_test_code/linear_constant/"; const std::set EntryPoints = {"main"}; @@ -85,7 +84,7 @@ class IDELinearConstantAnalysisDotTest : public ::testing::Test { /* ============== BASIC TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_01) { - auto Results = doAnalysis("basic_01_cpp_dbg.ll"); + auto Results = doAnalysis("basic_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 13); GroundTruth.emplace("main", 3, "i", 13); @@ -93,7 +92,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_02) { - auto Results = doAnalysis("basic_02_cpp_dbg.ll"); + auto Results = doAnalysis("basic_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 13); GroundTruth.emplace("main", 3, "i", 17); @@ -102,7 +101,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_02) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_03) { - auto Results = doAnalysis("basic_03_cpp_dbg.ll"); + auto Results = doAnalysis("basic_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 10); GroundTruth.emplace("main", 3, "i", 10); @@ -113,7 +112,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_03) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_04) { - auto Results = doAnalysis("basic_04_cpp_dbg.ll"); + auto Results = doAnalysis("basic_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 14); GroundTruth.emplace("main", 4, "i", 14); @@ -126,7 +125,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_04) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_05) { - auto Results = doAnalysis("basic_05_cpp_dbg.ll"); + auto Results = doAnalysis("basic_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 3); GroundTruth.emplace("main", 3, "i", 3); @@ -135,7 +134,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_05) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_06) { - auto Results = doAnalysis("basic_06_cpp_dbg.ll"); + auto Results = doAnalysis("basic_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); GroundTruth.emplace("main", 3, "i", 16); @@ -144,7 +143,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_06) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_07) { - auto Results = doAnalysis("basic_07_cpp_dbg.ll"); + auto Results = doAnalysis("basic_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 4); GroundTruth.emplace("main", 3, "i", 4); @@ -155,7 +154,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_07) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_08) { - auto Results = doAnalysis("basic_08_cpp_dbg.ll"); + auto Results = doAnalysis("basic_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -166,7 +165,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_08) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_09) { - auto Results = doAnalysis("basic_09_cpp_dbg.ll"); + auto Results = doAnalysis("basic_09.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -177,7 +176,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_09) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_10) { - auto Results = doAnalysis("basic_10_cpp_dbg.ll"); + auto Results = doAnalysis("basic_10.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -188,7 +187,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_10) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_11) { - auto Results = doAnalysis("basic_11_cpp_dbg.ll"); + auto Results = doAnalysis("basic_11.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 3, "i", 42); @@ -200,7 +199,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBasicTest_11) { /* ============== BRANCH TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_01) { - auto Results = doAnalysis("branch_01_cpp_dbg.ll"); + auto Results = doAnalysis("branch_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); GroundTruth.emplace("main", 5, "i", 2); @@ -211,7 +210,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_02) { - auto Results = doAnalysis("branch_02_cpp_dbg.ll"); + auto Results = doAnalysis("branch_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); compareResults(Results, GroundTruth); @@ -221,7 +220,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_02) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_03) { - auto Results = doAnalysis("branch_03_cpp_dbg.ll"); + auto Results = doAnalysis("branch_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 42); GroundTruth.emplace("main", 5, "i", 10); @@ -231,7 +230,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_03) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_04) { - auto Results = doAnalysis("branch_04_cpp_dbg.ll"); + auto Results = doAnalysis("branch_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -243,7 +242,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_04) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_05) { - auto Results = doAnalysis("branch_05_cpp_dbg.ll"); + auto Results = doAnalysis("branch_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -256,7 +255,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_05) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_06) { - auto Results = doAnalysis("branch_06_cpp_dbg.ll"); + auto Results = doAnalysis("branch_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "i", 10); GroundTruth.emplace("main", 5, "i", 10); @@ -265,7 +264,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_06) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_07) { - auto Results = doAnalysis("branch_07_cpp_dbg.ll"); + auto Results = doAnalysis("branch_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 3, "j", 10); GroundTruth.emplace("main", 4, "j", 10); @@ -279,7 +278,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleBranchTest_07) { /* ============== LOOP TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_01) { - auto Results = doAnalysis("while_01_cpp_dbg.ll"); + auto Results = doAnalysis("while_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); compareResults(Results, GroundTruth); @@ -288,7 +287,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_02) { - auto Results = doAnalysis("while_02_cpp_dbg.ll"); + auto Results = doAnalysis("while_02.dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); EXPECT_TRUE(Results["main"].find(2) == Results["main"].end()); @@ -297,7 +296,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_02) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_03) { - auto Results = doAnalysis("while_03_cpp_dbg.ll"); + auto Results = doAnalysis("while_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 7, "a", 13); @@ -308,7 +307,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_03) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_04) { - auto Results = doAnalysis("while_04_cpp_dbg.ll"); + auto Results = doAnalysis("while_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "i", 42); GroundTruth.emplace("main", 4, "a", 0); @@ -318,7 +317,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_04) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_05) { - auto Results = doAnalysis("for_01_cpp_dbg.ll"); + auto Results = doAnalysis("for_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 2, "a", 0); compareResults(Results, GroundTruth); @@ -328,7 +327,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleLoopTest_05) { /* ============== CALL TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_01) { - auto Results = doAnalysis("call_01_cpp_dbg.ll"); + auto Results = doAnalysis("call_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 42); GroundTruth.emplace("_Z3fooi", 2, "a", 42); @@ -342,7 +341,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_02) { - auto Results = doAnalysis("call_02_cpp_dbg.ll"); + auto Results = doAnalysis("call_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 1, "a", 2); GroundTruth.emplace("_Z3fooi", 2, "a", 2); @@ -354,7 +353,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_02) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_03) { - auto Results = doAnalysis("call_03_cpp_dbg.ll"); + auto Results = doAnalysis("call_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); GroundTruth.emplace("main", 7, "i", 42); @@ -362,7 +361,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_03) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_04) { - auto Results = doAnalysis("call_04_cpp_dbg.ll"); + auto Results = doAnalysis("call_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 10); GroundTruth.emplace("main", 7, "i", 10); @@ -371,13 +370,13 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_04) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_05) { - auto Results = doAnalysis("call_05_cpp_dbg.ll"); + auto Results = doAnalysis("call_05.dbg.ll"); std::set GroundTruth; EXPECT_TRUE(Results["main"].empty()); } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_06) { - auto Results = doAnalysis("call_06_cpp_dbg.ll"); + auto Results = doAnalysis("call_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); GroundTruth.emplace("_Z9incrementi", 2, "a", 43); @@ -389,7 +388,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_06) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_07) { - auto Results = doAnalysis("call_07_cpp_dbg.ll"); + auto Results = doAnalysis("call_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "i", 42); GroundTruth.emplace("main", 7, "i", 42); @@ -408,7 +407,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_07) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_08) { - auto Results = doAnalysis("call_08_cpp_dbg.ll"); + auto Results = doAnalysis("call_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooii", 1, "a", 10); GroundTruth.emplace("_Z3fooii", 1, "b", 1); @@ -428,7 +427,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_08) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_09) { - auto Results = doAnalysis("call_09_cpp_dbg.ll"); + auto Results = doAnalysis("call_09.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z9incrementi", 1, "a", 42); GroundTruth.emplace("_Z9incrementi", 2, "a", 43); @@ -442,7 +441,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_09) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_10) { - auto Results = doAnalysis("call_10_cpp_dbg.ll"); + auto Results = doAnalysis("call_10.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); GroundTruth.emplace("_Z3fooi", 3, "a", 2); @@ -453,7 +452,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_10) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_11) { - auto Results = doAnalysis("call_11_cpp_dbg.ll"); + auto Results = doAnalysis("call_11.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 1, "b", 2); GroundTruth.emplace("_Z3bari", 2, "b", 2); @@ -469,7 +468,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleCallTest_11) { /* ============== RECURSION TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_01) { - auto Results = doAnalysis("recursion_01_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 10, "j", -1); GroundTruth.emplace("main", 11, "j", -1); @@ -481,13 +480,13 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_02) { - auto Results = doAnalysis("recursion_02_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_02.dbg.ll"); std::set GroundTruth; compareResults(Results, GroundTruth); } TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_03) { - auto Results = doAnalysis("recursion_03_cpp_dbg.ll"); + auto Results = doAnalysis("recursion_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 9, "a", 1); GroundTruth.emplace("main", 10, "a", 1); @@ -500,7 +499,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleRecursionTest_03) { /* ============== GLOBAL VARIABLE TESTS ============== */ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_01) { - auto Results = doAnalysis("global_01_cpp_dbg.ll"); + auto Results = doAnalysis("global_01.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 6, "g1", 10); GroundTruth.emplace("main", 6, "g2", 1); @@ -515,7 +514,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_01) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_02) { - auto Results = doAnalysis("global_02_cpp_dbg.ll"); + auto Results = doAnalysis("global_02.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("main", 4, "g", 10); GroundTruth.emplace("main", 4, "i", 10); @@ -529,7 +528,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_02) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_03) { - auto Results = doAnalysis("global_03_cpp_dbg.ll"); + auto Results = doAnalysis("global_03.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); GroundTruth.emplace("main", 8, "g", 0); @@ -544,7 +543,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_03) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_04) { - auto Results = doAnalysis("global_04_cpp_dbg.ll"); + auto Results = doAnalysis("global_04.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); GroundTruth.emplace("_Z3fooi", 3, "a", 1); @@ -560,7 +559,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_04) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_05) { - auto Results = doAnalysis("global_05_cpp_dbg.ll"); + auto Results = doAnalysis("global_05.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 2); GroundTruth.emplace("_Z3fooi", 3, "a", 2); @@ -576,7 +575,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_05) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_06) { - auto Results = doAnalysis("global_06_cpp_dbg.ll"); + auto Results = doAnalysis("global_06.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3foov", 4, "g", 2); GroundTruth.emplace("main", 8, "g", 1); @@ -588,7 +587,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_06) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_07) { - auto Results = doAnalysis("global_07_cpp_dbg.ll"); + auto Results = doAnalysis("global_07.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3fooi", 3, "g", 1); GroundTruth.emplace("_Z3fooi", 3, "a", 10); @@ -614,7 +613,7 @@ TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_07) { } TEST_F(IDELinearConstantAnalysisDotTest, HandleGlobalsTest_08) { - auto Results = doAnalysis("global_08_cpp_dbg.ll"); + auto Results = doAnalysis("global_08.dbg.ll"); std::set GroundTruth; GroundTruth.emplace("_Z3bari", 7, "b", 2); GroundTruth.emplace("_Z3bari", 7, "g", 2); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp index ccd9a2556..9ffc90b3b 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisFileIOTest.cpp @@ -28,8 +28,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDETSAnalysisFileIOTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "typestate_analysis_fileio/"; + const std::string PathToLlFiles = "llvm_test_code/typestate_analysis_fileio/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -93,7 +92,7 @@ class IDETSAnalysisFileIOTest : public ::testing::Test { }; // Test Fixture TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_01) { - initialize({PathToLlFiles + "typestate_01_c.ll"}); + initialize({PathToLlFiles + "typestate_01.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); const std::map> Gt = { @@ -104,7 +103,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_01) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_02) { - initialize({PathToLlFiles + "typestate_02_c.ll"}); + initialize({PathToLlFiles + "typestate_02.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -114,7 +113,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_02) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_03) { - initialize({PathToLlFiles + "typestate_03_c.ll"}); + initialize({PathToLlFiles + "typestate_03.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -140,7 +139,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_03) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_04) { - initialize({PathToLlFiles + "typestate_04_c.ll"}); + initialize({PathToLlFiles + "typestate_04.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -162,7 +161,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_04) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_05) { - initialize({PathToLlFiles + "typestate_05_c.ll"}); + initialize({PathToLlFiles + "typestate_05.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -181,7 +180,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_05) { TEST_F(IDETSAnalysisFileIOTest, DISABLED_HandleTypeState_06) { // This test fails due to imprecise points-to information - initialize({PathToLlFiles + "typestate_06_c.ll"}); + initialize({PathToLlFiles + "typestate_06.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -216,7 +215,7 @@ TEST_F(IDETSAnalysisFileIOTest, DISABLED_HandleTypeState_06) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_07) { - initialize({PathToLlFiles + "typestate_07_c.ll"}); + initialize({PathToLlFiles + "typestate_07.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -248,7 +247,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_07) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_08) { - initialize({PathToLlFiles + "typestate_08_c.ll"}); + initialize({PathToLlFiles + "typestate_08.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -261,7 +260,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_08) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_09) { - initialize({PathToLlFiles + "typestate_09_c.ll"}); + initialize({PathToLlFiles + "typestate_09.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -279,7 +278,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_09) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_10) { - initialize({PathToLlFiles + "typestate_10_c.ll"}); + initialize({PathToLlFiles + "typestate_10.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -301,7 +300,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_10) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_11) { - initialize({PathToLlFiles + "typestate_11_c.ll"}); + initialize({PathToLlFiles + "typestate_11.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -328,7 +327,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_11) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_12) { - initialize({PathToLlFiles + "typestate_12_c.ll"}); + initialize({PathToLlFiles + "typestate_12.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -348,7 +347,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_12) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_13) { - initialize({PathToLlFiles + "typestate_13_c.ll"}); + initialize({PathToLlFiles + "typestate_13.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -363,7 +362,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_13) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_14) { - initialize({PathToLlFiles + "typestate_14_c.ll"}); + initialize({PathToLlFiles + "typestate_14.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -386,7 +385,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_14) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_15) { - initialize({PathToLlFiles + "typestate_15_c.ll"}); + initialize({PathToLlFiles + "typestate_15.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -445,7 +444,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_15) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_16) { - initialize({PathToLlFiles + "typestate_16_c.ll"}); + initialize({PathToLlFiles + "typestate_16.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -478,7 +477,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_16) { // TODO: Check this case again! TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_17) { - initialize({PathToLlFiles + "typestate_17_c.ll"}); + initialize({PathToLlFiles + "typestate_17.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -507,7 +506,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_17) { } TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_18) { - initialize({PathToLlFiles + "typestate_18_c.ll"}); + initialize({PathToLlFiles + "typestate_18.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); @@ -525,7 +524,7 @@ TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_18) { // TODO: Check this case again! TEST_F(IDETSAnalysisFileIOTest, HandleTypeState_19) { - initialize({PathToLlFiles + "typestate_19_c.ll"}); + initialize({PathToLlFiles + "typestate_19.ll"}); IDESolver_P Llvmtssolver(*TSProblem); Llvmtssolver.solve(); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp index 3c9316631..40f0285f1 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp @@ -27,9 +27,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDETSAnalysisOpenSSLEVPKDFTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - PhasarConfig::getPhasarConfig().PhasarDirectory() + - "build/test/llvm_test_code/openssl/key_derivation/"; + const std::string PathToLlFiles = "llvm_test_code/openssl/key_derivation/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -109,7 +107,7 @@ class IDETSAnalysisOpenSSLEVPKDFTest : public ::testing::Test { }; // Test Fixture TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation1) { - initialize({PathToLlFiles + "key-derivation1_c.ll"}); + initialize({PathToLlFiles + "key-derivation1.ll"}); // llvmtssolver->printReport(); @@ -136,7 +134,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation1) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation2) { - initialize({PathToLlFiles + "key-derivation2_c.ll"}); + initialize({PathToLlFiles + "key-derivation2.ll"}); std::map> Gt; // gt[40] = {{"22", OpenSSLEVPKeyDerivationState::UNINIT}}; // killed by @@ -177,7 +175,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation2) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation3) { - initialize({PathToLlFiles + "key-derivation3_c.ll"}); + initialize({PathToLlFiles + "key-derivation3.ll"}); std::map> Gt; // gt[56] = {{"21", OpenSSLEVPKeyDerivationState::UNINIT}}; // @@ -212,7 +210,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation3) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation4) { - initialize({PathToLlFiles + "key-derivation4_c.ll"}); + initialize({PathToLlFiles + "key-derivation4.ll"}); std::map> Gt; @@ -242,7 +240,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation4) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation5) { - initialize({PathToLlFiles + "key-derivation5_c.ll"}); + initialize({PathToLlFiles + "key-derivation5.ll"}); std::map> Gt; @@ -269,7 +267,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation5) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, DISABLED_KeyDerivation6) { - initialize({PathToLlFiles + "key-derivation6_c.ll"}); + initialize({PathToLlFiles + "key-derivation6.ll"}); // llvmtssolver->printReport(); std::map> Gt; Gt[102] = {{"100", OpenSSLEVPKeyDerivationState::BOT}, @@ -283,7 +281,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, DISABLED_KeyDerivation6) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation7) { - initialize({PathToLlFiles + "key-derivation7_c.ll"}); + initialize({PathToLlFiles + "key-derivation7.ll"}); // llvmtssolver->printReport(); std::map> Gt; @@ -305,7 +303,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation7) { } TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation8) { - initialize({PathToLlFiles + "key-derivation8_c.ll"}); + initialize({PathToLlFiles + "key-derivation8.ll"}); // llvmtssolver->printReport(); std::map> Gt; diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp index cd8af463d..71a351c67 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp @@ -27,9 +27,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDETSAnalysisOpenSSLSecureHeapTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - PhasarConfig::getPhasarConfig().PhasarDirectory() + - "build/test/llvm_test_code/openssl/secure_heap/"; + const std::string PathToLlFiles = "llvm_test_code/openssl/secure_heap/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -111,7 +109,7 @@ class IDETSAnalysisOpenSSLSecureHeapTest : public ::testing::Test { }; // Test Fixture TEST_F(IDETSAnalysisOpenSSLSecureHeapTest, Memory6) { - initialize({PathToLlFiles + "memory6_c.ll"}); + initialize({PathToLlFiles + "memory6.ll"}); // secureHeapPropagationResults->printReport(); @@ -127,7 +125,7 @@ TEST_F(IDETSAnalysisOpenSSLSecureHeapTest, Memory6) { } TEST_F(IDETSAnalysisOpenSSLSecureHeapTest, Memory7) { - initialize({PathToLlFiles + "memory7_c.ll"}); + initialize({PathToLlFiles + "memory7.ll"}); // secureHeapPropagationResults->printReport(); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp index 86b92d928..3fdbd0fbe 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureMemoryTest.cpp @@ -26,9 +26,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IDETSAnalysisOpenSSLSecureMemoryTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - PhasarConfig::getPhasarConfig().PhasarDirectory() + - "build/test/llvm_test_code/openssl/secure_memory/"; + const std::string PathToLlFiles = "llvm_test_code/openssl/secure_memory/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -97,7 +95,7 @@ class IDETSAnalysisOpenSSLSecureMemoryTest : public ::testing::Test { }; // Test Fixture TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory1) { - initialize({PathToLlFiles + "memory1_c.ll"}); + initialize({PathToLlFiles + "memory1.ll"}); // llvmtssolver->printReport(); std::map> Gt; // TODO add GT values @@ -109,7 +107,7 @@ TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory1) { } TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory2) { - initialize({PathToLlFiles + "memory2_c.ll"}); + initialize({PathToLlFiles + "memory2.ll"}); std::map> Gt; Gt[10] = {{"8", OpenSSLSecureMemoryState::ALLOCATED}, {"3", OpenSSLSecureMemoryState::ALLOCATED}}; @@ -125,7 +123,7 @@ TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory2) { } TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory3) { - initialize({PathToLlFiles + "memory3_c.ll"}); + initialize({PathToLlFiles + "memory3.ll"}); // llvmtssolver->printReport(); std::map> Gt; Gt[15] = {{"13", OpenSSLSecureMemoryState::ZEROED}, @@ -143,7 +141,7 @@ TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory3) { } TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory4) { - initialize({PathToLlFiles + "memory4_c.ll"}); + initialize({PathToLlFiles + "memory4.ll"}); std::map> Gt; Gt[15] = {{"13", OpenSSLSecureMemoryState::ZEROED}, {"6", OpenSSLSecureMemoryState::ZEROED}}; @@ -160,7 +158,7 @@ TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory4) { } TEST_F(IDETSAnalysisOpenSSLSecureMemoryTest, Memory5) { - initialize({PathToLlFiles + "memory5_c.ll"}); + initialize({PathToLlFiles + "memory5.ll"}); std::map> Gt; Gt[10] = {{"8", OpenSSLSecureMemoryState::ALLOCATED}, {"3", OpenSSLSecureMemoryState::ALLOCATED}}; diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp index 4ed7da0b3..08f23d507 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp @@ -20,7 +20,7 @@ using namespace psr; class IFDSConstAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = unittest::PathToLLTestFiles + "constness/"; + const std::string PathToLlFiles = "llvm_test_code/constness/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -70,28 +70,28 @@ class IFDSConstAnalysisTest : public ::testing::Test { /* ============== BASIC TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleBasicTest_01) { - initialize({PathToLlFiles + "basic/basic_01_cpp_dbg.ll"}); + initialize({PathToLlFiles + "basic/basic_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleBasicTest_02) { - initialize({PathToLlFiles + "basic/basic_02_cpp_dbg.ll"}); + initialize({PathToLlFiles + "basic/basic_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleBasicTest_03) { - initialize({PathToLlFiles + "basic/basic_03_cpp_dbg.ll"}); + initialize({PathToLlFiles + "basic/basic_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleBasicTest_04) { - initialize({PathToLlFiles + "basic/basic_04_cpp_dbg.ll"}); + initialize({PathToLlFiles + "basic/basic_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); @@ -99,35 +99,35 @@ TEST_F(IFDSConstAnalysisTest, HandleBasicTest_04) { /* ============== CONTROL FLOW TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCFForTest_01) { - initialize({PathToLlFiles + "control_flow/cf_for_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_for_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFForTest_02) { - initialize({PathToLlFiles + "control_flow/cf_for_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_for_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFIfTest_01) { - initialize({PathToLlFiles + "control_flow/cf_if_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_if_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFIfTest_02) { - initialize({PathToLlFiles + "control_flow/cf_if_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_if_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFWhileTest_01) { - initialize({PathToLlFiles + "control_flow/cf_while_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_while_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); @@ -135,14 +135,14 @@ TEST_F(IFDSConstAnalysisTest, HandleCFWhileTest_01) { /* ============== POINTER TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandlePointerTest_01) { - initialize({PathToLlFiles + "pointer/pointer_01_cpp_dbg.ll"}); + initialize({PathToLlFiles + "pointer/pointer_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandlePointerTest_02) { - initialize({PathToLlFiles + "pointer/pointer_02_cpp_dbg.ll"}); + initialize({PathToLlFiles + "pointer/pointer_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); @@ -151,14 +151,14 @@ TEST_F(IFDSConstAnalysisTest, HandlePointerTest_02) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandlePointerTest_03) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "pointer/pointer_03_cpp_dbg.ll"}); + initialize({PathToLlFiles + "pointer/pointer_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2, 3}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandlePointerTest_04) { - initialize({PathToLlFiles + "pointer/pointer_04_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "pointer/pointer_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({4}, Llvmconstsolver); @@ -166,21 +166,21 @@ TEST_F(IFDSConstAnalysisTest, HandlePointerTest_04) { /* ============== GLOBAL TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_01) { - initialize({PathToLlFiles + "global/global_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "global/global_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_02) { - initialize({PathToLlFiles + "global/global_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "global/global_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_03) { - initialize({PathToLlFiles + "global/global_03_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "global/global_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); @@ -191,7 +191,7 @@ TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleGlobalTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "global/global_04_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "global/global_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 4}, Llvmconstsolver); @@ -199,21 +199,21 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleGlobalTest_04) { /* ============== CALL TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_01) { - initialize({PathToLlFiles + "call/param/call_param_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({5}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_02) { - initialize({PathToLlFiles + "call/param/call_param_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({5}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_03) { - initialize({PathToLlFiles + "call/param/call_param_03_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -222,7 +222,7 @@ TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "call/param/call_param_04_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -231,49 +231,49 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_04) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_05) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "call/param/call_param_05_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_05.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_06) { - initialize({PathToLlFiles + "call/param/call_param_06_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_06.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_07) { - initialize({PathToLlFiles + "call/param/call_param_07_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_07.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({6}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_08) { - initialize({PathToLlFiles + "call/param/call_param_08_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_08.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({4}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_01) { - initialize({PathToLlFiles + "call/return/call_ret_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_02) { - initialize({PathToLlFiles + "call/return/call_ret_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_03) { - initialize({PathToLlFiles + "call/return/call_ret_03_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); @@ -281,21 +281,21 @@ TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_03) { /* ============== ARRAY TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_01) { - initialize({PathToLlFiles + "array/array_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_02) { - initialize({PathToLlFiles + "array/array_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_03) { - initialize({PathToLlFiles + "array/array_03_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -304,21 +304,21 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleArrayTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/array_04_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_05) { - initialize({PathToLlFiles + "array/array_05_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_05.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_06) { - initialize({PathToLlFiles + "array/array_06_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_06.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); PT->print(llvm::errs()); @@ -328,21 +328,21 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_06) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleArrayTest_07) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/array_07_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_07.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_08) { - initialize({PathToLlFiles + "array/array_08_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_08.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_09) { - initialize({PathToLlFiles + "array/array_09_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/array_09.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); @@ -350,14 +350,14 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_09) { /* ============== STL ARRAY TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_01) { - initialize({PathToLlFiles + "array/stl_array/stl_array_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_02) { - initialize({PathToLlFiles + "array/stl_array/stl_array_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1}, Llvmconstsolver); @@ -367,7 +367,7 @@ PHASAR_SKIP_TEST(TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_03) { // If we use libcxx this won't work since internal implementation is different LIBCPP_GTEST_SKIP; - initialize({PathToLlFiles + "array/stl_array/stl_array_03_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_03.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1, 2}, Llvmconstsolver); @@ -376,21 +376,21 @@ PHASAR_SKIP_TEST(TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleSTLArrayTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/stl_array/stl_array_04_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_04.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_05) { - initialize({PathToLlFiles + "array/stl_array/stl_array_05_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_05.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_06) { - initialize({PathToLlFiles + "array/stl_array/stl_array_06_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_06.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2}, Llvmconstsolver); @@ -398,7 +398,7 @@ TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_06) { /* ============== CSTRING TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCStringTest_01) { - initialize({PathToLlFiles + "array/cstring/cstring_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/cstring/cstring_01.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -407,7 +407,7 @@ TEST_F(IFDSConstAnalysisTest, HandleCStringTest_01) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/cstring/cstring_02_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "array/cstring/cstring_02.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2}, Llvmconstsolver); @@ -415,7 +415,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { /* ============== STRUCTURE TESTS ============== */ // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_01) { -// Initialize({pathToLLFiles + "structs/structs_01_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_01.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -424,7 +424,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_02) { -// Initialize({pathToLLFiles + "structs/structs_02_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_02.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -433,7 +433,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_03) { -// Initialize({pathToLLFiles + "structs/structs_03_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_03.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -442,7 +442,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_04) { -// Initialize({pathToLLFiles + "structs/structs_04_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_04.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -451,7 +451,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_05) { -// Initialize({pathToLLFiles + "structs/structs_05_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_05.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -460,7 +460,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_06) { -// Initialize({pathToLLFiles + "structs/structs_06_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_06.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -469,7 +469,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_07) { -// Initialize({pathToLLFiles + "structs/structs_07_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_07.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -478,7 +478,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_08) { -// Initialize({pathToLLFiles + "structs/structs_08_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_08.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -487,7 +487,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_09) { -// Initialize({pathToLLFiles + "structs/structs_09_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_09.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -496,7 +496,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_10) { -// Initialize({pathToLLFiles + "structs/structs_10_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_10.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -505,7 +505,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_11) { -// Initialize({pathToLLFiles + "structs/structs_11_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_11.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); @@ -514,7 +514,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCStringTest_02) { //} // // TEST_F(IFDSConstAnalysisTest, HandleStructureTest_12) { -// Initialize({pathToLLFiles + "structs/structs_12_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "structs/structs_12.dbg.ll"}); // IFDSSolver // llvmconstsolver( // *constproblem); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp index 041fa6b82..50df1aed3 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp @@ -18,8 +18,7 @@ using namespace psr; class IFDSTaintAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "taint_analysis/"; + const std::string PathToLlFiles = "llvm_test_code/taint_analysis/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -84,7 +83,7 @@ class IFDSTaintAnalysisTest : public ::testing::Test { }; // Test Fixture TEST_F(IFDSTaintAnalysisTest, TaintTest_01) { - initialize({PathToLlFiles + "dummy_source_sink/taint_01_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -93,7 +92,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_01) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_01_m2r) { - initialize({PathToLlFiles + "dummy_source_sink/taint_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -102,7 +101,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_01_m2r) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_02) { - initialize({PathToLlFiles + "dummy_source_sink/taint_02_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_02.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -111,7 +110,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_02) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_03) { - initialize({PathToLlFiles + "dummy_source_sink/taint_03_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_03.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -120,7 +119,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_03) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_04) { - initialize({PathToLlFiles + "dummy_source_sink/taint_04_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_04.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -130,7 +129,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_04) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_05) { - initialize({PathToLlFiles + "dummy_source_sink/taint_05_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_05.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -139,7 +138,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_05) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_06) { - initialize({PathToLlFiles + "dummy_source_sink/taint_06_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_06.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -148,8 +147,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_06) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_01_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -158,8 +156,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01_m2r) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_01_cpp_m2r_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -168,8 +165,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01_m2r) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_02) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_02_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_02.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -178,8 +174,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_02) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_03) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_03_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_03.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -189,8 +184,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_03) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_04) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_04_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_04.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -199,8 +193,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_04) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_05) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_05_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_05.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); @@ -210,8 +203,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_05) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_06) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_06_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_06.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -220,8 +212,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_06) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_07) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_07_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_07.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -230,8 +221,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_07) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_08) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_08_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_08.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -240,8 +230,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_08) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_09) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_09_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_09.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -250,8 +239,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_09) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_10) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_10_cpp_dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_10.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp index 3af7acaf3..bc71db4c6 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSUninitializedVariablesTest.cpp @@ -19,8 +19,7 @@ using namespace psr; class IFDSUninitializedVariablesTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "uninitialized_variables/"; + const std::string PathToLlFiles = "llvm_test_code/uninitialized_variables/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -64,7 +63,7 @@ class IFDSUninitializedVariablesTest : public ::testing::Test { }; // Test Fixture TEST_F(IFDSUninitializedVariablesTest, UninitTest_01_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "all_uninit_cpp_dbg.ll"}); + initialize({PathToLlFiles + "all_uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // all_uninit.cpp does not contain undef-uses @@ -73,7 +72,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_01_SHOULD_NOT_LEAK) { } TEST_F(IFDSUninitializedVariablesTest, UninitTest_02_SHOULD_LEAK) { - initialize({PathToLlFiles + "binop_uninit_cpp_dbg.ll"}); + initialize({PathToLlFiles + "binop_uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); @@ -87,7 +86,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_02_SHOULD_LEAK) { compareResults(GroundTruth); } TEST_F(IFDSUninitializedVariablesTest, UninitTest_03_SHOULD_LEAK) { - initialize({PathToLlFiles + "callnoret_c_dbg.ll"}); + initialize({PathToLlFiles + "callnoret.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); @@ -109,7 +108,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_03_SHOULD_LEAK) { } TEST_F(IFDSUninitializedVariablesTest, UninitTest_04_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "ctor_default_cpp_dbg.ll"}); + initialize({PathToLlFiles + "ctor_default.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // ctor.cpp does not contain undef-uses @@ -118,7 +117,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_04_SHOULD_NOT_LEAK) { } TEST_F(IFDSUninitializedVariablesTest, UninitTest_05_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "struct_member_init_cpp_dbg.ll"}); + initialize({PathToLlFiles + "struct_member_init.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // struct_member_init.cpp does not contain undef-uses @@ -126,7 +125,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_05_SHOULD_NOT_LEAK) { compareResults(GroundTruth); } TEST_F(IFDSUninitializedVariablesTest, UninitTest_06_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "struct_member_uninit_cpp_dbg.ll"}); + initialize({PathToLlFiles + "struct_member_uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // struct_member_uninit.cpp does not contain undef-uses @@ -138,7 +137,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_06_SHOULD_NOT_LEAK) { * ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_07_SHOULD_LEAK) { - Initialize({pathToLLFiles + "struct_member_uninit2_cpp_dbg.ll"}); + Initialize({pathToLLFiles + "struct_member_uninit2.dbg.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); @@ -153,7 +152,7 @@ Solver(*UninitProblem, false); Solver.solve(); } *****************************************************************************************/ TEST_F(IFDSUninitializedVariablesTest, UninitTest_08_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "global_variable_cpp_dbg.ll"}); + initialize({PathToLlFiles + "global_variable.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // global_variable.cpp does not contain undef-uses @@ -166,7 +165,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_08_SHOULD_NOT_LEAK) { * ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_09_SHOULD_LEAK) { - Initialize({pathToLLFiles + "global_variable_cpp_dbg.ll"}); + Initialize({pathToLLFiles + "global_variable.dbg.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); @@ -178,7 +177,7 @@ Solver(*UninitProblem, false); Solver.solve(); } *****************************************************************************************/ TEST_F(IFDSUninitializedVariablesTest, UninitTest_10_SHOULD_LEAK) { - initialize({PathToLlFiles + "return_uninit_cpp_dbg.ll"}); + initialize({PathToLlFiles + "return_uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); UninitProblem->emitTextReport(Solver.getSolverResults(), llvm::outs()); @@ -193,7 +192,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_10_SHOULD_LEAK) { TEST_F(IFDSUninitializedVariablesTest, UninitTest_11_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "sanitizer_cpp_dbg.ll"}); + initialize({PathToLlFiles + "sanitizer.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); map> GroundTruth; @@ -210,7 +209,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_11_SHOULD_NOT_LEAK) { //--------------------------------------------------------------------- /* TEST_F(IFDSUninitializedVariablesTest, UninitTest_12_SHOULD_LEAK) { - Initialize({pathToLLFiles + "sanitizer_uninit_cpp_dbg.ll"}); + Initialize({pathToLLFiles + "sanitizer_uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem, true); Solver.solve(); @@ -223,7 +222,7 @@ Solver(*UninitProblem, true); Solver.solve(); */ TEST_F(IFDSUninitializedVariablesTest, UninitTest_13_SHOULD_NOT_LEAK) { - initialize({PathToLlFiles + "sanitizer2_cpp_dbg.ll"}); + initialize({PathToLlFiles + "sanitizer2.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); // The undef-uses do not affect the program behaviour, but are of course still @@ -234,7 +233,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_13_SHOULD_NOT_LEAK) { } TEST_F(IFDSUninitializedVariablesTest, UninitTest_14_SHOULD_LEAK) { - initialize({PathToLlFiles + "uninit_c_dbg.ll"}); + initialize({PathToLlFiles + "uninit.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); map> GroundTruth; @@ -248,7 +247,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_14_SHOULD_LEAK) { * ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_15_SHOULD_LEAK) { - Initialize({pathToLLFiles + "dyn_mem_cpp_dbg.ll"}); + Initialize({pathToLLFiles + "dyn_mem.dbg.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); map> @@ -278,7 +277,7 @@ GroundTruth; *****************************************************************************************/ TEST_F(IFDSUninitializedVariablesTest, UninitTest_16_SHOULD_LEAK) { - initialize({PathToLlFiles + "growing_example_cpp_dbg.ll"}); + initialize({PathToLlFiles + "growing_example.dbg.ll"}); IFDSSolver Solver(*UninitProblem); Solver.solve(); @@ -301,7 +300,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_16_SHOULD_LEAK) { ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_17_SHOULD_LEAK) { - Initialize({pathToLLFiles + "struct_test_cpp.ll"}); + Initialize({pathToLLFiles + "struct_test.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); @@ -319,7 +318,7 @@ Solver(*UninitProblem, false); Solver.solve(); ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_18_SHOULD_NOT_LEAK) { - Initialize({pathToLLFiles + "array_init_cpp.ll"}); + Initialize({pathToLLFiles + "array_init.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); @@ -337,7 +336,7 @@ Solver(*UninitProblem, false); Solver.solve(); ***************************************************************************************** TEST_F(IFDSUninitializedVariablesTest, UninitTest_19_SHOULD_NOT_LEAK) { - Initialize({pathToLLFiles + "array_init_simple_cpp.ll"}); + Initialize({pathToLLFiles + "array_init_simple.ll"}); IFDSSolver Solver(*UninitProblem, false); Solver.solve(); @@ -348,7 +347,7 @@ Solver(*UninitProblem, false); Solver.solve(); *****************************************************************************************/ TEST_F(IFDSUninitializedVariablesTest, UninitTest_20_SHOULD_LEAK) { - initialize({PathToLlFiles + "recursion_cpp_dbg.ll"}); + initialize({PathToLlFiles + "recursion.dbg.ll"}); IFDSSolver_P Solver(*UninitProblem); Solver.solve(); @@ -369,7 +368,7 @@ TEST_F(IFDSUninitializedVariablesTest, UninitTest_20_SHOULD_LEAK) { } TEST_F(IFDSUninitializedVariablesTest, UninitTest_21_SHOULD_LEAK) { - initialize({PathToLlFiles + "virtual_call_cpp_dbg.ll"}); + initialize({PathToLlFiles + "virtual_call.dbg.ll"}); IFDSSolver_P Solver(*UninitProblem); Solver.solve(); diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp index 72fb0a433..527527d9d 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoFullConstantPropagationTest.cpp @@ -35,8 +35,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class InterMonoFullConstantPropagationTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "full_constant/"; + const std::string PathToLlFiles = "llvm_test_code/full_constant/"; const std::set EntryPoints = {"main"}; using IMFCPCompactResult_t = @@ -97,7 +96,7 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 5, "i", 13)); -// doAnalysisAndCompareResults("basic_01_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("basic_01.ll", GroundTruth, true); // } // // Test for Case II of Store and Load Inst @@ -107,7 +106,7 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 8, "i", 13)); -// doAnalysisAndCompareResults("basic_02_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("basic_02.ll", GroundTruth, true); // } // // Test for Operators @@ -117,7 +116,7 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 9, "i", 13)); -// doAnalysisAndCompareResults("basic_03_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("basic_03.ll", GroundTruth, true); // } // // Test for return Flow @@ -127,7 +126,7 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 6, "i", 13)); -// doAnalysisAndCompareResults("advanced_01_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("advanced_01.ll", GroundTruth, true); // } // // Test for Call Flow @@ -137,7 +136,7 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 6, "i", 13)); -// doAnalysisAndCompareResults("advanced_02_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("advanced_02.ll", GroundTruth, true); // } // // Test for Call Flow @@ -147,5 +146,5 @@ class InterMonoFullConstantPropagationTest : public ::testing::Test { // std::tuple>( // "main", 9, "i", 5)); -// doAnalysisAndCompareResults("advanced_03_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("advanced_03.ll", GroundTruth, true); // } diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp index 28a55cabe..572960662 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/InterMonoTaintAnalysisTest.cpp @@ -22,8 +22,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class InterMonoTaintAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - unittest::PathToLLTestFiles + "taint_analysis/"; + const std::string PathToLlFiles = "llvm_test_code/taint_analysis/"; const std::set EntryPoints = {"main"}; std::unique_ptr IRDB; @@ -127,11 +126,11 @@ class InterMonoTaintAnalysisTest : public ::testing::Test { TEST_F(InterMonoTaintAnalysisTest, TaintTest_03) { std::set Facts{"20", "21", "22", "24", "27", "28", "32", "main.0", "main.1"}; - doAnalysisAndCompare("taint_11_c.ll", 34, Facts); + doAnalysisAndCompare("taint_11.ll", 34, Facts); } TEST_F(InterMonoTaintAnalysisTest, TaintTest_03_v2) { - auto Leaks = doAnalysis("taint_11_c.ll"); + auto Leaks = doAnalysis("taint_11.ll"); // 35 => {34} // 37 => {36} due to overapproximation (limitation of call string) std::map> GroundTruth; @@ -144,16 +143,15 @@ TEST_F(InterMonoTaintAnalysisTest, TaintTest_03_v2) { TEST_F(InterMonoTaintAnalysisTest, TaintTest_05) { std::set Facts{"7", "8", "14", "15", "19", "main.0", - "main.1"}; doAnalysisAndCompare("taint_13_c.ll", 31, Facts); + "main.1"}; doAnalysisAndCompare("taint_13.ll", 31, Facts); } TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { std::set Facts{"7", "8", "14", "15", "19", "main.0", "main.1"}; - // doAnalysisAndCompare("taint_13_c.ll", 31, Facts); + // doAnalysisAndCompare("taint_13.ll", 31, Facts); const std::string pathToLLFiles = - PhasarConfig::getPhasarConfig().PhasarDirectory() + - "build/test/llvm_test_code/taint_analysis/"; - ProjectIRDB IRDB({pathToLLFiles + "taint_13_c.ll"}); + "llvm_test_code/taint_analysis/"; + ProjectIRDB IRDB({pathToLLFiles + "taint_13.ll"}); ValueAnnotationPass::resetValueID(); IRDB.preprocessIR(); LLVMTypeHierarchy TH(IRDB); @@ -179,17 +177,17 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // TEST_F(InterMonoTaintAnalysisTest, TaintTest_01) { // std::set Facts{"5", "6", "7", "10", "11", "main.0", "main.1"}; -// doAnalysisAndCompare("taint_9_c.ll", 13, Facts); +// doAnalysisAndCompare("taint_9.ll", 13, Facts); // } // TEST_F(InterMonoTaintAnalysisTest, TaintTest_02) { // std::set Facts{"5", "6", "7", "12", "13", "main.0", "main.1"}; -// doAnalysisAndCompare("taint_10_c.ll", 19, Facts); +// doAnalysisAndCompare("taint_10.ll", 19, Facts); // } // TEST_F(InterMonoTaintAnalysisTest, TaintTest_04) { // std::set Facts{"21", "22", "23", "28", "29", "main.0", -// "main.1"}; doAnalysisAndCompare("taint_12_c.ll", 35, Facts); +// "main.1"}; doAnalysisAndCompare("taint_12.ll", 35, Facts); // } // /****************************************************************************** @@ -198,7 +196,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // ******************************************************************************/ // TEST_F(InterMonoTaintAnalysisTest, TaintTest_01_v2) { -// auto Leaks = doAnalysis("taint_9_c.ll"); +// auto Leaks = doAnalysis("taint_9.ll"); // // 14 => {13} // std::map> GroundTruth; // GroundTruth[14] = {"13"}; @@ -206,7 +204,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // TEST_F(InterMonoTaintAnalysisTest, TaintTest_02_v2) { -// auto Leaks = doAnalysis("taint_10_c.ll"); +// auto Leaks = doAnalysis("taint_10.ll"); // // 20 => {19} // std::map> GroundTruth; // GroundTruth[20] = {"19"}; @@ -214,7 +212,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // TEST_F(InterMonoTaintAnalysisTest, TaintTest_04_v2) { -// auto Leaks = doAnalysis("taint_12_c.ll"); +// auto Leaks = doAnalysis("taint_12.ll"); // // 36 => {35} // // why not 38 => {37} due to overapproximation in recursion (limitation of // // call string) ??? @@ -225,7 +223,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // TEST_F(InterMonoTaintAnalysisTest, TaintTest_05_v2) { -// auto Leaks = doAnalysis("taint_13_c.ll"); +// auto Leaks = doAnalysis("taint_13.ll"); // // 32 => {31} // // 34 => {33} will not leak (analysis is naturally never strong enough for // // this) @@ -238,7 +236,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * fails due to alias-unawareness // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, TaintTest_06) { -// auto Leaks = doAnalysis("taint_4_v2_cpp.ll"); +// auto Leaks = doAnalysis("taint_4_v2.ll"); // // 19 => {18} // std::map> GroundTruth; // GroundTruth[19] = {"18"}; @@ -250,7 +248,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * fails, since std::cout is not a sink // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, TaintTest_07) { -// auto Leaks = doAnalysis("taint_2_v2_cpp.ll"); +// auto Leaks = doAnalysis("taint_2_v2.ll"); // // 10 => {9} // std::map> GroundTruth; // GroundTruth[10] = {"9"}; @@ -258,7 +256,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // ***********************************************************/ // TEST_F(InterMonoTaintAnalysisTest, TaintTest_08) { -// auto Leaks = doAnalysis("taint_2_v2_1_cpp.ll"); +// auto Leaks = doAnalysis("taint_2_v2_1.ll"); // // 4 => {3} // std::map> GroundTruth; // GroundTruth[4] = {"3"}; @@ -268,7 +266,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * fails due to lack of alias information // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, TaintTest_09) { -// auto Leaks = doAnalysis("source_sink_function_test_c.ll"); +// auto Leaks = doAnalysis("source_sink_function_test.ll"); // // 41 => {40}; // std::map> GroundTruth; // GroundTruth[41] = {"40"}; @@ -276,7 +274,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // ***********************************************************/ // TEST_F(InterMonoTaintAnalysisTest, TaintTest_10) { -// auto Leaks = doAnalysis("taint_14_cpp.ll"); +// auto Leaks = doAnalysis("taint_14.ll"); // // 11 => {10}; do not know, why it fails; getchar is definitely a source, // but // // it doesn't generate a fact @@ -289,7 +287,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * In contrast to TaintTest10, getchar generates a fact here; // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, TaintTest_11) { -// auto Leaks = doAnalysis("taint_14_1_cpp.ll"); +// auto Leaks = doAnalysis("taint_14_1.ll"); // // 12 => {11}; quite similar as TaintTest10, but all in main; // std::map> GroundTruth; // GroundTruth[12] = {"11"}; @@ -301,7 +299,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * This can be very dangerous here, since we get false negatives // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, TaintTest_12) { -// auto Leaks = doAnalysis("taint_15_cpp.ll"); +// auto Leaks = doAnalysis("taint_15.ll"); // // 21 => {20} // std::map> GroundTruth; // GroundTruth[21] = {"20"}; @@ -313,7 +311,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // ***********************************************************/ // TEST_F(InterMonoTaintAnalysisTest, TaintTest_13) { -// auto Leaks = doAnalysis("taint_15_1_cpp.ll"); +// auto Leaks = doAnalysis("taint_15_1.ll"); // // 16 => {15}; // std::map> GroundTruth; // GroundTruth[16] = {"15"}; @@ -327,7 +325,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * segmentation fault // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, VirtualCalls) { -// auto Leaks = doAnalysis("virtual_calls_cpp.ll"); +// auto Leaks = doAnalysis("virtual_calls.ll"); // // 20 => {19}; // std::map> GroundTruth; // // Fails, although putchar is definitely a source; @@ -339,7 +337,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // ***********************************************************/ // TEST_F(InterMonoTaintAnalysisTest, VirtualCalls_v2) { -// auto Leaks = doAnalysis("virtual_calls_v2_cpp.ll"); +// auto Leaks = doAnalysis("virtual_calls_v2.ll"); // // 7 => {6}; // std::map> GroundTruth; @@ -350,7 +348,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * Fails due to alias-unawareness (reports no leak at all) // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, StructMember) { -// auto Leaks = doAnalysis("struct_member_cpp.ll"); +// auto Leaks = doAnalysis("struct_member.ll"); // // 16 => {15}; // // 19 => {18}; // std::map> GroundTruth; @@ -366,7 +364,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * Fails due to alias-unawareness // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, DynamicMemory) { -// auto Leaks = doAnalysis("dynamic_memory_cpp.ll"); +// auto Leaks = doAnalysis("dynamic_memory.ll"); // // 11 => {10} // std::map> GroundTruth; // GroundTruth[11] = {"10"}; @@ -374,7 +372,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // } // ***********************************************************/ // TEST_F(InterMonoTaintAnalysisTest, DynamicMemory_simple) { -// auto Leaks = doAnalysis("dynamic_memory_simple_cpp.ll"); +// auto Leaks = doAnalysis("dynamic_memory_simple.ll"); // // 15 => {14} // std::map> GroundTruth; @@ -385,7 +383,7 @@ TEST(InterMonoTaintAnalysisTestNF, TaintTest_05) { // * Fails due to alias unawareness // ********************************************************** // TEST_F(InterMonoTaintAnalysisTest, FileIO) { -// auto Leaks = doAnalysis("read_c.ll"); +// auto Leaks = doAnalysis("read.ll"); // std::map> GroundTruth; // // 37 => {36} diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp index 867285ddb..e0af2a0df 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoFullConstantPropagationTest.cpp @@ -33,7 +33,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IntraMonoFullConstantPropagationTest : public ::testing::Test { protected: - const std::string PathToLlFiles = unittest::PathToLLTestFiles; + const std::string PathToLlFiles = "llvm_test_code/"; const std::set EntryPoints = {"main"}; using IMFCPCompactResult_t = @@ -92,8 +92,7 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_01) { std::tuple>( "main", 5, "i", 13)); - doAnalysisAndCompareResults("full_constant/basic_01_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_01.ll", GroundTruth, true); } // Test for Case II of Store and Load Inst @@ -103,8 +102,7 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_02) { std::tuple>( "main", 8, "i", 13)); - doAnalysisAndCompareResults("full_constant/basic_02_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_02.ll", GroundTruth, true); } // Test for Operators @@ -114,8 +112,7 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_03) { std::tuple>( "main", 9, "i", 13)); - doAnalysisAndCompareResults("full_constant/basic_03_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_03.ll", GroundTruth, true); } // Test for Operators @@ -125,8 +122,7 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_04) { std::tuple>( "main", 11, "i", 13)); - doAnalysisAndCompareResults("full_constant/basic_04_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_04.ll", GroundTruth, true); } // Test for Operators @@ -136,8 +132,7 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_05) { std::tuple>( "main", 8, "i", 13)); - doAnalysisAndCompareResults("full_constant/basic_05_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_05.ll", GroundTruth, true); } // Test for Operators @@ -147,6 +142,5 @@ TEST_F(IntraMonoFullConstantPropagationTest, BasicTest_06) { std::tuple>( "main", 7, "i", 9)); - doAnalysisAndCompareResults("full_constant/basic_06_cpp.ll", GroundTruth, - true); + doAnalysisAndCompareResults("full_constant/basic_06.ll", GroundTruth, true); } diff --git a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp index 6f557504e..68da518f0 100644 --- a/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/Mono/IntraMonoUninitVariablesTest.cpp @@ -33,8 +33,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class IntraMonoUninitVariablesTest : public ::testing::Test { protected: - const std::string PathToLLFiles = - unittest::PathToLLTestFiles + "/uninitialized_variables/"; + const std::string PathToLLFiles = "llvm_test_code//uninitialized_variables/"; using CompactResults_t = std::set>>; @@ -74,7 +73,7 @@ class IntraMonoUninitVariablesTest : public ::testing::Test { // TEST_F(IntraMonoUninitVariablesTest, Basic_01) { // CompactResults_t GroundTruth; -// doAnalysisAndCompareResults("basic_01_cpp.ll", GroundTruth, true); +// doAnalysisAndCompareResults("basic_01.ll", GroundTruth, true); // } TEST_F(IntraMonoUninitVariablesTest, Basic_02) { @@ -82,5 +81,5 @@ TEST_F(IntraMonoUninitVariablesTest, Basic_02) { GroundTruth.insert({13, {"%b"}}); GroundTruth.insert({15, {"%a"}}); GroundTruth.insert({17, {"%a", "%b"}}); - doAnalysisAndCompareResults("basic_02_cpp.ll", GroundTruth, true); + doAnalysisAndCompareResults("basic_02.ll", GroundTruth, true); } diff --git a/phasar/llvm/test/src/LLVMShorthandsTest.cpp b/phasar/llvm/test/src/LLVMShorthandsTest.cpp index b9fa9f3a2..dd5010a7d 100644 --- a/phasar/llvm/test/src/LLVMShorthandsTest.cpp +++ b/phasar/llvm/test/src/LLVMShorthandsTest.cpp @@ -14,8 +14,7 @@ using namespace std; using namespace psr; TEST(LLVMGetterTest, HandlesLLVMStoreInstruction) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/global_stmt_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/global_stmt.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); ASSERT_EQ(getNthStoreInstruction(F, 0), nullptr); const auto *I = getNthInstruction(F, 4); @@ -28,8 +27,7 @@ TEST(LLVMGetterTest, HandlesLLVMStoreInstruction) { } TEST(LLVMGetterTest, HandlesLLVMTermInstruction) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "control_flow/if_else_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/control_flow/if_else.ll"}); const auto *F = IRDB.getFunctionDefinition("main"); ASSERT_EQ(getNthTermInstruction(F, 0), nullptr); const auto *I = getNthInstruction(F, 14); diff --git a/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp index 4a412b24f..7263a51c2 100644 --- a/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp +++ b/phasar/llvm/test/src/Pointer/LLVMPointsToSetSerializationTest.cpp @@ -78,7 +78,7 @@ static void analyze(llvm::StringRef File, const GroundTruthTy &Gt, llvm::StringRef EntryPoint = "main") { Logger::disable(); ValueAnnotationPass::resetValueID(); - ProjectIRDB IRDB({unittest::PathToLLTestFiles + File.str()}); + ProjectIRDB IRDB({"llvm_test_code/" + File.str()}); // llvm::outs() << *IRDB.getWPAModule() << '\n'; @@ -95,17 +95,17 @@ static void analyze(llvm::StringRef File, const GroundTruthTy &Gt, } TEST(LLVMPointsToSetSerializationTest, Ser_Intra01) { - analyze("pointers/basic_01_cpp.ll", {{{"1"}, {"0", "3"}}, {"main"}}); + analyze("pointers/basic_01.ll", {{{"1"}, {"0", "3"}}, {"main"}}); } TEST(LLVMPointsToSetSerializationTest, Ser_Inter01) { - analyze("pointers/call_01_cpp.ll", + analyze("pointers/call_01.ll", {{{"0"}, {"10", "12", "2", "6", "_Z10setIntegerPi.0"}, {"5"}, {"7"}}, {"main", "_Z10setIntegerPi"}}); } TEST(LLVMPointsToSetSerializationTest, Ser_Global01) { - analyze("pointers/global_01_cpp.ll", + analyze("pointers/global_01.ll", {{{"0", "15", "17", "2", "3", "9", "_Z3fooPi.0"}, {"1"}, {"12"}, diff --git a/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp b/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp index 6b5ccce58..6b712658b 100644 --- a/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp +++ b/phasar/llvm/test/src/Pointer/LLVMPointsToSetTest.cpp @@ -14,7 +14,7 @@ using namespace psr; TEST(LLVMPointsToSet, Intra_01) { ValueAnnotationPass::resetValueID(); - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "pointers/basic_01_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/pointers/basic_01.ll"}); LLVMPointsToSet PTS(IRDB, false); const auto *Main = IRDB.getFunctionDefinition("main"); @@ -29,7 +29,7 @@ TEST(LLVMPointsToSet, Intra_01) { TEST(LLVMPointsToSet, Inter_01) { ValueAnnotationPass::resetValueID(); - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "pointers/call_01_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/pointers/call_01.ll"}); LLVMPointsToSet PTS(IRDB, false); LLVMTypeHierarchy TH(IRDB); LLVMBasedICFG ICF(IRDB, CallGraphAnalysisType::OTF, {"main"}, &TH, &PTS); @@ -45,7 +45,7 @@ TEST(LLVMPointsToSet, Inter_01) { TEST(LLVMPointsToSet, Global_01) { ValueAnnotationPass::resetValueID(); - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "pointers/global_01_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/pointers/global_01.ll"}); LLVMPointsToSet PTS(IRDB, false); LLVMTypeHierarchy TH(IRDB); LLVMBasedICFG ICF(IRDB, CallGraphAnalysisType::OTF, {"main"}, &TH, &PTS); diff --git a/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp b/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp index 5bbaab226..1c8d087bf 100644 --- a/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp +++ b/phasar/llvm/test/src/TaintConfig/TaintConfigTest.cpp @@ -19,7 +19,7 @@ // Unit tests for the code annotation taint configuration const std::string PathToAttrTaintConfigTestCode = - psr::unittest::PathToLLTestFiles + "TaintConfig/AttrConfig/"; + "llvm_test_code/TaintConfig/AttrConfig/"; namespace { class TaintConfigTest : public ::testing::Test { @@ -38,7 +38,7 @@ class TaintConfigTest : public ::testing::Test { } // anonymous namespace TEST_F(TaintConfigTest, Array_01) { - const std::string File = "array_01_c_dbg.ll"; + const std::string File = "array_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -47,7 +47,7 @@ TEST_F(TaintConfigTest, Array_01) { } TEST_F(TaintConfigTest, Array_02) { - const std::string File = "array_02_c_dbg.ll"; + const std::string File = "array_02.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -56,7 +56,7 @@ TEST_F(TaintConfigTest, Array_02) { } TEST_F(TaintConfigTest, Basic_01) { - const std::string File = "basic_01_c_dbg.ll"; + const std::string File = "basic_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -76,7 +76,7 @@ TEST_F(TaintConfigTest, Basic_01) { } TEST_F(TaintConfigTest, Basic_02) { - const std::string File = "basic_02_c_dbg.ll"; + const std::string File = "basic_02.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -87,7 +87,7 @@ TEST_F(TaintConfigTest, Basic_02) { } TEST_F(TaintConfigTest, Basic_03) { - const std::string File = "basic_03_c_dbg.ll"; + const std::string File = "basic_03.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -101,7 +101,7 @@ TEST_F(TaintConfigTest, Basic_03) { } TEST_F(TaintConfigTest, Basic_04) { - const std::string File = "basic_04_c_dbg.ll"; + const std::string File = "basic_04.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -110,7 +110,7 @@ TEST_F(TaintConfigTest, Basic_04) { } TEST_F(TaintConfigTest, DataMember_01) { - const std::string File = "data_member_01_cpp_dbg.ll"; + const std::string File = "data_member_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -119,7 +119,7 @@ TEST_F(TaintConfigTest, DataMember_01) { } TEST_F(TaintConfigTest, FunMember_01) { - const std::string File = "fun_member_01_cpp_dbg.ll"; + const std::string File = "fun_member_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig TConfig(IR); // IR.emitPreprocessedIR(llvm::outs(), false); @@ -140,7 +140,7 @@ TEST_F(TaintConfigTest, FunMember_01) { } TEST_F(TaintConfigTest, FunMember_02) { - const std::string File = "fun_member_02_cpp_dbg.ll"; + const std::string File = "fun_member_02.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig TConfig(IR); // IR.emitPreprocessedIR(llvm::outs(), false); @@ -164,7 +164,7 @@ TEST_F(TaintConfigTest, FunMember_02) { } TEST_F(TaintConfigTest, NameMangling_01) { - const std::string File = "name_mangling_01_cpp_dbg.ll"; + const std::string File = "name_mangling_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -182,7 +182,7 @@ TEST_F(TaintConfigTest, NameMangling_01) { } TEST_F(TaintConfigTest, StaticFun_01) { - const std::string File = "static_fun_01_cpp_dbg.ll"; + const std::string File = "static_fun_01.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -201,7 +201,7 @@ TEST_F(TaintConfigTest, StaticFun_01) { } TEST_F(TaintConfigTest, StaticFun_02) { - const std::string File = "static_fun_02_cpp_dbg.ll"; + const std::string File = "static_fun_02.dbg.ll"; psr::ProjectIRDB IR({PathToAttrTaintConfigTestCode + File}); psr::TaintConfig Config(IR); llvm::outs() << Config << '\n'; @@ -225,10 +225,10 @@ TEST_F(TaintConfigTest, StaticFun_02) { // Unit tests for the json taint configuration const std::string PathToJsonTaintConfigTestCode = - psr::unittest::PathToLLTestFiles + "TaintConfig/JsonConfig/"; + "llvm_test_code/TaintConfig/JsonConfig/"; TEST_F(TaintConfigTest, Array_01_Json) { - const std::string File = "array_01_c_dbg.ll"; + const std::string File = "array_01.dbg.ll"; const std::string Config = "array_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -241,7 +241,7 @@ TEST_F(TaintConfigTest, Array_01_Json) { } TEST_F(TaintConfigTest, Array_02_Json) { - const std::string File = "array_02_c_dbg.ll"; + const std::string File = "array_02.dbg.ll"; const std::string Config = "array_02_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -254,7 +254,7 @@ TEST_F(TaintConfigTest, Array_02_Json) { } TEST_F(TaintConfigTest, Basic_01_Json) { - const std::string File = "basic_01_c_dbg.ll"; + const std::string File = "basic_01.dbg.ll"; const std::string Config = "basic_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -277,7 +277,7 @@ TEST_F(TaintConfigTest, Basic_01_Json) { } TEST_F(TaintConfigTest, Basic_02_Json) { - const std::string File = "basic_02_c_dbg.ll"; + const std::string File = "basic_02.dbg.ll"; const std::string Config = "basic_02_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -292,7 +292,7 @@ TEST_F(TaintConfigTest, Basic_02_Json) { } TEST_F(TaintConfigTest, Basic_03_Json) { - const std::string File = "basic_03_c_dbg.ll"; + const std::string File = "basic_03.dbg.ll"; const std::string Config = "basic_03_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -309,7 +309,7 @@ TEST_F(TaintConfigTest, Basic_03_Json) { } TEST_F(TaintConfigTest, Basic_04_Json) { - const std::string File = "basic_04_c_dbg.ll"; + const std::string File = "basic_04.dbg.ll"; const std::string Config = "basic_04_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -323,7 +323,7 @@ TEST_F(TaintConfigTest, Basic_04_Json) { } TEST_F(TaintConfigTest, DataMember_01_Json) { - const std::string File = "data_member_01_cpp_dbg.ll"; + const std::string File = "data_member_01.dbg.ll"; const std::string Config = "data_member_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -337,7 +337,7 @@ TEST_F(TaintConfigTest, DataMember_01_Json) { } TEST_F(TaintConfigTest, FunMember_01_Json) { - const std::string File = "fun_member_01_cpp_dbg.ll"; + const std::string File = "fun_member_01.dbg.ll"; const std::string Config = "fun_member_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -361,7 +361,7 @@ TEST_F(TaintConfigTest, FunMember_01_Json) { } TEST_F(TaintConfigTest, FunMember_02_Json) { - const std::string File = "fun_member_02_cpp_dbg.ll"; + const std::string File = "fun_member_02.dbg.ll"; const std::string Config = "fun_member_02_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -394,7 +394,7 @@ TEST_F(TaintConfigTest, FunMember_02_Json) { } TEST_F(TaintConfigTest, NameMangling_01_Json) { - const std::string File = "name_mangling_01_cpp_dbg.ll"; + const std::string File = "name_mangling_01.dbg.ll"; const std::string Config = "name_mangling_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -416,7 +416,7 @@ TEST_F(TaintConfigTest, NameMangling_01_Json) { } TEST_F(TaintConfigTest, StaticFun_01_Json) { - const std::string File = "static_fun_01_cpp_dbg.ll"; + const std::string File = "static_fun_01.dbg.ll"; const std::string Config = "static_fun_01_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); @@ -438,7 +438,7 @@ TEST_F(TaintConfigTest, StaticFun_01_Json) { } TEST_F(TaintConfigTest, StaticFun_02_Json) { - const std::string File = "static_fun_02_cpp_dbg.ll"; + const std::string File = "static_fun_02.dbg.ll"; const std::string Config = "static_fun_02_config.json"; auto JsonConfig = psr::parseTaintConfig(PathToJsonTaintConfigTestCode + Config); diff --git a/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp b/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp index 7efb2cdd6..101f4fe32 100644 --- a/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp +++ b/phasar/llvm/test/src/TypeHierarchy/LLVMTypeHierarchyTest.cpp @@ -24,8 +24,7 @@ namespace psr { // Check basic type hierarchy construction TEST(LTHTest, BasicTHReconstruction_1) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_1_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_1.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -60,14 +59,12 @@ TEST(LTHTest, BasicTHReconstruction_1) { } TEST(LTHTest, THConstructionException) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_15_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_15.ll"}); LLVMTypeHierarchy LTH(IRDB); } TEST(LTHTest, BasicTHReconstruction_2) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_2_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_2.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -102,8 +99,7 @@ TEST(LTHTest, BasicTHReconstruction_2) { } TEST(LTHTest, BasicTHReconstruction_3) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_3_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_3.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -148,8 +144,7 @@ TEST(LTHTest, BasicTHReconstruction_3) { } TEST(LTHTest, BasicTHReconstruction_4) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_4_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_4.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -199,8 +194,7 @@ TEST(LTHTest, BasicTHReconstruction_4) { } TEST(LTHTest, BasicTHReconstruction_5) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_5_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_5.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -278,8 +272,7 @@ TEST(LTHTest, BasicTHReconstruction_5) { } TEST(LTHTest, BasicTHReconstruction_6) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_12_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_12.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("class.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -314,8 +307,7 @@ TEST(LTHTest, BasicTHReconstruction_6) { } TEST(LTHTest, BasicTHReconstruction_7) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_11_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_11.ll"}); LLVMTypeHierarchy LTH(IRDB); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Base")), true); EXPECT_EQ(LTH.hasType(LTH.getType("struct.Child")), true); @@ -352,18 +344,12 @@ TEST(LTHTest, BasicTHReconstruction_7) { // check if the vtables are constructed correctly in more complex scenarios TEST(LTHTest, VTableConstruction) { - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_1_cpp.ll"}); - ProjectIRDB IRDB2({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_7_cpp.ll"}); - ProjectIRDB IRDB3({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_8_cpp.ll"}); - ProjectIRDB IRDB4({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_9_cpp.ll"}); - ProjectIRDB IRDB5({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_10_cpp.ll"}); - ProjectIRDB IRDB6({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_14_cpp.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/type_hierarchies/type_hierarchy_1.ll"}); + ProjectIRDB IRDB2({"llvm_test_code/type_hierarchies/type_hierarchy_7.ll"}); + ProjectIRDB IRDB3({"llvm_test_code/type_hierarchies/type_hierarchy_8.ll"}); + ProjectIRDB IRDB4({"llvm_test_code/type_hierarchies/type_hierarchy_9.ll"}); + ProjectIRDB IRDB5({"llvm_test_code/type_hierarchies/type_hierarchy_10.ll"}); + ProjectIRDB IRDB6({"llvm_test_code/type_hierarchies/type_hierarchy_14.ll"}); // Creates an empty type hierarchy LLVMTypeHierarchy TH1(IRDB1); @@ -525,16 +511,11 @@ TEST(LTHTest, VTableConstruction) { } TEST(LTHTest, TransitivelyReachableTypes) { - ProjectIRDB IRDB1({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_1_cpp.ll"}); - ProjectIRDB IRDB2({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_7_cpp.ll"}); - ProjectIRDB IRDB3({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_8_cpp.ll"}); - ProjectIRDB IRDB4({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_9_cpp.ll"}); - ProjectIRDB IRDB5({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_10_cpp.ll"}); + ProjectIRDB IRDB1({"llvm_test_code/type_hierarchies/type_hierarchy_1.ll"}); + ProjectIRDB IRDB2({"llvm_test_code/type_hierarchies/type_hierarchy_7.ll"}); + ProjectIRDB IRDB3({"llvm_test_code/type_hierarchies/type_hierarchy_8.ll"}); + ProjectIRDB IRDB4({"llvm_test_code/type_hierarchies/type_hierarchy_9.ll"}); + ProjectIRDB IRDB5({"llvm_test_code/type_hierarchies/type_hierarchy_10.ll"}); // Creates an empty type hierarchy LLVMTypeHierarchy TH1(IRDB1); LLVMTypeHierarchy TH2(IRDB2); @@ -629,7 +610,7 @@ TEST(LTHTest, TransitivelyReachableTypes) { // TEST(LTHTest, HandleLoadAndPrintOfNonEmptyGraph) { // ProjectIRDB IRDB( -// {pathToLLFiles + "type_hierarchies/type_hierarchy_1_cpp.ll"}); +// {pathToLLFiles + "type_hierarchies/type_hierarchy_1.ll"}); // LLVMTypeHierarchy TH(IRDB); // TH.print(llvm::outs()); // // std::ostringstream oss; @@ -652,7 +633,7 @@ TEST(LTHTest, TransitivelyReachableTypes) { // // TEST(LTHTest, HandleLoadAndPrintOfEmptyGraph) { // // ProjectIRDB IRDB({pathToLLFiles + -// // "taint_analysis/growing_example_cpp.ll"}); LLVMTypeHierarchy TH(IRDB); +// // "taint_analysis/growing_example.ll"}); LLVMTypeHierarchy TH(IRDB); // // std::ostringstream oss; // // // Write empty LTH graph as dot to string // // TH.printGraphAsDot(oss); @@ -672,12 +653,12 @@ TEST(LTHTest, TransitivelyReachableTypes) { // // TEST(LTHTest, HandleMerge_1) { // // ProjectIRDB IRDB( -// // {pathToLLFiles + "type_hierarchies/type_hierarchy_12_cpp.ll", -// // pathToLLFiles + "type_hierarchies/type_hierarchy_12_b_cpp.ll"}); +// // {pathToLLFiles + "type_hierarchies/type_hierarchy_12.ll", +// // pathToLLFiles + "type_hierarchies/type_hierarchy_12_b.ll"}); // // LLVMTypeHierarchy TH1(*IRDB.getModule( -// // pathToLLFiles + "type_hierarchies/type_hierarchy_12_cpp.ll")); +// // pathToLLFiles + "type_hierarchies/type_hierarchy_12.ll")); // // LLVMTypeHierarchy TH2(*IRDB.getModule( -// // pathToLLFiles + "type_hierarchies/type_hierarchy_12_b_cpp.ll")); +// // pathToLLFiles + "type_hierarchies/type_hierarchy_12_b.ll")); // // TH1.mergeWith(TH2); // // TH1.print(); // // EXPECT_TRUE(TH1.hasType(LTH.getType("class.Base"))); @@ -733,8 +714,7 @@ PHASAR_SKIP_TEST(TEST(LTHTest, HandleSTLString) { // If we use libcxx this won't work since internal implementation is different LIBCPP_GTEST_SKIP; - ProjectIRDB IRDB({unittest::PathToLLTestFiles + - "type_hierarchies/type_hierarchy_13_cpp.ll"}); + ProjectIRDB IRDB({"llvm_test_code/type_hierarchies/type_hierarchy_13.ll"}); LLVMTypeHierarchy TH(IRDB); EXPECT_EQ(TH.getAllTypes().size(), 7U); EXPECT_TRUE(TH.hasType(TH.getType("class.std::__cxx11::basic_string"))); diff --git a/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp b/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp index 28462b940..ab8f2868d 100644 --- a/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp +++ b/phasar/llvm/test/src/TypeHierarchy/TypeGraphTest.cpp @@ -19,9 +19,8 @@ using namespace psr; namespace psr { TEST(TypeGraphTest, AddType) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "basic/two_structs_cpp.ll"}); - llvm::Module *M = - IRDB.getModule(unittest::PathToLLTestFiles + "basic/two_structs_cpp.ll"); + ProjectIRDB IRDB({"llvm_test_code/basic/two_structs.ll"}); + llvm::Module *M = IRDB.getModule("llvm_test_code/basic/two_structs.ll"); unsigned int NbStruct = 0; @@ -49,10 +48,8 @@ TEST(TypeGraphTest, AddType) { } TEST(TypeGraphTest, ReverseTypePropagation) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "basic/seven_structs_cpp.ll"}); - llvm::Module *M = IRDB.getModule(unittest::PathToLLTestFiles + - "basic/seven_structs_cpp.ll"); + ProjectIRDB IRDB({"llvm_test_code/basic/seven_structs.ll"}); + llvm::Module *M = IRDB.getModule("llvm_test_code/basic/seven_structs.ll"); unsigned int NbStruct = 0; llvm::StructType *StructA = nullptr; @@ -195,9 +192,8 @@ TEST(TypeGraphTest, ReverseTypePropagation) { } TEST(TypeGraphTest, AddLinkSimple) { - ProjectIRDB IRDB({unittest::PathToLLTestFiles + "basic/two_structs_cpp.ll"}); - llvm::Module *M = - IRDB.getModule(unittest::PathToLLTestFiles + "basic/two_structs_cpp.ll"); + ProjectIRDB IRDB({"llvm_test_code/basic/two_structs.ll"}); + llvm::Module *M = IRDB.getModule("llvm_test_code/basic/two_structs.ll"); unsigned int NbStruct = 0; llvm::StructType *StructA = nullptr; @@ -264,10 +260,8 @@ TEST(TypeGraphTest, AddLinkSimple) { } TEST(TypeGraphTest, TypeAggregation) { - ProjectIRDB IRDB( - {unittest::PathToLLTestFiles + "basic/seven_structs_cpp.ll"}); - llvm::Module *M = IRDB.getModule(unittest::PathToLLTestFiles + - "basic/seven_structs_cpp.ll"); + ProjectIRDB IRDB({"llvm_test_code/basic/seven_structs.ll"}); + llvm::Module *M = IRDB.getModule("llvm_test_code/basic/seven_structs.ll"); unsigned int NbStruct = 0; llvm::StructType *StructA = nullptr; diff --git a/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp b/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp index 223f1ffcc..fa90cd7dc 100644 --- a/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp +++ b/phasar/llvm/test/src/Utils/LLVMIRToSrcTest.cpp @@ -22,8 +22,7 @@ using namespace psr; class LLVMIRToSrcTest : public ::testing::Test { protected: - const std::string PathToLlFiles = PhasarConfig::PhasarDirectory() + - "build/test/llvm_test_code/llvmIRtoSrc/"; + const std::string PathToLlFiles = "llvm_test_code/llvmIRtoSrc/"; unique_ptr IRDB; unique_ptr TH; @@ -48,7 +47,7 @@ class LLVMIRToSrcTest : public ::testing::Test { }; // Test Fixture // TEST_F(LLVMIRToSrcTest, HandleInstructions) { -// Initialize({pathToLLFiles + "function_call_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "function_call.dbg.ll"}); // auto Fmain = ICFG->getMethod("main"); // for (auto &BB : *Fmain) { // for (auto &I : BB) { @@ -66,7 +65,7 @@ class LLVMIRToSrcTest : public ::testing::Test { // } // TEST_F(LLVMIRToSrcTest, HandleFunctions) { -// Initialize({pathToLLFiles + "multi_calls_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "multi_calls.dbg.ll"}); // for (auto F : IRDB->getAllFunctions()) { // // F->print(llvm::outs()); // // llvm::outs() << '\n'; @@ -75,15 +74,15 @@ class LLVMIRToSrcTest : public ::testing::Test { // } // TEST_F(LLVMIRToSrcTest, HandleGlobalVariable) { -// Initialize({pathToLLFiles + "global_01_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "global_01.dbg.ll"}); // for (auto &GV : -// IRDB->getModule(pathToLLFiles + "global_01_cpp_dbg.ll")->globals()) { +// IRDB->getModule(pathToLLFiles + "global_01.dbg.ll")->globals()) { // llvm::outs() << '\n' << llvmGlobalValueToSrc(&GV) << std::endl; // } // } // TEST_F(LLVMIRToSrcTest, HandleAlloca) { -// Initialize({pathToLLFiles + "function_call_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "function_call.dbg.ll"}); // for (auto A : IRDB->getAllocaInstructions()) { // llvm::outs() << '\n' // << llvmIRToString(A) << "\n --> " << llvmValueToSrc(A) diff --git a/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp b/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp index ca8a8b207..ac1344202 100644 --- a/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp +++ b/phasar/llvm/test/src/WPDS/Problems/WPDSLinearConstantAnalysisTest.cpp @@ -18,9 +18,7 @@ using namespace psr; /* ============== TEST FIXTURE ============== */ class WPDSLinearConstantAnalysisTest : public ::testing::Test { protected: - const std::string PathToLlFiles = - PhasarConfig::PhasarDirectory() + - "build/test/llvm_test_code/linear_constant/"; + const std::string PathToLlFiles = "llvm_test_code/linear_constant/"; const std::set EntryPoints = {"main"}; unique_ptr IRDB; @@ -75,7 +73,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // /* ============== BASIC TESTS ============== */ // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_01) { -// Initialize({pathToLLFiles + "basic_01_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_01.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -84,7 +82,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_02) { -// Initialize({pathToLLFiles + "basic_02_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_02.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -93,7 +91,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_03) { -// Initialize({pathToLLFiles + "basic_03_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_03.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -103,7 +101,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_04) { -// Initialize({pathToLLFiles + "basic_04_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_04.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -113,7 +111,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_05) { -// Initialize({pathToLLFiles + "basic_05_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_05.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -123,7 +121,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBasicTest_06) { -// Initialize({pathToLLFiles + "basic_06_cpp_m2r_dbg.ll"}); +// Initialize({pathToLLFiles + "basic_06.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -133,7 +131,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // /* ============== BRANCH TESTS ============== */ // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_01) { -// Initialize({pathToLLFiles + "branch_01_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_01.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -144,7 +142,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_02) { // // Probably a bad example/style, since variable i is possibly unitialized -// Initialize({pathToLLFiles + "branch_02_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_02.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -153,7 +151,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_03) { -// Initialize({pathToLLFiles + "branch_03_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_03.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -162,7 +160,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_04) { -// Initialize({pathToLLFiles + "branch_04_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_04.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -176,7 +174,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_05) { -// Initialize({pathToLLFiles + "branch_05_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_05.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -187,7 +185,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_06) { -// Initialize({pathToLLFiles + "branch_06_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_06.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -201,7 +199,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleBranchTest_07) { -// Initialize({pathToLLFiles + "branch_07_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "branch_07.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -214,7 +212,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // /* ============== CALL TESTS ============== */ // TEST_F(WPDSLinearConstantAnalysisTest, HandleCallTest_01) { -// Initialize({pathToLLFiles + "call_01_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "call_01.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -225,7 +223,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleCallTest_02) { -// Initialize({pathToLLFiles + "call_02_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "call_02.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -236,7 +234,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleCallTest_03) { -// Initialize({pathToLLFiles + "call_03_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "call_03.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -245,7 +243,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleCallTest_04) { -// Initialize({pathToLLFiles + "call_04_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "call_04.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); @@ -254,7 +252,7 @@ class WPDSLinearConstantAnalysisTest : public ::testing::Test { // } // TEST_F(WPDSLinearConstantAnalysisTest, HandleCallTest_05) { -// Initialize({pathToLLFiles + "call_05_cpp_dbg.ll"}); +// Initialize({pathToLLFiles + "call_05.dbg.ll"}); // LLVMIDESolver llvmlcasolver( // *LCAProblem); // llvmlcasolver.solve(); From 0d8237bb3f2c48aa7d5e2b141f5dc67215f41e01 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 21:11:00 +0200 Subject: [PATCH 23/95] restructure: fix files not copied, 14 tests fail --- cmake/just-simple.cmake | 7 +- .../llvm/test/llvm_test_code/CMakeLists.txt | 2 +- .../exceptions/exceptions_01_cpp_icfg.json | 0 .../branch_07_cpp_main_cfg.json | 0 .../linear_constant/call_01_cpp_icfg.json | 0 .../linear_constant/call_07_cpp_icfg.json | 0 .../ControlFlow/LLVMBasedICFGExportTest.cpp | 2 +- .../IDEInstInteractionAnalysisTest.cpp | 4 +- .../Problems/IFDSConstAnalysisTest.cpp | 72 +++++++++---------- .../Problems/IFDSTaintAnalysisTest.cpp | 12 ++-- phasar/test-utils/include/TestConfig.h | 9 --- 11 files changed, 49 insertions(+), 59 deletions(-) rename {test => phasar/llvm/test/resource}/json_test_code/exceptions/exceptions_01_cpp_icfg.json (100%) rename {test => phasar/llvm/test/resource}/json_test_code/linear_constant/branch_07_cpp_main_cfg.json (100%) rename {test => phasar/llvm/test/resource}/json_test_code/linear_constant/call_01_cpp_icfg.json (100%) rename {test => phasar/llvm/test/resource}/json_test_code/linear_constant/call_07_cpp_icfg.json (100%) diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index 0a219a726..7ba8a4a58 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -130,12 +130,9 @@ function(_just_add_resource SRC) if (EXISTS "${SRC}/resource") if (NOT EXISTS "${SRC}/resource/CMakeLists.txt") message(NOTICE "found resources in: ${SRC}/resource") - file(GLOB files "${SRC}/resource/*") + file(GLOB_RECURSE files RELATIVE "${SRC}/resource" LIST_DIRECTORIES false "${SRC}/resource/*") foreach(file ${files}) - if (NOT IS_DIRECTORY "${file}") - get_filename_component(file_name "${file}" NAME) - configure_file("${file}" "${CMAKE_CURRENT_BINARY_DIR}/${file_name}" COPYONLY) - endif() + configure_file("${SRC}/resource/${file}" "${CMAKE_CURRENT_BINARY_DIR}/${file}" COPYONLY) endforeach() else() message(NOTICE "skipping resource folder: ${SRC}/resource because it contains CMakeLists.txt") # XXX handle if SKIP_SUBDIRECTORIES diff --git a/phasar/llvm/test/llvm_test_code/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/CMakeLists.txt index 58addab16..9816746ff 100644 --- a/phasar/llvm/test/llvm_test_code/CMakeLists.txt +++ b/phasar/llvm/test/llvm_test_code/CMakeLists.txt @@ -124,7 +124,7 @@ file(GLOB_RECURSE test_code_files "*.c*") list(FILTER test_code_files INCLUDE REGEX "^.*\.(c|cpp)$") list(FILTER test_code_files EXCLUDE REGEX "^.*xtaint0[78].cpp$") # TODO also excluded in CMakeList, maybe remove instead? -list(FILTER test_code_files EXCLUDE REGEX "^.*key-derivation[0-9].c$") # TODO includes are working but which version is the correct one? +list(FILTER test_code_files EXCLUDE REGEX "^.*key-derivation[1-35-8].c$") # TODO includes are working but which version is the correct one? foreach(test_code_file ${test_code_files}) generate_ll_file( diff --git a/test/json_test_code/exceptions/exceptions_01_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json similarity index 100% rename from test/json_test_code/exceptions/exceptions_01_cpp_icfg.json rename to phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json diff --git a/test/json_test_code/linear_constant/branch_07_cpp_main_cfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json similarity index 100% rename from test/json_test_code/linear_constant/branch_07_cpp_main_cfg.json rename to phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json diff --git a/test/json_test_code/linear_constant/call_01_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json similarity index 100% rename from test/json_test_code/linear_constant/call_01_cpp_icfg.json rename to phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json diff --git a/test/json_test_code/linear_constant/call_07_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json similarity index 100% rename from test/json_test_code/linear_constant/call_07_cpp_icfg.json rename to phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json diff --git a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp index 2c807f55d..71ac8840c 100644 --- a/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp +++ b/phasar/llvm/test/src/ControlFlow/LLVMBasedICFGExportTest.cpp @@ -35,7 +35,7 @@ using MapTy = llvm::DenseMap>( "main", 17, "GlobalFeature", {"0", "1"})); - doAnalysisAndCompareResults("global_03.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_03.o1.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_04) { @@ -557,7 +557,7 @@ TEST_F(IDEInstInteractionAnalysisTest, HandleGlobalTest_04) { GroundTruth.emplace( std::tuple>( "_Z7doStuffi", 2, "GlobalFeature", {"0", "3"})); - doAnalysisAndCompareResults("global_04.ll", GroundTruth, false); + doAnalysisAndCompareResults("global_04.o1.ll", GroundTruth, false); } TEST_F(IDEInstInteractionAnalysisTest, KillTest_01) { diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp index 08f23d507..eb40bcb63 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSConstAnalysisTest.cpp @@ -99,35 +99,35 @@ TEST_F(IFDSConstAnalysisTest, HandleBasicTest_04) { /* ============== CONTROL FLOW TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCFForTest_01) { - initialize({PathToLlFiles + "control_flow/cf_for_01.dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_for_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFForTest_02) { - initialize({PathToLlFiles + "control_flow/cf_for_02.dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_for_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFIfTest_01) { - initialize({PathToLlFiles + "control_flow/cf_if_01.dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_if_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFIfTest_02) { - initialize({PathToLlFiles + "control_flow/cf_if_02.dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_if_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCFWhileTest_01) { - initialize({PathToLlFiles + "control_flow/cf_while_01.dbg.ll"}); + initialize({PathToLlFiles + "control_flow/cf_while_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); @@ -158,7 +158,7 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandlePointerTest_03) { } TEST_F(IFDSConstAnalysisTest, HandlePointerTest_04) { - initialize({PathToLlFiles + "pointer/pointer_04.dbg.ll"}); + initialize({PathToLlFiles + "pointer/pointer_04.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({4}, Llvmconstsolver); @@ -166,21 +166,21 @@ TEST_F(IFDSConstAnalysisTest, HandlePointerTest_04) { /* ============== GLOBAL TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_01) { - initialize({PathToLlFiles + "global/global_01.dbg.ll"}); + initialize({PathToLlFiles + "global/global_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_02) { - initialize({PathToLlFiles + "global/global_02.dbg.ll"}); + initialize({PathToLlFiles + "global/global_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleGlobalTest_03) { - initialize({PathToLlFiles + "global/global_03.dbg.ll"}); + initialize({PathToLlFiles + "global/global_03.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); @@ -199,21 +199,21 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleGlobalTest_04) { /* ============== CALL TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_01) { - initialize({PathToLlFiles + "call/param/call_param_01.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({5}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_02) { - initialize({PathToLlFiles + "call/param/call_param_02.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({5}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_03) { - initialize({PathToLlFiles + "call/param/call_param_03.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_03.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -222,7 +222,7 @@ TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "call/param/call_param_04.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_04.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -231,49 +231,49 @@ TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_04) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleCallParamTest_05) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "call/param/call_param_05.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_05.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_06) { - initialize({PathToLlFiles + "call/param/call_param_06.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_06.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_07) { - initialize({PathToLlFiles + "call/param/call_param_07.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_07.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({6}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallParamTest_08) { - initialize({PathToLlFiles + "call/param/call_param_08.dbg.ll"}); + initialize({PathToLlFiles + "call/param/call_param_08.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({4}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_01) { - initialize({PathToLlFiles + "call/return/call_ret_01.dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_02) { - initialize({PathToLlFiles + "call/return/call_ret_02.dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_03) { - initialize({PathToLlFiles + "call/return/call_ret_03.dbg.ll"}); + initialize({PathToLlFiles + "call/return/call_ret_03.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); @@ -281,21 +281,21 @@ TEST_F(IFDSConstAnalysisTest, HandleCallReturnTest_03) { /* ============== ARRAY TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_01) { - initialize({PathToLlFiles + "array/array_01.dbg.ll"}); + initialize({PathToLlFiles + "array/array_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_02) { - initialize({PathToLlFiles + "array/array_02.dbg.ll"}); + initialize({PathToLlFiles + "array/array_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_03) { - initialize({PathToLlFiles + "array/array_03.dbg.ll"}); + initialize({PathToLlFiles + "array/array_03.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); @@ -304,21 +304,21 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleArrayTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/array_04.dbg.ll"}); + initialize({PathToLlFiles + "array/array_04.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_05) { - initialize({PathToLlFiles + "array/array_05.dbg.ll"}); + initialize({PathToLlFiles + "array/array_05.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({1}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_06) { - initialize({PathToLlFiles + "array/array_06.dbg.ll"}); + initialize({PathToLlFiles + "array/array_06.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); PT->print(llvm::errs()); @@ -328,21 +328,21 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_06) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleArrayTest_07) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/array_07.dbg.ll"}); + initialize({PathToLlFiles + "array/array_07.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_08) { - initialize({PathToLlFiles + "array/array_08.dbg.ll"}); + initialize({PathToLlFiles + "array/array_08.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleArrayTest_09) { - initialize({PathToLlFiles + "array/array_09.dbg.ll"}); + initialize({PathToLlFiles + "array/array_09.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0}, Llvmconstsolver); @@ -350,14 +350,14 @@ TEST_F(IFDSConstAnalysisTest, HandleArrayTest_09) { /* ============== STL ARRAY TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_01) { - initialize({PathToLlFiles + "array/stl_array/stl_array_01.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_02) { - initialize({PathToLlFiles + "array/stl_array/stl_array_02.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_02.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1}, Llvmconstsolver); @@ -367,7 +367,7 @@ PHASAR_SKIP_TEST(TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_03) { // If we use libcxx this won't work since internal implementation is different LIBCPP_GTEST_SKIP; - initialize({PathToLlFiles + "array/stl_array/stl_array_03.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_03.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({0, 1, 2}, Llvmconstsolver); @@ -376,21 +376,21 @@ PHASAR_SKIP_TEST(TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_03) { TEST_F(IFDSConstAnalysisTest, DISABLED_HandleSTLArrayTest_04) { // Guaranteed to fail - enable, once we have more precise points-to // information - initialize({PathToLlFiles + "array/stl_array/stl_array_04.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_04.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_05) { - initialize({PathToLlFiles + "array/stl_array/stl_array_05.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_05.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); } TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_06) { - initialize({PathToLlFiles + "array/stl_array/stl_array_06.dbg.ll"}); + initialize({PathToLlFiles + "array/stl_array/stl_array_06.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({2}, Llvmconstsolver); @@ -398,7 +398,7 @@ TEST_F(IFDSConstAnalysisTest, HandleSTLArrayTest_06) { /* ============== CSTRING TESTS ============== */ TEST_F(IFDSConstAnalysisTest, HandleCStringTest_01) { - initialize({PathToLlFiles + "array/cstring/cstring_01.dbg.ll"}); + initialize({PathToLlFiles + "array/cstring/cstring_01.m2r.dbg.ll"}); IFDSSolver_P Llvmconstsolver(*Constproblem); Llvmconstsolver.solve(); compareResults({}, Llvmconstsolver); diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp index 50df1aed3..31529603d 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp @@ -83,7 +83,7 @@ class IFDSTaintAnalysisTest : public ::testing::Test { }; // Test Fixture TEST_F(IFDSTaintAnalysisTest, TaintTest_01) { - initialize({PathToLlFiles + "dummy_source_sink/taint_01.dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_01.m2r.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -92,7 +92,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_01) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_01_m2r) { - initialize({PathToLlFiles + "dummy_source_sink/taint_01.dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_01.m2r.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -138,7 +138,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_05) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_06) { - initialize({PathToLlFiles + "dummy_source_sink/taint_06.dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_06.m2r.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -147,7 +147,8 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_06) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01) { - initialize({PathToLlFiles + "dummy_source_sink/taint_exception_01.dbg.ll"}); + initialize( + {PathToLlFiles + "dummy_source_sink/taint_exception_01.m2r.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -156,7 +157,8 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01_m2r) { - initialize({PathToLlFiles + "dummy_source_sink/taint_exception_01.dbg.ll"}); + initialize( + {PathToLlFiles + "dummy_source_sink/taint_exception_01.m2r.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; diff --git a/phasar/test-utils/include/TestConfig.h b/phasar/test-utils/include/TestConfig.h index a8eb20c73..f6c718632 100644 --- a/phasar/test-utils/include/TestConfig.h +++ b/phasar/test-utils/include/TestConfig.h @@ -7,15 +7,6 @@ namespace psr::unittest { -inline const std::string PathToLLTestFiles(PhasarConfig::PhasarDirectory() + - "build/test/llvm_test_code/"); - -inline const std::string PathToTxtTestFiles(PhasarConfig::PhasarDirectory() + - "build/test/text_test_code/"); - -inline const std::string PathToJSONTestFiles(PhasarConfig::PhasarDirectory() + - "test/json_test_code/"); - // Remove wrapped tests in case GTEST_SKIP is not available. This is needed as // LLVM currently ships with an older version of gtest (<1.10.0) that does not // support GTEST_SKIP. TODO: Remove this macro after LLVM updated their gtest. From cdce1db01de60c18f0722358d331d1499a971870 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Thu, 28 Jul 2022 21:24:36 +0200 Subject: [PATCH 24/95] restructure: fix openssl testcode --- phasar/llvm/test/llvm_test_code/CMakeLists.txt | 1 - .../llvm/test/llvm_test_code/openssl/CMakeLists.txt | 12 ------------ .../openssl/key_derivation/CMakeLists.txt | 6 ------ .../openssl/key_derivation/key-derivation1.c | 2 +- .../openssl/key_derivation/key-derivation2.c | 2 +- .../openssl/key_derivation/key-derivation3.c | 2 +- .../openssl/key_derivation/key-derivation5.c | 2 +- .../openssl/key_derivation/key-derivation6.c | 2 +- .../openssl/key_derivation/key-derivation7.c | 2 +- .../openssl/key_derivation/key-derivation8.c | 2 +- 10 files changed, 7 insertions(+), 26 deletions(-) delete mode 100644 phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt delete mode 100644 phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt diff --git a/phasar/llvm/test/llvm_test_code/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/CMakeLists.txt index 9816746ff..adb9104c9 100644 --- a/phasar/llvm/test/llvm_test_code/CMakeLists.txt +++ b/phasar/llvm/test/llvm_test_code/CMakeLists.txt @@ -124,7 +124,6 @@ file(GLOB_RECURSE test_code_files "*.c*") list(FILTER test_code_files INCLUDE REGEX "^.*\.(c|cpp)$") list(FILTER test_code_files EXCLUDE REGEX "^.*xtaint0[78].cpp$") # TODO also excluded in CMakeList, maybe remove instead? -list(FILTER test_code_files EXCLUDE REGEX "^.*key-derivation[1-35-8].c$") # TODO includes are working but which version is the correct one? foreach(test_code_file ${test_code_files}) generate_ll_file( diff --git a/phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt deleted file mode 100644 index 6a0938575..000000000 --- a/phasar/llvm/test/llvm_test_code/openssl/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ - -# We need OpenSSL's header files to generate the LLVM IR - -if(PHASAR_BUILD_OPENSSL_TS_UNITTESTS) - find_package(OpenSSL REQUIRED) - message("${OPENSSL_INCLUDE_DIR}") - include_directories(${OPENSSL_INCLUDE_DIR}) - - add_subdirectory(key_derivation) - add_subdirectory(secure_memory) - add_subdirectory(secure_heap) -endif(PHASAR_BUILD_OPENSSL_TS_UNITTESTS) diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt deleted file mode 100644 index 7565aeef5..000000000 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/CMakeLists.txt +++ /dev/null @@ -1,6 +0,0 @@ -file(GLOB openssl_files *.c *.cpp) - -foreach(TEST_SRC ${openssl_files}) - get_filename_component(TEST_SRC_FILE ${TEST_SRC} NAME) - generate_ll_file(FILE ${TEST_SRC_FILE}) -endforeach(TEST_SRC) diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c index 32c37bc11..048ade5dc 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation1.c @@ -34,7 +34,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c index 4157bb564..37f6b493a 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation2.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c index c3f5ed1ab..152c0cda8 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation3.c @@ -39,7 +39,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c index 2ddd53dcf..a58393a3e 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation5.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c index 75985f1a8..d2319938e 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation6.c @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c index 0a3b822de..d2f3fd7fc 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation7.c @@ -38,7 +38,7 @@ int main(int argc, char *argv[]) { *p = OSSL_PARAM_construct_end(); /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } diff --git a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c index 3c844bcee..8d505a049 100644 --- a/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c +++ b/phasar/llvm/test/llvm_test_code/openssl/key_derivation/key-derivation8.c @@ -41,7 +41,7 @@ int main(int argc, char *argv[]) { } /* Do the derivation */ - if (EVP_KDF_derive(kctx, derived, sizeof(derived)) <= 0) { + if (EVP_KDF_derive(kctx, derived, sizeof(derived), params) <= 0) { error("EVP_KDF_derive"); } From 48fa222dd60ba55a5d3b415b53d9bd7b909cdabd Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 12:15:08 +0200 Subject: [PATCH 25/95] restructure: adding experimental / controller --- CMakeLists.txt | 4 ++-- phasar/controller/CMakeLists.txt | 4 ++++ phasar/experimental/CMakeLists.txt | 1 + .../phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h | 1 + 4 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e1e5b2af..28cd48f12 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,9 +27,9 @@ include(cmake/just-simple.cmake) add_subdirectory(phasar/clang) add_subdirectory(phasar/config) -#add_subdirectory(phasar/controller) +add_subdirectory(phasar/controller) add_subdirectory(phasar/db) -#add_subdirectory(phasar/experimental) +add_subdirectory(phasar/experimental) add_subdirectory(phasar/llvm) add_subdirectory(phasar/utils) add_subdirectory(phasar/test-utils) diff --git a/phasar/controller/CMakeLists.txt b/phasar/controller/CMakeLists.txt index e69de29bb..c52c1083b 100644 --- a/phasar/controller/CMakeLists.txt +++ b/phasar/controller/CMakeLists.txt @@ -0,0 +1,4 @@ +just_add_library( + LINK + phasar-llvm +) diff --git a/phasar/experimental/CMakeLists.txt b/phasar/experimental/CMakeLists.txt index e69de29bb..b4f6191e5 100644 --- a/phasar/experimental/CMakeLists.txt +++ b/phasar/experimental/CMakeLists.txt @@ -0,0 +1 @@ +just_add_library() diff --git a/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h index 4abfc97c2..f09398077 100644 --- a/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h +++ b/phasar/llvm/include/phasar/PhasarLLVM/AnalysisStrategy/WholeProgramAnalysis.h @@ -21,6 +21,7 @@ #include "phasar/PhasarLLVM/AnalysisStrategy/AnalysisSetup.h" #include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/IFDSIDESolverConfig.h" #include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/Utils/TypeTraitsLLVM.h" namespace psr { From 53931c2fdb679afb6f0cef36423ab19b14924032 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 12:56:02 +0200 Subject: [PATCH 26/95] restructure: adding phasar-llvm-tool --- cmake/just-simple.cmake | 33 ++++++++++++------- phasar/llvm/CMakeLists.txt | 12 ++++++- .../llvm/include}/phasar-llvm_more_help.txt | 0 .../llvm/src}/phasar-llvm.cpp | 2 +- 4 files changed, 33 insertions(+), 14 deletions(-) rename {old => phasar/llvm/include}/phasar-llvm_more_help.txt (100%) rename {tools/phasar-llvm => phasar/llvm/src}/phasar-llvm.cpp (99%) diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index 7ba8a4a58..ef04140c5 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -200,13 +200,16 @@ function(just_add_library) # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) - foreach(pattern "${just_add_INCLUDE}") - list(FILTER files INCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_INCLUDE}) + set(just_add_temp ${files}) + list(FILTER just_add_temp INCLUDE REGEX ${pattern}) + list(APPEND all_includes ${just_add_temp}) endforeach() + set(files ${all_includes}) endif() if(just_add_EXCLUDE) - foreach(pattern "${just_add_EXCLUDE}") - list(FILTER files EXCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_EXCLUDE}) + list(FILTER files EXCLUDE REGEX ${pattern}) endforeach() endif() @@ -252,13 +255,16 @@ function(just_add_executable) # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) - foreach(pattern "${just_add_INCLUDE}") - list(FILTER files INCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_INCLUDE}) + set(just_add_temp ${files}) + list(FILTER just_add_temp INCLUDE REGEX ${pattern}) + list(APPEND all_includes ${just_add_temp}) endforeach() + set(files ${all_includes}) endif() if(just_add_EXCLUDE) - foreach(pattern "${just_add_EXCLUDE}") - list(FILTER files EXCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_EXCLUDE}) + list(FILTER files EXCLUDE REGEX ${pattern}) endforeach() endif() @@ -315,13 +321,16 @@ function(just_add_tests) # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) - foreach(pattern "${just_add_INCLUDE}") - list(FILTER files INCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_INCLUDE}) + set(just_add_temp ${files}) + list(FILTER just_add_temp INCLUDE REGEX ${pattern}) + list(APPEND all_includes ${just_add_temp}) endforeach() + set(files ${all_includes}) endif() if(just_add_EXCLUDE) - foreach(pattern "${just_add_EXCLUDE}") - list(FILTER files EXCLUDE REGEX "${pattern}") + foreach(pattern ${just_add_EXCLUDE}) + list(FILTER files EXCLUDE REGEX ${pattern}) endforeach() endif() diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt index c7ff1ae82..74272b674 100644 --- a/phasar/llvm/CMakeLists.txt +++ b/phasar/llvm/CMakeLists.txt @@ -35,5 +35,15 @@ just_add_library( LLVMipo # llvm::AttributorPass::run nlohmann_json_schema_validator - EXCLUDE "^.*/WPDS/.*$" + EXCLUDE "^.*/WPDS/.*$" "phasar-llvm.cpp$" +) + +just_add_executable( + LINK + phasar-llvm + phasar-controller + pthread + INCLUDE "phasar-llvm.cpp$" + SUFFIX "-tool" + SKIP_SUBDIRECTORIES ) diff --git a/old/phasar-llvm_more_help.txt b/phasar/llvm/include/phasar-llvm_more_help.txt similarity index 100% rename from old/phasar-llvm_more_help.txt rename to phasar/llvm/include/phasar-llvm_more_help.txt diff --git a/tools/phasar-llvm/phasar-llvm.cpp b/phasar/llvm/src/phasar-llvm.cpp similarity index 99% rename from tools/phasar-llvm/phasar-llvm.cpp rename to phasar/llvm/src/phasar-llvm.cpp index f76d6bd44..fca8406d9 100644 --- a/tools/phasar-llvm/phasar-llvm.cpp +++ b/phasar/llvm/src/phasar-llvm.cpp @@ -48,7 +48,7 @@ std::ostream &operator<<(std::ostream &OS, const std::vector &V) { namespace { constexpr char MoreHelp[] = -#include "../phasar-llvm_more_help.txt" +#include "../include/phasar-llvm_more_help.txt" ; template static std::set vectorToSet(const std::vector &V) { From 8c16d2624d6a3413534177725aa7016b189783a8 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 13:24:27 +0200 Subject: [PATCH 27/95] temp: conan recipes --- utils/tooling/conan/conan.md | 138 ++++++ utils/tooling/conan/llvm-core/CMakeLists.txt | 7 + utils/tooling/conan/llvm-core/conandata.yml | 19 + utils/tooling/conan/llvm-core/conanfile.py | 335 +++++++++++++ utils/tooling/conan/llvm-core/create.sh | 11 + .../llvm-core/patches/11x/11.1.0-cmake.patch | 57 +++ .../llvm-core/patches/11x/11.1.0-native.patch | 81 +++ .../llvm-core/patches/12x/12.0.0-cmake.patch | 55 +++ .../llvm-core/patches/12x/12.0.0-native.patch | 81 +++ .../llvm-core/test_package/CMakeLists.txt | 20 + .../conan/llvm-core/test_package/conanfile.py | 39 ++ .../llvm-core/test_package/test_package.cpp | 38 ++ utils/tooling/conan/llvm-core/upload.sh | 10 + utils/tooling/conan/llvm/conandata.yml | 57 +++ utils/tooling/conan/llvm/conanfile.py | 292 +++++++++++ utils/tooling/conan/llvm/create.sh | 17 + utils/tooling/conan/llvm/logs/build.log | 463 ++++++++++++++++++ .../llvm/patches/13/calculate_job_pools.patch | 52 ++ .../llvm/patches/14/calculate_job_pools.patch | 53 ++ .../conan/llvm/test_package/CMakeLists.txt | 10 + .../conan/llvm/test_package/conanfile.py | 17 + .../conan/llvm/test_package/test_package.cpp | 452 +++++++++++++++++ utils/tooling/conan/llvm/upload.sh | 16 + utils/tooling/conan/phasar/conandata.yml | 127 +++++ utils/tooling/conan/phasar/conanfile.py | 112 +++++ utils/tooling/conan/phasar/create.sh | 24 + .../phasar/patches/2021.06.17/conanLLVM.patch | 177 +++++++ .../2021.06.17/disablePhasarClang.patch | 52 ++ .../patches/2021.06.17/disableTools.patch | 13 + .../2021.06.17/enableSystemDependencies.patch | 73 +++ .../phasar/patches/2021.08.03/conanLLVM.patch | 193 ++++++++ .../2021.08.03/disableForcedSharedBoost.patch | 18 + .../2021.08.03/disablePhasarClang.patch | 52 ++ .../patches/2021.08.03/disableTools.patch | 13 + .../2021.08.03/enableSystemDependencies.patch | 73 +++ .../2021.08.03/phasar_warning_fix.patch | 13 + .../phasar/patches/2021.09.20/conanLLVM.patch | 193 ++++++++ .../2021.09.20/disableForcedSharedBoost.patch | 18 + .../2021.09.20/disablePhasarClang.patch | 52 ++ .../patches/2021.09.20/disableTools.patch | 13 + .../2021.09.20/enableSystemDependencies.patch | 73 +++ .../2021.09.20/fixSchemaValidator.patch | 43 ++ .../phasar/patches/2021.09.24/conanLLVM.patch | 193 ++++++++ .../patches/2021.09.24/conanLLVM2.patch | 212 ++++++++ .../2021.09.24/disableForcedSharedBoost.patch | 18 + .../2021.09.24/disablePhasarClang.patch | 52 ++ .../patches/2021.09.24/disableTools.patch | 13 + .../nlohmann_json_schema_validator.patch | 13 + .../patches/2021.10.29/conanLLVM2.patch | 212 ++++++++ .../2021.10.29/disableForcedSharedBoost.patch | 18 + .../2021.10.29/disablePhasarClang.patch | 52 ++ .../patches/2021.10.29/disableTools.patch | 13 + .../nlohmann_json_schema_validator.patch | 13 + .../conan/phasar/test_package/CMakeLists.txt | 14 + .../conan/phasar/test_package/conanfile.py | 26 + .../phasar/test_package/myphasartool.cpp | 69 +++ utils/tooling/conan/phasar/upload.sh | 16 + .../conan/prepareSimpleDependencies.sh | 13 + utils/tooling/conan/scripts/clear.sh | 21 + utils/tooling/conan/scripts/config.sh | 58 +++ utils/tooling/conan/scripts/create.sh | 98 ++++ utils/tooling/conan/scripts/upload.sh | 20 + utils/tooling/conan/wali/conandata.yml | 9 + utils/tooling/conan/wali/conanfile.py | 57 +++ utils/tooling/conan/wali/create.sh | 13 + .../wali/patches/llvm_to_llvm-core.patch | 70 +++ .../conan/wali/test_package/CMakeLists.txt | 7 + .../conan/wali/test_package/conanfile.py | 23 + .../conan/wali/test_package/test_package.cpp | 7 + utils/tooling/conan/wali/upload.sh | 10 + 70 files changed, 4992 insertions(+) create mode 100644 utils/tooling/conan/conan.md create mode 100644 utils/tooling/conan/llvm-core/CMakeLists.txt create mode 100644 utils/tooling/conan/llvm-core/conandata.yml create mode 100644 utils/tooling/conan/llvm-core/conanfile.py create mode 100755 utils/tooling/conan/llvm-core/create.sh create mode 100644 utils/tooling/conan/llvm-core/patches/11x/11.1.0-cmake.patch create mode 100644 utils/tooling/conan/llvm-core/patches/11x/11.1.0-native.patch create mode 100644 utils/tooling/conan/llvm-core/patches/12x/12.0.0-cmake.patch create mode 100644 utils/tooling/conan/llvm-core/patches/12x/12.0.0-native.patch create mode 100644 utils/tooling/conan/llvm-core/test_package/CMakeLists.txt create mode 100644 utils/tooling/conan/llvm-core/test_package/conanfile.py create mode 100644 utils/tooling/conan/llvm-core/test_package/test_package.cpp create mode 100755 utils/tooling/conan/llvm-core/upload.sh create mode 100644 utils/tooling/conan/llvm/conandata.yml create mode 100644 utils/tooling/conan/llvm/conanfile.py create mode 100755 utils/tooling/conan/llvm/create.sh create mode 100644 utils/tooling/conan/llvm/logs/build.log create mode 100644 utils/tooling/conan/llvm/patches/13/calculate_job_pools.patch create mode 100644 utils/tooling/conan/llvm/patches/14/calculate_job_pools.patch create mode 100644 utils/tooling/conan/llvm/test_package/CMakeLists.txt create mode 100644 utils/tooling/conan/llvm/test_package/conanfile.py create mode 100644 utils/tooling/conan/llvm/test_package/test_package.cpp create mode 100755 utils/tooling/conan/llvm/upload.sh create mode 100644 utils/tooling/conan/phasar/conandata.yml create mode 100644 utils/tooling/conan/phasar/conanfile.py create mode 100755 utils/tooling/conan/phasar/create.sh create mode 100644 utils/tooling/conan/phasar/patches/2021.06.17/conanLLVM.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.06.17/disablePhasarClang.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.06.17/disableTools.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.06.17/enableSystemDependencies.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/conanLLVM.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/disableForcedSharedBoost.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/disablePhasarClang.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/disableTools.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/enableSystemDependencies.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.08.03/phasar_warning_fix.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/conanLLVM.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/disableForcedSharedBoost.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/disablePhasarClang.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/disableTools.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/enableSystemDependencies.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.20/fixSchemaValidator.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM2.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/disableForcedSharedBoost.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/disablePhasarClang.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/disableTools.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.09.24/nlohmann_json_schema_validator.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.10.29/conanLLVM2.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.10.29/disableForcedSharedBoost.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.10.29/disablePhasarClang.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.10.29/disableTools.patch create mode 100644 utils/tooling/conan/phasar/patches/2021.10.29/nlohmann_json_schema_validator.patch create mode 100644 utils/tooling/conan/phasar/test_package/CMakeLists.txt create mode 100644 utils/tooling/conan/phasar/test_package/conanfile.py create mode 100644 utils/tooling/conan/phasar/test_package/myphasartool.cpp create mode 100755 utils/tooling/conan/phasar/upload.sh create mode 100755 utils/tooling/conan/prepareSimpleDependencies.sh create mode 100755 utils/tooling/conan/scripts/clear.sh create mode 100755 utils/tooling/conan/scripts/config.sh create mode 100755 utils/tooling/conan/scripts/create.sh create mode 100755 utils/tooling/conan/scripts/upload.sh create mode 100644 utils/tooling/conan/wali/conandata.yml create mode 100644 utils/tooling/conan/wali/conanfile.py create mode 100755 utils/tooling/conan/wali/create.sh create mode 100644 utils/tooling/conan/wali/patches/llvm_to_llvm-core.patch create mode 100644 utils/tooling/conan/wali/test_package/CMakeLists.txt create mode 100644 utils/tooling/conan/wali/test_package/conanfile.py create mode 100644 utils/tooling/conan/wali/test_package/test_package.cpp create mode 100755 utils/tooling/conan/wali/upload.sh diff --git a/utils/tooling/conan/conan.md b/utils/tooling/conan/conan.md new file mode 100644 index 000000000..0102ecbb5 --- /dev/null +++ b/utils/tooling/conan/conan.md @@ -0,0 +1,138 @@ +# Conan overview + +## using gitlab package registry as conan remote + +### installing + +`pip install conan` currently version 1.44 + +### setup remote for Intellisec + +1. Get your Gitlab Project ID e.g. [`16796`](https://gitlab.cc-asp.fraunhofer.de/iem_paderborn/projects/intellisectest/intellisectest-application) or [`7787`](https://gitlab.cc-asp.fraunhofer.de/lbriese/gittoowncloud) +2. [Create a personal access token with `read_api` or optional `api`](https://gitlab.cc-asp.fraunhofer.de/-/profile/personal_access_tokens) +3. add the remote for project id: `conan remote add itst https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan` +4. Use your token to login: `conan user -r "itst" -p "TOKEN" "USER"` +5. (optional) Because of some gitlab issues, create a script called conan-relog with: +```bash +#!/bin/bash + +conan user --clean +conan user -r "itst" -p "TOKEN" "randomUser" +``` + +### setup local for Intellisec + +1. `conan config init` +2. `conan profile update settings.compiler=clang default` +3. `conan profile update settings.compiler.version=12 default` +4. `conan profile update settings.compiler.libcxx=libstdc++11 default` +5. `conan config set general.request_timeout=300` our gitlab needs sometimes around 60s to verify e.g. that a 500MB file is uploaded correctly but 60 is default + +## using conan + +### searching + +- find new packages: [Conan Center](https://conan.io/center/) +- watch recipes of official packages: [Conan Center Index](https://github.com/conan-io/conan-center-index/) +- `conan search` show all local packages +- `conan search "pha*"` show all local packages which starts with "pha" +- `conan search "phasar" -r itst` show every phasar version on remote + +### I need some changes to the sources + +1. Clone the original project in the specific version you want to modify +2. Do your changes +3. Create a git patch from your changes + - `git diff > my.patch` for every unstaged changes + - `git diff --cached > my.patch` for every stages changes +4. Open the recipe folder e.g. `phasar` which contains: + - the recipe to create the package `conanfile.py` + - the `patches` folder, add your patch here + - `conandata.yml` add your patch to patches structure for specific version + - Do you want to create a new package revision - old one will be still there? Just add your patch + - Do you want to create a new package version? Just create a new element below `sources` and `patches`, copy from the existing elements and add your changes only to the new version + - For phasar this is enough because the recipe iterates over this structure to applies the patches e.g.: + ``` + for patch in self.conan_data.get("patches", {}).get(self.version, []): + tools.patch(**patch) + ``` +5. Create the packages + - Prefer the scripts to create / upload + - Else `conan create --build=missing . "VersionYouWantToBuild@user/channel"` e.g. user/channel could be `intellisectest+intellisectest-application/stable` +6. Upload it `conan upload "$NAME/$VERSION@$TARGET" -r "$REMOTE" --all --force` + - replace $NAME, $VERSION, $TARGET + - replace Target remote + - `--all` upload recipe and binary, without only upload recipe + - `--force` overwrite remote recipe without confirmation + +### other + +- Limit Conan CPUS with environment variable `CONAN_CPU_COUNT=1` e.g. `CONAN_CPU_COUNT=1 bash llvm-core/create.sh` +- Execute a ../conanfile.txt from build directory: `conan install ..` or `conan install --build=missing ..` +- Which options are available for given package? `conan inspect boost/1.76.0` +- Create a blank conan package right here: `conan new package_name/version -t` +- Execute recipe and tag it with user/channel: `conan create . user/channel` [package naming for Gitlab](https://gitlab.cc-asp.fraunhofer.de/help/user/packages/conan_repository/index.md#package-recipe-naming-convention-for-instance-remotes) +- Upload a package to specific remote `itst` including recipe and binary: `conan upload "phasar/$VERSION@intellisectest+intellisectest-application/stable:PACKAGE_ID" -r itst --all --check -c` + +## integrating conan + +### cmake + +Result: +- `cmake .. && cmake --build .` will work +- You dont need to invoke conan directly! + +``` +if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake") + message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan") + file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/v0.16.1/conan.cmake" + "${CMAKE_BINARY_DIR}/conan.cmake" + EXPECTED_HASH SHA256=396e16d0f5eabdc6a14afddbcfff62a54a7ee75c6da23f32f7a31bc85db23484 + TLS_VERIFY ON) +endif() +include(${CMAKE_BINARY_DIR}/conan.cmake) +conan_cmake_run( + BASIC_SETUP + CONANFILE "${CMAKE_SOURCE_DIR}/conanfile.txt" + BUILD missing) +``` + +### conanfile.txt + +[official reference](https://docs.conan.io/en/latest/reference/conanfile_txt.html) + +1. Not every projects needs a conanfile.txt you can also do everything from cmake if you include `conan.cmake`. +2. Section `[requires]` takes a recipe reference `package_name/version` from conan-center or `package_name/version@user/channel` + - for intellisec gitlab user: `intellisectest+intellisectest-application` which references the the application package registry +3. Section `[options]` allows to set options on every `package_name` e.g. `boost:shared=True` + - inspect available options and its default values with `conan inspect package_name` + +### Alternative cmake integration + +ToDo for different generators + +## Example: Add Conan dependency and provide others the binary + +1. Ensure you added the remote `itst` with `conan remote list` +2. find what you want to add: [searching section](###searching) +3. add it to the section '[requires]' e.g. `boost/1.76.0` +4. check the options you need: `conan inspect boost/1.76.0` +5. add options to `conanfile.txt` like `boost:shared=True` +6. compile the application as Release and as Debug, this will be propagated to the dependencies + - `cmake -DCMAKE_BUILD_TYPE=Release .. && cmake --build .` + - `cmake -DCMAKE_BUILD_TYPE=Debug .. && cmake --build .` +5. We now have every dependency with provided settings, with provided options and with provided build type in our conan repository. +6. copy recipe and created binaries to our new target user/channel `conan copy --all --force boost/1.76.0 intellisectest+intellisectest-application/stable` +7. upload them `conan upload boost/1.76.0@intellisectest+intellisectest-application/stable -r itst --all --check -c` +8. update conanfile section '[requires]' e.g. change `boost/1.76.0` to `boost/1.76.0@intellisectest+intellisectest-application/stable` + - if its a indirect dependency e.g. `phasar` needing `llvm-core/12.0.0` just add `llvm-core/12.0.0@intellisectest+intellisectest-application/stable` to `[requires]` of your application +9. clear build directory and build it once to check if everything is working +10. commit, push, tell others + +## glossar +- recipe reference: `package_name/version@user/channel` + - for conan-center `package_name/version` or `package_name/version@_/_` + - `package_name/version@project/stable` `package_name/version@project/develop` + - for intellisec gitlab user: `intellisectest+intellisectest-application` which references the the application package registry +- package id: hash of configuration +- `conanbuildinfo.cmake` / `conanbuildinfo.txt` generated by `conan install ..` or by `conan.cmake` will list every target / include / lib / ... diff --git a/utils/tooling/conan/llvm-core/CMakeLists.txt b/utils/tooling/conan/llvm-core/CMakeLists.txt new file mode 100644 index 000000000..abb97809b --- /dev/null +++ b/utils/tooling/conan/llvm-core/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.13.4) +project(conanllvm) + +include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_subdirectory("source") diff --git a/utils/tooling/conan/llvm-core/conandata.yml b/utils/tooling/conan/llvm-core/conandata.yml new file mode 100644 index 000000000..83e4048a6 --- /dev/null +++ b/utils/tooling/conan/llvm-core/conandata.yml @@ -0,0 +1,19 @@ +sources: + "12.0.0": + url: https://github.com/llvm/llvm-project/releases/download/llvmorg-12.0.0/llvm-12.0.0.src.tar.xz + sha256: 49dc47c8697a1a0abd4ee51629a696d7bfe803662f2a7252a3b16fc75f3a8b50 + "11.1.0": + url: https://github.com/llvm/llvm-project/releases/download/llvmorg-11.1.0/llvm-11.1.0.src.tar.xz + sha256: ce8508e318a01a63d4e8b3090ab2ded3c598a50258cc49e2625b9120d4c03ea5 + +patches: + "11.1.0": + - base_path: "source" + patch_file: "patches/11x/11.1.0-cmake.patch" + - base_path: "source" + patch_file: "patches/11x/11.1.0-native.patch" + "12.0.0": + - base_path: "source" + patch_file: "patches/12x/12.0.0-cmake.patch" + - base_path: "source" + patch_file: "patches/12x/12.0.0-native.patch" diff --git a/utils/tooling/conan/llvm-core/conanfile.py b/utils/tooling/conan/llvm-core/conanfile.py new file mode 100644 index 000000000..c7cf22bd3 --- /dev/null +++ b/utils/tooling/conan/llvm-core/conanfile.py @@ -0,0 +1,335 @@ +from conans.errors import ConanInvalidConfiguration +from conans import ConanFile, CMake, tools + +from collections import defaultdict +import json +import re +import os.path +import os + + +class LLVMCoreConan(ConanFile): + name = 'llvm-core' + description = ( + 'A toolkit for the construction of highly optimized compilers,' + 'optimizers, and runtime environments.' + ) + license = 'Apache-2.0 WITH LLVM-exception' + topics = ('conan', 'llvm') + homepage = 'https://github.com/llvm/llvm-project/tree/master/llvm' + url = 'https://github.com/conan-io/conan-center-index' + + settings = ('os', 'arch', 'compiler', 'build_type') + options = { + 'shared': [True, False], + 'fPIC': [True, False], + 'components': 'ANY', + 'targets': 'ANY', + 'exceptions': [True, False], + 'rtti': [True, False], + 'threads': [True, False], + 'lto': ['On', 'Off', 'Full', 'Thin'], + 'static_stdlib': [True, False], + 'unwind_tables': [True, False], + 'expensive_checks': [True, False], + 'use_perf': [True, False], + 'use_sanitizer': [ + 'Address', + 'Memory', + 'MemoryWithOrigins', + 'Undefined', + 'Thread', + 'DataFlow', + 'Address;Undefined', + 'None' + ], + 'with_ffi': [True, False], + 'with_zlib': [True, False], + 'with_xml2': [True, False] + } + default_options = { + 'shared': False, + 'fPIC': True, + 'components': 'all', + 'targets': 'all', + 'exceptions': True, + 'rtti': True, # default off, conan on + 'threads': True, + 'lto': 'Off', + 'static_stdlib': False, + 'unwind_tables': True, + 'expensive_checks': False, + 'use_perf': False, + 'use_sanitizer': 'None', + 'with_ffi': False, + 'with_zlib': True, + 'with_xml2': True + } + + # Older cmake versions may have issues generating the graphviz output used + # to model the components + build_requires = [ + 'cmake/3.20.3' + ] + + exports_sources = ['CMakeLists.txt', 'patches/*'] + generators = ['cmake', 'cmake_find_package'] + no_copy_source = True + + @property + def _source_subfolder(self): + return 'source' + + def _supports_compiler(self): + compiler = self.settings.compiler.value + version = tools.Version(self.settings.compiler.version) + major_rev, minor_rev = int(version.major), int(version.minor) + + unsupported_combinations = [ + [compiler == 'gcc', major_rev == 5, minor_rev < 1], + [compiler == 'gcc', major_rev < 5], + [compiler == 'clang', major_rev < 4], + [compiler == 'apple-clang', major_rev < 9], + [compiler == 'Visual Studio', major_rev < 15] + ] + if any(all(combination) for combination in unsupported_combinations): + message = 'unsupported compiler: "{}", version "{}"' + raise ConanInvalidConfiguration(message.format(compiler, version)) + + def _patch_sources(self): + for patch in self.conan_data.get('patches', {}).get(self.version, []): + tools.patch(**patch) + + def _patch_build(self): + if os.path.exists('FindIconv.cmake'): + tools.replace_in_file('FindIconv.cmake', 'iconv charset', 'iconv') + + def _configure_cmake(self): + cmake = CMake(self) + cmake.definitions['BUILD_SHARED_LIBS'] = False + cmake.definitions['CMAKE_SKIP_RPATH'] = True + cmake.definitions['CMAKE_POSITION_INDEPENDENT_CODE'] = \ + self.options.get_safe('fPIC', default=False) or self.options.shared + + if not self.options.shared: + cmake.definitions['DISABLE_LLVM_LINK_LLVM_DYLIB'] = True + # cmake.definitions['LLVM_LINK_DYLIB'] = self.options.shared + + cmake.definitions['LLVM_TARGET_ARCH'] = 'host' + cmake.definitions['LLVM_TARGETS_TO_BUILD'] = self.options.targets + cmake.definitions['LLVM_BUILD_LLVM_DYLIB'] = self.options.shared + cmake.definitions['LLVM_DYLIB_COMPONENTS'] = self.options.components + cmake.definitions['LLVM_ENABLE_PIC'] = \ + self.options.get_safe('fPIC', default=False) # default on + + if self.settings.compiler == 'Visual Studio': + build_type = str(self.settings.build_type).upper() + cmake.definitions['LLVM_USE_CRT_{}'.format(build_type)] = \ + self.settings.compiler.runtime + + cmake.definitions['LLVM_ABI_BREAKING_CHECKS'] = 'WITH_ASSERTS' + cmake.definitions['LLVM_ENABLE_WARNINGS'] = True + cmake.definitions['LLVM_ENABLE_PEDANTIC'] = True + cmake.definitions['LLVM_ENABLE_WERROR'] = False + + cmake.definitions['LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN'] = True + cmake.definitions['LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO'] = False + cmake.definitions['LLVM_BUILD_INSTRUMENTED_COVERAGE'] = False + cmake.definitions['LLVM_OPTIMIZED_TABLEGEN'] = True + cmake.definitions['LLVM_REVERSE_ITERATION'] = False + cmake.definitions['LLVM_ENABLE_BINDINGS'] = False + cmake.definitions['LLVM_CCACHE_BUILD'] = False + + cmake.definitions['LLVM_INCLUDE_TOOLS'] = self.options.shared # default on + cmake.definitions['LLVM_INCLUDE_EXAMPLES'] = False # default on, conan off + cmake.definitions['LLVM_INCLUDE_TESTS'] = False # default on, conan off + cmake.definitions['LLVM_INCLUDE_BENCHMARKS'] = False # default on, conan off + cmake.definitions['LLVM_APPEND_VC_REV'] = False # default on, conan off + cmake.definitions['LLVM_BUILD_DOCS'] = False + cmake.definitions['LLVM_ENABLE_IDE'] = False + cmake.definitions['LLVM_ENABLE_TERMINFO'] = False + + cmake.definitions['LLVM_ENABLE_EH'] = self.options.exceptions + cmake.definitions['LLVM_ENABLE_RTTI'] = self.options.rtti + cmake.definitions['LLVM_ENABLE_THREADS'] = self.options.threads + cmake.definitions['LLVM_ENABLE_LTO'] = self.options.lto + cmake.definitions['LLVM_STATIC_LINK_CXX_STDLIB'] = \ + self.options.static_stdlib + cmake.definitions['LLVM_ENABLE_UNWIND_TABLES'] = \ + self.options.unwind_tables + cmake.definitions['LLVM_ENABLE_EXPENSIVE_CHECKS'] = \ + self.options.expensive_checks + cmake.definitions['LLVM_ENABLE_ASSERTIONS'] = \ + self.settings.build_type == 'Debug' # defaul on, conan off + + cmake.definitions['LLVM_USE_NEWPM'] = False + cmake.definitions['LLVM_USE_OPROFILE'] = False + cmake.definitions['LLVM_USE_PERF'] = self.options.use_perf + if self.options.use_sanitizer == 'None': + cmake.definitions['LLVM_USE_SANITIZER'] = '' + else: + cmake.definitions['LLVM_USE_SANITIZER'] = \ + self.options.use_sanitizer + + cmake.definitions['LLVM_ENABLE_Z3_SOLVER'] = False + cmake.definitions['LLVM_ENABLE_LIBPFM'] = False # default on, conan off + cmake.definitions['LLVM_ENABLE_LIBEDIT'] = False + cmake.definitions['LLVM_ENABLE_FFI'] = self.options.with_ffi + cmake.definitions['LLVM_ENABLE_ZLIB'] = \ + self.options.get_safe('with_zlib', False) # default on + cmake.definitions['LLVM_ENABLE_LIBXML2'] = \ + self.options.get_safe('with_xml2', False) + return cmake + + def config_options(self): + if self.settings.os == 'Windows': + del self.options.fPIC + del self.options.with_zlib + del self.options.with_xml2 + + def requirements(self): + if self.options.with_ffi: + self.requires('libffi/3.3') + if self.options.get_safe('with_zlib', False): + self.requires('zlib/1.2.11') + if self.options.get_safe('with_xml2', False): + self.requires('libxml2/2.9.10') + + def validate(self): + if self.options.shared: + del self.options.fPIC + if self.settings.os == 'Windows' and self.options.shared: + message = 'Shared builds not supported on Windows' + raise ConanInvalidConfiguration(message) + if self.options.exceptions and not self.options.rtti: + message = 'Cannot enable exceptions without rtti support' + raise ConanInvalidConfiguration(message) + self._supports_compiler() + if tools.cross_building(self, skip_x64_x86=True): + raise ConanInvalidConfiguration('Cross-building not implemented') + + def source(self): + tools.get(**self.conan_data['sources'][self.version]) + os.rename('llvm-{}.src'.format(self.version), self._source_subfolder) + self._patch_sources() + + def build(self): + self._patch_build() + cmake = self._configure_cmake() + cmake.configure() + cmake.build() + + def package(self): + self.copy('LICENSE.TXT', dst='licenses', src=self._source_subfolder) + lib_path = os.path.join(self.package_folder, 'lib') + + cmake = self._configure_cmake() + cmake.install() + + if not self.options.shared: + for ext in ['.a', '.lib']: + lib = '**/lib/*LLVMTableGenGlobalISel{}'.format(ext) + self.copy(lib, dst='lib', keep_path=False) + lib = '*LLVMTableGenGlobalISel{}'.format(ext) + self.copy(lib, dst='lib', src='lib') + + self.run('cmake --graphviz=graph/llvm.dot .') + with tools.chdir('graph'): + dot_text = tools.load('llvm.dot').replace('\r\n', '\n') + + dep_regex = re.compile(r'//\s(.+)\s->\s(.+)$', re.MULTILINE) + deps = re.findall(dep_regex, dot_text) + + dummy_targets = defaultdict(list) + for target, dep in deps: + if not target.startswith('LLVM'): + dummy_targets[target].append(dep) + + cmake_targets = { + 'libffi::libffi': 'ffi', + 'ZLIB::ZLIB': 'z', + 'Iconv::Iconv': 'iconv', + 'LibXml2::LibXml2': 'xml2' + } + + components = defaultdict(list) + for lib, dep in deps: + if not lib.startswith('LLVM'): + continue + elif dep.startswith('-delayload:'): + continue + elif dep.startswith('LLVM'): + components[dep] + elif dep in cmake_targets: + dep = cmake_targets[dep] + elif os.path.exists(dep): + dep = os.path.splitext(os.path.basename(dep))[0] + dep = dep.replace('lib', '') + dep = dep.replace('-l', '') + + if dep in dummy_targets.keys(): + components[lib].extend(dummy_targets[dep]) + components[lib] = list(set(components[lib])) + else: + components[lib].append(dep) + + tools.rmdir(os.path.join(self.package_folder, 'bin')) + tools.rmdir(os.path.join(self.package_folder, 'lib', 'cmake')) + tools.rmdir(os.path.join(self.package_folder, 'share')) + + for name in os.listdir(lib_path): + if 'LLVM' not in name: + os.remove(os.path.join(lib_path, name)) + + if not self.options.shared: + if self.options.get_safe('with_zlib', False): + if not 'z' in components['LLVMSupport']: + components['LLVMSupport'].append('z') + components_path = \ + os.path.join(self.package_folder, 'lib', 'components.json') + with open(components_path, 'w') as components_file: + json.dump(components, components_file, indent=4) + else: + suffixes = ['.dylib', '.so'] + for name in os.listdir(lib_path): + if not any(suffix in name for suffix in suffixes): + os.remove(os.path.join(lib_path, name)) + + def package_info(self): + if self.options.shared: + self.cpp_info.libs = tools.collect_libs(self) + if self.settings.os == 'Linux': + self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] + elif self.settings.os == 'Macos': + self.cpp_info.system_libs = ['m'] + return + + components_path = \ + os.path.join(self.package_folder, 'lib', 'components.json') + with open(components_path, 'r') as components_file: + components = json.load(components_file) + + dependencies = ['ffi', 'z', 'iconv', 'xml2'] + targets = { + 'ffi': 'libffi::libffi', + 'z': 'zlib::zlib', + 'xml2': 'libxml2::libxml2' + } + + for lib, deps in components.items(): + component = lib[4:].replace('LLVM', '').lower() + + self.cpp_info.components[component].libs = [lib] + + self.cpp_info.components[component].requires = [ + dep[4:].replace('LLVM', '').lower() + for dep in deps if dep.startswith('LLVM') + ] + for lib, target in targets.items(): + if lib in deps: + self.cpp_info.components[component].requires.append(target) + + self.cpp_info.components[component].system_libs = [ + dep for dep in deps + if not dep.startswith('LLVM') and dep not in dependencies + ] diff --git a/utils/tooling/conan/llvm-core/create.sh b/utils/tooling/conan/llvm-core/create.sh new file mode 100755 index 000000000..23aa33868 --- /dev/null +++ b/utils/tooling/conan/llvm-core/create.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +( + cd "$(dirname "$0")" + bash ../scripts/clear.sh + bash ../scripts/create.sh "12.0.0" "-o llvm-core:shared=False" +) diff --git a/utils/tooling/conan/llvm-core/patches/11x/11.1.0-cmake.patch b/utils/tooling/conan/llvm-core/patches/11x/11.1.0-cmake.patch new file mode 100644 index 000000000..6f2c7682a --- /dev/null +++ b/utils/tooling/conan/llvm-core/patches/11x/11.1.0-cmake.patch @@ -0,0 +1,57 @@ +--- cmake/config-ix.cmake ++++ cmake/config-ix.cmake +@@ -159,6 +159,9 @@ + set(LIBXML2_FOUND 0) + if((LLVM_ENABLE_LIBXML2) AND ((CMAKE_SYSTEM_NAME MATCHES "Linux") AND (ICONV_LIBRARY_PATH) OR APPLE)) + find_package(LibXml2) ++ set(LIBXML2_FOUND 1) ++ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) ++ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) + if (LIBXML2_FOUND) + set(LLVM_LIBXML2_ENABLED 1) + if ((CMAKE_OSX_SYSROOT) AND (EXISTS ${CMAKE_OSX_SYSROOT}/${LIBXML2_INCLUDE_DIR})) +@@ -321,7 +321,7 @@ + message(FATAL_ERROR "libffi includes are not found.") + endif() + +- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) ++ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) + if( NOT FFI_LIBRARY_PATH ) + message(FATAL_ERROR "libffi is not found.") + endif() +--- cmake/modules/TableGen.cmake ++++ cmake/modules/TableGen.cmake +@@ -138,12 +138,7 @@ + macro(add_tablegen target project) + set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) + set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) +- +- # CMake-3.9 doesn't let compilation units depend on their dependent libraries. +- if(NOT (CMAKE_GENERATOR STREQUAL "Ninja" AND NOT CMAKE_VERSION VERSION_LESS 3.9) AND NOT XCODE) +- # FIXME: It leaks to user, callee of add_tablegen. +- set(LLVM_ENABLE_OBJLIB ON) +- endif() ++ set(LLVM_ENABLE_OBJLIB OFF) + + add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) + set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) +--- lib/WindowsManifest/CMakeLists.txt ++++ lib/WindowsManifest/CMakeLists.txt +@@ -8,16 +8,6 @@ + if(LIBXML2_LIBRARIES) + target_link_libraries(LLVMWindowsManifest PUBLIC ${LIBXML2_LIBRARIES}) + +- get_filename_component(xml2_library ${LIBXML2_LIBRARIES} NAME) +- if (CMAKE_STATIC_LIBRARY_PREFIX AND +- xml2_library MATCHES "^${CMAKE_STATIC_LIBRARY_PREFIX}.*${CMAKE_STATIC_LIBRARY_SUFFIX}$") +- string(REGEX REPLACE "^${CMAKE_STATIC_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) +- string(REGEX REPLACE "${CMAKE_STATIC_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) +- elseif (CMAKE_SHARED_LIBRARY_PREFIX AND +- xml2_library MATCHES "^${CMAKE_SHARED_LIBRARY_PREFIX}.*${CMAKE_SHARED_LIBRARY_SUFFIX}$") +- string(REGEX REPLACE "^${CMAKE_SHARED_LIBRARY_PREFIX}" "" xml2_library ${xml2_library}) +- string(REGEX REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}$" "" xml2_library ${xml2_library}) +- endif() + set_property(TARGET LLVMWindowsManifest PROPERTY +- LLVM_SYSTEM_LIBS ${xml2_library}) ++ LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) + endif() diff --git a/utils/tooling/conan/llvm-core/patches/11x/11.1.0-native.patch b/utils/tooling/conan/llvm-core/patches/11x/11.1.0-native.patch new file mode 100644 index 000000000..c541a7682 --- /dev/null +++ b/utils/tooling/conan/llvm-core/patches/11x/11.1.0-native.patch @@ -0,0 +1,81 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -942,10 +942,6 @@ + include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) + + # when crosscompiling import the executable targets from a file +-if(LLVM_USE_HOST_TOOLS) +- include(CrossCompile) +- llvm_create_cross_target(LLVM NATIVE "" Release) +-endif(LLVM_USE_HOST_TOOLS) + if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) + # Dummy use to avoid CMake Warning: Manually-specified variables were not used + # (this is a variable that CrossCompile sets on recursive invocations) +--- cmake/modules/TableGen.cmake ++++ cmake/modules/TableGen.cmake +@@ -150,33 +150,6 @@ + set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) + set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) + +- if(LLVM_USE_HOST_TOOLS) +- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) +- # The NATIVE tablegen executable *must* depend on the current target one +- # otherwise the native one won't get rebuilt when the tablgen sources +- # change, and we end up with incorrect builds. +- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) +- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) +- +- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) +- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) +- +- # Create an artificial dependency between tablegen projects, because they +- # compile the same dependencies, thus using the same build folders. +- # FIXME: A proper fix requires sequentially chaining tablegens. +- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND +- TARGET LLVM-tablegen-host) +- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) +- endif() +- +- # If we're using the host tablegen, and utils were not requested, we have no +- # need to build this tablegen. +- if ( NOT LLVM_BUILD_UTILS ) +- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) +- endif() +- endif() +- endif() +- + if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) + set(export_to_llvmexports) + if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR +--- tools/llvm-config/CMakeLists.txt ++++ tools/llvm-config/CMakeLists.txt +@@ -77,11 +77,3 @@ + + # Add the dependency on the generation step. + add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) +- +-if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) +- build_native_tool(llvm-config LLVM_CONFIG_PATH) +- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") +- +- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) +- add_dependencies(llvm-config NativeLLVMConfig) +-endif() +--- tools/llvm-shlib/CMakeLists.txt ++++ tools/llvm-shlib/CMakeLists.txt +@@ -155,13 +155,8 @@ + + set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) + if(NOT LLVM_NM) +- if(CMAKE_CROSSCOMPILING) +- build_native_tool(llvm-nm llvm_nm) +- set(llvm_nm_target "${llvm_nm}") +- else() +- set(llvm_nm $) +- set(llvm_nm_target llvm-nm) +- endif() ++ set(llvm_nm $) ++ set(llvm_nm_target llvm-nm) + else() + set(llvm_nm ${LLVM_NM}) + set(llvm_nm_target "") diff --git a/utils/tooling/conan/llvm-core/patches/12x/12.0.0-cmake.patch b/utils/tooling/conan/llvm-core/patches/12x/12.0.0-cmake.patch new file mode 100644 index 000000000..8d3f7dbf7 --- /dev/null +++ b/utils/tooling/conan/llvm-core/patches/12x/12.0.0-cmake.patch @@ -0,0 +1,55 @@ +--- cmake/config-ix.cmake ++++ cmake/config-ix.cmake +@@ -143,6 +143,9 @@ + elseif(NOT LLVM_USE_SANITIZER MATCHES "Memory.*") + find_package(LibXml2) + endif() ++ set(LIBXML2_FOUND 1) ++ list(GET LibXml2_INCLUDE_DIRS -1 LIBXML2_INCLUDE_DIR) ++ set(LIBXML2_LIBRARIES ${LibXml2_LIBRARIES}) + if(LibXml2_FOUND) + # Check if libxml2 we found is usable; for example, we may have found a 32-bit + # library on a 64-bit system which would result in a link-time failure. +@@ -335,7 +335,7 @@ + message(FATAL_ERROR "libffi includes are not found.") + endif() + +- find_library(FFI_LIBRARY_PATH ffi PATHS ${FFI_LIBRARY_DIR}) ++ find_library(FFI_LIBRARY_PATH NAMES ffi libffi PATHS ${FFI_LIBRARY_DIR}) + if( NOT FFI_LIBRARY_PATH ) + message(FATAL_ERROR "libffi is not found.") + endif() +--- cmake/modules/TableGen.cmake ++++ cmake/modules/TableGen.cmake +@@ -132,12 +132,7 @@ + macro(add_tablegen target project) + set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS}) + set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen) +- +- # CMake doesn't let compilation units depend on their dependent libraries on some generators. +- if(NOT CMAKE_GENERATOR STREQUAL "Ninja" AND NOT XCODE) +- # FIXME: It leaks to user, callee of add_tablegen. +- set(LLVM_ENABLE_OBJLIB ON) +- endif() ++ set(LLVM_ENABLE_OBJLIB OFF) + + add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN}) + set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS}) +--- lib/WindowsManifest/CMakeLists.txt ++++ lib/WindowsManifest/CMakeLists.txt +@@ -21,14 +21,5 @@ + # This block is only needed for llvm-config. When we deprecate llvm-config and + # move to using CMake export, this block can be removed. + if(LLVM_ENABLE_LIBXML2) +- # CMAKE_BUILD_TYPE is only meaningful to single-configuration generators. +- if(CMAKE_BUILD_TYPE) +- string(TOUPPER ${CMAKE_BUILD_TYPE} build_type) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION_${build_type}) +- endif() +- if(NOT zlib_library) +- get_property(libxml2_library TARGET LibXml2::LibXml2 PROPERTY LOCATION) +- endif() +- get_library_name(${libxml2_library} libxml2_library) +- set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${libxml2_library}) ++ set_property(TARGET LLVMWindowsManifest PROPERTY LLVM_SYSTEM_LIBS ${LIBXML2_LIBRARIES}) + endif() diff --git a/utils/tooling/conan/llvm-core/patches/12x/12.0.0-native.patch b/utils/tooling/conan/llvm-core/patches/12x/12.0.0-native.patch new file mode 100644 index 000000000..f5c6d542f --- /dev/null +++ b/utils/tooling/conan/llvm-core/patches/12x/12.0.0-native.patch @@ -0,0 +1,81 @@ +--- CMakeLists.txt ++++ CMakeLists.txt +@@ -891,10 +891,6 @@ + include_directories( ${LLVM_INCLUDE_DIR} ${LLVM_MAIN_INCLUDE_DIR}) + + # when crosscompiling import the executable targets from a file +-if(LLVM_USE_HOST_TOOLS) +- include(CrossCompile) +- llvm_create_cross_target(LLVM NATIVE "" Release) +-endif(LLVM_USE_HOST_TOOLS) + if(LLVM_TARGET_IS_CROSSCOMPILE_HOST) + # Dummy use to avoid CMake Warning: Manually-specified variables were not used + # (this is a variable that CrossCompile sets on recursive invocations) +--- cmake/modules/TableGen.cmake ++++ cmake/modules/TableGen.cmake +@@ -144,33 +144,6 @@ + set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN} PARENT_SCOPE) + set(${project}_TABLEGEN_TARGET ${${project}_TABLEGEN} PARENT_SCOPE) + +- if(LLVM_USE_HOST_TOOLS) +- if( ${${project}_TABLEGEN} STREQUAL "${target}" ) +- # The NATIVE tablegen executable *must* depend on the current target one +- # otherwise the native one won't get rebuilt when the tablgen sources +- # change, and we end up with incorrect builds. +- build_native_tool(${target} ${project}_TABLEGEN_EXE DEPENDS ${target}) +- set(${project}_TABLEGEN_EXE ${${project}_TABLEGEN_EXE} PARENT_SCOPE) +- +- add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE}) +- set(${project}_TABLEGEN_TARGET ${project}-tablegen-host PARENT_SCOPE) +- +- # Create an artificial dependency between tablegen projects, because they +- # compile the same dependencies, thus using the same build folders. +- # FIXME: A proper fix requires sequentially chaining tablegens. +- if (NOT ${project} STREQUAL LLVM AND TARGET ${project}-tablegen-host AND +- TARGET LLVM-tablegen-host) +- add_dependencies(${project}-tablegen-host LLVM-tablegen-host) +- endif() +- +- # If we're using the host tablegen, and utils were not requested, we have no +- # need to build this tablegen. +- if ( NOT LLVM_BUILD_UTILS ) +- set_target_properties(${target} PROPERTIES EXCLUDE_FROM_ALL ON) +- endif() +- endif() +- endif() +- + if ((${project} STREQUAL LLVM OR ${project} STREQUAL MLIR) AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS) + set(export_to_llvmexports) + if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR +--- tools/llvm-config/CMakeLists.txt ++++ tools/llvm-config/CMakeLists.txt +@@ -75,11 +75,3 @@ + + # Add the dependency on the generation step. + add_file_dependencies(${CMAKE_CURRENT_SOURCE_DIR}/llvm-config.cpp ${BUILDVARIABLES_OBJPATH}) +- +-if(CMAKE_CROSSCOMPILING AND NOT LLVM_CONFIG_PATH) +- build_native_tool(llvm-config LLVM_CONFIG_PATH) +- set(LLVM_CONFIG_PATH "${LLVM_CONFIG_PATH}" CACHE STRING "") +- +- add_custom_target(NativeLLVMConfig DEPENDS ${LLVM_CONFIG_PATH}) +- add_dependencies(llvm-config NativeLLVMConfig) +-endif() +--- tools/llvm-shlib/CMakeLists.txt ++++ tools/llvm-shlib/CMakeLists.txt +@@ -155,13 +155,8 @@ + + set(LLVM_EXPORTED_SYMBOL_FILE ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/libllvm-c.exports) + if(NOT LLVM_NM) +- if(CMAKE_CROSSCOMPILING) +- build_native_tool(llvm-nm llvm_nm) +- set(llvm_nm_target "${llvm_nm}") +- else() +- set(llvm_nm $) +- set(llvm_nm_target llvm-nm) +- endif() ++ set(llvm_nm $) ++ set(llvm_nm_target llvm-nm) + else() + set(llvm_nm ${LLVM_NM}) + set(llvm_nm_target "") diff --git a/utils/tooling/conan/llvm-core/test_package/CMakeLists.txt b/utils/tooling/conan/llvm-core/test_package/CMakeLists.txt new file mode 100644 index 000000000..d2d3b1ff6 --- /dev/null +++ b/utils/tooling/conan/llvm-core/test_package/CMakeLists.txt @@ -0,0 +1,20 @@ +cmake_minimum_required(VERSION 3.13.4) +project(test_package) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +find_package(llvm-core) + +add_executable(${PROJECT_NAME} test_package.cpp) +target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_14) + +if(TARGET llvm-core::interpreter) # static libraries + target_link_libraries(${PROJECT_NAME} PRIVATE + llvm-core::interpreter + llvm-core::irreader + llvm-core::x86codegen + ) +else() # shared library + target_link_libraries(${PROJECT_NAME} llvm-core::llvm-core) +endif() diff --git a/utils/tooling/conan/llvm-core/test_package/conanfile.py b/utils/tooling/conan/llvm-core/test_package/conanfile.py new file mode 100644 index 000000000..e0ca8f6b6 --- /dev/null +++ b/utils/tooling/conan/llvm-core/test_package/conanfile.py @@ -0,0 +1,39 @@ +from conans import ConanFile, CMake, tools + +import os.path + + +class LLVMCoreTestPackageConan(ConanFile): + settings = ('os', 'arch', 'compiler', 'build_type') + generators = ('cmake', 'cmake_find_package') + + def build(self): + build_system = CMake(self) + build_system.configure() + build_system.build() + + def test(self): + test_package = not tools.cross_building(self.settings) + if 'x86' not in str(self.settings.arch).lower(): + test_package = False + elif str(self.options['llvm-core'].targets) not in ['all', 'X86']: + test_package = False + elif self.options['llvm-core'].shared: + if self.options['llvm-core'].components != 'all': + requirements = ['interpreter', 'irreader', 'x86codegen'] + targets = str(self.options['llvm-core'].components) + if self.settings.os == 'Windows': + requirements.append('demangle') + if not all([target in components for target in requirements]): + test_package = False + + if test_package: + command = [ + os.path.join('bin', 'test_package'), + os.path.join(os.path.dirname(__file__), 'test_function.ll') + ] + self.run(command, run_environment=True) + + llvm_path = self.deps_cpp_info['llvm-core'].rootpath + license_path = os.path.join(llvm_path, 'licenses', 'LICENSE.TXT') + assert os.path.exists(license_path) diff --git a/utils/tooling/conan/llvm-core/test_package/test_package.cpp b/utils/tooling/conan/llvm-core/test_package/test_package.cpp new file mode 100644 index 000000000..e5de3a64a --- /dev/null +++ b/utils/tooling/conan/llvm-core/test_package/test_package.cpp @@ -0,0 +1,38 @@ +#include +#include +#include +#include +#include +#include +#include + +#include + + +int main(int argc, char const* argv[]) { + if (argc < 2) + return 0; + + llvm::InitializeNativeTarget(); + llvm::SMDiagnostic smd; + llvm::LLVMContext context; + std::string error; + + llvm::EngineBuilder engine_builder{ + llvm::parseIRFile(argv[1], smd, context) + }; + engine_builder.setEngineKind(llvm::EngineKind::Interpreter); + engine_builder.setErrorStr(&error); + + auto execution_engine = std::unique_ptr( + engine_builder.create() + ); + execution_engine->runStaticConstructorsDestructors(false); + + auto test_function = execution_engine->FindFunctionNamed("test"); + auto result = execution_engine->runFunction( + test_function, + llvm::ArrayRef() + ); + return result.IntVal.getSExtValue(); +} diff --git a/utils/tooling/conan/llvm-core/upload.sh b/utils/tooling/conan/llvm-core/upload.sh new file mode 100755 index 000000000..8e350e019 --- /dev/null +++ b/utils/tooling/conan/llvm-core/upload.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +( + cd "$(dirname "$0")" + bash ../scripts/upload.sh +) diff --git a/utils/tooling/conan/llvm/conandata.yml b/utils/tooling/conan/llvm/conandata.yml new file mode 100644 index 000000000..adf64b4f1 --- /dev/null +++ b/utils/tooling/conan/llvm/conandata.yml @@ -0,0 +1,57 @@ +sources: + "13.0.0": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-13.0.0.tar.gz + sha256: a1131358f1f9f819df73fa6bff505f2c49d176e9eef0a3aedd1fdbce3b4630e8 + "13.0.1": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-13.0.1.tar.gz + sha256: 09c50d558bd975c41157364421820228df66632802a4a6a7c9c17f86a7340802 + "14.0.0": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.0.tar.gz + sha256: 87b1a068b370df5b79a892fdb2935922a8efb1fddec4cc506e30fe57b6a1d9c4 + "14.0.1": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.1.tar.gz + sha256: c8be00406e872c8a24f8571cf6f5517b73ae707104724b1fd1db2f0af9544019 + "14.0.2": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.2.tar.gz + sha256: ca52232b3451c8e017f00eb882277707c13e30fac1271ec97015f6d0eeb383d1 + "14.0.3": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.3.tar.gz + sha256: 0e1d049b050127ecf6286107e9a4400b0550f841d5d2288b9d31fd32ed0683d5 + "14.0.4": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.4.tar.gz + sha256: 1333236f9bee38658762076be4236cb5ebf15ae9b7f2bfce6946b96ae962dc7 + "14.0.5": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.5.tar.gz + sha256: a4a57f029cb81f04618e05853f05fc2d21b64353c760977d8e7799bf7218a23a + "14.0.6": + url: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.6.tar.gz + sha256: 98f15f842700bdb7220a166c8d2739a03a72e775b67031205078f39dd756a055 + +patches: + "13.0.0": + - base_path: "source" + patch_file: "patches/13/calculate_job_pools.patch" + "13.0.1": + - base_path: "source" + patch_file: "patches/13/calculate_job_pools.patch" + "14.0.0": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.1": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.2": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.3": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.4": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.5": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" + "14.0.6": + - base_path: "source" + patch_file: "patches/14/calculate_job_pools.patch" diff --git a/utils/tooling/conan/llvm/conanfile.py b/utils/tooling/conan/llvm/conanfile.py new file mode 100644 index 000000000..288f07a62 --- /dev/null +++ b/utils/tooling/conan/llvm/conanfile.py @@ -0,0 +1,292 @@ +from conans import ConanFile, tools, CMake +from conans.tools import Version +from conans.errors import ConanInvalidConfiguration +import os, shutil, glob + +# https://github.com/conan-io/conan-center-index/pull/7613 +# https://llvm.org/docs/CMake.html#frequently-used-llvm-related-variables +projects = [ + 'clang', + 'clang-tools-extra', + 'libc', + 'libclc', + 'lld', + 'lldb', + 'openmp', + 'polly', + 'pstl', +] +runtimes = [ + 'compiler-rt', + 'libc', + 'libcxx', + 'libcxxabi', + 'libunwind', + 'openmp', +] +default_projects = [ + 'clang', + # 'clang-tools-extra', + # 'libc', + # 'libclc', +] +default_runtimes = [ + # 'compiler-rt', + # 'libc', + # 'libcxx', + # 'libcxxabi', + # 'libunwind', + # 'openmp', + #'libcxx', + # libcxxabi appears to be required to build libcxx. + # See: https://reviews.llvm.org/D63883 + #'libcxxabi', +] + +class Llvm(ConanFile): + name = 'llvm' + description = 'The LLVM Project is a collection of modular and reusable compiler and toolchain technologies' + url = 'https://github.com/conan-io/conan-center-index' + homepage = 'https://github.com/llvm/llvm-project' + license = 'Apache-2.0' + topics = 'cpp', 'compiler', 'tooling', 'clang' + + settings = 'os', 'arch', 'compiler', 'build_type' + + no_copy_source = True + _source_subfolder = 'source' + short_paths = True + exports_sources = 'patches/**/*' + + options = { + **{'with_project_' + project: [True, False] + for project in projects}, + **{"with_runtime_" + runtime: [True, False] + for runtime in runtimes}, + **{ + 'shared': [True, False], + 'fPIC': [True, False], + 'components': 'ANY', + 'targets': 'ANY', + 'exceptions': [True, False], + 'rtti': [True, False], + 'threads': [True, False], + 'lto': ['On', 'Off', 'Full', 'Thin'], + 'static_stdlib': [True, False], + 'unwind_tables': [True, False], + 'expensive_checks': [True, False], + 'use_perf': [True, False], + 'use_sanitizer': [ + 'Address', + 'Memory', + 'MemoryWithOrigins', + 'Undefined', + 'Thread', + 'DataFlow', + 'Address;Undefined', + 'None' + ], + 'with_ffi': [True, False], + 'with_zlib': [True, False], + 'with_xml2': [True, False], + 'use_llvm_cmake_files': [True, False], + 'enable_debug': [True, False], + }, + } + default_options = { + **{ + 'with_project_' + project: project in default_projects + for project in projects + }, + **{ + "with_runtime_" + runtime: runtime in default_runtimes + for runtime in runtimes + }, + **{ + 'shared': False, + 'fPIC': True, + 'components': 'all', + 'targets': 'all', + 'exceptions': True, + 'rtti': True, + 'threads': True, + 'lto': 'Off', + 'static_stdlib': False, + 'unwind_tables': True, + 'expensive_checks': False, + 'use_perf': False, + 'use_sanitizer': 'None', + 'with_ffi': False, + 'with_zlib': True, + 'with_xml2': True, + 'enable_debug': False, + 'use_llvm_cmake_files': False, + } + } + generators = 'cmake_find_package' + + @property + def repo_folder(self): + return os.path.join(self.source_folder, self._source_subfolder) + + def project_folder(self, project): + return os.path.join(self.repo_folder, project) + + def source(self): + tools.get(**self.conan_data["sources"][self.version]) + extracted_dir = 'llvm-project-llvmorg-' + self.version + os.rename(extracted_dir, self._source_subfolder) + self._patch_sources() + + def build_requirements(self): + self.build_requires("cmake/3.21.3") + + def configure(self): + if self.options.shared: + del self.options.fPIC + if self.settings.os == "Windows": + del self.options.fPIC + if self.settings.compiler.get_safe("cppstd"): + tools.check_min_cppstd(self, '14') + + def _patch_sources(self): + for patch in self.conan_data.get('patches', {}).get(self.version, []): + tools.patch(**patch) + + def _cmake_configure(self): + enabled_projects = [ + project for project in projects + if getattr(self.options, 'with_project_' + project) + ] + enabled_runtimes = [ + runtime for runtime in runtimes + if getattr(self.options, 'with_runtime_' + runtime) + ] + self.output.info('Enabled LLVM subprojects: {}'.format( + ', '.join(enabled_projects))) + self.output.info('Enabled LLVM runtimes: {}'.format( + ', '.join(enabled_runtimes))) + + cmake = CMake(self, generator="Ninja", parallel=False) + cmake.configure(defs={ + 'BUILD_SHARED_LIBS': False, # fine but duplicate in cmake invocation False and OFF + 'CMAKE_SKIP_RPATH': True, + 'CMAKE_POSITION_INDEPENDENT_CODE': \ + self.options.get_safe('fPIC', default=False) or self.options.shared, + 'LLVM_TARGET_ARCH': 'host', # default + 'LLVM_TARGETS_TO_BUILD': self.options.targets, # fine + 'LLVM_BUILD_LLVM_DYLIB': self.options.shared, # fine + 'LLVM_DYLIB_COMPONENTS': self.options.components, # fine + 'LLVM_ENABLE_PIC': self.options.get_safe('fPIC', default=False), # fine + 'LLVM_ABI_BREAKING_CHECKS': 'WITH_ASSERTS', # default + 'LLVM_ENABLE_WARNINGS': True, # default + 'LLVM_ENABLE_PEDANTIC': True, # default + 'LLVM_ENABLE_WERROR': False, # default + 'LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN': True, # NOT default + 'LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO': False, # default + 'LLVM_BUILD_INSTRUMENTED_COVERAGE': False, # default + 'LLVM_OPTIMIZED_TABLEGEN': True, # NOT default, can speedup compilation a lot + 'LLVM_REVERSE_ITERATION': False, # default + 'LLVM_ENABLE_BINDINGS': False, # NOT default, dont build OCaml and go bindings + 'LLVM_CCACHE_BUILD': False, # default, can use ccache for speedup + 'LLVM_INCLUDE_TOOLS': self.options.shared, # default on + 'LLVM_INCLUDE_EXAMPLES': False, # NOT default + 'LLVM_BUILD_TESTS': False, # default + 'LLVM_INCLUDE_TESTS': False, # NOT default + 'LLVM_INCLUDE_BENCHMARKS': False, # default + 'LLVM_APPEND_VC_REV': False, # NOT default, why not? + 'LLVM_BUILD_DOCS': False, # default + 'LLVM_ENABLE_IDE': False, # unknown default, depends if CMAKE_CONFIGURATION_TYPES is set + 'LLVM_ENABLE_TERMINFO': False, # NOT default Use terminfo database if available. + 'LLVM_ENABLE_EH': self.options.exceptions, # default off + 'LLVM_ENABLE_RTTI': self.options.rtti, # default off + 'LLVM_ENABLE_THREADS': self.options.threads, # default on + 'LLVM_ENABLE_LTO': self.options.lto, # default off, possible Off, On, Thin and Full + 'LLVM_STATIC_LINK_CXX_STDLIB': self.options.static_stdlib, # default off, libst -> libc++ if LLVM_ENABLE_LIBCXX + 'LLVM_ENABLE_UNWIND_TABLES': self.options.unwind_tables, # default on + 'LLVM_ENABLE_EXPENSIVE_CHECKS': self.options.expensive_checks, + 'LLVM_ENABLE_ASSERTIONS': self.settings.build_type == 'Debug', + 'LLVM_USE_NEWPM': False, + 'LLVM_USE_OPROFILE': False, + 'LLVM_USE_PERF': self.options.use_perf, + 'LLVM_ENABLE_Z3_SOLVER': False, + 'LLVM_ENABLE_LIBPFM': False, + 'LLVM_ENABLE_LIBEDIT': False, + 'LLVM_ENABLE_FFI': self.options.with_ffi, + 'LLVM_ENABLE_ZLIB': self.options.get_safe('with_zlib', False), + 'LLVM_ENABLE_LIBXML2': self.options.get_safe('with_xml2', False), + 'LLVM_ENABLE_PROJECTS': ';'.join(enabled_projects), + 'LLVM_ENABLE_RUNTIMES': ';'.join(enabled_runtimes), + 'LLVM_ENABLE_BINDINGS': False, + 'LLVM_ENABLE_RTTI': self.options.rtti, + }, + source_folder=os.path.join(self._source_subfolder, + 'llvm')) + if not self.options.shared: + cmake.definitions['DISABLE_LLVM_LINK_LLVM_DYLIB'] = True + if self.settings.compiler == 'Visual Studio': + build_type = str(self.settings.build_type).upper() + cmake.definitions['LLVM_USE_CRT_{}'.format(build_type)] = \ + self.settings.compiler.runtime + if self.options.use_sanitizer == 'None': + cmake.definitions['LLVM_USE_SANITIZER'] = '' + else: + cmake.definitions['LLVM_USE_SANITIZER'] = self.options.use_sanitizer + return cmake + + def build(self): + cmake = self._cmake_configure() + cmake.build() + + def package(self): + cmake = self._cmake_configure() + cmake.install() + + self.copy( + "LICENSE.TXT", + src=os.path.join(self._source_subfolder, "clang"), + dst="licenses", + keep_path=False, + ) + + ignore = ["share", "libexec", "**/Find*.cmake", "**/*Config.cmake"] + + for ignore_entry in ignore: + ignore_glob = os.path.join(self.package_folder, ignore_entry) + + for ignore_path in glob.glob(ignore_glob, recursive=True): + self.output.info( + 'Remove ignored file/directory "{}" from package'.format( + ignore_path + ) + ) + + if os.path.isfile(ignore_path): + os.remove(ignore_path) + else: + shutil.rmtree(ignore_path) + + def package_id(self): + del self.info.options.enable_debug + del self.info.options.use_llvm_cmake_files + + def validate(self): + if self.settings.compiler == "gcc" and tools.Version( + self.settings.compiler.version) < "10": + raise ConanInvalidConfiguration( + "Compiler version too low for this package.") + + if (self.settings.compiler == "Visual Studio" + or self.settings.compiler == "msvc") and Version( + self.settings.compiler.version) < "16.4": + raise ConanInvalidConfiguration( + "An up to date version of Microsoft Visual Studio 2019 or newer is required." + ) + + if self.settings.build_type == "Debug" and not self.options.enable_debug: + raise ConanInvalidConfiguration( + "Set the 'enable_debug' option to allow debug builds") + + def package_info(self): + self.cpp_info.libs = tools.collect_libs(self) + self.cpp_info.builddirs = ["lib/cmake"] diff --git a/utils/tooling/conan/llvm/create.sh b/utils/tooling/conan/llvm/create.sh new file mode 100755 index 000000000..98cc27ea8 --- /dev/null +++ b/utils/tooling/conan/llvm/create.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +if [ "$#" -eq "0" ]; then + echo "[error] please provide a llvm version" + exit 10 +fi +readonly llvm_version="${1:-14.0.6}" + +( + cd "$(dirname "$0")" + bash ../scripts/clear.sh "llvm" "$llvm_version" + bash ../scripts/create.sh "llvm" "$llvm_version" "-o llvm:enable_debug=True -o llvm:shared=False" +) diff --git a/utils/tooling/conan/llvm/logs/build.log b/utils/tooling/conan/llvm/logs/build.log new file mode 100644 index 000000000..6391a62a0 --- /dev/null +++ b/utils/tooling/conan/llvm/logs/build.log @@ -0,0 +1,463 @@ +DEBUG :conan_api.py [176]: INIT: Using config '/home/ubuntu/.conan/conan.conf' [2022-07-28 11:25:16,844] +DEBUG :tracer.py [156]: CONAN_API: create(name=None,version=14.0.6,user=intellisectest+intellisectest-application,channel=stable,profile_names=None,settings=None,conf=None,options=None,env=None,test_folder=None,not_export=False,build_modes=['missing'],keep_source=False,keep_build=False,verify=None,manifests=None,manifests_interactive=None,remote_name=None,update=False,test_build_folder=None,lockfile=None,lockfile_out=None,ignore_dirty=False,profile_build=ProfileData(profiles=None, settings=None, options=None, env=None, conf=None),is_build_require=False,require_overrides=None) [2022-07-28 11:25:16,845] +DEBUG :profile_loader.py[120]: PROFILE LOAD: /home/ubuntu/.conan/profiles/default [2022-07-28 11:25:16,847] +DEBUG :profile_loader.py[120]: PROFILE LOAD: /home/ubuntu/.conan/profiles/default [2022-07-28 11:25:16,894] +DEBUG :export.py [114]: EXPORT: /home/ubuntu/git/itst-develop/02_sa/intellisec-sast/tooling/conan/llvm/conanfile.py [2022-07-28 11:25:16,915] +Exporting package recipe +llvm/14.0.6@intellisectest+intellisectest-application/stable exports: File 'conandata.yml' found. Exporting it... +llvm/14.0.6@intellisectest+intellisectest-application/stable exports: Copied 1 '.yml' file: conandata.yml +llvm/14.0.6@intellisectest+intellisectest-application/stable exports_sources: Copied 2 '.patch' files: calculate_job_pools.patch, calculate_job_pools.patch +llvm/14.0.6@intellisectest+intellisectest-application/stable: A new conanfile.py version was exported +llvm/14.0.6@intellisectest+intellisectest-application/stable: Folder: /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/export +llvm/14.0.6@intellisectest+intellisectest-application/stable: Exported revision: 4f00ec8c27a1d3cf33dd70dd84b349d7 +Configuration: +[settings] +arch=x86_64 +arch_build=x86_64 +build_type=Release +compiler=clang +compiler.libcxx=libstdc++11 +compiler.version=14 +os=Linux +os_build=Linux +[options] +[build_requires] +[env] + +DEBUG :graph_builder.py[460]: GRAPH: new_node: llvm/14.0.6@intellisectest+intellisectest-application/stable [2022-07-28 11:25:16,936] +DEBUG :graph_builder.py[68]: GRAPH: Time to load deps 0.011348962783813477 [2022-07-28 11:25:16,937] +DEBUG :rest_client_common.py[160]: REST: ping: https://center.conan.io/v1/ping [2022-07-28 11:25:16,939] +DEBUG :rest_client.py [58]: REST: Cached capabilities for the remote: ['complex_search', 'checksum_deploy', 'revisions', 'matrix_params'] [2022-07-28 11:25:17,124] +DEBUG :rest_client_common.py[188]: REST: get: https://center.conan.io/v1/conans/llvm/14.0.6/intellisectest+intellisectest-application/stable/packages/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/download_urls [2022-07-28 11:25:17,126] +DEBUG :rest_client_common.py[30]: REST ERROR: [2022-07-28 11:25:17,249] +DEBUG :rest_client_common.py[160]: REST: ping: https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan/v1/ping [2022-07-28 11:25:17,252] +DEBUG :rest_client.py [58]: REST: Cached capabilities for the remote: [] [2022-07-28 11:25:17,393] +DEBUG :rest_client_common.py[188]: REST: get: https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan/v1/conans/llvm/14.0.6/intellisectest+intellisectest-application/stable/packages/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/download_urls [2022-07-28 11:25:17,395] +DEBUG :rest_client_common.py[30]: REST ERROR: [2022-07-28 11:25:17,454] +DEBUG :graph_builder.py[460]: GRAPH: new_node: cmake/3.21.3 [2022-07-28 11:25:17,463] +DEBUG :graph_builder.py[460]: GRAPH: new_node: openssl/1.1.1l [2022-07-28 11:25:17,481] +llvm/14.0.6@intellisectest+intellisectest-application/stable (test package): Installing package +Requirements + llvm/14.0.6@intellisectest+intellisectest-application/stable from local cache - Cache +Packages + llvm/14.0.6@intellisectest+intellisectest-application/stable:0c08617941e1fd8086a2a8ec99cd05cf36b19eef - Build +Build requirements + cmake/3.21.3 from 'conancenter' - Cache + openssl/1.1.1l from 'conancenter' - Cache +Build requirements packages + cmake/3.21.3:5c09c752508b674ca5cb1f2d327b5a2d582866c8 - Cache + openssl/1.1.1l:24d596ecc3e7cfef35630620092c5615473ba82a - Cache + +Installing (downloading, building) binaries... +openssl/1.1.1l: Already installed! +cmake/3.21.3: Already installed! +cmake/3.21.3: Appending PATH environment variable: /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/bin +llvm/14.0.6@intellisectest+intellisectest-application/stable: Applying build-requirement: cmake/3.21.3 +llvm/14.0.6@intellisectest+intellisectest-application/stable: Applying build-requirement: openssl/1.1.1l +llvm/14.0.6@intellisectest+intellisectest-application/stable: Configuring sources in /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source +DEBUG :file_downloader.py[130]: DOWNLOAD: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.6.tar.gz [2022-07-28 11:25:18,403] + +llvm/14.0.6@intellisectest+intellisectest-application/stable: Building your package in /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef +INFO :installer.py [133]: GENERATORS: Writing generators [2022-07-28 11:26:14,076] +llvm/14.0.6@intellisectest+intellisectest-application/stable: Generator cmake_find_package created Findcmake.cmake +llvm/14.0.6@intellisectest+intellisectest-application/stable: Generator cmake_find_package created FindOpenSSL.cmake +INFO :installer.py [137]: TOOLCHAIN: Writing toolchain [2022-07-28 11:26:14,080] +llvm/14.0.6@intellisectest+intellisectest-application/stable: Aggregating env generators +DEBUG :build.py [11]: Call conanfile.build() with files in build folder: ['FindOpenSSL.cmake', 'Findcmake.cmake'] [2022-07-28 11:26:14,081] +llvm/14.0.6@intellisectest+intellisectest-application/stable: Calling build() +llvm/14.0.6@intellisectest+intellisectest-application/stable: Enabled LLVM subprojects: clang, clang-tools-extra, libc, libclc +llvm/14.0.6@intellisectest+intellisectest-application/stable: Enabled LLVM runtimes: compiler-rt, libc, libcxx, libcxxabi, libunwind, openmp +INFO :cmake_flags.py [282]: Setting Cross build flags: [2022-07-28 11:26:14,104] + +----Running------ +> cd '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef' && cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="clang" -DCONAN_COMPILER_VERSION="14" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="OFF" -DCMAKE_INSTALL_PREFIX="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/package/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_MODULE_PATH="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev -DBUILD_SHARED_LIBS="False" -DCMAKE_SKIP_RPATH="True" -DCMAKE_POSITION_INDEPENDENT_CODE="True" -DLLVM_TARGET_ARCH="host" -DLLVM_TARGETS_TO_BUILD="all" -DLLVM_BUILD_LLVM_DYLIB="False" -DLLVM_DYLIB_COMPONENTS="all" -DLLVM_ENABLE_PIC="True" -DLLVM_ABI_BREAKING_CHECKS="WITH_ASSERTS" -DLLVM_ENABLE_WARNINGS="True" -DLLVM_ENABLE_PEDANTIC="True" -DLLVM_ENABLE_WERROR="False" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="True" -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO="False" -DLLVM_BUILD_INSTRUMENTED_COVERAGE="False" -DLLVM_OPTIMIZED_TABLEGEN="True" -DLLVM_REVERSE_ITERATION="False" -DLLVM_ENABLE_BINDINGS="False" -DLLVM_CCACHE_BUILD="False" -DLLVM_INCLUDE_TOOLS="False" -DLLVM_INCLUDE_EXAMPLES="False" -DLLVM_INCLUDE_TESTS="False" -DLLVM_INCLUDE_BENCHMARKS="False" -DLLVM_APPEND_VC_REV="False" -DLLVM_BUILD_DOCS="False" -DLLVM_ENABLE_IDE="False" -DLLVM_ENABLE_TERMINFO="False" -DLLVM_ENABLE_EH="True" -DLLVM_ENABLE_RTTI="True" -DLLVM_ENABLE_THREADS="True" -DLLVM_ENABLE_LTO="Off" -DLLVM_STATIC_LINK_CXX_STDLIB="False" -DLLVM_ENABLE_UNWIND_TABLES="True" -DLLVM_ENABLE_EXPENSIVE_CHECKS="False" -DLLVM_ENABLE_ASSERTIONS="False" -DLLVM_USE_NEWPM="False" -DLLVM_USE_OPROFILE="False" -DLLVM_USE_PERF="False" -DLLVM_ENABLE_Z3_SOLVER="False" -DLLVM_ENABLE_LIBPFM="False" -DLLVM_ENABLE_LIBEDIT="False" -DLLVM_ENABLE_FFI="False" -DLLVM_ENABLE_ZLIB="True" -DLLVM_ENABLE_LIBXML2="True" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libclc" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp" '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/llvm' +----------------- +-- The C compiler identification is Clang 14.0.6 +-- The CXX compiler identification is Clang 14.0.6 +-- The ASM compiler identification is Clang +-- Found assembler: /usr/local/bin/clang-14 +-- Detecting C compiler ABI info +-- Detecting C compiler ABI info - done +-- Check for working C compiler: /usr/local/bin/clang-14 - skipped +-- Detecting C compile features +-- Detecting C compile features - done +-- Detecting CXX compiler ABI info +-- Detecting CXX compiler ABI info - done +-- Check for working CXX compiler: /usr/local/bin/clang++ - skipped +-- Detecting CXX compile features +-- Detecting CXX compile features - done +-- bolt project is disabled +-- clang project is enabled +-- clang-tools-extra project is enabled +-- compiler-rt project is disabled +-- cross-project-tests project is disabled +-- libc project is enabled +-- libclc project is enabled +-- libcxx project is disabled +-- libcxxabi project is disabled +-- libunwind project is disabled +-- lld project is disabled +-- lldb project is disabled +-- mlir project is disabled +-- openmp project is disabled +-- polly project is disabled +-- pstl project is disabled +-- flang project is disabled +-- Performing Test LLVM_LIBSTDCXX_MIN +-- Performing Test LLVM_LIBSTDCXX_MIN - Success +-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR +-- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Success +-- Looking for dlfcn.h +-- Looking for dlfcn.h - found +-- Looking for errno.h +-- Looking for errno.h - found +-- Looking for fcntl.h +-- Looking for fcntl.h - found +-- Looking for link.h +-- Looking for link.h - found +-- Looking for malloc/malloc.h +-- Looking for malloc/malloc.h - not found +-- Looking for pthread.h +-- Looking for pthread.h - found +-- Looking for signal.h +-- Looking for signal.h - found +-- Looking for sys/ioctl.h +-- Looking for sys/ioctl.h - found +-- Looking for sys/mman.h +-- Looking for sys/mman.h - found +-- Looking for sys/param.h +-- Looking for sys/param.h - found +-- Looking for sys/resource.h +-- Looking for sys/resource.h - found +-- Looking for sys/stat.h +-- Looking for sys/stat.h - found +-- Looking for sys/time.h +-- Looking for sys/time.h - found +-- Looking for sys/types.h +-- Looking for sys/types.h - found +-- Looking for sysexits.h +-- Looking for sysexits.h - found +-- Looking for termios.h +-- Looking for termios.h - found +-- Looking for unistd.h +-- Looking for unistd.h - found +-- Looking for valgrind/valgrind.h +-- Looking for valgrind/valgrind.h - not found +-- Looking for fenv.h +-- Looking for fenv.h - found +-- Looking for FE_ALL_EXCEPT +-- Looking for FE_ALL_EXCEPT - found +-- Looking for FE_INEXACT +-- Looking for FE_INEXACT - found +-- Looking for mach/mach.h +-- Looking for mach/mach.h - not found +-- Looking for histedit.h +-- Looking for histedit.h - not found +-- Looking for CrashReporterClient.h +-- Looking for CrashReporterClient.h - not found +-- Looking for linux/magic.h +-- Looking for linux/magic.h - found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Looking for pthread_getspecific in pthread +-- Looking for pthread_getspecific in pthread - found +-- Looking for pthread_rwlock_init in pthread +-- Looking for pthread_rwlock_init in pthread - found +-- Looking for pthread_mutex_lock in pthread +-- Looking for pthread_mutex_lock in pthread - found +-- Looking for dlopen in dl +-- Looking for dlopen in dl - found +-- Looking for clock_gettime in rt +-- Looking for clock_gettime in rt - found +-- Looking for pthread.h +-- Looking for pthread.h - found +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD +-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed +-- Looking for pthread_create in pthreads +-- Looking for pthread_create in pthreads - not found +-- Looking for pthread_create in pthread +-- Looking for pthread_create in pthread - found +-- Found Threads: TRUE +-- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11") +-- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) +-- Looking for xar_open in xar +-- Looking for xar_open in xar - not found +-- Looking for arc4random +-- Looking for arc4random - not found +-- Looking for backtrace +-- Looking for backtrace - found +-- backtrace facility detected in default set of libraries +-- Found Backtrace: /usr/include +-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW +-- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success +-- Looking for __register_frame +-- Looking for __register_frame - found +-- Looking for __deregister_frame +-- Looking for __deregister_frame - found +-- Looking for __unw_add_dynamic_fde +-- Looking for __unw_add_dynamic_fde - not found +-- Looking for _Unwind_Backtrace +-- Looking for _Unwind_Backtrace - found +-- Looking for getpagesize +-- Looking for getpagesize - found +-- Looking for sysconf +-- Looking for sysconf - found +-- Looking for getrusage +-- Looking for getrusage - found +-- Looking for setrlimit +-- Looking for setrlimit - found +-- Looking for isatty +-- Looking for isatty - found +-- Looking for futimens +-- Looking for futimens - found +-- Looking for futimes +-- Looking for futimes - found +-- Looking for sigaltstack +-- Looking for sigaltstack - found +-- Looking for lseek64 +-- Looking for lseek64 - found +-- Looking for mallctl +-- Looking for mallctl - not found +-- Looking for mallinfo +-- Looking for mallinfo - found +-- Looking for mallinfo2 +-- Looking for mallinfo2 - not found +-- Looking for malloc_zone_statistics +-- Looking for malloc_zone_statistics - not found +-- Looking for getrlimit +-- Looking for getrlimit - found +-- Looking for posix_spawn +-- Looking for posix_spawn - found +-- Looking for pread +-- Looking for pread - found +-- Looking for sbrk +-- Looking for sbrk - found +-- Looking for strerror +-- Looking for strerror - found +-- Looking for strerror_r +-- Looking for strerror_r - found +-- Looking for strerror_s +-- Looking for strerror_s - not found +-- Looking for setenv +-- Looking for setenv - found +-- Looking for dlopen +-- Looking for dlopen - found +-- Looking for dladdr +-- Looking for dladdr - not found +-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC +-- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC - Failed +-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC +-- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC - Success +-- Looking for __GLIBC__ +-- Looking for __GLIBC__ - found +-- Looking for pthread_getname_np +-- Looking for pthread_getname_np - found +-- Looking for pthread_setname_np +-- Looking for pthread_setname_np - found +-- Looking for proc_pid_rusage +-- Looking for proc_pid_rusage - not found +-- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE +-- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE - Success +-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB +-- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success +-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB +-- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success +-- Performing Test LLVM_HAS_ATOMICS +-- Performing Test LLVM_HAS_ATOMICS - Success +-- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG +-- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG - Success +-- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG +-- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG - Success +-- Native target architecture is X86 +-- Threads enabled. +-- Doxygen disabled. +-- Go bindings disabled. +-- Ninja version: 1.10.0 +-- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) +-- OCaml bindings disabled. +-- Could NOT find Python module pygments +-- Could NOT find Python module pygments.lexers.c_cpp +-- Could NOT find Python module yaml +-- LLVM host triple: x86_64-unknown-linux-gnu +-- LLVM default target triple: x86_64-unknown-linux-gnu +-- Performing Test C_SUPPORTS_FPIC +-- Performing Test C_SUPPORTS_FPIC - Success +-- Performing Test CXX_SUPPORTS_FPIC +-- Performing Test CXX_SUPPORTS_FPIC - Success +-- Building with -fPIC +-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION +-- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success +-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION +-- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success +-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG +-- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success +-- Performing Test C_SUPPORTS_WERROR_DATE_TIME +-- Performing Test C_SUPPORTS_WERROR_DATE_TIME - Success +-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME +-- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME - Success +-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW +-- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success +-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG +-- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success +-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG +-- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success +-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG +-- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success +-- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG +-- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success +-- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG +-- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success +-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG +-- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success +-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG +-- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success +-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG +-- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG - Failed +-- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG +-- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG - Success +-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR +-- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR - Success +-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG +-- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success +-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL +-- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success +-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP +-- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success +-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG +-- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG - Success +-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG +-- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG - Success +-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG +-- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success +-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG +-- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success +-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS +-- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Success +-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS +-- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success +-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS +-- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success +-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS +-- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success +-- Performing Test C_SUPPORTS_FDATA_SECTIONS +-- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success +-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS +-- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success +-- Looking for os_signpost_interval_begin +-- Looking for os_signpost_interval_begin - not found +-- Found Python3: /home/ubuntu/git/itst-develop/venv/bin/python3 (found suitable version "3.8.10", minimum required is "3.0") found components: Interpreter +-- Linker detection: LLD +-- Performing Test HAS_WERROR_GLOBAL_CTORS +-- Performing Test HAS_WERROR_GLOBAL_CTORS - Success +-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX +-- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX - Success +-- Found Git: /usr/bin/git (found version "2.25.1") +-- Targeting AArch64 +-- Targeting AMDGPU +-- Targeting ARM +-- Targeting AVR +-- Targeting BPF +-- Targeting Hexagon +-- Targeting Lanai +-- Targeting Mips +-- Targeting MSP430 +-- Targeting NVPTX +-- Targeting PowerPC +-- Targeting RISCV +-- Targeting Sparc +-- Targeting SystemZ +-- Targeting VE +-- Targeting WebAssembly +-- Targeting X86 +-- Targeting XCore +-- Set COMPILER_RESOURCE_DIR to /usr/local/lib/clang/14.0.6 using --print-resource-dir +CMake Warning at /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/libc/utils/MPFRWrapper/CMakeLists.txt:13 (message): + Math tests using MPFR will be skipped. + + +-- Skipping benchmark for 'libc.src.string.bcmp_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +-- Skipping benchmark for 'libc.src.string.bzero_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +-- Skipping benchmark for 'libc.src.string.memcmp_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +-- Skipping benchmark for 'libc.src.string.memcpy_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +-- Skipping benchmark for 'libc.src.string.memmove_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +-- Skipping benchmark for 'libc.src.string.memset_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): + get_property could not find TARGET clang-resource-headers. Perhaps it has + not yet been created. +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:82 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:140 (builtin_default_target) + + +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): + get_property could not find TARGET llvm-config. Perhaps it has not yet + been created. +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:82 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:140 (builtin_default_target) + + +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): + get_property could not find TARGET llvm-config. Perhaps it has not yet + been created. +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:375 (runtime_default_target) + + +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3132 (get_property): + get_property could not find TARGET llvm-config. Perhaps it has not yet + been created. +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:375 (runtime_default_target) + + +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:1820 (get_property): + get_property could not find TARGET llvm-config. Perhaps it has not yet + been created. +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:2107 (ExternalProject_Get_Property) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3134 (_ep_get_step_stampfile) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:375 (runtime_default_target) + + +CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:1822 (message): + External project "llvm-config" has no stamp_dir +Call Stack (most recent call first): + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:2107 (ExternalProject_Get_Property) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3134 (_ep_get_step_stampfile) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) + /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) + cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) + runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) + runtimes/CMakeLists.txt:375 (runtime_default_target) + + +-- Configuring incomplete, errors occurred! +See also "/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/CMakeFiles/CMakeOutput.log". +See also "/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/CMakeFiles/CMakeError.log". +llvm/14.0.6@intellisectest+intellisectest-application/stable: +llvm/14.0.6@intellisectest+intellisectest-application/stable: ERROR: Package '0c08617941e1fd8086a2a8ec99cd05cf36b19eef' build failed +llvm/14.0.6@intellisectest+intellisectest-application/stable: WARN: Build folder /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef +ERROR: llvm/14.0.6@intellisectest+intellisectest-application/stable: Error in build() method, line 237 + cmake = self._cmake_configure() +while calling '_cmake_configure', line 171 + cmake.configure(defs={ + ConanException: Error 1 while executing cd '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef' && cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="clang" -DCONAN_COMPILER_VERSION="14" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="OFF" -DCMAKE_INSTALL_PREFIX="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/package/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_MODULE_PATH="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev -DBUILD_SHARED_LIBS="False" -DCMAKE_SKIP_RPATH="True" -DCMAKE_POSITION_INDEPENDENT_CODE="True" -DLLVM_TARGET_ARCH="host" -DLLVM_TARGETS_TO_BUILD="all" -DLLVM_BUILD_LLVM_DYLIB="False" -DLLVM_DYLIB_COMPONENTS="all" -DLLVM_ENABLE_PIC="True" -DLLVM_ABI_BREAKING_CHECKS="WITH_ASSERTS" -DLLVM_ENABLE_WARNINGS="True" -DLLVM_ENABLE_PEDANTIC="True" -DLLVM_ENABLE_WERROR="False" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="True" -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO="False" -DLLVM_BUILD_INSTRUMENTED_COVERAGE="False" -DLLVM_OPTIMIZED_TABLEGEN="True" -DLLVM_REVERSE_ITERATION="False" -DLLVM_ENABLE_BINDINGS="False" -DLLVM_CCACHE_BUILD="False" -DLLVM_INCLUDE_TOOLS="False" -DLLVM_INCLUDE_EXAMPLES="False" -DLLVM_INCLUDE_TESTS="False" -DLLVM_INCLUDE_BENCHMARKS="False" -DLLVM_APPEND_VC_REV="False" -DLLVM_BUILD_DOCS="False" -DLLVM_ENABLE_IDE="False" -DLLVM_ENABLE_TERMINFO="False" -DLLVM_ENABLE_EH="True" -DLLVM_ENABLE_RTTI="True" -DLLVM_ENABLE_THREADS="True" -DLLVM_ENABLE_LTO="Off" -DLLVM_STATIC_LINK_CXX_STDLIB="False" -DLLVM_ENABLE_UNWIND_TABLES="True" -DLLVM_ENABLE_EXPENSIVE_CHECKS="False" -DLLVM_ENABLE_ASSERTIONS="False" -DLLVM_USE_NEWPM="False" -DLLVM_USE_OPROFILE="False" -DLLVM_USE_PERF="False" -DLLVM_ENABLE_Z3_SOLVER="False" -DLLVM_ENABLE_LIBPFM="False" -DLLVM_ENABLE_LIBEDIT="False" -DLLVM_ENABLE_FFI="False" -DLLVM_ENABLE_ZLIB="True" -DLLVM_ENABLE_LIBXML2="True" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libclc" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp" '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/llvm' diff --git a/utils/tooling/conan/llvm/patches/13/calculate_job_pools.patch b/utils/tooling/conan/llvm/patches/13/calculate_job_pools.patch new file mode 100644 index 000000000..cc74107ac --- /dev/null +++ b/utils/tooling/conan/llvm/patches/13/calculate_job_pools.patch @@ -0,0 +1,52 @@ +diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake +index 0c3419390c27..8bcd91e17872 100644 +--- a/llvm/cmake/modules/HandleLLVMOptions.cmake ++++ b/llvm/cmake/modules/HandleLLVMOptions.cmake +@@ -31,8 +31,24 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + + # Ninja Job Pool support + # The following only works with the Ninja generator in CMake >= 3.0. ++if (NOT LLVM_RAM_PER_COMPILE_JOB) ++ set(LLVM_RAM_PER_COMPILE_JOB "2000") ++endif() + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR STREQUAL "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -42,8 +58,22 @@ if(LLVM_PARALLEL_COMPILE_JOBS) + endif() + endif() + ++if (NOT LLVM_RAM_PER_LINK_JOB) ++ set(LLVM_RAM_PER_LINK_JOB "14000") ++endif() + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR STREQUAL "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/utils/tooling/conan/llvm/patches/14/calculate_job_pools.patch b/utils/tooling/conan/llvm/patches/14/calculate_job_pools.patch new file mode 100644 index 000000000..c8176810b --- /dev/null +++ b/utils/tooling/conan/llvm/patches/14/calculate_job_pools.patch @@ -0,0 +1,53 @@ +diff --git a/llvm/cmake/modules/HandleLLVMOptions.cmake b/llvm/cmake/modules/HandleLLVMOptions.cmake +index fcaa8f20bf94..00c6fbf6fa8e 100644 +--- a/llvm/cmake/modules/HandleLLVMOptions.cmake ++++ b/llvm/cmake/modules/HandleLLVMOptions.cmake +@@ -31,8 +31,25 @@ string(TOUPPER "${LLVM_ENABLE_LTO}" uppercase_LLVM_ENABLE_LTO) + + # Ninja Job Pool support + # The following only works with the Ninja generator in CMake >= 3.0. ++if (NOT LLVM_RAM_PER_COMPILE_JOB) ++ set(LLVM_RAM_PER_COMPILE_JOB "2000") ++endif() + set(LLVM_PARALLEL_COMPILE_JOBS "" CACHE STRING + "Define the maximum number of concurrent compilation jobs (Ninja only).") ++ ++cmake_host_system_information(RESULT AVAILABLE_PHYSICAL_MEMORY QUERY AVAILABLE_PHYSICAL_MEMORY) ++cmake_host_system_information(RESULT NUMBER_OF_LOGICAL_CORES QUERY NUMBER_OF_LOGICAL_CORES) ++if(LLVM_RAM_PER_COMPILE_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_COMPILE_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_COMPILE_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_COMPILE_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(LLVM_PARALLEL_COMPILE_JOBS) + if(NOT CMAKE_GENERATOR MATCHES "Ninja") + message(WARNING "Job pooling is only available with Ninja generators.") +@@ -42,8 +59,22 @@ if(LLVM_PARALLEL_COMPILE_JOBS) + endif() + endif() + ++if (NOT LLVM_RAM_PER_LINK_JOB) ++ set(LLVM_RAM_PER_LINK_JOB "14000") ++endif() + set(LLVM_PARALLEL_LINK_JOBS "" CACHE STRING + "Define the maximum number of concurrent link jobs (Ninja only).") ++if(LLVM_RAM_PER_LINK_JOB) ++ math(EXPR memory_available_jobs "${AVAILABLE_PHYSICAL_MEMORY} / ${LLVM_RAM_PER_LINK_JOB}" OUTPUT_FORMAT DECIMAL) ++ if (memory_available_jobs LESS 1) ++ set(memory_available_jobs 1) ++ endif() ++ if (memory_available_jobs LESS NUMBER_OF_LOGICAL_CORES) ++ set(LLVM_PARALLEL_LINK_JOBS "${memory_available_jobs}") ++ else() ++ set(LLVM_PARALLEL_LINK_JOBS "${NUMBER_OF_LOGICAL_CORES}") ++ endif() ++endif() + if(CMAKE_GENERATOR MATCHES "Ninja") + if(NOT LLVM_PARALLEL_LINK_JOBS AND uppercase_LLVM_ENABLE_LTO STREQUAL "THIN") + message(STATUS "ThinLTO provides its own parallel linking - limiting parallel link jobs to 2.") diff --git a/utils/tooling/conan/llvm/test_package/CMakeLists.txt b/utils/tooling/conan/llvm/test_package/CMakeLists.txt new file mode 100644 index 000000000..6d70aefb6 --- /dev/null +++ b/utils/tooling/conan/llvm/test_package/CMakeLists.txt @@ -0,0 +1,10 @@ +cmake_minimum_required(VERSION 3.1) +project(test_package) + +set(CMAKE_CXX_STANDARD 14) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(${PROJECT_NAME} test_package.cpp) +target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/utils/tooling/conan/llvm/test_package/conanfile.py b/utils/tooling/conan/llvm/test_package/conanfile.py new file mode 100644 index 000000000..bd7165a55 --- /dev/null +++ b/utils/tooling/conan/llvm/test_package/conanfile.py @@ -0,0 +1,17 @@ +from conans import ConanFile, CMake, tools +import os + + +class TestPackageConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def test(self): + if not tools.cross_building(self.settings): + bin_path = os.path.join("bin", "test_package") + self.run(bin_path, run_environment=True) diff --git a/utils/tooling/conan/llvm/test_package/test_package.cpp b/utils/tooling/conan/llvm/test_package/test_package.cpp new file mode 100644 index 000000000..03bd7c44d --- /dev/null +++ b/utils/tooling/conan/llvm/test_package/test_package.cpp @@ -0,0 +1,452 @@ +// Kaleidoscope example from https://llvm.org/docs/tutorial/MyFirstLanguageFrontend/LangImpl02.html#full-code-listing + +#include "llvm/ADT/STLExtras.h" +#include +#include +#include +#include +#include +#include +#include +#include + +//===----------------------------------------------------------------------===// +// Lexer +//===----------------------------------------------------------------------===// + +// The lexer returns tokens [0-255] if it is an unknown character, otherwise one +// of these for known things. +enum Token { + tok_eof = -1, + + // commands + tok_def = -2, + tok_extern = -3, + + // primary + tok_identifier = -4, + tok_number = -5 +}; + +static std::string IdentifierStr; // Filled in if tok_identifier +static double NumVal; // Filled in if tok_number + +/// gettok - Return the next token from standard input. +static int gettok() { + static int LastChar = ' '; + + // Skip any whitespace. + while (isspace(LastChar)) + LastChar = getchar(); + + if (isalpha(LastChar)) { // identifier: [a-zA-Z][a-zA-Z0-9]* + IdentifierStr = LastChar; + while (isalnum((LastChar = getchar()))) + IdentifierStr += LastChar; + + if (IdentifierStr == "def") + return tok_def; + if (IdentifierStr == "extern") + return tok_extern; + return tok_identifier; + } + + if (isdigit(LastChar) || LastChar == '.') { // Number: [0-9.]+ + std::string NumStr; + do { + NumStr += LastChar; + LastChar = getchar(); + } while (isdigit(LastChar) || LastChar == '.'); + + NumVal = strtod(NumStr.c_str(), nullptr); + return tok_number; + } + + if (LastChar == '#') { + // Comment until end of line. + do + LastChar = getchar(); + while (LastChar != EOF && LastChar != '\n' && LastChar != '\r'); + + if (LastChar != EOF) + return gettok(); + } + + // Check for end of file. Don't eat the EOF. + if (LastChar == EOF) + return tok_eof; + + // Otherwise, just return the character as its ascii value. + int ThisChar = LastChar; + LastChar = getchar(); + return ThisChar; +} + +//===----------------------------------------------------------------------===// +// Abstract Syntax Tree (aka Parse Tree) +//===----------------------------------------------------------------------===// + +namespace { + +/// ExprAST - Base class for all expression nodes. +class ExprAST { +public: + virtual ~ExprAST() = default; +}; + +/// NumberExprAST - Expression class for numeric literals like "1.0". +class NumberExprAST : public ExprAST { + double Val; + +public: + NumberExprAST(double Val) : Val(Val) {} +}; + +/// VariableExprAST - Expression class for referencing a variable, like "a". +class VariableExprAST : public ExprAST { + std::string Name; + +public: + VariableExprAST(const std::string &Name) : Name(Name) {} +}; + +/// BinaryExprAST - Expression class for a binary operator. +class BinaryExprAST : public ExprAST { + char Op; + std::unique_ptr LHS, RHS; + +public: + BinaryExprAST(char Op, std::unique_ptr LHS, + std::unique_ptr RHS) + : Op(Op), LHS(std::move(LHS)), RHS(std::move(RHS)) {} +}; + +/// CallExprAST - Expression class for function calls. +class CallExprAST : public ExprAST { + std::string Callee; + std::vector> Args; + +public: + CallExprAST(const std::string &Callee, + std::vector> Args) + : Callee(Callee), Args(std::move(Args)) {} +}; + +/// PrototypeAST - This class represents the "prototype" for a function, +/// which captures its name, and its argument names (thus implicitly the number +/// of arguments the function takes). +class PrototypeAST { + std::string Name; + std::vector Args; + +public: + PrototypeAST(const std::string &Name, std::vector Args) + : Name(Name), Args(std::move(Args)) {} + + const std::string &getName() const { return Name; } +}; + +/// FunctionAST - This class represents a function definition itself. +class FunctionAST { + std::unique_ptr Proto; + std::unique_ptr Body; + +public: + FunctionAST(std::unique_ptr Proto, + std::unique_ptr Body) + : Proto(std::move(Proto)), Body(std::move(Body)) {} +}; + +} // end anonymous namespace + +//===----------------------------------------------------------------------===// +// Parser +//===----------------------------------------------------------------------===// + +/// CurTok/getNextToken - Provide a simple token buffer. CurTok is the current +/// token the parser is looking at. getNextToken reads another token from the +/// lexer and updates CurTok with its results. +static int CurTok; +static int getNextToken() { return CurTok = gettok(); } + +/// BinopPrecedence - This holds the precedence for each binary operator that is +/// defined. +static std::map BinopPrecedence; + +/// GetTokPrecedence - Get the precedence of the pending binary operator token. +static int GetTokPrecedence() { + if (!isascii(CurTok)) + return -1; + + // Make sure it's a declared binop. + int TokPrec = BinopPrecedence[CurTok]; + if (TokPrec <= 0) + return -1; + return TokPrec; +} + +/// LogError* - These are little helper functions for error handling. +std::unique_ptr LogError(const char *Str) { + fprintf(stderr, "Error: %s\n", Str); + return nullptr; +} +std::unique_ptr LogErrorP(const char *Str) { + LogError(Str); + return nullptr; +} + +static std::unique_ptr ParseExpression(); + +/// numberexpr ::= number +static std::unique_ptr ParseNumberExpr() { + auto Result = std::make_unique(NumVal); + getNextToken(); // consume the number + return std::move(Result); +} + +/// parenexpr ::= '(' expression ')' +static std::unique_ptr ParseParenExpr() { + getNextToken(); // eat (. + auto V = ParseExpression(); + if (!V) + return nullptr; + + if (CurTok != ')') + return LogError("expected ')'"); + getNextToken(); // eat ). + return V; +} + +/// identifierexpr +/// ::= identifier +/// ::= identifier '(' expression* ')' +static std::unique_ptr ParseIdentifierExpr() { + std::string IdName = IdentifierStr; + + getNextToken(); // eat identifier. + + if (CurTok != '(') // Simple variable ref. + return std::make_unique(IdName); + + // Call. + getNextToken(); // eat ( + std::vector> Args; + if (CurTok != ')') { + while (true) { + if (auto Arg = ParseExpression()) + Args.push_back(std::move(Arg)); + else + return nullptr; + + if (CurTok == ')') + break; + + if (CurTok != ',') + return LogError("Expected ')' or ',' in argument list"); + getNextToken(); + } + } + + // Eat the ')'. + getNextToken(); + + return std::make_unique(IdName, std::move(Args)); +} + +/// primary +/// ::= identifierexpr +/// ::= numberexpr +/// ::= parenexpr +static std::unique_ptr ParsePrimary() { + switch (CurTok) { + default: + return LogError("unknown token when expecting an expression"); + case tok_identifier: + return ParseIdentifierExpr(); + case tok_number: + return ParseNumberExpr(); + case '(': + return ParseParenExpr(); + } +} + +/// binoprhs +/// ::= ('+' primary)* +static std::unique_ptr ParseBinOpRHS(int ExprPrec, + std::unique_ptr LHS) { + // If this is a binop, find its precedence. + while (true) { + int TokPrec = GetTokPrecedence(); + + // If this is a binop that binds at least as tightly as the current binop, + // consume it, otherwise we are done. + if (TokPrec < ExprPrec) + return LHS; + + // Okay, we know this is a binop. + int BinOp = CurTok; + getNextToken(); // eat binop + + // Parse the primary expression after the binary operator. + auto RHS = ParsePrimary(); + if (!RHS) + return nullptr; + + // If BinOp binds less tightly with RHS than the operator after RHS, let + // the pending operator take RHS as its LHS. + int NextPrec = GetTokPrecedence(); + if (TokPrec < NextPrec) { + RHS = ParseBinOpRHS(TokPrec + 1, std::move(RHS)); + if (!RHS) + return nullptr; + } + + // Merge LHS/RHS. + LHS = std::make_unique(BinOp, std::move(LHS), + std::move(RHS)); + } +} + +/// expression +/// ::= primary binoprhs +/// +static std::unique_ptr ParseExpression() { + auto LHS = ParsePrimary(); + if (!LHS) + return nullptr; + + return ParseBinOpRHS(0, std::move(LHS)); +} + +/// prototype +/// ::= id '(' id* ')' +static std::unique_ptr ParsePrototype() { + if (CurTok != tok_identifier) + return LogErrorP("Expected function name in prototype"); + + std::string FnName = IdentifierStr; + getNextToken(); + + if (CurTok != '(') + return LogErrorP("Expected '(' in prototype"); + + std::vector ArgNames; + while (getNextToken() == tok_identifier) + ArgNames.push_back(IdentifierStr); + if (CurTok != ')') + return LogErrorP("Expected ')' in prototype"); + + // success. + getNextToken(); // eat ')'. + + return std::make_unique(FnName, std::move(ArgNames)); +} + +/// definition ::= 'def' prototype expression +static std::unique_ptr ParseDefinition() { + getNextToken(); // eat def. + auto Proto = ParsePrototype(); + if (!Proto) + return nullptr; + + if (auto E = ParseExpression()) + return std::make_unique(std::move(Proto), std::move(E)); + return nullptr; +} + +/// toplevelexpr ::= expression +static std::unique_ptr ParseTopLevelExpr() { + if (auto E = ParseExpression()) { + // Make an anonymous proto. + auto Proto = std::make_unique("__anon_expr", + std::vector()); + return std::make_unique(std::move(Proto), std::move(E)); + } + return nullptr; +} + +/// external ::= 'extern' prototype +static std::unique_ptr ParseExtern() { + getNextToken(); // eat extern. + return ParsePrototype(); +} + +//===----------------------------------------------------------------------===// +// Top-Level parsing +//===----------------------------------------------------------------------===// + +static void HandleDefinition() { + if (ParseDefinition()) { + fprintf(stderr, "Parsed a function definition.\n"); + } else { + // Skip token for error recovery. + getNextToken(); + } +} + +static void HandleExtern() { + if (ParseExtern()) { + fprintf(stderr, "Parsed an extern\n"); + } else { + // Skip token for error recovery. + getNextToken(); + } +} + +static void HandleTopLevelExpression() { + // Evaluate a top-level expression into an anonymous function. + if (ParseTopLevelExpr()) { + fprintf(stderr, "Parsed a top-level expr\n"); + } else { + // Skip token for error recovery. + getNextToken(); + } +} + +/// top ::= definition | external | expression | ';' +static void MainLoop() { + while (true) { + fprintf(stderr, "ready> "); + switch (CurTok) { + case tok_eof: + return; + case ';': // ignore top-level semicolons. + getNextToken(); + break; + case tok_def: + HandleDefinition(); + break; + case tok_extern: + HandleExtern(); + break; + default: + HandleTopLevelExpression(); + break; + } + } +} + +//===----------------------------------------------------------------------===// +// Main driver code. +//===----------------------------------------------------------------------===// + +int main() { + return 0; // Return to make conan test_package continue + // (The example is interactive) + + // Install standard binary operators. + // 1 is lowest precedence. + BinopPrecedence['<'] = 10; + BinopPrecedence['+'] = 20; + BinopPrecedence['-'] = 20; + BinopPrecedence['*'] = 40; // highest. + + // Prime the first token. + fprintf(stderr, "ready> "); + getNextToken(); + + // Run the main "interpreter loop" now. + MainLoop(); + + return 0; +} diff --git a/utils/tooling/conan/llvm/upload.sh b/utils/tooling/conan/llvm/upload.sh new file mode 100755 index 000000000..aa7de9077 --- /dev/null +++ b/utils/tooling/conan/llvm/upload.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +if [ "$#" -eq "0" ]; then + echo "[error] please provide a llvm version" + exit 10 +fi +readonly llvm_version="$1" + +( + cd "$(dirname "$0")" + bash ../scripts/upload.sh "llvm" "$llvm_version" +) diff --git a/utils/tooling/conan/phasar/conandata.yml b/utils/tooling/conan/phasar/conandata.yml new file mode 100644 index 000000000..1eeb9cc0a --- /dev/null +++ b/utils/tooling/conan/phasar/conandata.yml @@ -0,0 +1,127 @@ +sources: + "2021.06.17": + url: https://codeload.github.com/secure-software-engineering/phasar/zip/c8b9e9fe794a530524445a37644ea93c98ef0cd3 + sha256: 9e776294ac3237fb8e393c90acc092c8b4adcec05220931a6d5cf376f0eadc0c + "2021.08.03": + url: https://codeload.github.com/secure-software-engineering/phasar/zip/e895f42fce11d22e1aa2b95bde734e9c3d4878ac + sha256: 49338ef6dad76572cdff1f521c766d7b7cb01795bd04d3bad74d9bc792a83fc4 + "2021.09.21": + url: https://codeload.github.com/fabianbs96/phasar/zip/1f7a12f86384f1e6f5a9a6239b7aba5ac709ea5a + sha256: bbb75e0ec6720d6c841dbbdfcd0031807bb3b8450672d949a6833361e59de64d + "2021.09.24": + url: https://codeload.github.com/fabianbs96/phasar/zip/f276662183f024b2bd189640312f0fa952bd2aee + sha256: f2bc571618b5b905a209187965d102fb75f379106d105d8ffbc6f44005f39646 + "2021.10.05": + url: https://codeload.github.com/fabianbs96/phasar/zip/f5790e1e226bad8f5a98e5140b7e746cff42ac52 + sha256: ab9c4fc73d3bd8d85edfe9b15941189fefc5dc8052881016142b04d1d163273f + "2021.10.29": + url: https://codeload.github.com/fabianbs96/phasar/zip/257d72d7c3c15ffa9e14fffb943c462a466ca1d1 + sha256: 693b554479a7298df73c7cd117dd33b4841851c5ad616512bdc5966dcc89120c + "2021.11.16": + url: https://codeload.github.com/fabianbs96/phasar/zip/e73b0e8839f62062b9425911a2b5e45ea916b15a + sha256: 2c941acb9dea343c8e5f98bf7c8132a4f8a2ece49d7140631a3e841805e35fdc + "2021.11.29": + url: https://codeload.github.com/fabianbs96/phasar/zip/627dd9647f4c5ad6c9d57a0aea680605c0eadd16 + sha256: aef4ae1ba2c5df750bee52d8b120fe2ec725f45a8a6c6c04fc2829dc0b5cf6ff +patches: + "2021.06.17": + - base_path: "source" + patch_file: "patches/2021.06.17/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.06.17/enableSystemDependencies.patch" + - base_path: "source" + patch_file: "patches/2021.06.17/conanLLVM.patch" + - base_path: "source" + patch_file: "patches/2021.06.17/disablePhasarClang.patch" + "2021.08.03": + - base_path: "source" + patch_file: "patches/2021.08.03/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.08.03/enableSystemDependencies.patch" + - base_path: "source" + patch_file: "patches/2021.08.03/conanLLVM.patch" + - base_path: "source" + patch_file: "patches/2021.08.03/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.08.03/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.08.03/phasar_warning_fix.patch" + "2021.09.21": + - base_path: "source" + patch_file: "patches/2021.09.20/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.09.20/enableSystemDependencies.patch" + - base_path: "source" + patch_file: "patches/2021.09.20/conanLLVM.patch" + - base_path: "source" + patch_file: "patches/2021.09.20/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.09.20/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.09.20/fixSchemaValidator.patch" + "2021.09.24": + - base_path: "source" + patch_file: "patches/2021.09.24/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/conanLLVM2.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/nlohmann_json_schema_validator.patch" + "2021.10.05": + - base_path: "source" + patch_file: "patches/2021.09.24/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/conanLLVM2.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.09.24/nlohmann_json_schema_validator.patch" + "2021.10.29": + - base_path: "source" + patch_file: "patches/2021.10.29/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/conanLLVM2.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/nlohmann_json_schema_validator.patch" + "2021.11.16": + - base_path: "source" + patch_file: "patches/2021.10.29/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/conanLLVM2.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/nlohmann_json_schema_validator.patch" + "2021.11.29": + - base_path: "source" + patch_file: "patches/2021.10.29/disableTools.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/conanLLVM2.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disablePhasarClang.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/disableForcedSharedBoost.patch" + - base_path: "source" + patch_file: "patches/2021.10.29/nlohmann_json_schema_validator.patch" + "develop": + - base_path: "." + patch_file: "patches/2021.09.24/disableTools.patch" + - base_path: "." + patch_file: "patches/2021.09.24/conanLLVM2.patch" + - base_path: "." + patch_file: "patches/2021.09.24/disablePhasarClang.patch" + - base_path: "." + patch_file: "patches/2021.09.24/disableForcedSharedBoost.patch" + - base_path: "." + patch_file: "patches/2021.09.24/nlohmann_json_schema_validator.patch" diff --git a/utils/tooling/conan/phasar/conanfile.py b/utils/tooling/conan/phasar/conanfile.py new file mode 100644 index 000000000..2f5c6397f --- /dev/null +++ b/utils/tooling/conan/phasar/conanfile.py @@ -0,0 +1,112 @@ +import glob, os +from distutils.dir_util import copy_tree +from conans import ConanFile, CMake, tools +from conans.model.version import Version + +# How to run this recipe? +# build local phasar: +# 1. copy patches, test_package, conandata.yml, conanfile.py to your phasar repository +# 2. modify phasar +# 3. create a conan package with: conan create --build=missing . develop@user/channel +# - version develop is important! +# - user and channel can be whatever you like, e.g. your name as user and channel = nightly +# 4. If the command is successful it will run myphasartool with example.ll, you can now consume it with: phasar/develop@user/channel +# optional. if some changes will not be part of online phasar, create git patches, update patches folder and conandata.yml +# +# build remote phasar: +# use the provided scripts in this folder! +class PhasarConan(ConanFile): + name = "phasar" + license = "MIT license" + author = "Philipp Schubert" + url = "https://github.com/secure-software-engineering/phasar" + description = "A LLVM-based static analysis framework. " + topics = ("LLVM", "PhASAR", "SAST") + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False], + "plugins_shared": [True, False], + # plugins arent needed for library usage and cant be build/linked statically + "plugins_removed": [True], + } + default_options = { + "shared": False, + "plugins_shared": False, + "plugins_removed": True + } + generators = "cmake_find_package", "cmake_paths" + exports_sources = "*" + requires = [ + # llvm-core from conan-center only allows shared = False, because with shared the ci job needs to much resources + "llvm-core/12.0.0@intellisectest+intellisectest-application/stable", + "nlohmann_json/3.9.1", + # phasar needs boost_thread which can only be linked shared: https://www.boost.org/doc/libs/1_76_0/libs/config/doc/html/index.html + "boost/1.76.0@intellisectest+intellisectest-application/stable", + "gtest/1.10.0@intellisectest+intellisectest-application/stable", + "sqlite3/3.36.0", + "wali-opennwa/2020.07.31@intellisectest+intellisectest-application/stable", + "json-schema-validator/2.1.0" + ] + + def package_id(self): + self.info.settings.compiler.version = str(self.info.settings.compiler.version) + "_" + "boost:shared=" + str(self.options["boost"].shared) + + @property + def _source_subfolder(self): + if self.version == 'develop': + return "." + else: + return "source" + + @property + def _build_subfolder(self): + return "build" + + def source(self): + if self.version != 'develop': + tools.get(**self.conan_data["sources"][self.version]) + tools.rename(glob.glob("phasar-*")[0], self._source_subfolder) + + def _patch_sources(self): + for patch in self.conan_data.get("patches", {}).get(self.version, []): + tools.patch(**patch) + + if not self.options.plugins_shared: + tools.replace_in_file(self._source_subfolder + "/lib/PhasarLLVM/Plugins/CMakeLists.txt", "plugin_name} SHARED", "plugin_name} STATIC") + + if self.options.plugins_removed: + tools.replace_in_file(self._source_subfolder + "/lib/PhasarLLVM/Plugins/CMakeLists.txt", "file(GLOB_RECURSE PLUGINS_SO ", "#file(GLOB_RECURSE PLUGINS_SO ") + + def build(self): + self._patch_sources() + cmake = CMake(self) + + if self.options["boost"].shared: + cmake.definitions['BOOST_ALL_DYN_LINK'] = True # used from patched CMakeLists + else: + cmake.definitions['Boost_USE_STATIC_LIBS'] = True # provided by cmake FindBoost + + cmake.definitions['BUILD_SHARED_LIBS'] = self.options.shared + cmake.definitions['PHASAR_BUILD_UNITTESTS'] = False + cmake.definitions['PHASAR_BUILD_IR'] = False + cmake.definitions['PHASAR_USE_SYSTEM_GTEST'] = True + cmake.definitions['PHASAR_USE_SYSTEM_JSON'] = True + cmake.definitions['PHASAR_USE_SYSTEM_WALI'] = True + cmake.definitions['PHASAR_USE_SYSTEM_JSON_SCHEMA_VALIDATOR'] = True + cmake.configure(source_folder=self._source_subfolder, build_folder=self._build_subfolder) + cmake.build() + + def package(self): + tools.rename(self._source_subfolder + "/LICENSE.txt", self._source_subfolder + "/LICENSE") + self.copy("LICENSE") + # todo copy other licenses too + self.copy("*.def", dst="include", src=self._source_subfolder + "/include") + self.copy("*.h", dst="include", src=self._source_subfolder + "/include") + self.copy("*.hpp", dst="include", src=self._source_subfolder + "/include") + self.copy("*.dll", dst="bin", src=self._build_subfolder, keep_path=False) + self.copy("*.so", dst="lib", src=self._build_subfolder, keep_path=False) + self.copy("*.dylib", dst="lib", src=self._build_subfolder, keep_path=False) + self.copy("*.a", dst="lib", src=self._build_subfolder, keep_path=False) + + def package_info(self): + self.cpp_info.libs = tools.collect_libs(self) diff --git a/utils/tooling/conan/phasar/create.sh b/utils/tooling/conan/phasar/create.sh new file mode 100755 index 000000000..a58564b22 --- /dev/null +++ b/utils/tooling/conan/phasar/create.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +if [ "$#" -eq "0" ]; then + echo "[error] please provide a phasar version" + exit 10 +fi +readonly phasar_version="$1" + +( + cd "$(dirname "$0")" + bash ../scripts/clear.sh "phasar" "$phasar_version" + + options=() + for llvm_shared in False; do + for boost_shared in False; do + options+=("-o llvm-core:shared=$llvm_shared -o boost:shared=$boost_shared") + done + done + bash ../scripts/create.sh "phasar" "$phasar_version" "${options[@]}" +) diff --git a/utils/tooling/conan/phasar/patches/2021.06.17/conanLLVM.patch b/utils/tooling/conan/phasar/patches/2021.06.17/conanLLVM.patch new file mode 100644 index 000000000..c3472a714 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.06.17/conanLLVM.patch @@ -0,0 +1,177 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1889b58f..d248ed35 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -149,14 +149,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -249,9 +244,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..ffaf5f31 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,7 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ target_link_libraries(${executable} PRIVATE llvm-core::llvm-core) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..63b446bd 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -165,20 +165,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) + + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PRIVATE llvm-core::llvm-core) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..6d42fc6f 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -50,11 +45,7 @@ set_target_properties(phasar_plugins + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PRIVATE llvm-core::llvm-core) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index a185b6f2..a04a6e13 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -32,11 +32,7 @@ target_link_libraries(boomerang + ${CMAKE_THREAD_LIBS_INIT} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(boomerang PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index c2edd1d0..dd4d2472 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -32,11 +32,7 @@ target_link_libraries(myphasartool + ${CMAKE_THREAD_LIBS_INIT} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(myphasartool PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 74cb3058..f91a22bb 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,7 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-clang PRIVATE llvm-core::llvm-core) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 19dd84df..c4bd2f46 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -36,11 +36,7 @@ target_link_libraries(phasar-llvm + ${CMAKE_THREAD_LIBS_INIT} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-llvm PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.06.17/disablePhasarClang.patch b/utils/tooling/conan/phasar/patches/2021.06.17/disablePhasarClang.patch new file mode 100644 index 000000000..f7b01cc43 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.06.17/disablePhasarClang.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d248ed35..ce1f77e8 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -164,10 +164,10 @@ endif() + # Clang + # The clang-cpp shared library is now the preferred way to link dynamically against libclang if we build out of tree. + if(NOT PHASAR_IN_TREE) +- find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) +- if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") ++ #find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) ++ #if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") + set(NEED_LIBCLANG_COMPONENT_LIBS on) +- endif() ++ #endif() + endif() + # As fallback, look for the small clang libraries + if(PHASAR_IN_TREE OR NEED_LIBCLANG_COMPONENT_LIBS) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a62ec94..d8bf49d5 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(PhasarLLVM) + add_subdirectory(PhasarPass) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(DB) + add_subdirectory(Config) + add_subdirectory(Experimental) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index b493441a..80a024cd 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_subdirectory(boomerang) + add_subdirectory(example-tool) +-add_subdirectory(phasar-clang) ++#add_subdirectory(phasar-clang) + add_subdirectory(phasar-llvm) +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 56a32a8b..d9d59a92 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -27,6 +27,6 @@ add_subdirectory(Controller) + add_subdirectory(DB) + add_subdirectory(Experimental) + add_subdirectory(Flex) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(PhasarLLVM) + add_subdirectory(Utils) diff --git a/utils/tooling/conan/phasar/patches/2021.06.17/disableTools.patch b/utils/tooling/conan/phasar/patches/2021.06.17/disableTools.patch new file mode 100644 index 000000000..7e8425240 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.06.17/disableTools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index ad11b2ea..f8da82fb 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -233,7 +233,7 @@ llvm_map_components_to_libnames(llvm_libs + ) + + # phasar-based binaries +-add_subdirectory(tools) ++#add_subdirectory(tools) + + set(PHASAR_PLUGINS_LIB phasar_plugins) + diff --git a/utils/tooling/conan/phasar/patches/2021.06.17/enableSystemDependencies.patch b/utils/tooling/conan/phasar/patches/2021.06.17/enableSystemDependencies.patch new file mode 100644 index 000000000..2ce185734 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.06.17/enableSystemDependencies.patch @@ -0,0 +1,73 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f8da82fb..1889b58f 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,12 @@ option(PHASAR_DEBUG_LIBDEPS "Debug internal library dependencies (private linkag + + option(BUILD_SHARED_LIBS "Build shared libraries (default is ON)" ON) + ++option(PHASAR_USE_SYSTEM_JSON "Use system installation for nlohmann_json" OFF) ++ ++option(PHASAR_USE_SYSTEM_WALI "Use system installation for wali" OFF) ++ ++option(PHASAR_USE_SYSTEM_GTEST "Use system installation for gtest" OFF) ++ + option(PHASAR_ENABLE_WARNINGS "Enable warnings" ON) + if (PHASAR_ENABLE_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-return-type-c-linkage ") +@@ -113,18 +119,28 @@ include_directories(${Boost_INCLUDE_DIRS}) + + # JSON library + option(JSON_BuildTests OFF) +-add_subdirectory(external/json EXCLUDE_FROM_ALL) +-include_directories(external/json/single_include/) ++if (PHASAR_USE_SYSTEM_JSON) ++ find_package(nlohmann_json REQUIRED) ++ include_directories(${nlohmann_json_INCLUDE_DIR}) ++else() ++ add_subdirectory(external/json EXCLUDE_FROM_ALL) ++ include_directories(external/json/single_include/) ++endif() + + # Googletest +-if (NOT PHASAR_IN_TREE) +- add_subdirectory(external/googletest EXCLUDE_FROM_ALL) +- include_directories(external/googletest/googletest/include) +- include_directories(external/googletest/googlemock/include) ++if (PHASAR_USE_SYSTEM_GTEST) ++ find_package(GTest REQUIRED) ++ include_directories(${GTest_INCLUDE_DIR}) + else() +- # Set llvm distributed includes for gtest header +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ if (NOT PHASAR_IN_TREE) ++ add_subdirectory(external/googletest EXCLUDE_FROM_ALL) ++ include_directories(external/googletest/googletest/include) ++ include_directories(external/googletest/googlemock/include) ++ else() ++ # Set llvm distributed includes for gtest header ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ endif() + endif() + + # SQL +@@ -198,9 +214,14 @@ if (PHASAR_IN_TREE) + endif() + + # WALi-OpenNWA +-add_subdirectory(external/WALi-OpenNWA) +-include_directories(external/WALi-OpenNWA/Source/wali/include) +- ++if (PHASAR_USE_SYSTEM_WALI) ++ find_package(wali-opennwa REQUIRED) ++ include_directories(${wali-opennwa_INCLUDE_DIR}) ++ link_directories(${wali-opennwa_LIB_DIRS}) ++else() ++ add_subdirectory(external/WALi-OpenNWA) ++ include_directories(external/WALi-OpenNWA/Source/wali/include) ++endif() + + # Add the Phasar subdirectories + add_subdirectory(include) diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/conanLLVM.patch b/utils/tooling/conan/phasar/patches/2021.08.03/conanLLVM.patch new file mode 100644 index 000000000..be2e918ad --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/conanLLVM.patch @@ -0,0 +1,193 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fb478269..a143ab44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -155,14 +155,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -255,9 +250,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..ffaf5f31 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,7 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ target_link_libraries(${executable} PRIVATE llvm-core::llvm-core) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..27e358e1 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -6,14 +6,9 @@ function(add_phasar_unittest test_name) + ) + add_dependencies(PhasarUnitTests ${test}) + +- if(USE_LLVM_FAT_LIB) +- llvm_config(${test} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${test} ${LLVM_LINK_COMPONENTS}) +- endif() +- + target_link_libraries(${test} + LINK_PUBLIC ++ llvm-core::llvm-core + phasar_config + phasar_controller + phasar_controlflow +@@ -165,20 +160,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) + + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PRIVATE llvm-core::llvm-core) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..6d42fc6f 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -50,11 +45,7 @@ set_target_properties(phasar_plugins + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PRIVATE llvm-core::llvm-core) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index 873ed5d2..2a129d45 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(boomerang + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(boomerang PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index 63342bf8..61244460 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(myphasartool + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(myphasartool PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 21b9c22d..297e551e 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,7 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-clang PRIVATE llvm-core::llvm-core) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 5ac7e402..4842512f 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -38,11 +38,7 @@ target_link_libraries(phasar-llvm + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-llvm PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/disableForcedSharedBoost.patch b/utils/tooling/conan/phasar/patches/2021.08.03/disableForcedSharedBoost.patch new file mode 100644 index 000000000..3b70eb32d --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/disableForcedSharedBoost.patch @@ -0,0 +1,18 @@ +diff --git a/lib/Utils/CMakeLists.txt b/lib/Utils/CMakeLists.txt +index ba18db16..e98739df 100644 +--- a/lib/Utils/CMakeLists.txt ++++ b/lib/Utils/CMakeLists.txt +@@ -30,7 +30,12 @@ else() + endif() + + target_include_directories(phasar_utils PUBLIC ${LLVM_INCLUDE_DIRS}) +-target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++if (${BOOST_LOG_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++elseif(${BOOST_ALL_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_ALL_DYN_LINK) ++endif() ++ + + find_package(Boost COMPONENTS log REQUIRED) + target_link_libraries(phasar_utils diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/disablePhasarClang.patch b/utils/tooling/conan/phasar/patches/2021.08.03/disablePhasarClang.patch new file mode 100644 index 000000000..ca5facee7 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/disablePhasarClang.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a143ab44..3a7affc5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,10 +170,10 @@ endif() + # Clang + # The clang-cpp shared library is now the preferred way to link dynamically against libclang if we build out of tree. + if(NOT PHASAR_IN_TREE) +- find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) +- if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") ++ #find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) ++ #if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") + set(NEED_LIBCLANG_COMPONENT_LIBS on) +- endif() ++ #endif() + endif() + # As fallback, look for the small clang libraries + if(PHASAR_IN_TREE OR NEED_LIBCLANG_COMPONENT_LIBS) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a62ec94..d8bf49d5 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(PhasarLLVM) + add_subdirectory(PhasarPass) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(DB) + add_subdirectory(Config) + add_subdirectory(Experimental) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index b493441a..80a024cd 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_subdirectory(boomerang) + add_subdirectory(example-tool) +-add_subdirectory(phasar-clang) ++#add_subdirectory(phasar-clang) + add_subdirectory(phasar-llvm) +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 56a32a8b..d9d59a92 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -27,6 +27,6 @@ add_subdirectory(Controller) + add_subdirectory(DB) + add_subdirectory(Experimental) + add_subdirectory(Flex) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(PhasarLLVM) + add_subdirectory(Utils) diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/disableTools.patch b/utils/tooling/conan/phasar/patches/2021.08.03/disableTools.patch new file mode 100644 index 000000000..8abcfff08 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/disableTools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1189e5fe..349039c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -239,7 +239,7 @@ llvm_map_components_to_libnames(llvm_libs + ) + + # phasar-based binaries +-add_subdirectory(tools) ++#add_subdirectory(tools) + + set(PHASAR_PLUGINS_LIB phasar_plugins) + diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/enableSystemDependencies.patch b/utils/tooling/conan/phasar/patches/2021.08.03/enableSystemDependencies.patch new file mode 100644 index 000000000..850068b8f --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/enableSystemDependencies.patch @@ -0,0 +1,73 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 349039c6..fb478269 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,12 @@ option(PHASAR_DEBUG_LIBDEPS "Debug internal library dependencies (private linkag + + option(BUILD_SHARED_LIBS "Build shared libraries (default is ON)" ON) + ++option(PHASAR_USE_SYSTEM_JSON "Use system installation for nlohmann_json" OFF) ++ ++option(PHASAR_USE_SYSTEM_WALI "Use system installation for wali" OFF) ++ ++option(PHASAR_USE_SYSTEM_GTEST "Use system installation for gtest" OFF) ++ + option(PHASAR_ENABLE_WARNINGS "Enable warnings" ON) + if (PHASAR_ENABLE_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-return-type-c-linkage ") +@@ -119,18 +125,28 @@ include_directories(${Boost_INCLUDE_DIRS}) + + # JSON library + option(JSON_BuildTests OFF) +-add_subdirectory(external/json EXCLUDE_FROM_ALL) +-include_directories(external/json/single_include/) ++if (PHASAR_USE_SYSTEM_JSON) ++ find_package(nlohmann_json REQUIRED) ++ include_directories(${nlohmann_json_INCLUDE_DIR}) ++else() ++ add_subdirectory(external/json EXCLUDE_FROM_ALL) ++ include_directories(external/json/single_include/) ++endif() + + # Googletest +-if (NOT PHASAR_IN_TREE) +- add_subdirectory(external/googletest EXCLUDE_FROM_ALL) +- include_directories(external/googletest/googletest/include) +- include_directories(external/googletest/googlemock/include) ++if (PHASAR_USE_SYSTEM_GTEST) ++ find_package(GTest REQUIRED) ++ include_directories(${GTest_INCLUDE_DIR}) + else() +- # Set llvm distributed includes for gtest header +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ if (NOT PHASAR_IN_TREE) ++ add_subdirectory(external/googletest EXCLUDE_FROM_ALL) ++ include_directories(external/googletest/googletest/include) ++ include_directories(external/googletest/googlemock/include) ++ else() ++ # Set llvm distributed includes for gtest header ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ endif() + endif() + + # SQL +@@ -204,9 +220,14 @@ if (PHASAR_IN_TREE) + endif() + + # WALi-OpenNWA +-add_subdirectory(external/WALi-OpenNWA) +-include_directories(external/WALi-OpenNWA/Source/wali/include) +- ++if (PHASAR_USE_SYSTEM_WALI) ++ find_package(wali-opennwa REQUIRED) ++ include_directories(${wali-opennwa_INCLUDE_DIR}) ++ link_directories(${wali-opennwa_LIB_DIRS}) ++else() ++ add_subdirectory(external/WALi-OpenNWA) ++ include_directories(external/WALi-OpenNWA/Source/wali/include) ++endif() + + # Add the Phasar subdirectories + add_subdirectory(include) diff --git a/utils/tooling/conan/phasar/patches/2021.08.03/phasar_warning_fix.patch b/utils/tooling/conan/phasar/patches/2021.08.03/phasar_warning_fix.patch new file mode 100644 index 000000000..c59b94ae0 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.08.03/phasar_warning_fix.patch @@ -0,0 +1,13 @@ +diff --git a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h b/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h +index f1885fcb..75dfae6b 100644 +--- a/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h ++++ b/include/phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h +@@ -975,7 +975,7 @@ protected: + for (const auto &[StartPoint, Facts] : Seeds.getSeeds()) { + LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), DEBUG) + << "Start point: " << IDEProblem.NtoString(StartPoint)); +- for (const auto &[Fact, Value] : Facts) { ++ for ([[maybe_unused]] const auto &[Fact, Value] : Facts) { + LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), DEBUG) + << "\tFact: " << IDEProblem.DtoString(Fact)); + LOG_IF_ENABLE(BOOST_LOG_SEV(lg::get(), DEBUG) diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/conanLLVM.patch b/utils/tooling/conan/phasar/patches/2021.09.20/conanLLVM.patch new file mode 100644 index 000000000..7695b8f05 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/conanLLVM.patch @@ -0,0 +1,193 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index fb478269..a143ab44 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -155,14 +155,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_INCLUDE_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -255,9 +250,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..ffaf5f31 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,7 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ target_link_libraries(${executable} PRIVATE llvm-core::llvm-core) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..27e358e1 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -6,14 +6,9 @@ function(add_phasar_unittest test_name) + ) + add_dependencies(PhasarUnitTests ${test}) + +- if(USE_LLVM_FAT_LIB) +- llvm_config(${test} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${test} ${LLVM_LINK_COMPONENTS}) +- endif() +- + target_link_libraries(${test} + LINK_PUBLIC ++ llvm-core::llvm-core + phasar_config + phasar_controller + phasar_controlflow +@@ -165,20 +160,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) + + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PRIVATE llvm-core::llvm-core) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..6d42fc6f 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -50,11 +45,7 @@ set_target_properties(phasar_plugins + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PRIVATE llvm-core::llvm-core) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index 873ed5d2..2a129d45 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(boomerang + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(boomerang PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index 63342bf8..61244460 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(myphasartool + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(myphasartool PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 21b9c22d..297e551e 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,7 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-clang PRIVATE llvm-core::llvm-core) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 5ac7e402..4842512f 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -38,11 +38,7 @@ target_link_libraries(phasar-llvm + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-llvm PRIVATE llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/disableForcedSharedBoost.patch b/utils/tooling/conan/phasar/patches/2021.09.20/disableForcedSharedBoost.patch new file mode 100644 index 000000000..3b70eb32d --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/disableForcedSharedBoost.patch @@ -0,0 +1,18 @@ +diff --git a/lib/Utils/CMakeLists.txt b/lib/Utils/CMakeLists.txt +index ba18db16..e98739df 100644 +--- a/lib/Utils/CMakeLists.txt ++++ b/lib/Utils/CMakeLists.txt +@@ -30,7 +30,12 @@ else() + endif() + + target_include_directories(phasar_utils PUBLIC ${LLVM_INCLUDE_DIRS}) +-target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++if (${BOOST_LOG_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++elseif(${BOOST_ALL_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_ALL_DYN_LINK) ++endif() ++ + + find_package(Boost COMPONENTS log REQUIRED) + target_link_libraries(phasar_utils diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/disablePhasarClang.patch b/utils/tooling/conan/phasar/patches/2021.09.20/disablePhasarClang.patch new file mode 100644 index 000000000..ca5facee7 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/disablePhasarClang.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index a143ab44..3a7affc5 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -170,10 +170,10 @@ endif() + # Clang + # The clang-cpp shared library is now the preferred way to link dynamically against libclang if we build out of tree. + if(NOT PHASAR_IN_TREE) +- find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) +- if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") ++ #find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) ++ #if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") + set(NEED_LIBCLANG_COMPONENT_LIBS on) +- endif() ++ #endif() + endif() + # As fallback, look for the small clang libraries + if(PHASAR_IN_TREE OR NEED_LIBCLANG_COMPONENT_LIBS) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a62ec94..d8bf49d5 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(PhasarLLVM) + add_subdirectory(PhasarPass) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(DB) + add_subdirectory(Config) + add_subdirectory(Experimental) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index b493441a..80a024cd 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_subdirectory(boomerang) + add_subdirectory(example-tool) +-add_subdirectory(phasar-clang) ++#add_subdirectory(phasar-clang) + add_subdirectory(phasar-llvm) +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 56a32a8b..d9d59a92 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -27,6 +27,6 @@ add_subdirectory(Controller) + add_subdirectory(DB) + add_subdirectory(Experimental) + add_subdirectory(Flex) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(PhasarLLVM) + add_subdirectory(Utils) diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/disableTools.patch b/utils/tooling/conan/phasar/patches/2021.09.20/disableTools.patch new file mode 100644 index 000000000..8abcfff08 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/disableTools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1189e5fe..349039c6 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -239,7 +239,7 @@ llvm_map_components_to_libnames(llvm_libs + ) + + # phasar-based binaries +-add_subdirectory(tools) ++#add_subdirectory(tools) + + set(PHASAR_PLUGINS_LIB phasar_plugins) + diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/enableSystemDependencies.patch b/utils/tooling/conan/phasar/patches/2021.09.20/enableSystemDependencies.patch new file mode 100644 index 000000000..850068b8f --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/enableSystemDependencies.patch @@ -0,0 +1,73 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 349039c6..fb478269 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -56,6 +56,12 @@ option(PHASAR_DEBUG_LIBDEPS "Debug internal library dependencies (private linkag + + option(BUILD_SHARED_LIBS "Build shared libraries (default is ON)" ON) + ++option(PHASAR_USE_SYSTEM_JSON "Use system installation for nlohmann_json" OFF) ++ ++option(PHASAR_USE_SYSTEM_WALI "Use system installation for wali" OFF) ++ ++option(PHASAR_USE_SYSTEM_GTEST "Use system installation for gtest" OFF) ++ + option(PHASAR_ENABLE_WARNINGS "Enable warnings" ON) + if (PHASAR_ENABLE_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-return-type-c-linkage ") +@@ -119,18 +125,28 @@ include_directories(${Boost_INCLUDE_DIRS}) + + # JSON library + option(JSON_BuildTests OFF) +-add_subdirectory(external/json EXCLUDE_FROM_ALL) +-include_directories(external/json/single_include/) ++if (PHASAR_USE_SYSTEM_JSON) ++ find_package(nlohmann_json REQUIRED) ++ include_directories(${nlohmann_json_INCLUDE_DIR}) ++else() ++ add_subdirectory(external/json EXCLUDE_FROM_ALL) ++ include_directories(external/json/single_include/) ++endif() + + # Googletest +-if (NOT PHASAR_IN_TREE) +- add_subdirectory(external/googletest EXCLUDE_FROM_ALL) +- include_directories(external/googletest/googletest/include) +- include_directories(external/googletest/googlemock/include) ++if (PHASAR_USE_SYSTEM_GTEST) ++ find_package(GTest REQUIRED) ++ include_directories(${GTest_INCLUDE_DIR}) + else() +- # Set llvm distributed includes for gtest header +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) +- include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ if (NOT PHASAR_IN_TREE) ++ add_subdirectory(external/googletest EXCLUDE_FROM_ALL) ++ include_directories(external/googletest/googletest/include) ++ include_directories(external/googletest/googlemock/include) ++ else() ++ # Set llvm distributed includes for gtest header ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googletest/include) ++ include_directories(${LLVM_MAIN_SRC_DIR}/utils/unittest/googlemock/include) ++ endif() + endif() + + # SQL +@@ -204,9 +220,14 @@ if (PHASAR_IN_TREE) + endif() + + # WALi-OpenNWA +-add_subdirectory(external/WALi-OpenNWA) +-include_directories(external/WALi-OpenNWA/Source/wali/include) +- ++if (PHASAR_USE_SYSTEM_WALI) ++ find_package(wali-opennwa REQUIRED) ++ include_directories(${wali-opennwa_INCLUDE_DIR}) ++ link_directories(${wali-opennwa_LIB_DIRS}) ++else() ++ add_subdirectory(external/WALi-OpenNWA) ++ include_directories(external/WALi-OpenNWA/Source/wali/include) ++endif() + + # Add the Phasar subdirectories + add_subdirectory(include) diff --git a/utils/tooling/conan/phasar/patches/2021.09.20/fixSchemaValidator.patch b/utils/tooling/conan/phasar/patches/2021.09.20/fixSchemaValidator.patch new file mode 100644 index 000000000..65b197cb7 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.20/fixSchemaValidator.patch @@ -0,0 +1,43 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 3a7affc5..311ecc06 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -58,6 +58,8 @@ option(BUILD_SHARED_LIBS "Build shared libraries (default is ON)" ON) + + option(PHASAR_USE_SYSTEM_JSON "Use system installation for nlohmann_json" OFF) + ++option(PHASAR_USE_SYSTEM_JSON_SCHEMA_VALIDATOR "Use system installation for json-schema-validator" OFF) ++ + option(PHASAR_USE_SYSTEM_WALI "Use system installation for wali" OFF) + + option(PHASAR_USE_SYSTEM_GTEST "Use system installation for gtest" OFF) +@@ -133,6 +135,16 @@ else() + include_directories(external/json/single_include/) + endif() + ++# JSON schema validator library ++option(JSON_BuildTests OFF) ++if (PHASAR_USE_SYSTEM_JSON_SCHEMA_VALIDATOR) ++ find_package(nlohmann_json_schema_validator REQUIRED) ++ include_directories(${nlohmann_json_schema_validator_INCLUDE_DIR}) ++#else() ++# add_subdirectory(external/json EXCLUDE_FROM_ALL) ++# include_directories(external/json/single_include/) ++endif() ++ + # Googletest + if (PHASAR_USE_SYSTEM_GTEST) + find_package(GTest REQUIRED) +diff --git a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +index 2c34b469..aa369ca7 100644 +--- a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt ++++ b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +@@ -19,7 +19,7 @@ endif() + target_link_libraries(phasar_taintconfig + LINK_PUBLIC + nlohmann_json::nlohmann_json +- nlohmann_json_schema_validator ++ nlohmann_json_schema_validator::nlohmann_json_schema_validator + ) + + set_target_properties(phasar_taintconfig diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM.patch b/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM.patch new file mode 100644 index 000000000..290fcb998 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM.patch @@ -0,0 +1,193 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index f0bc092d..1f81e8dc 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,14 +162,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_INCLUDE_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -263,9 +258,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..439abd8a 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,7 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ target_link_libraries(${executable} PUBLIC llvm-core::llvm-core) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..130d5bcc 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -6,14 +6,9 @@ function(add_phasar_unittest test_name) + ) + add_dependencies(PhasarUnitTests ${test}) + +- if(USE_LLVM_FAT_LIB) +- llvm_config(${test} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${test} ${LLVM_LINK_COMPONENTS}) +- endif() +- + target_link_libraries(${test} + LINK_PUBLIC ++ ${LLVM_LINK_COMPONENTS} + phasar_config + phasar_controller + phasar_controlflow +@@ -165,20 +160,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) + + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PUBLIC llvm-core::llvm-core) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..0cb7f03e 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -50,11 +45,7 @@ set_target_properties(phasar_plugins + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PUBLIC llvm-core::llvm-core) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index 873ed5d2..50ed57b2 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(boomerang + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(boomerang PUBLIC llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index 63342bf8..3b56d62c 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -34,11 +34,7 @@ target_link_libraries(myphasartool + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(myphasartool PUBLIC llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 21b9c22d..6d775f2e 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,7 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-clang PUBLIC llvm-core::llvm-core) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 5ac7e402..3c2e4d0a 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -38,11 +38,7 @@ target_link_libraries(phasar-llvm + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++target_link_libraries(phasar-llvm PUBLIC llvm-core::llvm-core) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM2.patch b/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM2.patch new file mode 100644 index 000000000..f3021c875 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/conanLLVM2.patch @@ -0,0 +1,212 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d93c9ada..a7a1b4a4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,14 +162,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_INCLUDE_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -263,9 +258,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..0fdee086 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,8 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ list(TRANSFORM PHASAR_LLVM_DEPS PREPEND LLVM) ++ target_link_libraries(${executable} PUBLIC ${PHASAR_LLVM_DEPS}) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..5b330e5c 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -6,14 +6,10 @@ function(add_phasar_unittest test_name) + ) + add_dependencies(PhasarUnitTests ${test}) + +- if(USE_LLVM_FAT_LIB) +- llvm_config(${test} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${test} ${LLVM_LINK_COMPONENTS}) +- endif() +- ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + target_link_libraries(${test} + LINK_PUBLIC ++ ${LLVM_LINK_COMPONENTS} + phasar_config + phasar_controller + phasar_controlflow +@@ -125,6 +121,7 @@ function(generate_ll_file) + endfunction() + + macro(add_phasar_executable name) ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) + set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib) + add_llvm_executable( ${name} ${ARGN} ) +@@ -165,20 +162,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) +- ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PUBLIC ${LLVM_LINK_COMPONENTS}) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..1be49df7 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -47,14 +42,11 @@ set_target_properties(phasar_plugins + + + # Handle all plugins ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PUBLIC ${LLVM_LINK_COMPONENTS}) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index 873ed5d2..f7aebef5 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -34,11 +34,8 @@ target_link_libraries(boomerang + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(boomerang PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index 63342bf8..75316991 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -34,11 +34,8 @@ target_link_libraries(myphasartool + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(myphasartool PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 21b9c22d..dc065f91 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,8 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(phasar-clang PUBLIC ${LLVM_LINK_COMPONENTS}) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 5ac7e402..128fc16d 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -38,11 +38,8 @@ target_link_libraries(phasar-llvm + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(phasar-llvm PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/disableForcedSharedBoost.patch b/utils/tooling/conan/phasar/patches/2021.09.24/disableForcedSharedBoost.patch new file mode 100644 index 000000000..3b70eb32d --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/disableForcedSharedBoost.patch @@ -0,0 +1,18 @@ +diff --git a/lib/Utils/CMakeLists.txt b/lib/Utils/CMakeLists.txt +index ba18db16..e98739df 100644 +--- a/lib/Utils/CMakeLists.txt ++++ b/lib/Utils/CMakeLists.txt +@@ -30,7 +30,12 @@ else() + endif() + + target_include_directories(phasar_utils PUBLIC ${LLVM_INCLUDE_DIRS}) +-target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++if (${BOOST_LOG_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++elseif(${BOOST_ALL_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_ALL_DYN_LINK) ++endif() ++ + + find_package(Boost COMPONENTS log REQUIRED) + target_link_libraries(phasar_utils diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/disablePhasarClang.patch b/utils/tooling/conan/phasar/patches/2021.09.24/disablePhasarClang.patch new file mode 100644 index 000000000..e7b1bc6be --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/disablePhasarClang.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f81e8dc..a03cea31 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,10 +177,10 @@ endif() + # Clang + # The clang-cpp shared library is now the preferred way to link dynamically against libclang if we build out of tree. + if(NOT PHASAR_IN_TREE) +- find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) +- if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") ++ #find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) ++ #if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") + set(NEED_LIBCLANG_COMPONENT_LIBS on) +- endif() ++ #endif() + endif() + # As fallback, look for the small clang libraries + if(PHASAR_IN_TREE OR NEED_LIBCLANG_COMPONENT_LIBS) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a62ec94..d8bf49d5 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(PhasarLLVM) + add_subdirectory(PhasarPass) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(DB) + add_subdirectory(Config) + add_subdirectory(Experimental) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index b493441a..80a024cd 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_subdirectory(boomerang) + add_subdirectory(example-tool) +-add_subdirectory(phasar-clang) ++#add_subdirectory(phasar-clang) + add_subdirectory(phasar-llvm) +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 56a32a8b..d9d59a92 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -27,6 +27,6 @@ add_subdirectory(Controller) + add_subdirectory(DB) + add_subdirectory(Experimental) + add_subdirectory(Flex) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(PhasarLLVM) + add_subdirectory(Utils) diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/disableTools.patch b/utils/tooling/conan/phasar/patches/2021.09.24/disableTools.patch new file mode 100644 index 000000000..5ec5c6b55 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/disableTools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d93c9ada..f0bc092d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -268,7 +268,7 @@ llvm_map_components_to_libnames(llvm_libs + ) + + # phasar-based binaries +-add_subdirectory(tools) ++#add_subdirectory(tools) + + set(PHASAR_PLUGINS_LIB phasar_plugins) + diff --git a/utils/tooling/conan/phasar/patches/2021.09.24/nlohmann_json_schema_validator.patch b/utils/tooling/conan/phasar/patches/2021.09.24/nlohmann_json_schema_validator.patch new file mode 100644 index 000000000..b5f598c82 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.09.24/nlohmann_json_schema_validator.patch @@ -0,0 +1,13 @@ +diff --git a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +index 2c34b469..aa369ca7 100644 +--- a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt ++++ b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +@@ -19,7 +19,7 @@ endif() + target_link_libraries(phasar_taintconfig + LINK_PUBLIC + nlohmann_json::nlohmann_json +- nlohmann_json_schema_validator ++ nlohmann_json_schema_validator::nlohmann_json_schema_validator + ) + + set_target_properties(phasar_taintconfig diff --git a/utils/tooling/conan/phasar/patches/2021.10.29/conanLLVM2.patch b/utils/tooling/conan/phasar/patches/2021.10.29/conanLLVM2.patch new file mode 100644 index 000000000..f3021c875 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.10.29/conanLLVM2.patch @@ -0,0 +1,212 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d93c9ada..a7a1b4a4 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -162,14 +162,9 @@ find_library(SQLITE3_LIBRARY NAMES sqlite3) + include_directories(${SQLITE3_INCLUDE_DIR}) + + # LLVM +-if (NOT PHASAR_IN_TREE) +- # Only search for LLVM if we build out of tree +- find_package(LLVM 12 REQUIRED CONFIG) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) +-endif() +- +-add_definitions(${LLVM_DEFINITIONS}) ++find_package(llvm-core 12 REQUIRED) ++include_directories(${llvm-core_INCLUDE_DIRS}) ++link_directories(${llvm-core_LIBRARY_DIRS}) + + if (NOT PHASAR_IN_TREE) + find_library(LLVM_LIBRARY NAMES LLVM PATHS ${LLVM_LIBRARY_DIRS} NO_DEFAULT_PATH) +@@ -263,9 +258,6 @@ set(LLVM_LINK_COMPONENTS + vectorize + ) + +-llvm_map_components_to_libnames(llvm_libs +- ${LLVM_LINK_COMPONENTS} +-) + + # phasar-based binaries + #add_subdirectory(tools) +diff --git a/Config.cmake.in b/Config.cmake.in +index 2afcac66..0fdee086 100644 +--- a/Config.cmake.in ++++ b/Config.cmake.in +@@ -13,11 +13,8 @@ function(phasar_config executable) + include_directories(${LLVM_INCLUDE_DIRS}) + link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) + find_library(LLVM_LIBRARY NAMES LLVM HINTS ${LLVM_LIBRARY_DIRS}) +- if(NOT ${LLVM_LIBRARY} STREQUAL "LLVM_LIBRARY-NOTFOUND") +- llvm_config(${executable} USE_SHARED ${PHASAR_LLVM_DEPS}) +- else() +- llvm_config(${executable} ${PHASAR_LLVM_DEPS}) +- endif() ++ list(TRANSFORM PHASAR_LLVM_DEPS PREPEND LLVM) ++ target_link_libraries(${executable} PUBLIC ${PHASAR_LLVM_DEPS}) + list(REMOVE_DUPLICATES PHASAR_NEEDED_LIBS) + target_link_libraries(${executable} + PUBLIC +diff --git a/cmake/phasar_macros.cmake b/cmake/phasar_macros.cmake +index 369297d7..5b330e5c 100644 +--- a/cmake/phasar_macros.cmake ++++ b/cmake/phasar_macros.cmake +@@ -6,14 +6,10 @@ function(add_phasar_unittest test_name) + ) + add_dependencies(PhasarUnitTests ${test}) + +- if(USE_LLVM_FAT_LIB) +- llvm_config(${test} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${test} ${LLVM_LINK_COMPONENTS}) +- endif() +- ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + target_link_libraries(${test} + LINK_PUBLIC ++ ${LLVM_LINK_COMPONENTS} + phasar_config + phasar_controller + phasar_controlflow +@@ -125,6 +121,7 @@ function(generate_ll_file) + endfunction() + + macro(add_phasar_executable name) ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin) + set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib) + add_llvm_executable( ${name} ${ARGN} ) +@@ -165,20 +162,16 @@ macro(add_phasar_library name) + + if(PHASAR_LINK_LIBS) + foreach(lib ${PHASAR_LINK_LIBS}) +- if(PHASAR_DEBUG_LIBDEPS) +- target_link_libraries(${name} LINK_PRIVATE ${lib}) +- else() +- target_link_libraries(${name} LINK_PUBLIC ${lib}) +- endif(PHASAR_DEBUG_LIBDEPS) ++ if(PHASAR_DEBUG_LIBDEPS) ++ target_link_libraries(${name} LINK_PRIVATE ${lib}) ++ else() ++ target_link_libraries(${name} LINK_PUBLIC ${lib}) ++ endif(PHASAR_DEBUG_LIBDEPS) + endforeach(lib) + endif(PHASAR_LINK_LIBS) +- ++ list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + if( LLVM_LINK_COMPONENTS ) +- if( USE_LLVM_FAT_LIB ) +- llvm_config(${name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${name} PUBLIC ${LLVM_LINK_COMPONENTS}) + endif( LLVM_LINK_COMPONENTS ) + if(MSVC) + get_target_property(cflag ${name} COMPILE_FLAGS) +diff --git a/lib/PhasarLLVM/Plugins/CMakeLists.txt b/lib/PhasarLLVM/Plugins/CMakeLists.txt +index b35b7bee..1be49df7 100644 +--- a/lib/PhasarLLVM/Plugins/CMakeLists.txt ++++ b/lib/PhasarLLVM/Plugins/CMakeLists.txt +@@ -28,11 +28,6 @@ endif() + + + find_package(Boost COMPONENTS log filesystem program_options REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar_plugins USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar_plugins ${LLVM_LINK_COMPONENTS}) +-endif() + target_link_libraries(phasar_plugins + LINK_PUBLIC + ${Boost_LIBRARIES} +@@ -47,14 +42,11 @@ set_target_properties(phasar_plugins + + + # Handle all plugins ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) + foreach(plugin ${PLUGINS_SO}) + get_filename_component(plugin_name ${plugin} NAME_WE) + add_library(${plugin_name} SHARED ${plugin}) +- if(USE_LLVM_FAT_LIB) +- llvm_config(${plugin_name} USE_SHARED ${LLVM_LINK_COMPONENTS}) +- else() +- llvm_config(${plugin_name} ${LLVM_LINK_COMPONENTS}) +- endif() ++ target_link_libraries(${plugin_name} PUBLIC ${LLVM_LINK_COMPONENTS}) + set_target_properties(${plugin_name} PROPERTIES PREFIX "") + target_link_libraries(${plugin_name} + LINK_PRIVATE +diff --git a/tools/boomerang/CMakeLists.txt b/tools/boomerang/CMakeLists.txt +index 873ed5d2..f7aebef5 100644 +--- a/tools/boomerang/CMakeLists.txt ++++ b/tools/boomerang/CMakeLists.txt +@@ -34,11 +34,8 @@ target_link_libraries(boomerang + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(boomerang PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/example-tool/CMakeLists.txt b/tools/example-tool/CMakeLists.txt +index 63342bf8..75316991 100644 +--- a/tools/example-tool/CMakeLists.txt ++++ b/tools/example-tool/CMakeLists.txt +@@ -34,11 +34,8 @@ target_link_libraries(myphasartool + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(myphasartool PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) +diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt +index 21b9c22d..dc065f91 100644 +--- a/tools/phasar-clang/CMakeLists.txt ++++ b/tools/phasar-clang/CMakeLists.txt +@@ -10,11 +10,8 @@ else() + endif() + + find_package(Boost COMPONENTS log filesystem program_options graph ${BOOST_THREAD} REQUIRED) +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(phasar-clang PUBLIC ${LLVM_LINK_COMPONENTS}) + target_link_libraries(phasar-clang + LINK_PUBLIC + phasar_config +diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt +index 5ac7e402..128fc16d 100644 +--- a/tools/phasar-llvm/CMakeLists.txt ++++ b/tools/phasar-llvm/CMakeLists.txt +@@ -38,11 +38,8 @@ target_link_libraries(phasar-llvm + ${PHASAR_STD_FILESYSTEM} + ) + +-if(USE_LLVM_FAT_LIB) +- llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) +-endif() ++list(TRANSFORM LLVM_LINK_COMPONENTS PREPEND LLVM) ++target_link_libraries(phasar-llvm PUBLIC ${LLVM_LINK_COMPONENTS}) + + set(LLVM_LINK_COMPONENTS + ) diff --git a/utils/tooling/conan/phasar/patches/2021.10.29/disableForcedSharedBoost.patch b/utils/tooling/conan/phasar/patches/2021.10.29/disableForcedSharedBoost.patch new file mode 100644 index 000000000..3b70eb32d --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.10.29/disableForcedSharedBoost.patch @@ -0,0 +1,18 @@ +diff --git a/lib/Utils/CMakeLists.txt b/lib/Utils/CMakeLists.txt +index ba18db16..e98739df 100644 +--- a/lib/Utils/CMakeLists.txt ++++ b/lib/Utils/CMakeLists.txt +@@ -30,7 +30,12 @@ else() + endif() + + target_include_directories(phasar_utils PUBLIC ${LLVM_INCLUDE_DIRS}) +-target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++if (${BOOST_LOG_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_LOG_DYN_LINK) ++elseif(${BOOST_ALL_DYN_LINK}) ++ target_compile_definitions(phasar_utils PUBLIC -DBOOST_ALL_DYN_LINK) ++endif() ++ + + find_package(Boost COMPONENTS log REQUIRED) + target_link_libraries(phasar_utils diff --git a/utils/tooling/conan/phasar/patches/2021.10.29/disablePhasarClang.patch b/utils/tooling/conan/phasar/patches/2021.10.29/disablePhasarClang.patch new file mode 100644 index 000000000..e7b1bc6be --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.10.29/disablePhasarClang.patch @@ -0,0 +1,52 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 1f81e8dc..a03cea31 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -177,10 +177,10 @@ endif() + # Clang + # The clang-cpp shared library is now the preferred way to link dynamically against libclang if we build out of tree. + if(NOT PHASAR_IN_TREE) +- find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) +- if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") ++ #find_library(CLANG_LIBRARY NAMES clang-cpp REQUIRED HINTS ${LLVM_LIBRARY_DIRS}) ++ #if(${CLANG_LIBRARY} STREQUAL "CLANG_LIBRARY-NOTFOUND") + set(NEED_LIBCLANG_COMPONENT_LIBS on) +- endif() ++ #endif() + endif() + # As fallback, look for the small clang libraries + if(PHASAR_IN_TREE OR NEED_LIBCLANG_COMPONENT_LIBS) +diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt +index 3a62ec94..d8bf49d5 100644 +--- a/lib/CMakeLists.txt ++++ b/lib/CMakeLists.txt +@@ -1,6 +1,6 @@ + add_subdirectory(PhasarLLVM) + add_subdirectory(PhasarPass) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(DB) + add_subdirectory(Config) + add_subdirectory(Experimental) +diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt +index b493441a..80a024cd 100644 +--- a/tools/CMakeLists.txt ++++ b/tools/CMakeLists.txt +@@ -1,4 +1,4 @@ + add_subdirectory(boomerang) + add_subdirectory(example-tool) +-add_subdirectory(phasar-clang) ++#add_subdirectory(phasar-clang) + add_subdirectory(phasar-llvm) +diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt +index 56a32a8b..d9d59a92 100644 +--- a/unittests/CMakeLists.txt ++++ b/unittests/CMakeLists.txt +@@ -27,6 +27,6 @@ add_subdirectory(Controller) + add_subdirectory(DB) + add_subdirectory(Experimental) + add_subdirectory(Flex) +-add_subdirectory(PhasarClang) ++#add_subdirectory(PhasarClang) + add_subdirectory(PhasarLLVM) + add_subdirectory(Utils) diff --git a/utils/tooling/conan/phasar/patches/2021.10.29/disableTools.patch b/utils/tooling/conan/phasar/patches/2021.10.29/disableTools.patch new file mode 100644 index 000000000..5ec5c6b55 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.10.29/disableTools.patch @@ -0,0 +1,13 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d93c9ada..f0bc092d 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -268,7 +268,7 @@ llvm_map_components_to_libnames(llvm_libs + ) + + # phasar-based binaries +-add_subdirectory(tools) ++#add_subdirectory(tools) + + set(PHASAR_PLUGINS_LIB phasar_plugins) + diff --git a/utils/tooling/conan/phasar/patches/2021.10.29/nlohmann_json_schema_validator.patch b/utils/tooling/conan/phasar/patches/2021.10.29/nlohmann_json_schema_validator.patch new file mode 100644 index 000000000..b5f598c82 --- /dev/null +++ b/utils/tooling/conan/phasar/patches/2021.10.29/nlohmann_json_schema_validator.patch @@ -0,0 +1,13 @@ +diff --git a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +index 2c34b469..aa369ca7 100644 +--- a/lib/PhasarLLVM/TaintConfig/CMakeLists.txt ++++ b/lib/PhasarLLVM/TaintConfig/CMakeLists.txt +@@ -19,7 +19,7 @@ endif() + target_link_libraries(phasar_taintconfig + LINK_PUBLIC + nlohmann_json::nlohmann_json +- nlohmann_json_schema_validator ++ nlohmann_json_schema_validator::nlohmann_json_schema_validator + ) + + set_target_properties(phasar_taintconfig diff --git a/utils/tooling/conan/phasar/test_package/CMakeLists.txt b/utils/tooling/conan/phasar/test_package/CMakeLists.txt new file mode 100644 index 000000000..67ad22626 --- /dev/null +++ b/utils/tooling/conan/phasar/test_package/CMakeLists.txt @@ -0,0 +1,14 @@ +cmake_minimum_required(VERSION 3.1) +project(phasar-PackageTest CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(myphasartool myphasartool.cpp) +set_property(TARGET myphasartool PROPERTY CXX_STANDARD 17) +set_property(TARGET myphasartool PROPERTY EXPORT_COMPILE_COMMANDS YES) +set_property(TARGET myphasartool PROPERTY CXX_STANDARD_REQUIRED ON) +set_property(TARGET myphasartool PROPERTY CXX_EXTENSIONS OFF) + +target_include_directories(myphasartool PUBLIC ${CONAN_INCLUDE_DIRS}) +target_link_libraries(myphasartool PUBLIC ${CONAN_LIBS}) diff --git a/utils/tooling/conan/phasar/test_package/conanfile.py b/utils/tooling/conan/phasar/test_package/conanfile.py new file mode 100644 index 000000000..4084245fb --- /dev/null +++ b/utils/tooling/conan/phasar/test_package/conanfile.py @@ -0,0 +1,26 @@ +import os + +from conans import ConanFile, CMake, tools +from conans.errors import ConanInvalidConfiguration + +class PhasarTestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.configure() + cmake.build() + + def imports(self): + self.copy("*.dll", dst="bin", src="bin") + self.copy("*.dylib*", dst="bin", src="lib") + self.copy('*.so*', dst='bin', src='lib') + + def test(self): + if not tools.cross_building(self.settings): + command = [ + os.path.join('bin', 'myphasartool'), + os.path.join(os.path.dirname(__file__), 'example.ll') + ] + self.run(command, run_environment=True) diff --git a/utils/tooling/conan/phasar/test_package/myphasartool.cpp b/utils/tooling/conan/phasar/test_package/myphasartool.cpp new file mode 100644 index 000000000..07b3b0685 --- /dev/null +++ b/utils/tooling/conan/phasar/test_package/myphasartool.cpp @@ -0,0 +1,69 @@ +/****************************************************************************** + * Copyright (c) 2017 Philipp Schubert. + * All rights reserved. This program and the accompanying materials are made + * available under the terms of LICENSE.txt. + * + * Contributors: + * Philipp Schubert and others + *****************************************************************************/ + +#include + +#include "boost/filesystem/operations.hpp" + +#include "phasar/DB/ProjectIRDB.h" +#include "phasar/PhasarLLVM/ControlFlow/LLVMBasedICFG.h" +#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IDELinearConstantAnalysis.h" +#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/IFDSLinearConstantAnalysis.h" +#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IDESolver.h" +#include "phasar/PhasarLLVM/DataFlowSolver/IfdsIde/Solver/IFDSSolver.h" +#include "phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h" +#include "phasar/PhasarLLVM/TaintConfig/TaintConfigUtilities.h" +#include "phasar/PhasarLLVM/TypeHierarchy/LLVMTypeHierarchy.h" +#include "phasar/Utils/Logger.h" + +namespace llvm { +class Value; +} // namespace llvm + +using namespace psr; + +int main(int Argc, const char **Argv) { + initializeLogger(false); + if (Argc < 2 || !boost::filesystem::exists(Argv[1]) || boost::filesystem::is_directory(Argv[1])) { + std::cerr << "myphasartool\n" + "A small PhASAR-based example program\n\n" + "Usage: myphasartool \n"; + return 1; + } + + ProjectIRDB DB({Argv[1]}); + // testing taintconfig + [[maybe_unused]] volatile TaintConfig config(DB); + if (const auto *F = DB.getFunctionDefinition("main")) { + LLVMTypeHierarchy H(DB); + // print type hierarchy + H.print(); + LLVMPointsToSet P(DB); + // print points-to information + P.print(); + LLVMBasedICFG I(DB, CallGraphAnalysisType::OTF, {"main"}, &H, &P); + // print inter-procedural control-flow graph + I.print(); + // IFDS template parametrization test + std::cout << "Testing IFDS:\n"; + IFDSLinearConstantAnalysis L(&DB, &H, &I, &P, {"main"}); + IFDSSolver S(L); + S.solve(); + S.dumpResults(); + // IDE template parametrization test + std::cout << "Testing IDE:\n"; + IDELinearConstantAnalysis M(&DB, &H, &I, &P, {"main"}); + IDESolver T(M); + T.solve(); + T.dumpResults(); + } else { + std::cerr << "error: file does not contain a 'main' function!\n"; + } + return 0; +} diff --git a/utils/tooling/conan/phasar/upload.sh b/utils/tooling/conan/phasar/upload.sh new file mode 100755 index 000000000..293973fd5 --- /dev/null +++ b/utils/tooling/conan/phasar/upload.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +if [ "$#" -eq "0" ]; then + echo "[error] please provide a phasar version" + exit 10 +fi +readonly phasar_version="$1" + +( + cd "$(dirname "$0")" + bash ../scripts/upload.sh "phasar" "$phasar_version" +) diff --git a/utils/tooling/conan/prepareSimpleDependencies.sh b/utils/tooling/conan/prepareSimpleDependencies.sh new file mode 100755 index 000000000..f411c1e09 --- /dev/null +++ b/utils/tooling/conan/prepareSimpleDependencies.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -o errexit + +dependencies=("boost" "gtest") + +( + cd "$(dirname "$0")/scripts" + for dependency in ${dependencies[@]}; do + bash create.sh "$dependency" + bash upload.sh "$dependency" + done +) \ No newline at end of file diff --git a/utils/tooling/conan/scripts/clear.sh b/utils/tooling/conan/scripts/clear.sh new file mode 100755 index 000000000..9952ccb94 --- /dev/null +++ b/utils/tooling/conan/scripts/clear.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +set -o errexit +source "$(dirname "$0")/config.sh" # include config +set -o nounset +set -o pipefail + +# is conan recipe here? -> build +if [ -f "conanfile.py" ]; then + conan remove --force "$NAME/$VERSION@$TARGET" || true + + # clean created test builds + if [ -d "test_package/build" ]; then + rm -rf "test_package/build" || true + fi + +# else assume its in of the remotes +else + conan remove --force "$NAME/$VERSION" || true + +fi diff --git a/utils/tooling/conan/scripts/config.sh b/utils/tooling/conan/scripts/config.sh new file mode 100755 index 000000000..e7c40ae1d --- /dev/null +++ b/utils/tooling/conan/scripts/config.sh @@ -0,0 +1,58 @@ +#!/bin/bash + +set +o errexit + +CONANFILE="$(readlink -f "$(pwd)/../../../../conanfile.txt")" +TARGET="intellisectest+intellisectest-application/stable" +REMOTE="itst" +REMOTE_URL="https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan" + +readonly CONANFILE +#shellcheck disable=SC2034 +readonly TARGET +#shellcheck disable=SC2034 +readonly REMOTE +#shellcheck disable=SC2034 +readonly REMOTE_URL + +# name extracted from current working folder +readonly NAME="${1:-"$(pwd | grep -Eo '[^/]+$')"}" +# if no version is provided as first argument extract from conanfile.txt +readonly VERSION="${2:-"$(grep -oP "(?<=$NAME/)[^@]*" "$CONANFILE")"}" + +# get additional options for compilation +CONAN_ARGS=() +count=0 +for arg in "$@"; do + count="$((count+1))" + if [ "$count" -gt "2" ]; then + CONAN_ARGS+=("$arg") + echo "[info] additional build configuration with: $arg" + fi +done + +if [ "${#CONAN_ARGS[@]}" == "0" ]; then + CONAN_ARGS=("") +fi + +if [ ! -f "$CONANFILE" ]; then + echo "[warning] conanfile not existing in $(dirname "$CONANFILE")" +fi + +set -o errexit + +if [ -z "$NAME" ]; then + echo "You didn't provide name or I couldn't extract it" + exit 100 +elif [ -z "$VERSION" ]; then + echo "couldn't read $NAME version from conanfile.txt and you didn't provide it as second argument" + exit 200 +else + echo "using $NAME/$VERSION" +fi + +# set conan log level +#https://docs.conan.io/en/latest/reference/config_files/conan.conf.html +export CONAN_LOG_RUN_TO_OUTPUT=True +export CONAN_LOGGING_LEVEL=debug +export CONAN_PRINT_RUN_COMMANDS=True diff --git a/utils/tooling/conan/scripts/create.sh b/utils/tooling/conan/scripts/create.sh new file mode 100755 index 000000000..21241f685 --- /dev/null +++ b/utils/tooling/conan/scripts/create.sh @@ -0,0 +1,98 @@ +#!/bin/bash +set -o errexit +source "$(dirname "$0")/config.sh" "$@" # include config +set -o nounset +set -o pipefail + +# preparation / cleanup +rm -rf "./logs" || True +mkdir logs + +# is conan recipe here? -> build +if [ -f "conanfile.py" ]; then + echo "create recipe ./logs/build.log" + + if conan create --build=missing . "$VERSION@$TARGET" &> "logs/build.log"; then + echo "create successful ./logs/build.log" + else + echo "create failed ./logs/build.log" + exit 10 + fi + +# else assume its in of the remotes +else + echo "download recipe ./logs/download.log" + if conan download --recipe "$NAME/$VERSION@" &> "logs/download.log"; then + echo "download successful ./logs/download.log" + else + echo "download failed ./logs/download.log" + exit 20 + fi + + echo "copy recipe ./logs/copy.log" + if conan copy --force "$NAME/$VERSION" "$TARGET" &> "logs/copy.log"; then + echo "copy successful ./logs/copy.log" + else + echo "copy failed ./logs/copy.log" + exit 30 + fi +fi + +# step 3 ensure that every shared / build_type is completed +successful_counter=0 +for release in Debug Release; do +for option in "${CONAN_ARGS[@]}"; do + options="$option -s build_type=$release" + dir="$(mktemp -d)" + log="$options" + log_name="$(sed -E "s/[^a-zA-Z0-9:_.=-]/_/g" <<< "$log")" + log="logs/$log_name" + echo "" + echo "using configuration: $options" + + # create binary with given options + echo "install ./$log.install.log" + #shellcheck disable=SC2086 #needed for options + if conan install -if "$dir" --build=missing \ + $options \ + "$NAME/$VERSION@$TARGET" &> "$log.install.log"; then + mkdir logs/successful &> /dev/null || true + mv "$log.install.log" "logs/successful/$log_name.install.log" + echo "install successful see log ./logs/successful/$log_name.install.log" + successful_counter=$((successful_counter + 1)) + else + mkdir logs/failed &> /dev/null || true + mv "$log.install.log" "logs/failed/$log_name.install.log" + echo "install failed see log ./logs/failed/$log_name.install.log" + fi + rm -rf "$dir" || true + + # test binary with given options + if [ -f "conanfile.py" ]; then + echo "test ./$log.install.log" + + #shellcheck disable=SC2086 #needed for options + if conan test \ + $options \ + test_package "$NAME/$VERSION@$TARGET" &> "$log.test.log"; then + mkdir logs/successful &> /dev/null || true + mv "$log.test.log" "logs/successful/$log_name.test.log" + echo "test successful see log ./logs/successful/$log_name.test.log" + else + mkdir logs/failed &> /dev/null || true + mv "$log.test.log" "logs/failed/$log_name.test.log" + echo "test failed see log ./logs/failed/$log_name.test.log" + fi + fi # no else because its probably an official one, we dont have a test_package folder here +done +done + +echo "" +echo "expected at least $successful_counter packages" +#shellcheck disable=SC2207 +current_packages=($(conan search "$NAME/$VERSION@$TARGET" | grep -Po '(?<=Package_ID:\s).*')) +echo "found ${#current_packages[@]} packages" + +if [ "${#current_packages[@]}" -lt "$successful_counter" ]; then + echo "some options arent applied at buildtime" +fi diff --git a/utils/tooling/conan/scripts/upload.sh b/utils/tooling/conan/scripts/upload.sh new file mode 100755 index 000000000..8c7bfcda7 --- /dev/null +++ b/utils/tooling/conan/scripts/upload.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +set -o errexit +source "$(dirname "$0")/config.sh" "$@" # include config +set -o nounset +set -o pipefail + +if ! conan remote list | grep -Eq "^$REMOTE:"; then + echo "warning remote for $REMOTE not added, so I will only build but not upload" + echo "execute:" + echo "conan remote add $REMOTE $REMOTE_URL" +elif ! conan user | grep "'$REMOTE'" | grep -q "[Authenticated]"; then + echo "conan remote added but you arent authenticated!" + echo "please create a token with name conan-dev and rights api + api_read" + echo "https://gitlab.cc-asp.fraunhofer.de/-/profile/personal_access_tokens" + echo "and execute" + echo "conan user \"conan-dev\" -r \"$REMOTE\" -p \"\$TOKEN\"" +else + conan upload "$NAME/$VERSION@$TARGET" -r "$REMOTE" --all +fi diff --git a/utils/tooling/conan/wali/conandata.yml b/utils/tooling/conan/wali/conandata.yml new file mode 100644 index 000000000..611af48f4 --- /dev/null +++ b/utils/tooling/conan/wali/conandata.yml @@ -0,0 +1,9 @@ +sources: + "2020.07.31": + url: https://codeload.github.com/pdschubert/WALi-OpenNWA/zip/2bb4aca02c5a5d444fd038e8aa3eecd7d1ccbb99 + sha256: 56ecf94c4da5738b587d2cb9825887098df4a3849d7ae0f93c6da159169f87d0 + +patches: + "2020.07.31": + - base_path: "source" + patch_file: "patches/llvm_to_llvm-core.patch" diff --git a/utils/tooling/conan/wali/conanfile.py b/utils/tooling/conan/wali/conanfile.py new file mode 100644 index 000000000..6bf32f97d --- /dev/null +++ b/utils/tooling/conan/wali/conanfile.py @@ -0,0 +1,57 @@ +from conans import ConanFile, CMake, tools + + +class WALiOpenNWAConan(ConanFile): + name = "wali-opennwa" + version = "2020.07.31" + commit = "2bb4aca02c5a5d444fd038e8aa3eecd7d1ccbb99" + license = "not set" + author = "not set" + url = "https://github.com/pdschubert/WALi-OpenNWA" + description = "WALi weighted automaton library" + topics = ("WALi", "automaton") + settings = "os", "compiler", "build_type", "arch" + options = { + "shared": [True, False] + } + default_options = { + "shared": False + } + generators = "cmake_find_package", "cmake_paths" + exports_sources = "*" + requires = "llvm-core/12.0.0@intellisectest+intellisectest-application/stable" + + @property + def _source_subfolder(self): + return "source" + + @property + def _build_subfolder(self): + return "build" + + def source(self): + tools.get(**self.conan_data["sources"][self.version]) + tools.rename('{}-{}'.format("WALi-OpenNWA", self.commit), self._source_subfolder) + + def _patch_sources(self): + for patch in self.conan_data.get("patches", {}).get(self.version, []): + tools.patch(**patch) + + def build(self): + self._patch_sources() + cmake = CMake(self) + cmake.definitions['BUILD_SHARED_LIBS'] = self.options.shared + cmake.configure(source_folder=self._source_subfolder, build_folder=self._build_subfolder) + cmake.build() + + def package(self): + self.copy("LICENSE") + self.copy("*.h", dst="include", src=self._source_subfolder + "/Source/wali/include") + self.copy("*.hpp", dst="include", src=self._source_subfolder + "/Source/wali/include") + self.copy("*.dll", dst="bin", keep_path=False) + self.copy("*.so", dst="lib", keep_path=False) + self.copy("*.dylib", dst="lib", keep_path=False) + self.copy("*.a", dst="lib", keep_path=False) + + def package_info(self): + self.cpp_info.libs = tools.collect_libs(self) diff --git a/utils/tooling/conan/wali/create.sh b/utils/tooling/conan/wali/create.sh new file mode 100755 index 000000000..a7079dd42 --- /dev/null +++ b/utils/tooling/conan/wali/create.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +( + cd "$(dirname "$0")" + bash ../scripts/clear.sh "wali-opennwa" "2020.07.31" + for llvm_shared in True; do + bash ../scripts/create.sh "wali-opennwa" "2020.07.31" "-o llvm-core:shared=$llvm_shared" + done +) diff --git a/utils/tooling/conan/wali/patches/llvm_to_llvm-core.patch b/utils/tooling/conan/wali/patches/llvm_to_llvm-core.patch new file mode 100644 index 000000000..5a0bdff5e --- /dev/null +++ b/utils/tooling/conan/wali/patches/llvm_to_llvm-core.patch @@ -0,0 +1,70 @@ +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 7ef8f03f..4096b037 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -1,4 +1,4 @@ +-cmake_minimum_required (VERSION 3.0) ++cmake_minimum_required (VERSION 3.1.2) + + project (wali) + set(CMAKE_PROJECT_NAME "wali") +@@ -19,12 +19,15 @@ if(NOT DEFINED CMAKE_CXX_EXTENSIONS) + set(CMAKE_CXX_EXTENSIONS OFF) + endif(NOT DEFINED CMAKE_CXX_EXTENSIONS) + +-if(NOT DEFINED LLVM_MAIN_SRC_DIR) +- # Find an include llvm if we build out of tree +- find_package(LLVM REQUIRED CONFIG) +- find_library(LLVM_LIBRARY NAMES llvm) +- include_directories(${LLVM_INCLUDE_DIRS}) +- link_directories(${LLVM_LIB_PATH} ${LLVM_LIBRARY_DIRS}) ++# setup conan for dependecy resolution ++if (EXISTS ${CMAKE_BINARY_DIR}/conan_paths.cmake) ++ set(CONAN ON) ++ include(${CMAKE_BINARY_DIR}/conan_paths.cmake) ++ find_package(llvm-core 12 REQUIRED) ++else() ++ set(CONAN OFF) ++ find_package(LLVM 12 REQUIRED) + endif() ++message("[CMakeLists] Conan usage: " ${CONAN}) + + add_subdirectory(Source) +diff --git a/Source/wali/lib/CMakeLists.txt b/Source/wali/lib/CMakeLists.txt +index 0b073f74..c1f17c15 100644 +--- a/Source/wali/lib/CMakeLists.txt ++++ b/Source/wali/lib/CMakeLists.txt +@@ -19,22 +19,21 @@ add_library(wali # Name der Bibliothek + ${WALI_SRC} # Quellcode der zur dieser Bibliothek gehören soll + ) + +-set(LLVM_LINK_COMPONENTS +- Support +- Core +-) +-if(USE_LLVM_FAT_LIB) +- llvm_config(wali USE_SHARED ${LLVM_LINK_COMPONENTS}) +-else() +- llvm_config(wali ${LLVM_LINK_COMPONENTS}) +-endif() +- + # Falls nötig und die Bibliothek selbst Abhangigkeiten besitzt, + # kann man dieser hiermit dazu linken. Man sollte allerdings + # soweit es geht darauf verzichten, da man ansonsten schnell in + # der 'dependency hell' landet. +-# target_link_libraries(test_all +-# ) ++if (CONAN) ++ target_include_directories(wali PRIVATE ${llvm-core_INCLUDE_DIRS}) ++ target_link_libraries(wali PRIVATE llvm-core::llvm-core) ++else() ++ target_include_directories(wali PRIVATE ${LLVM_INCLUDE_DIRS}) ++ if(USE_LLVM_FAT_LIB) ++ llvm_config(wali USE_SHARED Core Support) ++ else() ++ llvm_config(wali Core Support) ++ endif() ++endif() + + set_target_properties(wali + PROPERTIES \ No newline at end of file diff --git a/utils/tooling/conan/wali/test_package/CMakeLists.txt b/utils/tooling/conan/wali/test_package/CMakeLists.txt new file mode 100644 index 000000000..b9db4a7a8 --- /dev/null +++ b/utils/tooling/conan/wali/test_package/CMakeLists.txt @@ -0,0 +1,7 @@ +cmake_minimum_required(VERSION 3.1) +project(WALi-OpenNWA-PackageTest CXX) + +include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) +conan_basic_setup() + +add_executable(test_package test_package.cpp) diff --git a/utils/tooling/conan/wali/test_package/conanfile.py b/utils/tooling/conan/wali/test_package/conanfile.py new file mode 100644 index 000000000..590671f04 --- /dev/null +++ b/utils/tooling/conan/wali/test_package/conanfile.py @@ -0,0 +1,23 @@ +import os + +from conans import ConanFile, CMake, tools + + +class WALiOpenNWATestConan(ConanFile): + settings = "os", "compiler", "build_type", "arch" + generators = "cmake" + + def build(self): + cmake = CMake(self) + cmake.definitions["BUILDING_SHARED"] = self.options["wali-opennwa"].shared + cmake.configure() + cmake.build() + + def imports(self): + self.copy("*.dll", dst="bin", src="bin") + self.copy("*.dylib*", dst="bin", src="lib") + self.copy('*.so*', dst='bin', src='lib') + + def test(self): + if not tools.cross_building(self.settings): + self.run(os.path.join("bin", "test_package"), run_environment=True) diff --git a/utils/tooling/conan/wali/test_package/test_package.cpp b/utils/tooling/conan/wali/test_package/test_package.cpp new file mode 100644 index 000000000..c530ad6cc --- /dev/null +++ b/utils/tooling/conan/wali/test_package/test_package.cpp @@ -0,0 +1,7 @@ +#include "wali/Common.hpp" + +int main() +{ + wali::Key key = 3; + std::cout << "Hello from wali! Key should be 3 = " << key << std::endl; +} diff --git a/utils/tooling/conan/wali/upload.sh b/utils/tooling/conan/wali/upload.sh new file mode 100755 index 000000000..b348e00b2 --- /dev/null +++ b/utils/tooling/conan/wali/upload.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +set -o errexit +set -o nounset +set -o pipefail + +( + cd "$(dirname "$0")" + bash ../scripts/upload.sh "wali-opennwa" "2020.07.31" +) From d6723035baa2c5743e53a7709e0218c84c527efa Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 13:50:50 +0200 Subject: [PATCH 28/95] restructure: mv example-tool --- {tools => phasar}/example-tool/CMakeLists.txt | 0 {tools/example-tool => phasar/example-tool/src}/myphasartool.cpp | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {tools => phasar}/example-tool/CMakeLists.txt (100%) rename {tools/example-tool => phasar/example-tool/src}/myphasartool.cpp (100%) diff --git a/tools/example-tool/CMakeLists.txt b/phasar/example-tool/CMakeLists.txt similarity index 100% rename from tools/example-tool/CMakeLists.txt rename to phasar/example-tool/CMakeLists.txt diff --git a/tools/example-tool/myphasartool.cpp b/phasar/example-tool/src/myphasartool.cpp similarity index 100% rename from tools/example-tool/myphasartool.cpp rename to phasar/example-tool/src/myphasartool.cpp From 1904b60769e69ea5756ce950b1812a5e5dca75b4 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 13:51:06 +0200 Subject: [PATCH 29/95] restructure: enabled example-tool --- CMakeLists.txt | 1 + phasar/example-tool/CMakeLists.txt | 54 +++------------------------- phasar/example-tool/include/.gitkeep | 0 3 files changed, 6 insertions(+), 49 deletions(-) create mode 100644 phasar/example-tool/include/.gitkeep diff --git a/CMakeLists.txt b/CMakeLists.txt index 28cd48f12..62e7c33e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -29,6 +29,7 @@ add_subdirectory(phasar/clang) add_subdirectory(phasar/config) add_subdirectory(phasar/controller) add_subdirectory(phasar/db) +add_subdirectory(phasar/example-tool) add_subdirectory(phasar/experimental) add_subdirectory(phasar/llvm) add_subdirectory(phasar/utils) diff --git a/phasar/example-tool/CMakeLists.txt b/phasar/example-tool/CMakeLists.txt index 99ac32d64..6cdcdb4a0 100644 --- a/phasar/example-tool/CMakeLists.txt +++ b/phasar/example-tool/CMakeLists.txt @@ -1,50 +1,6 @@ -# Build a stand-alone executable -if(PHASAR_IN_TREE) - # Build a small test tool to show how phasar may be used - add_phasar_executable(myphasartool - myphasartool.cpp - ) -else() - # Build a small test tool to show how phasar may be used - add_executable(myphasartool - myphasartool.cpp - ) -endif() - -find_package(Boost COMPONENTS program_options graph ${BOOST_THREAD} REQUIRED) -target_link_libraries(myphasartool - LINK_PUBLIC - phasar_config - phasar_controller - phasar_db - phasar_experimental - phasar_controlflow - phasar_ifdside - phasar_mono - phasar_passes - ${PHASAR_PLUGINS_LIB} - phasar_pointer - phasar_typehierarchy - phasar_phasarllvm_utils - phasar_utils - ${Boost_LIBRARIES} - ${CMAKE_DL_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - LINK_PRIVATE - ${PHASAR_STD_FILESYSTEM} -) - -if(USE_LLVM_FAT_LIB) - llvm_config(myphasartool USE_SHARED ${LLVM_LINK_COMPONENTS}) -else() - llvm_config(myphasartool ${LLVM_LINK_COMPONENTS}) -endif() - -set(LLVM_LINK_COMPONENTS -) - -install(TARGETS myphasartool - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib +just_add_executable( + LINK + phasar-controller + phasar-llvm + pthread ) diff --git a/phasar/example-tool/include/.gitkeep b/phasar/example-tool/include/.gitkeep new file mode 100644 index 000000000..e69de29bb From 81b7cbf1bc5dfcd44692bea1435f10d242c340e1 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 13:52:28 +0200 Subject: [PATCH 30/95] restructure: mv boomerang --- {tools => phasar}/boomerang/CMakeLists.txt | 0 {tools/boomerang => phasar/boomerang/src}/boomerang.cpp | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {tools => phasar}/boomerang/CMakeLists.txt (100%) rename {tools/boomerang => phasar/boomerang/src}/boomerang.cpp (100%) diff --git a/tools/boomerang/CMakeLists.txt b/phasar/boomerang/CMakeLists.txt similarity index 100% rename from tools/boomerang/CMakeLists.txt rename to phasar/boomerang/CMakeLists.txt diff --git a/tools/boomerang/boomerang.cpp b/phasar/boomerang/src/boomerang.cpp similarity index 100% rename from tools/boomerang/boomerang.cpp rename to phasar/boomerang/src/boomerang.cpp From 9af3df5ee6d2bf95158562611ba06dc01f9a643f Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 13:56:05 +0200 Subject: [PATCH 31/95] restructure: adding boomerang --- CMakeLists.txt | 1 + phasar/boomerang/CMakeLists.txt | 48 ++++--------------------------- phasar/boomerang/include/.gitkeep | 0 3 files changed, 6 insertions(+), 43 deletions(-) create mode 100644 phasar/boomerang/include/.gitkeep diff --git a/CMakeLists.txt b/CMakeLists.txt index 62e7c33e2..8b8f2c0cb 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,6 +25,7 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(cmake/just-simple.cmake) +add_subdirectory(phasar/boomerang) add_subdirectory(phasar/clang) add_subdirectory(phasar/config) add_subdirectory(phasar/controller) diff --git a/phasar/boomerang/CMakeLists.txt b/phasar/boomerang/CMakeLists.txt index 8be626bf2..a7e134e51 100644 --- a/phasar/boomerang/CMakeLists.txt +++ b/phasar/boomerang/CMakeLists.txt @@ -1,44 +1,6 @@ -# Build a stand-alone executable -if(PHASAR_IN_TREE) - add_phasar_executable(boomerang - boomerang.cpp - ) -else() - add_executable(boomerang - boomerang.cpp - ) -endif() - -find_package(Boost COMPONENTS program_options graph ${BOOST_THREAD} REQUIRED) -target_link_libraries(boomerang - LINK_PUBLIC - phasar_config - phasar_controller - phasar_db - phasar_controlflow - phasar_ifdside - phasar_mono - phasar_wpds - phasar_syncpds - ${PHASAR_PLUGINS_LIB} - wali - phasar_passes - phasar_pointer - phasar_typehierarchy - phasar_phasarllvm_utils - phasar_utils - ${Boost_LIBRARIES} - ${CMAKE_DL_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - LINK_PRIVATE - ${PHASAR_STD_FILESYSTEM} -) - -if(USE_LLVM_FAT_LIB) - llvm_config(boomerang USE_SHARED ${LLVM_LINK_COMPONENTS}) -else() - llvm_config(boomerang ${LLVM_LINK_COMPONENTS}) -endif() - -set(LLVM_LINK_COMPONENTS +just_add_executable( + LINK + phasar-llvm + phasar-controller + pthread ) diff --git a/phasar/boomerang/include/.gitkeep b/phasar/boomerang/include/.gitkeep new file mode 100644 index 000000000..e69de29bb From c0ad3bb9c3a73667b6bcbce60718b9db59eb5a2d Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 17:16:10 +0200 Subject: [PATCH 32/95] restructure: enabled phasar-clang-tool --- phasar/clang/CMakeLists.txt | 14 ++++- .../clang/src}/phasar-clang.cpp | 0 tools/CMakeLists.txt | 4 -- tools/phasar-clang/CMakeLists.txt | 44 ------------- tools/phasar-llvm/CMakeLists.txt | 61 ------------------- 5 files changed, 13 insertions(+), 110 deletions(-) rename {tools/phasar-clang => phasar/clang/src}/phasar-clang.cpp (100%) delete mode 100644 tools/CMakeLists.txt delete mode 100644 tools/phasar-clang/CMakeLists.txt delete mode 100644 tools/phasar-llvm/CMakeLists.txt diff --git a/phasar/clang/CMakeLists.txt b/phasar/clang/CMakeLists.txt index 33b996721..dfea35a86 100644 --- a/phasar/clang/CMakeLists.txt +++ b/phasar/clang/CMakeLists.txt @@ -5,4 +5,16 @@ just_add_library( LLVMSupport #clang-cpp phasar-utils -) \ No newline at end of file + EXCLUDE "phasar-clang.cpp$" +) + +just_add_executable( + LINK + phasar-llvm + phasar-clang + pthread + INCLUDE "phasar-clang.cpp$" + + SUFFIX "-tool" + SKIP_SUBDIRECTORIES +) diff --git a/tools/phasar-clang/phasar-clang.cpp b/phasar/clang/src/phasar-clang.cpp similarity index 100% rename from tools/phasar-clang/phasar-clang.cpp rename to phasar/clang/src/phasar-clang.cpp diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt deleted file mode 100644 index b493441ac..000000000 --- a/tools/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -add_subdirectory(boomerang) -add_subdirectory(example-tool) -add_subdirectory(phasar-clang) -add_subdirectory(phasar-llvm) diff --git a/tools/phasar-clang/CMakeLists.txt b/tools/phasar-clang/CMakeLists.txt deleted file mode 100644 index 8516dba0a..000000000 --- a/tools/phasar-clang/CMakeLists.txt +++ /dev/null @@ -1,44 +0,0 @@ -# Build a stand-alone executable -if(PHASAR_IN_TREE) - add_phasar_executable(phasar-clang - phasar-clang.cpp - ) -else() - add_executable(phasar-clang - phasar-clang.cpp - ) -endif() - -find_package(Boost COMPONENTS program_options graph ${BOOST_THREAD} REQUIRED) -if(USE_LLVM_FAT_LIB) - llvm_config(phasar-clang USE_SHARED ${LLVM_LINK_COMPONENTS}) -else() - llvm_config(phasar-clang ${LLVM_LINK_COMPONENTS}) -endif() -target_link_libraries(phasar-clang - LINK_PUBLIC - phasar_config - phasar_controller - phasar_controlflow - phasar_phasarllvm_utils - phasar_analysis_strategy - phasar_ifdside - phasar_utils - phasar_mono - phasar_db - phasar_experimental - # phasar_clang - phasar_passes - phasar_pointer - phasar_typehierarchy - ${SQLITE3_LIBRARY} - ${Boost_LIBRARIES} - ${CMAKE_DL_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - # ${CLANG_LIBRARY} - LINK_PRIVATE - ${PHASAR_STD_FILESYSTEM} -) - -set(LLVM_LINK_COMPONENTS -) diff --git a/tools/phasar-llvm/CMakeLists.txt b/tools/phasar-llvm/CMakeLists.txt deleted file mode 100644 index 9cb1c9129..000000000 --- a/tools/phasar-llvm/CMakeLists.txt +++ /dev/null @@ -1,61 +0,0 @@ -set(LLVM_LINK_COMPONENTS - Analysis - BitWriter - Core - Demangle - IRReader - Linker - Passes - Support -) - -# Build a stand-alone executable -if(PHASAR_IN_TREE) - add_phasar_executable(phasar-llvm - phasar-llvm.cpp - ) -else() - add_executable(phasar-llvm - phasar-llvm.cpp - ) -endif() - -find_package(Boost COMPONENTS program_options graph ${BOOST_THREAD} REQUIRED) -# Warning! There is a another listing of libraries inside cmake/phasar_macros.cmake. -# If this list is altered the other one should be altered accordingly. -target_link_libraries(phasar-llvm - LINK_PUBLIC - phasar_config - phasar_controller - phasar_controlflow - phasar_phasarllvm_utils - phasar_analysis_strategy - phasar_ifdside - phasar_utils - phasar_mono - phasar_db - phasar_experimental - phasar_passes - phasar_pointer - phasar_typehierarchy - ${SQLITE3_LIBRARY} - ${Boost_LIBRARIES} - ${CMAKE_DL_LIBS} - ${CMAKE_THREAD_LIBS_INIT} - LINK_PRIVATE - ${PHASAR_STD_FILESYSTEM} -) - -if (NOT PHASAR_IN_TREE) - if(USE_LLVM_FAT_LIB) - llvm_config(phasar-llvm USE_SHARED ${LLVM_LINK_COMPONENTS}) - else() - llvm_config(phasar-llvm ${LLVM_LINK_COMPONENTS}) - endif() - - install(TARGETS phasar-llvm - RUNTIME DESTINATION bin - LIBRARY DESTINATION lib - ARCHIVE DESTINATION lib - ) -endif() From 528d890e86976db372dfea33fa3986a64ffd819c Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 17:25:34 +0200 Subject: [PATCH 33/95] restructure: fix failing tests with fabian source file renaming not translated to gt sometimes m2r.ll input where it was not expected --- .../dummy_source_sink/taint_01.dbg.cpp | 1 + .../taint_exception_01.dbg.cpp | 1 + .../exceptions/exceptions_01_cpp_icfg.json | 66 +++++++++---------- .../branch_07_cpp_main_cfg.json | 58 ++++++++-------- .../linear_constant/call_01_cpp_icfg.json | 30 ++++----- .../linear_constant/call_07_cpp_icfg.json | 58 ++++++++-------- .../IDETSAnalysisOpenSSLEVPKDFTest.cpp | 66 ++++++++++--------- .../IDETSAnalysisOpenSSLSecureHeapTest.cpp | 2 +- .../Problems/IFDSTaintAnalysisTest.cpp | 5 +- 9 files changed, 147 insertions(+), 140 deletions(-) create mode 120000 phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.dbg.cpp create mode 120000 phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.dbg.cpp diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.dbg.cpp new file mode 120000 index 000000000..fbff75b01 --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_01.dbg.cpp @@ -0,0 +1 @@ +taint_01.m2r.dbg.cpp \ No newline at end of file diff --git a/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.dbg.cpp b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.dbg.cpp new file mode 120000 index 000000000..44b7bd53b --- /dev/null +++ b/phasar/llvm/test/llvm_test_code/taint_analysis/dummy_source_sink/taint_exception_01.dbg.cpp @@ -0,0 +1 @@ +taint_exception_01.m2r.dbg.cpp \ No newline at end of file diff --git a/phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json index f52fff7db..3434194d2 100644 --- a/phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json +++ b/phasar/llvm/test/resource/json_test_code/exceptions/exceptions_01_cpp_icfg.json @@ -4,7 +4,7 @@ "IR": "store i32 42, i32* %x, align 4, !dbg !15, !psr.id !17 | ID: 3", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "int x = 42;" }, @@ -12,7 +12,7 @@ "IR": "%call = call i32 @rand(), !dbg !18, !psr.id !20 | ID: 4", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "if (rand()) {" } @@ -22,7 +22,7 @@ "IR": "br i1 %tobool, label %if.then, label %if.else, !dbg !22, !psr.id !23 | ID: 6", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "if (rand()) {" }, @@ -30,7 +30,7 @@ "IR": "%0 = load i32, i32* %x, align 4, !dbg !24, !psr.id !26 | ID: 7", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "x += 4;" } @@ -40,7 +40,7 @@ "IR": "br i1 %tobool, label %if.then, label %if.else, !dbg !22, !psr.id !23 | ID: 6", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "if (rand()) {" }, @@ -48,7 +48,7 @@ "IR": "%exception = call i8* @__cxa_allocate_exception(i64 4) #4, !dbg !31, !psr.id !33 | ID: 11", "column": 5, "line": 9, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "throw 2353782;" } @@ -58,7 +58,7 @@ "IR": "store i32 %add, i32* %x, align 4, !dbg !24, !psr.id !28 | ID: 9", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "x += 4;" }, @@ -66,7 +66,7 @@ "IR": "br label %if.end, !dbg !29, !psr.id !30 | ID: 10", "column": 3, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "} else {" } @@ -76,7 +76,7 @@ "IR": "br label %if.end, !dbg !29, !psr.id !30 | ID: 10", "column": 3, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "} else {" }, @@ -84,7 +84,7 @@ "IR": "%2 = load i32, i32* %x, align 4, !dbg !38, !psr.id !39 | ID: 16", "column": 10, "line": 12, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "return x;" } @@ -94,7 +94,7 @@ "IR": "%2 = load i32, i32* %x, align 4, !dbg !38, !psr.id !39 | ID: 16", "column": 10, "line": 12, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "return x;" }, @@ -102,7 +102,7 @@ "IR": "ret i32 %2, !dbg !40, !psr.id !41 | ID: 17", "column": 3, "line": 12, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "return x;" } @@ -112,7 +112,7 @@ "IR": "store i32 3, i32* %a, align 4, !dbg !49, !psr.id !51 | ID: 24", "column": 7, "line": 16, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int a = 3;" }, @@ -120,7 +120,7 @@ "IR": "%call = invoke i32 @_Z3foov()\n to label %invoke.cont unwind label %lpad, !dbg !52, !psr.id !54 | ID: 25", "column": 9, "line": 18, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "a = foo();" } @@ -130,7 +130,7 @@ "IR": "%call = invoke i32 @_Z3foov()\n to label %invoke.cont unwind label %lpad, !dbg !52, !psr.id !54 | ID: 25", "column": 9, "line": 18, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "a = foo();" }, @@ -138,7 +138,7 @@ "IR": "%x = alloca i32, align 4, !psr.id !13 | ID: 1", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "int x = 42;" } @@ -148,7 +148,7 @@ "IR": "ret i32 %2, !dbg !40, !psr.id !41 | ID: 17", "column": 3, "line": 12, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "return x;" }, @@ -156,7 +156,7 @@ "IR": "store i32 %call, i32* %a, align 4, !dbg !55, !psr.id !56 | ID: 26", "column": 7, "line": 18, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "a = foo();" } @@ -166,7 +166,7 @@ "IR": "ret i32 %2, !dbg !40, !psr.id !41 | ID: 17", "column": 3, "line": 12, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "foo()", "sourceCodeLine": "return x;" }, @@ -174,7 +174,7 @@ "IR": "%0 = landingpad { i8*, i32 }\n catch i8* null, !dbg !59, !psr.id !60 | ID: 28", "column": 1, "line": 23, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" } @@ -184,7 +184,7 @@ "IR": "store i32 %call, i32* %a, align 4, !dbg !55, !psr.id !56 | ID: 26", "column": 7, "line": 18, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "a = foo();" }, @@ -192,7 +192,7 @@ "IR": "br label %try.cont, !dbg !57, !psr.id !58 | ID: 27", "column": 3, "line": 19, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "} catch (...) {" } @@ -202,7 +202,7 @@ "IR": "br label %try.cont, !dbg !57, !psr.id !58 | ID: 27", "column": 3, "line": 19, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "} catch (...) {" }, @@ -210,7 +210,7 @@ "IR": "%4 = load i32, i32* %a, align 4, !dbg !74, !psr.id !75 | ID: 39", "column": 10, "line": 22, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return a;" } @@ -220,7 +220,7 @@ "IR": "br label %catch, !dbg !59, !psr.id !65 | ID: 33", "column": 1, "line": 23, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" }, @@ -228,7 +228,7 @@ "IR": "%exn = load i8*, i8** %exn.slot, align 8, !dbg !57, !psr.id !66 | ID: 34", "column": 3, "line": 19, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "} catch (...) {" } @@ -238,7 +238,7 @@ "IR": "store i32 -1, i32* %a, align 4, !dbg !68, !psr.id !70 | ID: 36", "column": 7, "line": 20, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "a = -1;" }, @@ -246,7 +246,7 @@ "IR": "call void @__cxa_end_catch(), !dbg !71, !psr.id !72 | ID: 37", "column": 3, "line": 21, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" } @@ -256,7 +256,7 @@ "IR": "br label %try.cont, !dbg !71, !psr.id !73 | ID: 38", "column": 3, "line": 21, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" }, @@ -264,7 +264,7 @@ "IR": "%4 = load i32, i32* %a, align 4, !dbg !74, !psr.id !75 | ID: 39", "column": 10, "line": 22, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return a;" } @@ -274,7 +274,7 @@ "IR": "%4 = load i32, i32* %a, align 4, !dbg !74, !psr.id !75 | ID: 39", "column": 10, "line": 22, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return a;" }, @@ -282,9 +282,9 @@ "IR": "ret i32 %4, !dbg !76, !psr.id !77 | ID: 40", "column": 3, "line": 22, - "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/exceptions/exceptions_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return a;" } } -] +] \ No newline at end of file diff --git a/phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json index 6fba69afb..29c8eaf9d 100644 --- a/phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json +++ b/phasar/llvm/test/resource/json_test_code/linear_constant/branch_07_cpp_main_cfg.json @@ -4,7 +4,7 @@ "IR": "%j = alloca i32, align 4, !psr.id !14 | ID: 2", "column": 7, "line": 3, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = 10;" }, @@ -12,7 +12,7 @@ "IR": "%i = alloca i32, align 4, !psr.id !15 | ID: 3", "column": 7, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" } @@ -22,7 +22,7 @@ "IR": "%i = alloca i32, align 4, !psr.id !15 | ID: 3", "column": 7, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" }, @@ -30,7 +30,7 @@ "IR": "store i32 10, i32* %j, align 4, !dbg !18, !psr.id !20 | ID: 6", "column": 7, "line": 3, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = 10;" } @@ -40,7 +40,7 @@ "IR": "store i32 10, i32* %j, align 4, !dbg !18, !psr.id !20 | ID: 6", "column": 7, "line": 3, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = 10;" }, @@ -48,7 +48,7 @@ "IR": "%0 = load i32, i32* %j, align 4, !dbg !24, !psr.id !25 | ID: 8", "column": 11, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" } @@ -58,7 +58,7 @@ "IR": "%0 = load i32, i32* %j, align 4, !dbg !24, !psr.id !25 | ID: 8", "column": 11, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" }, @@ -66,7 +66,7 @@ "IR": "%add = add nsw i32 %0, 20, !dbg !26, !psr.id !27 | ID: 9", "column": 13, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" } @@ -76,7 +76,7 @@ "IR": "%add = add nsw i32 %0, 20, !dbg !26, !psr.id !27 | ID: 9", "column": 13, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" }, @@ -84,7 +84,7 @@ "IR": "store i32 %add, i32* %i, align 4, !dbg !22, !psr.id !28 | ID: 10", "column": 7, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" } @@ -94,7 +94,7 @@ "IR": "store i32 %add, i32* %i, align 4, !dbg !22, !psr.id !28 | ID: 10", "column": 7, "line": 4, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = j + 20;" }, @@ -102,7 +102,7 @@ "IR": "%1 = load i8, i8* @cond, align 1, !dbg !29, !psr.id !31 | ID: 11", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" } @@ -112,7 +112,7 @@ "IR": "%1 = load i8, i8* @cond, align 1, !dbg !29, !psr.id !31 | ID: 11", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" }, @@ -120,7 +120,7 @@ "IR": "%tobool = trunc i8 %1 to i1, !dbg !29, !psr.id !32 | ID: 12", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" } @@ -130,7 +130,7 @@ "IR": "%tobool = trunc i8 %1 to i1, !dbg !29, !psr.id !32 | ID: 12", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" }, @@ -138,7 +138,7 @@ "IR": "br i1 %tobool, label %if.then, label %if.end, !dbg !33, !psr.id !34 | ID: 13", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" } @@ -148,7 +148,7 @@ "IR": "br i1 %tobool, label %if.then, label %if.end, !dbg !33, !psr.id !34 | ID: 13", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" }, @@ -156,7 +156,7 @@ "IR": "%2 = load i32, i32* %j, align 4, !dbg !35, !psr.id !37 | ID: 14", "column": 9, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" } @@ -166,7 +166,7 @@ "IR": "br i1 %tobool, label %if.then, label %if.end, !dbg !33, !psr.id !34 | ID: 13", "column": 7, "line": 5, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "if (cond) {" }, @@ -174,7 +174,7 @@ "IR": "ret i32 0, !dbg !44, !psr.id !45 | ID: 18", "column": 3, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return 0;" } @@ -184,7 +184,7 @@ "IR": "%2 = load i32, i32* %j, align 4, !dbg !35, !psr.id !37 | ID: 14", "column": 9, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" }, @@ -192,7 +192,7 @@ "IR": "%add1 = add nsw i32 %2, 20, !dbg !38, !psr.id !39 | ID: 15", "column": 11, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" } @@ -202,7 +202,7 @@ "IR": "%add1 = add nsw i32 %2, 20, !dbg !38, !psr.id !39 | ID: 15", "column": 11, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" }, @@ -210,7 +210,7 @@ "IR": "store i32 %add1, i32* %i, align 4, !dbg !40, !psr.id !41 | ID: 16", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" } @@ -220,7 +220,7 @@ "IR": "store i32 %add1, i32* %i, align 4, !dbg !40, !psr.id !41 | ID: 16", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "i = j + 20;" }, @@ -228,7 +228,7 @@ "IR": "br label %if.end, !dbg !42, !psr.id !43 | ID: 17", "column": 3, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" } @@ -238,7 +238,7 @@ "IR": "br label %if.end, !dbg !42, !psr.id !43 | ID: 17", "column": 3, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "}" }, @@ -246,9 +246,9 @@ "IR": "ret i32 0, !dbg !44, !psr.id !45 | ID: 18", "column": 3, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/branch_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return 0;" } } -] +] \ No newline at end of file diff --git a/phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json index 6a9342bd7..82d426eb1 100644 --- a/phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json +++ b/phasar/llvm/test/resource/json_test_code/linear_constant/call_01_cpp_icfg.json @@ -4,7 +4,7 @@ "IR": "%a.addr = alloca i32, align 4, !psr.id !12 | ID: 0", "column": 14, "line": 1, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "void foo(int a) { // clang-format off" }, @@ -12,7 +12,7 @@ "IR": "%b = alloca i32, align 4, !psr.id !13 | ID: 1", "column": 7, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" } @@ -22,7 +22,7 @@ "IR": "%b = alloca i32, align 4, !psr.id !13 | ID: 1", "column": 7, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" }, @@ -30,7 +30,7 @@ "IR": "%0 = load i32, i32* %a.addr, align 4, !dbg !21, !psr.id !22 | ID: 5", "column": 11, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" } @@ -40,7 +40,7 @@ "IR": "%0 = load i32, i32* %a.addr, align 4, !dbg !21, !psr.id !22 | ID: 5", "column": 11, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" }, @@ -48,7 +48,7 @@ "IR": "store i32 %0, i32* %b, align 4, !dbg !19, !psr.id !23 | ID: 6", "column": 7, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" } @@ -58,7 +58,7 @@ "IR": "store i32 42, i32* %i, align 4, !dbg !33, !psr.id !35 | ID: 12", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = 42;" }, @@ -66,7 +66,7 @@ "IR": "%0 = load i32, i32* %i, align 4, !dbg !36, !psr.id !37 | ID: 13", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "foo(i);" } @@ -76,7 +76,7 @@ "IR": "%0 = load i32, i32* %i, align 4, !dbg !36, !psr.id !37 | ID: 13", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "foo(i);" }, @@ -84,7 +84,7 @@ "IR": "call void @_Z3fooi(i32 %0), !dbg !38, !psr.id !39 | ID: 14", "column": 3, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "foo(i);" } @@ -94,7 +94,7 @@ "IR": "call void @_Z3fooi(i32 %0), !dbg !38, !psr.id !39 | ID: 14", "column": 3, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "foo(i);" }, @@ -102,7 +102,7 @@ "IR": "%a.addr = alloca i32, align 4, !psr.id !12 | ID: 0", "column": 14, "line": 1, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "void foo(int a) { // clang-format off" } @@ -112,7 +112,7 @@ "IR": "store i32 %0, i32* %b, align 4 | ID: 6", "column": 7, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "foo(int)", "sourceCodeLine": "int b = a;" }, @@ -120,9 +120,9 @@ "IR": "ret i32 0, !dbg !40, !psr.id !41 | ID: 15", "column": 3, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_01.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return 0;" } } -] +] \ No newline at end of file diff --git a/phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json b/phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json index 8af44090f..c0eb8a4bc 100644 --- a/phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json +++ b/phasar/llvm/test/resource/json_test_code/linear_constant/call_07_cpp_icfg.json @@ -4,7 +4,7 @@ "IR": "%a.addr = alloca i32, align 4, !psr.id !12 | ID: 0", "column": 19, "line": 1, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "int increment(int a) { // clang-format off" }, @@ -12,7 +12,7 @@ "IR": "%0 = load i32, i32* %a.addr, align 4, !dbg !17, !psr.id !18 | ID: 3", "column": 10, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "return ++a;" } @@ -22,7 +22,7 @@ "IR": "store i32 %inc, i32* %a.addr, align 4, !dbg !17, !psr.id !20 | ID: 5", "column": 10, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "return ++a;" }, @@ -30,7 +30,7 @@ "IR": "ret i32 %inc, !dbg !21, !psr.id !22 | ID: 6", "column": 3, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "return ++a;" } @@ -40,7 +40,7 @@ "IR": "%i = alloca i32, align 4, !psr.id !27 | ID: 8", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = 42;" }, @@ -48,7 +48,7 @@ "IR": "%j = alloca i32, align 4, !psr.id !28 | ID: 9", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" } @@ -58,7 +58,7 @@ "IR": "%j = alloca i32, align 4, !psr.id !28 | ID: 9", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" }, @@ -66,7 +66,7 @@ "IR": "%k = alloca i32, align 4, !psr.id !29 | ID: 10", "column": 7, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" } @@ -76,7 +76,7 @@ "IR": "%k = alloca i32, align 4, !psr.id !29 | ID: 10", "column": 7, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" }, @@ -84,7 +84,7 @@ "IR": "store i32 42, i32* %i, align 4, !dbg !32, !psr.id !34 | ID: 13", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = 42;" } @@ -94,7 +94,7 @@ "IR": "store i32 42, i32* %i, align 4, !dbg !32, !psr.id !34 | ID: 13", "column": 7, "line": 6, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int i = 42;" }, @@ -102,7 +102,7 @@ "IR": "%0 = load i32, i32* %i, align 4, !dbg !38, !psr.id !39 | ID: 15", "column": 21, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" } @@ -112,7 +112,7 @@ "IR": "%0 = load i32, i32* %i, align 4, !dbg !38, !psr.id !39 | ID: 15", "column": 21, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" }, @@ -120,7 +120,7 @@ "IR": "%call = call i32 @_Z9incrementi(i32 %0), !dbg !40, !psr.id !41 | ID: 16", "column": 11, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" } @@ -130,7 +130,7 @@ "IR": "%call = call i32 @_Z9incrementi(i32 %0), !dbg !40, !psr.id !41 | ID: 16", "column": 11, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" }, @@ -138,7 +138,7 @@ "IR": "%a.addr = alloca i32, align 4, !psr.id !12 | ID: 0", "column": 19, "line": 1, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "int increment(int a) { // clang-format off" } @@ -148,7 +148,7 @@ "IR": "ret i32 %inc | ID: 6", "column": 3, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "return ++a;" }, @@ -156,7 +156,7 @@ "IR": "store i32 %call, i32* %j, align 4, !dbg !36, !psr.id !42 | ID: 17", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" } @@ -166,7 +166,7 @@ "IR": "store i32 %call, i32* %j, align 4, !dbg !36, !psr.id !42 | ID: 17", "column": 7, "line": 7, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int j = increment(i);" }, @@ -174,7 +174,7 @@ "IR": "%1 = load i32, i32* %j, align 4, !dbg !46, !psr.id !47 | ID: 19", "column": 21, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" } @@ -184,7 +184,7 @@ "IR": "%1 = load i32, i32* %j, align 4, !dbg !46, !psr.id !47 | ID: 19", "column": 21, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" }, @@ -192,7 +192,7 @@ "IR": "%call1 = call i32 @_Z9incrementi(i32 %1), !dbg !48, !psr.id !49 | ID: 20", "column": 11, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" } @@ -202,7 +202,7 @@ "IR": "%call1 = call i32 @_Z9incrementi(i32 %1), !dbg !48, !psr.id !49 | ID: 20", "column": 11, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" }, @@ -210,7 +210,7 @@ "IR": "%a.addr = alloca i32, align 4, !psr.id !12 | ID: 0", "column": 19, "line": 1, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "int increment(int a) { // clang-format off" } @@ -220,7 +220,7 @@ "IR": "ret i32 %inc | ID: 6", "column": 3, "line": 2, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "increment(int)", "sourceCodeLine": "return ++a;" }, @@ -228,7 +228,7 @@ "IR": "store i32 %call1, i32* %k, align 4, !dbg !44, !psr.id !50 | ID: 21", "column": 7, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" } @@ -238,7 +238,7 @@ "IR": "store i32 %call1, i32* %k, align 4, !dbg !44, !psr.id !50 | ID: 21", "column": 7, "line": 8, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "int k = increment(j);" }, @@ -246,9 +246,9 @@ "IR": "ret i32 0, !dbg !51, !psr.id !52 | ID: 22", "column": 3, "line": 9, - "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.cpp", + "sourceCodeFileName": "test/llvm_test_code/linear_constant/call_07.dbg.cpp", "sourceCodeFunctionName": "main", "sourceCodeLine": "return 0;" } } -] +] \ No newline at end of file diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp index 40f0285f1..350a25224 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLEVPKDFTest.cpp @@ -109,7 +109,8 @@ class IDETSAnalysisOpenSSLEVPKDFTest : public ::testing::Test { TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation1) { initialize({PathToLlFiles + "key-derivation1.ll"}); - // llvmtssolver->printReport(); + const unsigned AfterEvpKdfDerive = 99; + const unsigned AfterEvpKdfCtxFree = 147; std::map> Gt; @@ -121,15 +122,15 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation1) { Gt[92] = {{"46", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"20", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"88", OpenSSLEVPKeyDerivationState::PARAM_INIT}}; - Gt[98] = {{"95", OpenSSLEVPKeyDerivationState::DERIVED}, - {"46", OpenSSLEVPKeyDerivationState::DERIVED}, - {"20", OpenSSLEVPKeyDerivationState::DERIVED}, - {"88", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[146] = {{"144", OpenSSLEVPKeyDerivationState::UNINIT}, - {"95", OpenSSLEVPKeyDerivationState::UNINIT}, - {"46", OpenSSLEVPKeyDerivationState::UNINIT}, - {"20", OpenSSLEVPKeyDerivationState::UNINIT}, - {"88", OpenSSLEVPKeyDerivationState::UNINIT}}; + Gt[AfterEvpKdfDerive] = {{"95", OpenSSLEVPKeyDerivationState::DERIVED}, + {"46", OpenSSLEVPKeyDerivationState::DERIVED}, + {"20", OpenSSLEVPKeyDerivationState::DERIVED}, + {"88", OpenSSLEVPKeyDerivationState::DERIVED}}; + Gt[AfterEvpKdfCtxFree] = {{"145", OpenSSLEVPKeyDerivationState::UNINIT}, + {"95", OpenSSLEVPKeyDerivationState::UNINIT}, + {"46", OpenSSLEVPKeyDerivationState::UNINIT}, + {"20", OpenSSLEVPKeyDerivationState::UNINIT}, + {"88", OpenSSLEVPKeyDerivationState::UNINIT}}; compareResults(Gt); } @@ -153,20 +154,20 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation2) { {"58", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"103", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"110", OpenSSLEVPKeyDerivationState::PARAM_INIT}}; - Gt[113] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[114] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, {"58", OpenSSLEVPKeyDerivationState::DERIVED}, {"103", OpenSSLEVPKeyDerivationState::DERIVED}, {"110", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[160] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[161] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, {"58", OpenSSLEVPKeyDerivationState::DERIVED}, {"103", OpenSSLEVPKeyDerivationState::DERIVED}, {"110", OpenSSLEVPKeyDerivationState::DERIVED}, - {"159", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[161] = {{"22", OpenSSLEVPKeyDerivationState::UNINIT}, + {"160", OpenSSLEVPKeyDerivationState::DERIVED}}; + Gt[162] = {{"22", OpenSSLEVPKeyDerivationState::UNINIT}, {"58", OpenSSLEVPKeyDerivationState::UNINIT}, {"103", OpenSSLEVPKeyDerivationState::UNINIT}, {"110", OpenSSLEVPKeyDerivationState::UNINIT}, - {"159", OpenSSLEVPKeyDerivationState::UNINIT}}; + {"160", OpenSSLEVPKeyDerivationState::UNINIT}}; // Fails due to merge conflicts: ID43 and ID162 have both value UNINIT on 22, // but it is implicit at ID43, so merging gives BOT @@ -192,20 +193,20 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation3) { {"21", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"91", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"98", OpenSSLEVPKeyDerivationState::PARAM_INIT}}; - Gt[101] = {{"56", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[102] = {{"56", OpenSSLEVPKeyDerivationState::DERIVED}, {"21", OpenSSLEVPKeyDerivationState::DERIVED}, {"91", OpenSSLEVPKeyDerivationState::DERIVED}, {"98", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[148] = {{"56", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[149] = {{"56", OpenSSLEVPKeyDerivationState::DERIVED}, {"21", OpenSSLEVPKeyDerivationState::DERIVED}, {"91", OpenSSLEVPKeyDerivationState::DERIVED}, {"98", OpenSSLEVPKeyDerivationState::DERIVED}, - {"147", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[149] = {{"56", OpenSSLEVPKeyDerivationState::UNINIT}, + {"148", OpenSSLEVPKeyDerivationState::DERIVED}}; + Gt[150] = {{"56", OpenSSLEVPKeyDerivationState::UNINIT}, {"21", OpenSSLEVPKeyDerivationState::UNINIT}, {"91", OpenSSLEVPKeyDerivationState::UNINIT}, {"98", OpenSSLEVPKeyDerivationState::UNINIT}, - {"147", OpenSSLEVPKeyDerivationState::UNINIT}}; + {"148", OpenSSLEVPKeyDerivationState::UNINIT}}; compareResults(Gt); } @@ -258,7 +259,7 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation5) { {"58", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"103", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"110", OpenSSLEVPKeyDerivationState::PARAM_INIT}}; - Gt[113] = Gt[160] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[114] = Gt[161] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, {"58", OpenSSLEVPKeyDerivationState::DERIVED}, {"103", OpenSSLEVPKeyDerivationState::DERIVED}, {"110", OpenSSLEVPKeyDerivationState::DERIVED}}; @@ -280,7 +281,12 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, DISABLED_KeyDerivation6) { compareResults(Gt); } -TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation7) { +/// TODO: openssl EVP_KDF_derive() changed +// https://github.com/openssl/openssl/commit/7c75f2daf8b50c92bfb5c17fa62136e61f6eb515 +// EVP_KDF_CTX_new(), inputs to the algorithm are supplied either by passing +// them as part of the EVP_KDF_derive() call or using calls to +// EVP_KDF_CTX_set_params() before calling EVP_KDF_derive() to derive the key. +TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, DISABLED_KeyDerivation7) { initialize({PathToLlFiles + "key-derivation7.ll"}); // llvmtssolver->printReport(); std::map> Gt; @@ -292,13 +298,13 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation7) { Gt[104] = {{"21", OpenSSLEVPKeyDerivationState::CTX_ATTACHED}, {"57", OpenSSLEVPKeyDerivationState::CTX_ATTACHED}, {"102", OpenSSLEVPKeyDerivationState::CTX_ATTACHED}}; - Gt[105] = {{"21", OpenSSLEVPKeyDerivationState::ERROR}, + Gt[106] = {{"21", OpenSSLEVPKeyDerivationState::ERROR}, {"57", OpenSSLEVPKeyDerivationState::ERROR}, {"102", OpenSSLEVPKeyDerivationState::ERROR}}; - Gt[152] = Gt[153] = {{"21", OpenSSLEVPKeyDerivationState::ERROR}, + Gt[153] = Gt[154] = {{"21", OpenSSLEVPKeyDerivationState::ERROR}, {"57", OpenSSLEVPKeyDerivationState::ERROR}, {"102", OpenSSLEVPKeyDerivationState::ERROR}, - {"151", OpenSSLEVPKeyDerivationState::ERROR}}; + {"152", OpenSSLEVPKeyDerivationState::ERROR}}; compareResults(Gt); } @@ -321,19 +327,19 @@ TEST_F(IDETSAnalysisOpenSSLEVPKDFTest, KeyDerivation8) { {"58", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"103", OpenSSLEVPKeyDerivationState::PARAM_INIT}, {"110", OpenSSLEVPKeyDerivationState::PARAM_INIT}}; - Gt[113] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[114] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, {"58", OpenSSLEVPKeyDerivationState::DERIVED}, {"103", OpenSSLEVPKeyDerivationState::DERIVED}, {"110", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[160] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, + Gt[161] = {{"22", OpenSSLEVPKeyDerivationState::DERIVED}, {"58", OpenSSLEVPKeyDerivationState::DERIVED}, {"103", OpenSSLEVPKeyDerivationState::DERIVED}, {"110", OpenSSLEVPKeyDerivationState::DERIVED}, - {"159", OpenSSLEVPKeyDerivationState::DERIVED}}; - Gt[161] = {{"22", OpenSSLEVPKeyDerivationState::UNINIT}, + {"160", OpenSSLEVPKeyDerivationState::DERIVED}}; + Gt[162] = {{"22", OpenSSLEVPKeyDerivationState::UNINIT}, {"58", OpenSSLEVPKeyDerivationState::UNINIT}, {"103", OpenSSLEVPKeyDerivationState::UNINIT}, {"110", OpenSSLEVPKeyDerivationState::UNINIT}, - {"159", OpenSSLEVPKeyDerivationState::UNINIT}}; + {"160", OpenSSLEVPKeyDerivationState::UNINIT}}; compareResults(Gt); } diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp index 71a351c67..b7461022c 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IDETSAnalysisOpenSSLSecureHeapTest.cpp @@ -111,7 +111,7 @@ class IDETSAnalysisOpenSSLSecureHeapTest : public ::testing::Test { TEST_F(IDETSAnalysisOpenSSLSecureHeapTest, Memory6) { initialize({PathToLlFiles + "memory6.ll"}); - // secureHeapPropagationResults->printReport(); + // SecureHeapPropagationResults->dumpResults(); std::map> Gt; Gt[25] = {{"9", OpenSSLSecureHeapState::ZEROED}, diff --git a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp index 31529603d..ee960ec19 100644 --- a/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp +++ b/phasar/llvm/test/src/DataFlowSolver/IfdsIde/Problems/IFDSTaintAnalysisTest.cpp @@ -83,7 +83,7 @@ class IFDSTaintAnalysisTest : public ::testing::Test { }; // Test Fixture TEST_F(IFDSTaintAnalysisTest, TaintTest_01) { - initialize({PathToLlFiles + "dummy_source_sink/taint_01.m2r.dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; @@ -147,8 +147,7 @@ TEST_F(IFDSTaintAnalysisTest, TaintTest_06) { } TEST_F(IFDSTaintAnalysisTest, TaintTest_ExceptionHandling_01) { - initialize( - {PathToLlFiles + "dummy_source_sink/taint_exception_01.m2r.dbg.ll"}); + initialize({PathToLlFiles + "dummy_source_sink/taint_exception_01.dbg.ll"}); IFDSSolver_P TaintSolver(*TaintProblem); TaintSolver.solve(); map> GroundTruth; From f87984f9aab21bd66818c95cbf62b19d2566fe9f Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 17:26:27 +0200 Subject: [PATCH 34/95] restructure: rm unneccessary CMakeLists --- unittests/CMakeLists.txt | 32 ----------------- unittests/Controller/CMakeLists.txt | 0 unittests/DB/CMakeLists.txt | 8 ----- unittests/Experimental/CMakeLists.txt | 0 unittests/Flex/CMakeLists.txt | 0 unittests/PhasarLLVM/CMakeLists.txt | 8 ----- .../PhasarLLVM/ControlFlow/CMakeLists.txt | 16 --------- .../PhasarLLVM/DataFlowSolver/CMakeLists.txt | 3 -- .../DataFlowSolver/IfdsIde/CMakeLists.txt | 26 -------------- .../IfdsIde/Problems/CMakeLists.txt | 34 ------------------- .../DataFlowSolver/Mono/CMakeLists.txt | 10 ------ .../DataFlowSolver/WPDS/CMakeLists.txt | 1 - .../DataFlowSolver/WPDS/Solver/CMakeLists.txt | 7 ---- unittests/PhasarLLVM/Passes/CMakeLists.txt | 0 unittests/PhasarLLVM/Pointer/CMakeLists.txt | 8 ----- .../PhasarLLVM/TaintConfig/CMakeLists.txt | 7 ---- .../PhasarLLVM/TypeHierarchy/CMakeLists.txt | 8 ----- unittests/PhasarLLVM/Utils/CMakeLists.txt | 9 ----- unittests/PhasarLLVM/WPDS/CMakeLists.txt | 1 - .../PhasarLLVM/WPDS/Problems/CMakeLists.txt | 7 ---- unittests/Utils/CMakeLists.txt | 13 ------- 21 files changed, 198 deletions(-) delete mode 100644 unittests/CMakeLists.txt delete mode 100644 unittests/Controller/CMakeLists.txt delete mode 100644 unittests/DB/CMakeLists.txt delete mode 100644 unittests/Experimental/CMakeLists.txt delete mode 100644 unittests/Flex/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/ControlFlow/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/WPDS/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/Passes/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/Pointer/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/TaintConfig/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/TypeHierarchy/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/Utils/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/WPDS/CMakeLists.txt delete mode 100644 unittests/PhasarLLVM/WPDS/Problems/CMakeLists.txt delete mode 100644 unittests/Utils/CMakeLists.txt diff --git a/unittests/CMakeLists.txt b/unittests/CMakeLists.txt deleted file mode 100644 index 56a32a8ba..000000000 --- a/unittests/CMakeLists.txt +++ /dev/null @@ -1,32 +0,0 @@ -add_custom_target(PhasarUnitTests) -set_target_properties(PhasarUnitTests PROPERTIES FOLDER "Unittests") -add_dependencies(PhasarUnitTests LLFileGeneration) - -set(PHASAR_UNITTEST_DIR ${CMAKE_CURRENT_BINARY_DIR}) - -add_custom_target(check-phasar-unittests - COMMAND ${CMAKE_CTEST_COMMAND} --progress --output-on-failure -j 8 - WORKING_DIRECTORY ${PHASAR_UNITTEST_DIR} - DEPENDS PhasarUnitTests -) - -# Provide config files for unit tests -file(MAKE_DIRECTORY ${PHASAR_UNITTEST_DIR}/config/) -set(PHASAR_CONFIG_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../config/") -function(test_require_config_file file_name) - configure_file("${PHASAR_CONFIG_DIR}${file_name}" - "${PHASAR_UNITTEST_DIR}/config/." - COPYONLY - ) -endfunction() - -include_directories(TestUtils) - -add_subdirectory(Config) -add_subdirectory(Controller) -add_subdirectory(DB) -add_subdirectory(Experimental) -add_subdirectory(Flex) -add_subdirectory(PhasarClang) -add_subdirectory(PhasarLLVM) -add_subdirectory(Utils) diff --git a/unittests/Controller/CMakeLists.txt b/unittests/Controller/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/unittests/DB/CMakeLists.txt b/unittests/DB/CMakeLists.txt deleted file mode 100644 index 470bc805f..000000000 --- a/unittests/DB/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(DBSources - #DBConnTest.cpp - HexastoreTest.cpp -) - -foreach(TEST_SRC ${DBSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/Experimental/CMakeLists.txt b/unittests/Experimental/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/unittests/Flex/CMakeLists.txt b/unittests/Flex/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/unittests/PhasarLLVM/CMakeLists.txt b/unittests/PhasarLLVM/CMakeLists.txt deleted file mode 100644 index a27eef3db..000000000 --- a/unittests/PhasarLLVM/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -add_subdirectory(ControlFlow) -add_subdirectory(DataFlowSolver) -add_subdirectory(Utils) -add_subdirectory(WPDS) -# add_subdirectory(Passes) -add_subdirectory(Pointer) -add_subdirectory(TaintConfig) -add_subdirectory(TypeHierarchy) diff --git a/unittests/PhasarLLVM/ControlFlow/CMakeLists.txt b/unittests/PhasarLLVM/ControlFlow/CMakeLists.txt deleted file mode 100644 index a7d45fd5f..000000000 --- a/unittests/PhasarLLVM/ControlFlow/CMakeLists.txt +++ /dev/null @@ -1,16 +0,0 @@ -set(ControlFlowSources - LLVMBasedCFGTest.cpp - LLVMBasedICFGTest.cpp - LLVMBasedICFG_CHATest.cpp - LLVMBasedICFG_DTATest.cpp - LLVMBasedICFG_OTFTest.cpp - LLVMBasedICFG_RTATest.cpp - LLVMBasedBackwardCFGTest.cpp - LLVMBasedBackwardICFGTest.cpp - LLVMBasedICFGExportTest.cpp - LLVMBasedICFGGlobCtorDtorTest.cpp -) - -foreach(TEST_SRC ${ControlFlowSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt deleted file mode 100644 index 1f8fa8bb1..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -add_subdirectory(IfdsIde) -add_subdirectory(Mono) -add_subdirectory(WPDS) diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt deleted file mode 100644 index cd64d8af8..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/CMakeLists.txt +++ /dev/null @@ -1,26 +0,0 @@ -add_subdirectory(Problems) - -set(IfdsIdeSources - EdgeFunctionComposerTest.cpp -) - -foreach(TEST_SRC ${IfdsIdeSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) - -set(ThreadedIfdsIdeSources - EdgeFunctionSingletonFactoryTest.cpp -) - -if(UNIX AND CMAKE_CXX_COMPILER_ID MATCHES "^(Apple)?Clang$") - # Only add thread sanitizer for the test if asan is disabled because both - # cannot be active at the same time. - if (NOT "${LLVM_USE_SANITIZER}" MATCHES ".*Address.*" AND NOT "${CMAKE_CXX_FLAGS}" MATCHES ".*address.*") - # Append -fno-omit-frame-pointer to get better stack traces. - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-omit-frame-pointer -fsanitize=thread") - endif() -endif() - -foreach(TEST_SRC ${ThreadedIfdsIdeSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt deleted file mode 100644 index de4eca440..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/IfdsIde/Problems/CMakeLists.txt +++ /dev/null @@ -1,34 +0,0 @@ -if(PHASAR_BUILD_OPENSSL_TS_UNITTESTS) - set(IfdsIdeProblemSources - IFDSConstAnalysisTest.cpp - IFDSTaintAnalysisTest.cpp - IDEInstInteractionAnalysisTest.cpp - IDELinearConstantAnalysisTest.cpp - IDELinearConstantAnalysis_DotTest.cpp - IDETSAnalysisFileIOTest.cpp - IDETSAnalysisOpenSSLEVPKDFTest.cpp - IDETSAnalysisOpenSSLSecureHeapTest.cpp - IDETSAnalysisOpenSSLSecureMemoryTest.cpp - IFDSUninitializedVariablesTest.cpp - IDEExtendedTaintAnalysisTest.cpp - IDEGeneralizedLCATest.cpp - ) -else() - set(IfdsIdeProblemSources - IFDSConstAnalysisTest.cpp - IFDSTaintAnalysisTest.cpp - IDEInstInteractionAnalysisTest.cpp - IDELinearConstantAnalysisTest.cpp - IDELinearConstantAnalysis_DotTest.cpp - IFDSUninitializedVariablesTest.cpp - IDEGeneralizedLCATest.cpp - IDEExtendedTaintAnalysisTest.cpp - IDETSAnalysisFileIOTest.cpp - ) -endif(PHASAR_BUILD_OPENSSL_TS_UNITTESTS) - -test_require_config_file("DOTGraphConfig.json") - -foreach(TEST_SRC ${IfdsIdeProblemSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt deleted file mode 100644 index eb4207c9b..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/Mono/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -set(MonoSources - InterMonoFullConstantPropagationTest.cpp - InterMonoTaintAnalysisTest.cpp - IntraMonoUninitVariablesTest.cpp - IntraMonoFullConstantPropagationTest.cpp -) - -foreach(TEST_SRC ${MonoSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/DataFlowSolver/WPDS/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/WPDS/CMakeLists.txt deleted file mode 100644 index 2865e3027..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/WPDS/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(Solver) diff --git a/unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/CMakeLists.txt b/unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/CMakeLists.txt deleted file mode 100644 index 29875af40..000000000 --- a/unittests/PhasarLLVM/DataFlowSolver/WPDS/Solver/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(WPDSSources - WPDSSolverTest.cpp -) - -foreach(TEST_SRC ${WPDSSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/Passes/CMakeLists.txt b/unittests/PhasarLLVM/Passes/CMakeLists.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/unittests/PhasarLLVM/Pointer/CMakeLists.txt b/unittests/PhasarLLVM/Pointer/CMakeLists.txt deleted file mode 100644 index aa2ccdb00..000000000 --- a/unittests/PhasarLLVM/Pointer/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(ControlFlowSources - LLVMPointsToSetTest.cpp - LLVMPointsToSetSerializationTest.cpp -) - -foreach(TEST_SRC ${ControlFlowSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/TaintConfig/CMakeLists.txt b/unittests/PhasarLLVM/TaintConfig/CMakeLists.txt deleted file mode 100644 index 49e64bd9e..000000000 --- a/unittests/PhasarLLVM/TaintConfig/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(TaintConfigTestSources - TaintConfigTest.cpp -) - -foreach(TEST_SRC ${TaintConfigTestSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/TypeHierarchy/CMakeLists.txt b/unittests/PhasarLLVM/TypeHierarchy/CMakeLists.txt deleted file mode 100644 index e3d6a0f47..000000000 --- a/unittests/PhasarLLVM/TypeHierarchy/CMakeLists.txt +++ /dev/null @@ -1,8 +0,0 @@ -set(PointerSources - LLVMTypeHierarchyTest.cpp - TypeGraphTest.cpp -) - -foreach(TEST_SRC ${PointerSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/Utils/CMakeLists.txt b/unittests/PhasarLLVM/Utils/CMakeLists.txt deleted file mode 100644 index 6e3b666e8..000000000 --- a/unittests/PhasarLLVM/Utils/CMakeLists.txt +++ /dev/null @@ -1,9 +0,0 @@ -set(UtilsSources - LatticeDomainTest.cpp -) - -test_require_config_file("phasar-source-sink-function.json") - -foreach(TEST_SRC ${UtilsSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/PhasarLLVM/WPDS/CMakeLists.txt b/unittests/PhasarLLVM/WPDS/CMakeLists.txt deleted file mode 100644 index 37954f72e..000000000 --- a/unittests/PhasarLLVM/WPDS/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -add_subdirectory(Problems) diff --git a/unittests/PhasarLLVM/WPDS/Problems/CMakeLists.txt b/unittests/PhasarLLVM/WPDS/Problems/CMakeLists.txt deleted file mode 100644 index 2d8d596ec..000000000 --- a/unittests/PhasarLLVM/WPDS/Problems/CMakeLists.txt +++ /dev/null @@ -1,7 +0,0 @@ -set(WPDSProblemSources - WPDSLinearConstantAnalysisTest.cpp -) - -foreach(TEST_SRC ${WPDSProblemSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) diff --git a/unittests/Utils/CMakeLists.txt b/unittests/Utils/CMakeLists.txt deleted file mode 100644 index b40a6f5e8..000000000 --- a/unittests/Utils/CMakeLists.txt +++ /dev/null @@ -1,13 +0,0 @@ -set(UtilsSources - BitVectorSetTest.cpp - EquivalenceClassMapTest.cpp - IOTest.cpp - LLVMIRToSrcTest.cpp - LLVMShorthandsTest.cpp - PAMMTest.cpp - StableVectorTest.cpp -) - -foreach(TEST_SRC ${UtilsSources}) - add_phasar_unittest(${TEST_SRC}) -endforeach(TEST_SRC) From be6d777491ff484abb2cb759cec3420fc6c3548f Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 17:36:36 +0200 Subject: [PATCH 35/95] restructure: fix src folder missing --- phasar/test-utils/src/.gitkeep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 phasar/test-utils/src/.gitkeep diff --git a/phasar/test-utils/src/.gitkeep b/phasar/test-utils/src/.gitkeep new file mode 100644 index 000000000..e69de29bb From 59fdc12c30539cecf61bc5ff7276e96874cfeb88 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Mon, 1 Aug 2022 19:04:02 +0200 Subject: [PATCH 36/95] doc: cmake error more precise --- cmake/just-simple.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index ef04140c5..bc9d4e615 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -107,12 +107,12 @@ function(_just_add_check TARGET) if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/include") else() - message(FATAL_ERROR "_just_add_check: there is no include folder, please add it") + message(FATAL_ERROR "_just_add_check: ${TARGET} has no include folder, please add it") endif() if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/src") else() - message(FATAL_ERROR "_just_add_check: there is no src folder, please add it") + message(FATAL_ERROR "_just_add_check: ${TARGET} has no src folder, please add it") endif() endfunction() From 8a10f66b7408e20bae535a154ebbfb8f0d5e6d7b Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 2 Aug 2022 13:30:35 +0200 Subject: [PATCH 37/95] fix: macos m1 working --- .gitignore | 13 ++----------- phasar/llvm/CMakeLists.txt | 1 + .../phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h | 2 -- .../phasar/PhasarLLVM/Pointer/PointsToSetOwner.h | 1 - phasar/test-utils/src/.gitkeep | 0 phasar/test-utils/src/TestConfig.cpp | 1 + utils/tooling/conan/.gitignore | 1 + 7 files changed, 5 insertions(+), 14 deletions(-) delete mode 100644 phasar/test-utils/src/.gitkeep create mode 100644 phasar/test-utils/src/TestConfig.cpp create mode 100644 utils/tooling/conan/.gitignore diff --git a/.gitignore b/.gitignore index f175263c3..5a21d8b9e 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ bin/* # build directories for cmake build/ build_*/ +cmake-build*/ # LLVM project llvm-project/* @@ -125,14 +126,4 @@ CMakeCache.txt cmake-build-debug/* *.pc Makefile -!test/*/Makefile - -# Unit test output -Testing/ -unittests/DB/DBConnTest -unittests/PhasarLLVM/ControlFlow/LLVMBasedCFGTest -unittests/PhasarLLVM/ifdside/Problems/IFDSConstAnalysisTest -unittests/PhasarLLVM/ifdside/Problems/IFDSTaintAnalysisTest -unittests/PhasarLLVM/Pointer/LLVMTypeHierarchyTest -unittests/Utils/LLVMShorthandsTest -unittests/Utils/PAMMTest +!test/*/Makefile \ No newline at end of file diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt index 74272b674..ed11e9893 100644 --- a/phasar/llvm/CMakeLists.txt +++ b/phasar/llvm/CMakeLists.txt @@ -35,6 +35,7 @@ just_add_library( LLVMipo # llvm::AttributorPass::run nlohmann_json_schema_validator + z EXCLUDE "^.*/WPDS/.*$" "phasar-llvm.cpp$" ) diff --git a/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h index 96d3e61bc..b874c87e2 100644 --- a/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h +++ b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/LLVMPointsToSet.h @@ -22,8 +22,6 @@ #include "nlohmann/json.hpp" -#include - namespace llvm { class Value; class Module; diff --git a/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h index c0060354f..2e9b27678 100644 --- a/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h +++ b/phasar/llvm/include/phasar/PhasarLLVM/Pointer/PointsToSetOwner.h @@ -21,7 +21,6 @@ #include #include -#include #include /// On some MAC systems, is still not fully implemented, so do diff --git a/phasar/test-utils/src/.gitkeep b/phasar/test-utils/src/.gitkeep deleted file mode 100644 index e69de29bb..000000000 diff --git a/phasar/test-utils/src/TestConfig.cpp b/phasar/test-utils/src/TestConfig.cpp new file mode 100644 index 000000000..217c28384 --- /dev/null +++ b/phasar/test-utils/src/TestConfig.cpp @@ -0,0 +1 @@ +#include "TestConfig.h" diff --git a/utils/tooling/conan/.gitignore b/utils/tooling/conan/.gitignore new file mode 100644 index 000000000..f8e0adcae --- /dev/null +++ b/utils/tooling/conan/.gitignore @@ -0,0 +1 @@ +*/logs/ \ No newline at end of file From 2ed3e0f11419c2eaf137b0e8679653f33d4e401d Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 2 Aug 2022 23:36:20 +0200 Subject: [PATCH 38/95] build: updating conan llvm with libclang --- .gitignore | 1 + conanfile.txt | 2 +- utils/tooling/conan/.gitignore | 1 - utils/tooling/conan/llvm/conanfile.py | 149 ++++++-- utils/tooling/conan/llvm/create.sh | 4 - utils/tooling/conan/llvm/logs/build.log | 463 ------------------------ utils/tooling/conan/scripts/config.sh | 6 +- 7 files changed, 114 insertions(+), 512 deletions(-) delete mode 100644 utils/tooling/conan/.gitignore delete mode 100644 utils/tooling/conan/llvm/logs/build.log diff --git a/.gitignore b/.gitignore index 5a21d8b9e..59a241245 100644 --- a/.gitignore +++ b/.gitignore @@ -26,6 +26,7 @@ doc/* # log/ directory log/* +**/*/logs/ # CMake build dir build/* diff --git a/conanfile.txt b/conanfile.txt index cbf8ab5aa..0777f14c4 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,5 +1,5 @@ [requires] -llvm/14.0.6@intellisectest+intellisectest-application/stable +llvm/14.0.6@just-simple-cmake/debug boost/1.72.0 gtest/1.12.1 sqlite3/3.36.0 diff --git a/utils/tooling/conan/.gitignore b/utils/tooling/conan/.gitignore deleted file mode 100644 index f8e0adcae..000000000 --- a/utils/tooling/conan/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*/logs/ \ No newline at end of file diff --git a/utils/tooling/conan/llvm/conanfile.py b/utils/tooling/conan/llvm/conanfile.py index 288f07a62..76a7d4c72 100644 --- a/utils/tooling/conan/llvm/conanfile.py +++ b/utils/tooling/conan/llvm/conanfile.py @@ -26,9 +26,14 @@ ] default_projects = [ 'clang', - # 'clang-tools-extra', - # 'libc', - # 'libclc', + 'clang-tools-extra', + #'libc', clang crashes + #'libclc', + #'lld', + #'lldb', + #'openmp', omptarget-new-[a-zA-Z0-9_-]* in CONAN_LIBS but cant be resolved + #'polly', + #'pstl', ] default_runtimes = [ # 'compiler-rt', @@ -107,8 +112,8 @@ class Llvm(ConanFile): 'fPIC': True, 'components': 'all', 'targets': 'all', - 'exceptions': True, - 'rtti': True, + 'exceptions': True, # llvm default off + 'rtti': True, # llvm default off 'threads': True, 'lto': 'Off', 'static_stdlib': False, @@ -169,56 +174,54 @@ def _cmake_configure(self): cmake = CMake(self, generator="Ninja", parallel=False) cmake.configure(defs={ - 'BUILD_SHARED_LIBS': False, # fine but duplicate in cmake invocation False and OFF + 'BUILD_SHARED_LIBS': False, 'CMAKE_SKIP_RPATH': True, 'CMAKE_POSITION_INDEPENDENT_CODE': \ - self.options.get_safe('fPIC', default=False) or self.options.shared, - 'LLVM_TARGET_ARCH': 'host', # default - 'LLVM_TARGETS_TO_BUILD': self.options.targets, # fine - 'LLVM_BUILD_LLVM_DYLIB': self.options.shared, # fine - 'LLVM_DYLIB_COMPONENTS': self.options.components, # fine - 'LLVM_ENABLE_PIC': self.options.get_safe('fPIC', default=False), # fine - 'LLVM_ABI_BREAKING_CHECKS': 'WITH_ASSERTS', # default - 'LLVM_ENABLE_WARNINGS': True, # default - 'LLVM_ENABLE_PEDANTIC': True, # default - 'LLVM_ENABLE_WERROR': False, # default - 'LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN': True, # NOT default - 'LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO': False, # default - 'LLVM_BUILD_INSTRUMENTED_COVERAGE': False, # default + self.options.fPIC or self.options.shared, + 'LLVM_TARGET_ARCH': 'host', + 'LLVM_TARGETS_TO_BUILD': self.options.targets, + 'LLVM_BUILD_LLVM_DYLIB': self.options.shared, + 'LLVM_DYLIB_COMPONENTS': self.options.components, + 'LLVM_ENABLE_PIC': self.options.fPIC, + 'LLVM_ABI_BREAKING_CHECKS': 'WITH_ASSERTS', + 'LLVM_ENABLE_WARNINGS': True, + 'LLVM_ENABLE_PEDANTIC': True, + 'LLVM_ENABLE_WERROR': False, + 'LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN': True, + 'LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO': False, + 'LLVM_BUILD_INSTRUMENTED_COVERAGE': False, 'LLVM_OPTIMIZED_TABLEGEN': True, # NOT default, can speedup compilation a lot - 'LLVM_REVERSE_ITERATION': False, # default + 'LLVM_REVERSE_ITERATION': False, 'LLVM_ENABLE_BINDINGS': False, # NOT default, dont build OCaml and go bindings - 'LLVM_CCACHE_BUILD': False, # default, can use ccache for speedup - 'LLVM_INCLUDE_TOOLS': self.options.shared, # default on + 'LLVM_CCACHE_BUILD': False, + 'LLVM_INCLUDE_TOOLS': True, 'LLVM_INCLUDE_EXAMPLES': False, # NOT default - 'LLVM_BUILD_TESTS': False, # default + 'LLVM_BUILD_TESTS': False, 'LLVM_INCLUDE_TESTS': False, # NOT default - 'LLVM_INCLUDE_BENCHMARKS': False, # default - 'LLVM_APPEND_VC_REV': False, # NOT default, why not? - 'LLVM_BUILD_DOCS': False, # default - 'LLVM_ENABLE_IDE': False, # unknown default, depends if CMAKE_CONFIGURATION_TYPES is set + 'LLVM_INCLUDE_BENCHMARKS': False, + 'LLVM_APPEND_VC_REV': True, + 'LLVM_BUILD_DOCS': False, + 'LLVM_ENABLE_IDE': False, 'LLVM_ENABLE_TERMINFO': False, # NOT default Use terminfo database if available. - 'LLVM_ENABLE_EH': self.options.exceptions, # default off - 'LLVM_ENABLE_RTTI': self.options.rtti, # default off - 'LLVM_ENABLE_THREADS': self.options.threads, # default on - 'LLVM_ENABLE_LTO': self.options.lto, # default off, possible Off, On, Thin and Full - 'LLVM_STATIC_LINK_CXX_STDLIB': self.options.static_stdlib, # default off, libst -> libc++ if LLVM_ENABLE_LIBCXX - 'LLVM_ENABLE_UNWIND_TABLES': self.options.unwind_tables, # default on + 'LLVM_ENABLE_EH': self.options.exceptions, + 'LLVM_ENABLE_RTTI': self.options.rtti, + 'LLVM_ENABLE_THREADS': self.options.threads, + 'LLVM_ENABLE_LTO': self.options.lto, + 'LLVM_STATIC_LINK_CXX_STDLIB': self.options.static_stdlib, + 'LLVM_ENABLE_UNWIND_TABLES': self.options.unwind_tables, 'LLVM_ENABLE_EXPENSIVE_CHECKS': self.options.expensive_checks, 'LLVM_ENABLE_ASSERTIONS': self.settings.build_type == 'Debug', 'LLVM_USE_NEWPM': False, 'LLVM_USE_OPROFILE': False, 'LLVM_USE_PERF': self.options.use_perf, - 'LLVM_ENABLE_Z3_SOLVER': False, - 'LLVM_ENABLE_LIBPFM': False, - 'LLVM_ENABLE_LIBEDIT': False, + 'LLVM_ENABLE_Z3_SOLVER': False, # default depends if Z3 4.7.1 package found + 'LLVM_ENABLE_LIBPFM': True, + 'LLVM_ENABLE_LIBEDIT': True, 'LLVM_ENABLE_FFI': self.options.with_ffi, - 'LLVM_ENABLE_ZLIB': self.options.get_safe('with_zlib', False), - 'LLVM_ENABLE_LIBXML2': self.options.get_safe('with_xml2', False), + 'LLVM_ENABLE_ZLIB': self.options.with_zlib, + 'LLVM_ENABLE_LIBXML2': self.options.with_xml2, 'LLVM_ENABLE_PROJECTS': ';'.join(enabled_projects), 'LLVM_ENABLE_RUNTIMES': ';'.join(enabled_runtimes), - 'LLVM_ENABLE_BINDINGS': False, - 'LLVM_ENABLE_RTTI': self.options.rtti, }, source_folder=os.path.join(self._source_subfolder, 'llvm')) @@ -286,7 +289,73 @@ def validate(self): if self.settings.build_type == "Debug" and not self.options.enable_debug: raise ConanInvalidConfiguration( "Set the 'enable_debug' option to allow debug builds") + + for project in projects: + for runtime in runtimes: + if self.options.get_safe('with_project_' + project, False) and self.options.get_safe('with_runtime_' + runtime, False): + raise ConanInvalidConfiguration("Duplicate entry in enabled projects / runtime found for \"" + 'with_project_' + project + "\"") def package_info(self): self.cpp_info.libs = tools.collect_libs(self) self.cpp_info.builddirs = ["lib/cmake"] + + # def package_info(self): + # self.cpp_info.set_property("cmake_file_name", "LLVM") + + # if self.options.shared: + # self.cpp_info.libs = tools.collect_libs(self) + # if self.settings.os == 'Linux': + # self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] + # elif self.settings.os == 'Macos': + # self.cpp_info.system_libs = ['m'] + # return + + # components_path = \ + # os.path.join(self.package_folder, 'lib', 'components.json') + # with open(components_path, 'r') as components_file: + # components = json.load(components_file) + + # dependencies = ['ffi', 'z', 'iconv', 'xml2'] + # targets = { + # 'ffi': 'libffi::libffi', + # 'z': 'zlib::zlib', + # 'xml2': 'libxml2::libxml2' + # } + + # for component, deps in components.items(): + # self.cpp_info.components[component].libs = [component] + # self.cpp_info.components[component].requires.extend(dep for dep in deps if dep.startswith('LLVM')) + + # for lib, target in targets.items(): + # if lib in deps: + # self.cpp_info.components[component].requires.append(target) + + # self.cpp_info.components[component].system_libs = [ + # dep for dep in deps + # if not dep.startswith('LLVM') and dep not in dependencies + # ] + + # self.cpp_info.components[component].set_property("cmake_target_name", component) + # self.cpp_info.components[component].builddirs.append(self._module_subfolder) + # self.cpp_info.components[component].names["cmake_find_package"] = component + # self.cpp_info.components[component].names["cmake_find_package_multi"] = component + # self.cpp_info.components[component].build_modules["cmake_find_package"].extend([ + # self._alias_module_file_rel_path, + # self._old_alias_module_file_rel_path, + # ]) + # self.cpp_info.components[component].build_modules["cmake_find_package_multi"].extend([ + # self._alias_module_file_rel_path, + # self._old_alias_module_file_rel_path, + # ]) + + # if self.options.use_llvm_cmake_files: + # self.cpp_info.components[component].build_modules["cmake_find_package"].append( + # os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") + # ) + # self.cpp_info.components[component].build_modules["cmake_find_package_multi"].append( + # os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") + # ) + + # # TODO: to remove in conan v2 once cmake_find_package* generators removed + # self.cpp_info.names["cmake_find_package"] = "LLVM" + # self.cpp_info.names["cmake_find_package_multi"] = "LLVM" \ No newline at end of file diff --git a/utils/tooling/conan/llvm/create.sh b/utils/tooling/conan/llvm/create.sh index 98cc27ea8..5214edafc 100755 --- a/utils/tooling/conan/llvm/create.sh +++ b/utils/tooling/conan/llvm/create.sh @@ -4,10 +4,6 @@ set -o errexit set -o nounset set -o pipefail -if [ "$#" -eq "0" ]; then - echo "[error] please provide a llvm version" - exit 10 -fi readonly llvm_version="${1:-14.0.6}" ( diff --git a/utils/tooling/conan/llvm/logs/build.log b/utils/tooling/conan/llvm/logs/build.log deleted file mode 100644 index 6391a62a0..000000000 --- a/utils/tooling/conan/llvm/logs/build.log +++ /dev/null @@ -1,463 +0,0 @@ -DEBUG :conan_api.py [176]: INIT: Using config '/home/ubuntu/.conan/conan.conf' [2022-07-28 11:25:16,844] -DEBUG :tracer.py [156]: CONAN_API: create(name=None,version=14.0.6,user=intellisectest+intellisectest-application,channel=stable,profile_names=None,settings=None,conf=None,options=None,env=None,test_folder=None,not_export=False,build_modes=['missing'],keep_source=False,keep_build=False,verify=None,manifests=None,manifests_interactive=None,remote_name=None,update=False,test_build_folder=None,lockfile=None,lockfile_out=None,ignore_dirty=False,profile_build=ProfileData(profiles=None, settings=None, options=None, env=None, conf=None),is_build_require=False,require_overrides=None) [2022-07-28 11:25:16,845] -DEBUG :profile_loader.py[120]: PROFILE LOAD: /home/ubuntu/.conan/profiles/default [2022-07-28 11:25:16,847] -DEBUG :profile_loader.py[120]: PROFILE LOAD: /home/ubuntu/.conan/profiles/default [2022-07-28 11:25:16,894] -DEBUG :export.py [114]: EXPORT: /home/ubuntu/git/itst-develop/02_sa/intellisec-sast/tooling/conan/llvm/conanfile.py [2022-07-28 11:25:16,915] -Exporting package recipe -llvm/14.0.6@intellisectest+intellisectest-application/stable exports: File 'conandata.yml' found. Exporting it... -llvm/14.0.6@intellisectest+intellisectest-application/stable exports: Copied 1 '.yml' file: conandata.yml -llvm/14.0.6@intellisectest+intellisectest-application/stable exports_sources: Copied 2 '.patch' files: calculate_job_pools.patch, calculate_job_pools.patch -llvm/14.0.6@intellisectest+intellisectest-application/stable: A new conanfile.py version was exported -llvm/14.0.6@intellisectest+intellisectest-application/stable: Folder: /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/export -llvm/14.0.6@intellisectest+intellisectest-application/stable: Exported revision: 4f00ec8c27a1d3cf33dd70dd84b349d7 -Configuration: -[settings] -arch=x86_64 -arch_build=x86_64 -build_type=Release -compiler=clang -compiler.libcxx=libstdc++11 -compiler.version=14 -os=Linux -os_build=Linux -[options] -[build_requires] -[env] - -DEBUG :graph_builder.py[460]: GRAPH: new_node: llvm/14.0.6@intellisectest+intellisectest-application/stable [2022-07-28 11:25:16,936] -DEBUG :graph_builder.py[68]: GRAPH: Time to load deps 0.011348962783813477 [2022-07-28 11:25:16,937] -DEBUG :rest_client_common.py[160]: REST: ping: https://center.conan.io/v1/ping [2022-07-28 11:25:16,939] -DEBUG :rest_client.py [58]: REST: Cached capabilities for the remote: ['complex_search', 'checksum_deploy', 'revisions', 'matrix_params'] [2022-07-28 11:25:17,124] -DEBUG :rest_client_common.py[188]: REST: get: https://center.conan.io/v1/conans/llvm/14.0.6/intellisectest+intellisectest-application/stable/packages/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/download_urls [2022-07-28 11:25:17,126] -DEBUG :rest_client_common.py[30]: REST ERROR: [2022-07-28 11:25:17,249] -DEBUG :rest_client_common.py[160]: REST: ping: https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan/v1/ping [2022-07-28 11:25:17,252] -DEBUG :rest_client.py [58]: REST: Cached capabilities for the remote: [] [2022-07-28 11:25:17,393] -DEBUG :rest_client_common.py[188]: REST: get: https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan/v1/conans/llvm/14.0.6/intellisectest+intellisectest-application/stable/packages/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/download_urls [2022-07-28 11:25:17,395] -DEBUG :rest_client_common.py[30]: REST ERROR: [2022-07-28 11:25:17,454] -DEBUG :graph_builder.py[460]: GRAPH: new_node: cmake/3.21.3 [2022-07-28 11:25:17,463] -DEBUG :graph_builder.py[460]: GRAPH: new_node: openssl/1.1.1l [2022-07-28 11:25:17,481] -llvm/14.0.6@intellisectest+intellisectest-application/stable (test package): Installing package -Requirements - llvm/14.0.6@intellisectest+intellisectest-application/stable from local cache - Cache -Packages - llvm/14.0.6@intellisectest+intellisectest-application/stable:0c08617941e1fd8086a2a8ec99cd05cf36b19eef - Build -Build requirements - cmake/3.21.3 from 'conancenter' - Cache - openssl/1.1.1l from 'conancenter' - Cache -Build requirements packages - cmake/3.21.3:5c09c752508b674ca5cb1f2d327b5a2d582866c8 - Cache - openssl/1.1.1l:24d596ecc3e7cfef35630620092c5615473ba82a - Cache - -Installing (downloading, building) binaries... -openssl/1.1.1l: Already installed! -cmake/3.21.3: Already installed! -cmake/3.21.3: Appending PATH environment variable: /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/bin -llvm/14.0.6@intellisectest+intellisectest-application/stable: Applying build-requirement: cmake/3.21.3 -llvm/14.0.6@intellisectest+intellisectest-application/stable: Applying build-requirement: openssl/1.1.1l -llvm/14.0.6@intellisectest+intellisectest-application/stable: Configuring sources in /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source -DEBUG :file_downloader.py[130]: DOWNLOAD: https://github.com/llvm/llvm-project/archive/refs/tags/llvmorg-14.0.6.tar.gz [2022-07-28 11:25:18,403] - -llvm/14.0.6@intellisectest+intellisectest-application/stable: Building your package in /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef -INFO :installer.py [133]: GENERATORS: Writing generators [2022-07-28 11:26:14,076] -llvm/14.0.6@intellisectest+intellisectest-application/stable: Generator cmake_find_package created Findcmake.cmake -llvm/14.0.6@intellisectest+intellisectest-application/stable: Generator cmake_find_package created FindOpenSSL.cmake -INFO :installer.py [137]: TOOLCHAIN: Writing toolchain [2022-07-28 11:26:14,080] -llvm/14.0.6@intellisectest+intellisectest-application/stable: Aggregating env generators -DEBUG :build.py [11]: Call conanfile.build() with files in build folder: ['FindOpenSSL.cmake', 'Findcmake.cmake'] [2022-07-28 11:26:14,081] -llvm/14.0.6@intellisectest+intellisectest-application/stable: Calling build() -llvm/14.0.6@intellisectest+intellisectest-application/stable: Enabled LLVM subprojects: clang, clang-tools-extra, libc, libclc -llvm/14.0.6@intellisectest+intellisectest-application/stable: Enabled LLVM runtimes: compiler-rt, libc, libcxx, libcxxabi, libunwind, openmp -INFO :cmake_flags.py [282]: Setting Cross build flags: [2022-07-28 11:26:14,104] - -----Running------ -> cd '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef' && cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="clang" -DCONAN_COMPILER_VERSION="14" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="OFF" -DCMAKE_INSTALL_PREFIX="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/package/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_MODULE_PATH="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev -DBUILD_SHARED_LIBS="False" -DCMAKE_SKIP_RPATH="True" -DCMAKE_POSITION_INDEPENDENT_CODE="True" -DLLVM_TARGET_ARCH="host" -DLLVM_TARGETS_TO_BUILD="all" -DLLVM_BUILD_LLVM_DYLIB="False" -DLLVM_DYLIB_COMPONENTS="all" -DLLVM_ENABLE_PIC="True" -DLLVM_ABI_BREAKING_CHECKS="WITH_ASSERTS" -DLLVM_ENABLE_WARNINGS="True" -DLLVM_ENABLE_PEDANTIC="True" -DLLVM_ENABLE_WERROR="False" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="True" -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO="False" -DLLVM_BUILD_INSTRUMENTED_COVERAGE="False" -DLLVM_OPTIMIZED_TABLEGEN="True" -DLLVM_REVERSE_ITERATION="False" -DLLVM_ENABLE_BINDINGS="False" -DLLVM_CCACHE_BUILD="False" -DLLVM_INCLUDE_TOOLS="False" -DLLVM_INCLUDE_EXAMPLES="False" -DLLVM_INCLUDE_TESTS="False" -DLLVM_INCLUDE_BENCHMARKS="False" -DLLVM_APPEND_VC_REV="False" -DLLVM_BUILD_DOCS="False" -DLLVM_ENABLE_IDE="False" -DLLVM_ENABLE_TERMINFO="False" -DLLVM_ENABLE_EH="True" -DLLVM_ENABLE_RTTI="True" -DLLVM_ENABLE_THREADS="True" -DLLVM_ENABLE_LTO="Off" -DLLVM_STATIC_LINK_CXX_STDLIB="False" -DLLVM_ENABLE_UNWIND_TABLES="True" -DLLVM_ENABLE_EXPENSIVE_CHECKS="False" -DLLVM_ENABLE_ASSERTIONS="False" -DLLVM_USE_NEWPM="False" -DLLVM_USE_OPROFILE="False" -DLLVM_USE_PERF="False" -DLLVM_ENABLE_Z3_SOLVER="False" -DLLVM_ENABLE_LIBPFM="False" -DLLVM_ENABLE_LIBEDIT="False" -DLLVM_ENABLE_FFI="False" -DLLVM_ENABLE_ZLIB="True" -DLLVM_ENABLE_LIBXML2="True" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libclc" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp" '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/llvm' ------------------ --- The C compiler identification is Clang 14.0.6 --- The CXX compiler identification is Clang 14.0.6 --- The ASM compiler identification is Clang --- Found assembler: /usr/local/bin/clang-14 --- Detecting C compiler ABI info --- Detecting C compiler ABI info - done --- Check for working C compiler: /usr/local/bin/clang-14 - skipped --- Detecting C compile features --- Detecting C compile features - done --- Detecting CXX compiler ABI info --- Detecting CXX compiler ABI info - done --- Check for working CXX compiler: /usr/local/bin/clang++ - skipped --- Detecting CXX compile features --- Detecting CXX compile features - done --- bolt project is disabled --- clang project is enabled --- clang-tools-extra project is enabled --- compiler-rt project is disabled --- cross-project-tests project is disabled --- libc project is enabled --- libclc project is enabled --- libcxx project is disabled --- libcxxabi project is disabled --- libunwind project is disabled --- lld project is disabled --- lldb project is disabled --- mlir project is disabled --- openmp project is disabled --- polly project is disabled --- pstl project is disabled --- flang project is disabled --- Performing Test LLVM_LIBSTDCXX_MIN --- Performing Test LLVM_LIBSTDCXX_MIN - Success --- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR --- Performing Test LLVM_LIBSTDCXX_SOFT_ERROR - Success --- Looking for dlfcn.h --- Looking for dlfcn.h - found --- Looking for errno.h --- Looking for errno.h - found --- Looking for fcntl.h --- Looking for fcntl.h - found --- Looking for link.h --- Looking for link.h - found --- Looking for malloc/malloc.h --- Looking for malloc/malloc.h - not found --- Looking for pthread.h --- Looking for pthread.h - found --- Looking for signal.h --- Looking for signal.h - found --- Looking for sys/ioctl.h --- Looking for sys/ioctl.h - found --- Looking for sys/mman.h --- Looking for sys/mman.h - found --- Looking for sys/param.h --- Looking for sys/param.h - found --- Looking for sys/resource.h --- Looking for sys/resource.h - found --- Looking for sys/stat.h --- Looking for sys/stat.h - found --- Looking for sys/time.h --- Looking for sys/time.h - found --- Looking for sys/types.h --- Looking for sys/types.h - found --- Looking for sysexits.h --- Looking for sysexits.h - found --- Looking for termios.h --- Looking for termios.h - found --- Looking for unistd.h --- Looking for unistd.h - found --- Looking for valgrind/valgrind.h --- Looking for valgrind/valgrind.h - not found --- Looking for fenv.h --- Looking for fenv.h - found --- Looking for FE_ALL_EXCEPT --- Looking for FE_ALL_EXCEPT - found --- Looking for FE_INEXACT --- Looking for FE_INEXACT - found --- Looking for mach/mach.h --- Looking for mach/mach.h - not found --- Looking for histedit.h --- Looking for histedit.h - not found --- Looking for CrashReporterClient.h --- Looking for CrashReporterClient.h - not found --- Looking for linux/magic.h --- Looking for linux/magic.h - found --- Looking for pthread_create in pthread --- Looking for pthread_create in pthread - found --- Looking for pthread_getspecific in pthread --- Looking for pthread_getspecific in pthread - found --- Looking for pthread_rwlock_init in pthread --- Looking for pthread_rwlock_init in pthread - found --- Looking for pthread_mutex_lock in pthread --- Looking for pthread_mutex_lock in pthread - found --- Looking for dlopen in dl --- Looking for dlopen in dl - found --- Looking for clock_gettime in rt --- Looking for clock_gettime in rt - found --- Looking for pthread.h --- Looking for pthread.h - found --- Performing Test CMAKE_HAVE_LIBC_PTHREAD --- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed --- Looking for pthread_create in pthreads --- Looking for pthread_create in pthreads - not found --- Looking for pthread_create in pthread --- Looking for pthread_create in pthread - found --- Found Threads: TRUE --- Could NOT find ZLIB (missing: ZLIB_LIBRARY) (found version "1.2.11") --- Could NOT find LibXml2 (missing: LIBXML2_LIBRARY LIBXML2_INCLUDE_DIR) --- Looking for xar_open in xar --- Looking for xar_open in xar - not found --- Looking for arc4random --- Looking for arc4random - not found --- Looking for backtrace --- Looking for backtrace - found --- backtrace facility detected in default set of libraries --- Found Backtrace: /usr/include --- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW --- Performing Test C_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success --- Looking for __register_frame --- Looking for __register_frame - found --- Looking for __deregister_frame --- Looking for __deregister_frame - found --- Looking for __unw_add_dynamic_fde --- Looking for __unw_add_dynamic_fde - not found --- Looking for _Unwind_Backtrace --- Looking for _Unwind_Backtrace - found --- Looking for getpagesize --- Looking for getpagesize - found --- Looking for sysconf --- Looking for sysconf - found --- Looking for getrusage --- Looking for getrusage - found --- Looking for setrlimit --- Looking for setrlimit - found --- Looking for isatty --- Looking for isatty - found --- Looking for futimens --- Looking for futimens - found --- Looking for futimes --- Looking for futimes - found --- Looking for sigaltstack --- Looking for sigaltstack - found --- Looking for lseek64 --- Looking for lseek64 - found --- Looking for mallctl --- Looking for mallctl - not found --- Looking for mallinfo --- Looking for mallinfo - found --- Looking for mallinfo2 --- Looking for mallinfo2 - not found --- Looking for malloc_zone_statistics --- Looking for malloc_zone_statistics - not found --- Looking for getrlimit --- Looking for getrlimit - found --- Looking for posix_spawn --- Looking for posix_spawn - found --- Looking for pread --- Looking for pread - found --- Looking for sbrk --- Looking for sbrk - found --- Looking for strerror --- Looking for strerror - found --- Looking for strerror_r --- Looking for strerror_r - found --- Looking for strerror_s --- Looking for strerror_s - not found --- Looking for setenv --- Looking for setenv - found --- Looking for dlopen --- Looking for dlopen - found --- Looking for dladdr --- Looking for dladdr - not found --- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC --- Performing Test HAVE_STRUCT_STAT_ST_MTIMESPEC_TV_NSEC - Failed --- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC --- Performing Test HAVE_STRUCT_STAT_ST_MTIM_TV_NSEC - Success --- Looking for __GLIBC__ --- Looking for __GLIBC__ - found --- Looking for pthread_getname_np --- Looking for pthread_getname_np - found --- Looking for pthread_setname_np --- Looking for pthread_setname_np - found --- Looking for proc_pid_rusage --- Looking for proc_pid_rusage - not found --- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE --- Performing Test HAVE_STD_IS_TRIVIALLY_COPYABLE - Success --- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB --- Performing Test HAVE_CXX_ATOMICS_WITHOUT_LIB - Success --- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB --- Performing Test HAVE_CXX_ATOMICS64_WITHOUT_LIB - Success --- Performing Test LLVM_HAS_ATOMICS --- Performing Test LLVM_HAS_ATOMICS - Success --- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG --- Performing Test SUPPORTS_VARIADIC_MACROS_FLAG - Success --- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG --- Performing Test SUPPORTS_GNU_ZERO_VARIADIC_MACRO_ARGUMENTS_FLAG - Success --- Native target architecture is X86 --- Threads enabled. --- Doxygen disabled. --- Go bindings disabled. --- Ninja version: 1.10.0 --- Could NOT find OCaml (missing: OCAMLFIND OCAML_VERSION OCAML_STDLIB_PATH) --- OCaml bindings disabled. --- Could NOT find Python module pygments --- Could NOT find Python module pygments.lexers.c_cpp --- Could NOT find Python module yaml --- LLVM host triple: x86_64-unknown-linux-gnu --- LLVM default target triple: x86_64-unknown-linux-gnu --- Performing Test C_SUPPORTS_FPIC --- Performing Test C_SUPPORTS_FPIC - Success --- Performing Test CXX_SUPPORTS_FPIC --- Performing Test CXX_SUPPORTS_FPIC - Success --- Building with -fPIC --- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION --- Performing Test C_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success --- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION --- Performing Test CXX_SUPPORTS_FNO_SEMANTIC_INTERPOSITION - Success --- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG --- Performing Test SUPPORTS_FVISIBILITY_INLINES_HIDDEN_FLAG - Success --- Performing Test C_SUPPORTS_WERROR_DATE_TIME --- Performing Test C_SUPPORTS_WERROR_DATE_TIME - Success --- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME --- Performing Test CXX_SUPPORTS_WERROR_DATE_TIME - Success --- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW --- Performing Test CXX_SUPPORTS_WERROR_UNGUARDED_AVAILABILITY_NEW - Success --- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG --- Performing Test CXX_SUPPORTS_MISSING_FIELD_INITIALIZERS_FLAG - Success --- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG --- Performing Test C_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success --- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG --- Performing Test CXX_SUPPORTS_CXX98_COMPAT_EXTRA_SEMI_FLAG - Success --- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG --- Performing Test C_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success --- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG --- Performing Test CXX_SUPPORTS_IMPLICIT_FALLTHROUGH_FLAG - Success --- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG --- Performing Test C_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success --- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG --- Performing Test CXX_SUPPORTS_COVERED_SWITCH_DEFAULT_FLAG - Success --- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG --- Performing Test CXX_SUPPORTS_CLASS_MEMACCESS_FLAG - Failed --- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG --- Performing Test CXX_SUPPORTS_NOEXCEPT_TYPE_FLAG - Success --- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR --- Performing Test CXX_WONT_WARN_ON_FINAL_NONVIRTUALDTOR - Success --- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG --- Performing Test CXX_SUPPORTS_SUGGEST_OVERRIDE_FLAG - Success --- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL --- Performing Test CXX_WSUGGEST_OVERRIDE_ALLOWS_ONLY_FINAL - Success --- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP --- Performing Test C_WCOMMENT_ALLOWS_LINE_WRAP - Success --- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG --- Performing Test C_SUPPORTS_STRING_CONVERSION_FLAG - Success --- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG --- Performing Test CXX_SUPPORTS_STRING_CONVERSION_FLAG - Success --- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG --- Performing Test C_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success --- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG --- Performing Test CXX_SUPPORTS_MISLEADING_INDENTATION_FLAG - Success --- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS --- Performing Test LINKER_SUPPORTS_COLOR_DIAGNOSTICS - Success --- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS --- Performing Test C_SUPPORTS_FNO_FUNCTION_SECTIONS - Success --- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS --- Performing Test C_SUPPORTS_FFUNCTION_SECTIONS - Success --- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS --- Performing Test CXX_SUPPORTS_FFUNCTION_SECTIONS - Success --- Performing Test C_SUPPORTS_FDATA_SECTIONS --- Performing Test C_SUPPORTS_FDATA_SECTIONS - Success --- Performing Test CXX_SUPPORTS_FDATA_SECTIONS --- Performing Test CXX_SUPPORTS_FDATA_SECTIONS - Success --- Looking for os_signpost_interval_begin --- Looking for os_signpost_interval_begin - not found --- Found Python3: /home/ubuntu/git/itst-develop/venv/bin/python3 (found suitable version "3.8.10", minimum required is "3.0") found components: Interpreter --- Linker detection: LLD --- Performing Test HAS_WERROR_GLOBAL_CTORS --- Performing Test HAS_WERROR_GLOBAL_CTORS - Success --- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX --- Performing Test LLVM_HAS_NOGLOBAL_CTOR_MUTEX - Success --- Found Git: /usr/bin/git (found version "2.25.1") --- Targeting AArch64 --- Targeting AMDGPU --- Targeting ARM --- Targeting AVR --- Targeting BPF --- Targeting Hexagon --- Targeting Lanai --- Targeting Mips --- Targeting MSP430 --- Targeting NVPTX --- Targeting PowerPC --- Targeting RISCV --- Targeting Sparc --- Targeting SystemZ --- Targeting VE --- Targeting WebAssembly --- Targeting X86 --- Targeting XCore --- Set COMPILER_RESOURCE_DIR to /usr/local/lib/clang/14.0.6 using --print-resource-dir -CMake Warning at /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/libc/utils/MPFRWrapper/CMakeLists.txt:13 (message): - Math tests using MPFR will be skipped. - - --- Skipping benchmark for 'libc.src.string.bcmp_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' --- Skipping benchmark for 'libc.src.string.bzero_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' --- Skipping benchmark for 'libc.src.string.memcmp_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' --- Skipping benchmark for 'libc.src.string.memcpy_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' --- Skipping benchmark for 'libc.src.string.memmove_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' --- Skipping benchmark for 'libc.src.string.memset_x86_64_opt_avx512' insufficient host cpu features 'AVX512F' -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): - get_property could not find TARGET clang-resource-headers. Perhaps it has - not yet been created. -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:82 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:140 (builtin_default_target) - - -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): - get_property could not find TARGET llvm-config. Perhaps it has not yet - been created. -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:82 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:140 (builtin_default_target) - - -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3130 (get_property): - get_property could not find TARGET llvm-config. Perhaps it has not yet - been created. -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:375 (runtime_default_target) - - -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3132 (get_property): - get_property could not find TARGET llvm-config. Perhaps it has not yet - been created. -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:375 (runtime_default_target) - - -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:1820 (get_property): - get_property could not find TARGET llvm-config. Perhaps it has not yet - been created. -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:2107 (ExternalProject_Get_Property) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3134 (_ep_get_step_stampfile) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:375 (runtime_default_target) - - -CMake Error at /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:1822 (message): - External project "llvm-config" has no stamp_dir -Call Stack (most recent call first): - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:2107 (ExternalProject_Get_Property) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3134 (_ep_get_step_stampfile) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3255 (_ep_get_file_deps) - /home/ubuntu/.conan/data/cmake/3.21.3/_/_/package/5c09c752508b674ca5cb1f2d327b5a2d582866c8/share/cmake-3.21/Modules/ExternalProject.cmake:3703 (_ep_add_configure_command) - cmake/modules/LLVMExternalProjectUtils.cmake:293 (ExternalProject_Add) - runtimes/CMakeLists.txt:232 (llvm_ExternalProject_Add) - runtimes/CMakeLists.txt:375 (runtime_default_target) - - --- Configuring incomplete, errors occurred! -See also "/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/CMakeFiles/CMakeOutput.log". -See also "/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef/CMakeFiles/CMakeError.log". -llvm/14.0.6@intellisectest+intellisectest-application/stable: -llvm/14.0.6@intellisectest+intellisectest-application/stable: ERROR: Package '0c08617941e1fd8086a2a8ec99cd05cf36b19eef' build failed -llvm/14.0.6@intellisectest+intellisectest-application/stable: WARN: Build folder /home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef -ERROR: llvm/14.0.6@intellisectest+intellisectest-application/stable: Error in build() method, line 237 - cmake = self._cmake_configure() -while calling '_cmake_configure', line 171 - cmake.configure(defs={ - ConanException: Error 1 while executing cd '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef' && cmake -G "Ninja" -DCMAKE_BUILD_TYPE="Release" -DCONAN_IN_LOCAL_CACHE="ON" -DCONAN_COMPILER="clang" -DCONAN_COMPILER_VERSION="14" -DCONAN_CXX_FLAGS="-m64" -DCONAN_SHARED_LINKER_FLAGS="-m64" -DCONAN_C_FLAGS="-m64" -DCONAN_LIBCXX="libstdc++11" -DBUILD_SHARED_LIBS="OFF" -DCMAKE_INSTALL_PREFIX="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/package/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_INSTALL_BINDIR="bin" -DCMAKE_INSTALL_SBINDIR="bin" -DCMAKE_INSTALL_LIBEXECDIR="bin" -DCMAKE_INSTALL_LIBDIR="lib" -DCMAKE_INSTALL_INCLUDEDIR="include" -DCMAKE_INSTALL_OLDINCLUDEDIR="include" -DCMAKE_INSTALL_DATAROOTDIR="share" -DCONAN_CMAKE_POSITION_INDEPENDENT_CODE="ON" -DCMAKE_MODULE_PATH="/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/build/0c08617941e1fd8086a2a8ec99cd05cf36b19eef" -DCMAKE_EXPORT_NO_PACKAGE_REGISTRY="ON" -DCONAN_EXPORTED="1" -Wno-dev -DBUILD_SHARED_LIBS="False" -DCMAKE_SKIP_RPATH="True" -DCMAKE_POSITION_INDEPENDENT_CODE="True" -DLLVM_TARGET_ARCH="host" -DLLVM_TARGETS_TO_BUILD="all" -DLLVM_BUILD_LLVM_DYLIB="False" -DLLVM_DYLIB_COMPONENTS="all" -DLLVM_ENABLE_PIC="True" -DLLVM_ABI_BREAKING_CHECKS="WITH_ASSERTS" -DLLVM_ENABLE_WARNINGS="True" -DLLVM_ENABLE_PEDANTIC="True" -DLLVM_ENABLE_WERROR="False" -DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN="True" -DLLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO="False" -DLLVM_BUILD_INSTRUMENTED_COVERAGE="False" -DLLVM_OPTIMIZED_TABLEGEN="True" -DLLVM_REVERSE_ITERATION="False" -DLLVM_ENABLE_BINDINGS="False" -DLLVM_CCACHE_BUILD="False" -DLLVM_INCLUDE_TOOLS="False" -DLLVM_INCLUDE_EXAMPLES="False" -DLLVM_INCLUDE_TESTS="False" -DLLVM_INCLUDE_BENCHMARKS="False" -DLLVM_APPEND_VC_REV="False" -DLLVM_BUILD_DOCS="False" -DLLVM_ENABLE_IDE="False" -DLLVM_ENABLE_TERMINFO="False" -DLLVM_ENABLE_EH="True" -DLLVM_ENABLE_RTTI="True" -DLLVM_ENABLE_THREADS="True" -DLLVM_ENABLE_LTO="Off" -DLLVM_STATIC_LINK_CXX_STDLIB="False" -DLLVM_ENABLE_UNWIND_TABLES="True" -DLLVM_ENABLE_EXPENSIVE_CHECKS="False" -DLLVM_ENABLE_ASSERTIONS="False" -DLLVM_USE_NEWPM="False" -DLLVM_USE_OPROFILE="False" -DLLVM_USE_PERF="False" -DLLVM_ENABLE_Z3_SOLVER="False" -DLLVM_ENABLE_LIBPFM="False" -DLLVM_ENABLE_LIBEDIT="False" -DLLVM_ENABLE_FFI="False" -DLLVM_ENABLE_ZLIB="True" -DLLVM_ENABLE_LIBXML2="True" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra;libc;libclc" -DLLVM_ENABLE_RUNTIMES="compiler-rt;libc;libcxx;libcxxabi;libunwind;openmp" '/home/ubuntu/.conan/data/llvm/14.0.6/intellisectest+intellisectest-application/stable/source/source/llvm' diff --git a/utils/tooling/conan/scripts/config.sh b/utils/tooling/conan/scripts/config.sh index e7c40ae1d..8d9228066 100755 --- a/utils/tooling/conan/scripts/config.sh +++ b/utils/tooling/conan/scripts/config.sh @@ -3,9 +3,9 @@ set +o errexit CONANFILE="$(readlink -f "$(pwd)/../../../../conanfile.txt")" -TARGET="intellisectest+intellisectest-application/stable" -REMOTE="itst" -REMOTE_URL="https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/16796/packages/conan" +TARGET="just-simple-cmake/debug" +REMOTE="just-simple-cmake" +REMOTE_URL="https://gitlab.cc-asp.fraunhofer.de/api/v4/projects/34353/packages/conan" readonly CONANFILE #shellcheck disable=SC2034 From 83f20337323fa76a338637581742a92785ba5f77 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 2 Aug 2022 23:52:28 +0200 Subject: [PATCH 39/95] build: adding libclang --- CMakeLists.txt | 3 ++- phasar/clang/CMakeLists.txt | 11 ++++++++++- phasar/llvm/CMakeLists.txt | 1 + phasar/utils/CMakeLists.txt | 3 +++ 4 files changed, 16 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b8f2c0cb..4d2f823da 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -25,8 +25,9 @@ set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) include(cmake/just-simple.cmake) +just_limit_jobs(COMPILE 1200 LINK 1200) add_subdirectory(phasar/boomerang) -add_subdirectory(phasar/clang) +#add_subdirectory(phasar/clang) add_subdirectory(phasar/config) add_subdirectory(phasar/controller) add_subdirectory(phasar/db) diff --git a/phasar/clang/CMakeLists.txt b/phasar/clang/CMakeLists.txt index dfea35a86..20f98c236 100644 --- a/phasar/clang/CMakeLists.txt +++ b/phasar/clang/CMakeLists.txt @@ -3,10 +3,19 @@ just_add_library( LLVMCore LLVMOption LLVMSupport - #clang-cpp + + clangAST + clangBasic + clangFrontend + clangLex + clangRewrite + + clangSerialization + clangTooling phasar-utils EXCLUDE "phasar-clang.cpp$" ) +# openmp needed: llvm::omp::getOpenMPDirectiveName just_add_executable( LINK diff --git a/phasar/llvm/CMakeLists.txt b/phasar/llvm/CMakeLists.txt index ed11e9893..389326770 100644 --- a/phasar/llvm/CMakeLists.txt +++ b/phasar/llvm/CMakeLists.txt @@ -34,6 +34,7 @@ just_add_library( LLVMVectorize # llvm::ShouldRunExtraVectorPasses::Key LLVMipo # llvm::AttributorPass::run + sqlite3 nlohmann_json_schema_validator z EXCLUDE "^.*/WPDS/.*$" "phasar-llvm.cpp$" diff --git a/phasar/utils/CMakeLists.txt b/phasar/utils/CMakeLists.txt index f470f7468..92a042aca 100644 --- a/phasar/utils/CMakeLists.txt +++ b/phasar/utils/CMakeLists.txt @@ -1,8 +1,11 @@ just_add_library( LINK + LLVMBinaryFormat LLVMBitWriter + LLVMBitstreamReader LLVMCore LLVMDemangle + LLVMRemarks LLVMSupport phasar-config From bd57421b362180b94a3caef29b2dc2fdb3421d0d Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 2 Aug 2022 23:53:32 +0200 Subject: [PATCH 40/95] build: .ll generation using conan bin --- .../llvm/test/llvm_test_code/CMakeLists.txt | 34 ++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/phasar/llvm/test/llvm_test_code/CMakeLists.txt b/phasar/llvm/test/llvm_test_code/CMakeLists.txt index adb9104c9..9bab9f162 100644 --- a/phasar/llvm/test/llvm_test_code/CMakeLists.txt +++ b/phasar/llvm/test/llvm_test_code/CMakeLists.txt @@ -76,12 +76,37 @@ function(generate_ll_file) cmake_path(ABSOLUTE_PATH GEN_LL_FILE NORMALIZE OUTPUT_VARIABLE input_path) set(GEN_CMD_COMMENT "${GEN_CMD_COMMENT} ${input_path}") + # What if llvm is shared? + # Do we need to add lib folders, maybe here LD_LIBRARY_PATH locally (please please dont globally) + # CONAN_LIB_DIRS <- + set(conan_clang) + set(conan_clangpp) + set(conan_opt) + foreach(bin_dir ${CONAN_BIN_DIRS_LLVM}) + if (EXISTS "${bin_dir}/clang") + set(conan_clang "${bin_dir}/clang") + endif() + if (EXISTS "${bin_dir}/clang++") + set(conan_clangpp "${bin_dir}/clang++") + endif() + if (EXISTS "${bin_dir}/opt") + set(conan_opt "${bin_dir}/opt") + endif() + endforeach() + if(NOT conan_clang) + message(FATAL_ERROR "For .ll generation I would like to use conan clang but I couldn't find it here: ${CONAN_BIN_DIRS_LLVM}") + elseif(NOT conan_clangpp) + message(FATAL_ERROR "For .ll generation I would like to use conan clang++ but I couldn't find it here: ${CONAN_BIN_DIRS_LLVM}") + elseif(NOT conan_opt) + message(FATAL_ERROR "For .ll generation I would like to use conan opt but I couldn't find it here: ${CONAN_BIN_DIRS_LLVM}") + endif() + # define .ll file generation command if("${GEN_LL_FILE}" MATCHES "\.cpp$") - set(GEN_CMD ${CMAKE_CXX_COMPILER_LAUNCHER} ${CMAKE_CXX_COMPILER}) + set(GEN_CMD ${conan_clangpp}) list(APPEND GEN_CMD ${GEN_CXX_FLAGS}) else() - set(GEN_CMD ${CMAKE_C_COMPILER_LAUNCHER} ${CMAKE_C_COMPILER}) + set(GEN_CMD ${conan_clang}) list(APPEND GEN_CMD ${GEN_C_FLAGS}) endif() @@ -93,7 +118,7 @@ function(generate_ll_file) add_custom_command( OUTPUT ${output_path} COMMAND ${GEN_CMD} ${all_include_dirs} "${input_path}" -o "${output_path}" - COMMAND ${CMAKE_CXX_COMPILER_LAUNCHER} opt -mem2reg -S "${output_path}" -o "${output_path}" + COMMAND ${CMAKE_CXX_COMPILER_LAUNCHER} ${conan_opt} -mem2reg -S "${output_path}" -o "${output_path}" COMMENT ${GEN_CMD_COMMENT} DEPENDS ${GEN_LL_FILE} VERBATIM @@ -123,8 +148,9 @@ file(GLOB_RECURSE test_code_files RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}" "*.c*") list(FILTER test_code_files INCLUDE REGEX "^.*\.(c|cpp)$") -list(FILTER test_code_files EXCLUDE REGEX "^.*xtaint0[78].cpp$") # TODO also excluded in CMakeList, maybe remove instead? +# execute_process(COMMAND clang --version OUTPUT_VARIABLE) +# contains 14. -> allow system llvm bin instead conan llvm bin foreach(test_code_file ${test_code_files}) generate_ll_file( FILE "${test_code_file}" From 72dc28eec530a7e788e172c1995a7cbe32455808 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 2 Aug 2022 23:54:11 +0200 Subject: [PATCH 41/95] test: removed unneccessary tests --- .../test/llvm_test_code/xtaint/xtaint07.cpp | 11 ---------- .../test/llvm_test_code/xtaint/xtaint08.cpp | 21 ------------------- 2 files changed, 32 deletions(-) delete mode 100644 phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp delete mode 100644 phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp diff --git a/phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp deleted file mode 100644 index 2199cbd5f..000000000 --- a/phasar/llvm/test/llvm_test_code/xtaint/xtaint07.cpp +++ /dev/null @@ -1,11 +0,0 @@ -#include - -void foo(int x, int &y) { y = x; } - -int main([[clang::annotate("psr.source")]] int argc, char *argv[]) { - PHASAR_DECLARE_COMPLETE_FUN_AS_SINK(printf); - - int x = 0; - foo(argc, x); - printf("%d\n", x); -} diff --git a/phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp b/phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp deleted file mode 100644 index 4246cccc9..000000000 --- a/phasar/llvm/test/llvm_test_code/xtaint/xtaint08.cpp +++ /dev/null @@ -1,21 +0,0 @@ -#define PHASAR_ENABLE_TAINT_CONFIGURATION_API -#include "../../../devapis/taint/phasar_taint_config_api.h" -#include - -struct Bar { - int x; - int y; -}; - -void foo(int x, Bar &y) { y.x = x; } - -int main(int argc, char *argv[]) { - PHASAR_DECLARE_VAR_AS_SOURCE(argc); - PHASAR_DECLARE_COMPLETE_FUN_AS_SINK(printf); - - Bar x = {0, 0}; - foo(argc, x); - - printf("%d\n", x.x); - printf("%d\n", x.y); -} From 0919c9e102f4f72433c8929814a47099e90c3f27 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 3 Aug 2022 00:22:40 +0200 Subject: [PATCH 42/95] fix: updated n_json to match n_validator --- conanfile.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/conanfile.txt b/conanfile.txt index 0777f14c4..1d09dcd93 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -4,7 +4,7 @@ boost/1.72.0 gtest/1.12.1 sqlite3/3.36.0 json-schema-validator/2.1.0 -nlohmann_json/3.9.1 +nlohmann_json/3.10.5 libcurl/7.80.0 zlib/1.2.12 # fix boost / clash zlib openssl/3.0.5 # includes needed for some test files From 8ee2c5071e8cef6e2b64f49ad3c34f3607be8165 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 10 Aug 2022 10:26:57 +0200 Subject: [PATCH 43/95] fix: enabled phasar-clang --- CMakeLists.txt | 2 +- conanfile.txt | 5 ++++- phasar/clang/CMakeLists.txt | 1 + 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 4d2f823da..4b2ca1f42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -27,7 +27,7 @@ include(cmake/just-simple.cmake) just_limit_jobs(COMPILE 1200 LINK 1200) add_subdirectory(phasar/boomerang) -#add_subdirectory(phasar/clang) +add_subdirectory(phasar/clang) add_subdirectory(phasar/config) add_subdirectory(phasar/controller) add_subdirectory(phasar/db) diff --git a/conanfile.txt b/conanfile.txt index 1d09dcd93..65595c99c 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,5 +1,5 @@ [requires] -llvm/14.0.6@just-simple-cmake/debug +llvm/14.0.6 boost/1.72.0 gtest/1.12.1 sqlite3/3.36.0 @@ -15,3 +15,6 @@ cmake [options] llvm:enable_debug=True llvm:shared=False +llvm:with_project_clang=True +llvm:with_project_openmp=True +llvm:keep_binaries_regex=^(clang\+\+|clang|opt)$ \ No newline at end of file diff --git a/phasar/clang/CMakeLists.txt b/phasar/clang/CMakeLists.txt index 20f98c236..8a5627c22 100644 --- a/phasar/clang/CMakeLists.txt +++ b/phasar/clang/CMakeLists.txt @@ -9,6 +9,7 @@ just_add_library( clangFrontend clangLex clangRewrite + omp clangSerialization clangTooling From fdf2cac829bcf5664357b81faa0b7e853f0b3b31 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Wed, 10 Aug 2022 10:27:36 +0200 Subject: [PATCH 44/95] fix: updated js.cmake with install / coverage --- cmake/just-simple.cmake | 49 +++++++---------------------------------- 1 file changed, 8 insertions(+), 41 deletions(-) diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index bc9d4e615..4ccd542e3 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -10,7 +10,6 @@ endif () # download cmake dependencies if not present set(JUST_SIMPLE_conan "${CMAKE_SOURCE_DIR}/cmake/conan.cmake") -set(JUST_SIMPLE_coverage "${CMAKE_SOURCE_DIR}/cmake/code-coverage.cmake") if(NOT EXISTS "${JUST_SIMPLE_conan}") file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/0.18.1/conan.cmake" "${JUST_SIMPLE_conan}" @@ -19,6 +18,7 @@ if(NOT EXISTS "${JUST_SIMPLE_conan}") endif() include(${JUST_SIMPLE_conan}) +set(JUST_SIMPLE_coverage "${CMAKE_SOURCE_DIR}/cmake/code-coverage.cmake") if (NOT EXISTS "${JUST_SIMPLE_coverage}") file(DOWNLOAD "https://raw.githubusercontent.com/StableCoder/cmake-scripts/ed79fb95f7bd39b2cb158d7ff83a5dbb639343e8/code-coverage.cmake" "${JUST_SIMPLE_coverage}" @@ -51,7 +51,7 @@ include("${JUST_SIMPLE_coverage}") add_code_coverage_all_targets(EXCLUDE ".conan/.*" ".*/test/.*") # TODO its allowed to call it something else, move name enforcing to config? enable_testing() #enable ctest -set(CMAKE_CTEST_ARGUMENTS "--output-junit;${CMAKE_BINARY_DIR}/Testing/Temporary/JUnit.xml;") # for ci import +set(CMAKE_CTEST_ARGUMENTS "--output-junit;${CMAKE_BINARY_DIR}/Testing/Temporary/JUnit.xml;--output-on-failure;") # for ci import include(GoogleTest) # TODO offer a diagnostic run with link / compile = 1, job = 1 and check mem usage with "sar -r cmd" (sysstat package) automatically? @@ -153,31 +153,6 @@ function(just_copy_resource TARGET) endforeach() endfunction() -function(_just_check_library_order) - set(options) - set(oneValueArgs TARGET) - set(multiValueArgs LINK) - cmake_parse_arguments(PARSE_ARGV "0" "just_check" "${options}" "${oneValueArgs}" "${multiValueArgs}") - - set(index -1) - set(wrong_order OFF) - set(correct_order) - foreach(available_lib ${CONAN_LIBS}) - list(FIND just_check_LINK ${available_lib} found) - if (found GREATER -1) - list(APPEND correct_order "${available_lib}") - if (found LESS index) - set(wrong_order ON) - endif() - set(index "${found}") - endif() - endforeach() - - if (${wrong_order}) - message(FATAL_ERROR "${just_check_TARGET} has wrong link order, expecting: ${correct_order}") - endif() -endfunction() - function(just_add_library) # Argument parsing set(options SKIP_SUBDIRECTORIES) @@ -193,10 +168,6 @@ function(just_add_library) endif() _just_add_check("${TARGET}") - if (just_add_LINK) - _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) - endif() - # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) @@ -230,6 +201,9 @@ function(just_add_library) _just_add_subdirectory() endif() _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") + + install(TARGETS ${TARGET} EXPORT ${TARGET}) + install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) endfunction() function(just_add_executable) @@ -247,11 +221,6 @@ function(just_add_executable) endif() _just_add_check("${TARGET}") - if (just_add_LINK) - _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) - endif() - - # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) @@ -289,6 +258,8 @@ function(just_add_executable) endif() _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") + + install(TARGETS ${TARGET} EXPORT ${TARGET}) endfunction() function(just_add_tests) @@ -314,10 +285,6 @@ function(just_add_tests) endif() _just_add_check("${TARGET}") - if (just_add_LINK) - _just_check_library_order(TARGET "${TARGET}" LINK ${just_add_LINK}) - endif() - # create filelist file(GLOB_RECURSE files include/* src/*) if(just_add_INCLUDE) @@ -338,7 +305,7 @@ function(just_add_tests) add_executable("${TARGET}" ${files}) string(TOUPPER "RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}" binary_folder) set_target_properties("${TARGET}" PROPERTIES "${binary_folder}" "${CMAKE_CURRENT_BINARY_DIR}") - gtest_discover_tests("${TARGET}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" DISCOVERY_TIMEOUT 60) + gtest_discover_tests("${TARGET}" WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}" DISCOVERY_TIMEOUT 60 PROPERTIES LABELS ${TARGET_UNDER_TEST}) target_include_directories("${TARGET}" PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include" ) set(LINK_DEPENDENCIES) From 01d764ffcc7c527db8f89e5649cef2787dedfcb9 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 16 Aug 2022 14:33:08 +0200 Subject: [PATCH 45/95] build(llvm): adding llvm recipse from pr https://github.com/jusito/conan-center-index/tree/llvm --- conanfile.txt | 11 +- utils/tooling/conan/llvm/conanfile.py | 512 +++++++++++++----- utils/tooling/conan/llvm/create.sh | 2 +- .../conan/llvm/test_package/CMakeLists.txt | 1 + utils/tooling/conan/wali/conanfile.py | 27 +- 5 files changed, 398 insertions(+), 155 deletions(-) diff --git a/conanfile.txt b/conanfile.txt index 65595c99c..9bd23695c 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -1,5 +1,5 @@ [requires] -llvm/14.0.6 +llvm/14.0.6@just-simple-cmake/debug boost/1.72.0 gtest/1.12.1 sqlite3/3.36.0 @@ -13,8 +13,13 @@ openssl/3.0.5 # includes needed for some test files cmake [options] -llvm:enable_debug=True +# for phasar shared + replace LLVM.* deps with LLVM +# sqlite3:shared=True +# llvm:shared=True +# for phasar static llvm:shared=False + +llvm:enable_debug=True llvm:with_project_clang=True llvm:with_project_openmp=True -llvm:keep_binaries_regex=^(clang\+\+|clang|opt)$ \ No newline at end of file +llvm:keep_binaries_regex=^(clang|clang\+\+|opt)$ \ No newline at end of file diff --git a/utils/tooling/conan/llvm/conanfile.py b/utils/tooling/conan/llvm/conanfile.py index 76a7d4c72..e2a8abdbf 100644 --- a/utils/tooling/conan/llvm/conanfile.py +++ b/utils/tooling/conan/llvm/conanfile.py @@ -1,9 +1,10 @@ from conans import ConanFile, tools, CMake from conans.tools import Version from conans.errors import ConanInvalidConfiguration -import os, shutil, glob +from collections import defaultdict +import os, shutil, glob, re, json -# https://github.com/conan-io/conan-center-index/pull/7613 +# copied from: https://github.com/jusito/conan-center-index/tree/llvm # https://llvm.org/docs/CMake.html#frequently-used-llvm-related-variables projects = [ 'clang', @@ -26,26 +27,9 @@ ] default_projects = [ 'clang', - 'clang-tools-extra', - #'libc', clang crashes - #'libclc', - #'lld', - #'lldb', - #'openmp', omptarget-new-[a-zA-Z0-9_-]* in CONAN_LIBS but cant be resolved - #'polly', - #'pstl', + 'openmp', ] default_runtimes = [ - # 'compiler-rt', - # 'libc', - # 'libcxx', - # 'libcxxabi', - # 'libunwind', - # 'openmp', - #'libcxx', - # libcxxabi appears to be required to build libcxx. - # See: https://reviews.llvm.org/D63883 - #'libcxxabi', ] class Llvm(ConanFile): @@ -91,11 +75,16 @@ class Llvm(ConanFile): 'Address;Undefined', 'None' ], + 'with_z3': [True, False], 'with_ffi': [True, False], 'with_zlib': [True, False], 'with_xml2': [True, False], + 'keep_binaries_regex': 'ANY', + + # options removed in package id 'use_llvm_cmake_files': [True, False], 'enable_debug': [True, False], + 'clean_build_bin': [True, False], }, } default_options = { @@ -112,8 +101,8 @@ class Llvm(ConanFile): 'fPIC': True, 'components': 'all', 'targets': 'all', - 'exceptions': True, # llvm default off - 'rtti': True, # llvm default off + 'exceptions': True, # llvm 14 default off + 'rtti': True, # llvm 14 default off 'threads': True, 'lto': 'Off', 'static_stdlib': False, @@ -121,15 +110,30 @@ class Llvm(ConanFile): 'expensive_checks': False, 'use_perf': False, 'use_sanitizer': 'None', + 'with_z3': False, 'with_ffi': False, 'with_zlib': True, 'with_xml2': True, - 'enable_debug': False, + 'keep_binaries_regex': '^$', + + # options removed in package id + 'enable_debug': False, # disable debug builds in ci 'use_llvm_cmake_files': False, + 'clean_build_bin': True, # prevent 40gb debug build folder } } generators = 'cmake_find_package' + def requirements(self): + if self.options.with_ffi: + self.requires('libffi/[>3.4.0 <4.0.0]') + if self.options.get_safe('with_zlib', False): + self.requires('zlib/[>1.2.0 <2.0.0]') + if self.options.get_safe('with_xml2', False): + self.requires('libxml2/[>2.9.0 <3.0.0]') + if self.options.get_safe('with_z3', False): + self.requires('z3/[>4.8.0 <5.0.0]') + @property def repo_folder(self): return os.path.join(self.source_folder, self._source_subfolder) @@ -144,13 +148,17 @@ def source(self): self._patch_sources() def build_requirements(self): - self.build_requires("cmake/3.21.3") + # Older cmake versions may have issues generating the graphviz output used + # to model the components + self.build_requires("cmake/[>3.21.3 <4.0.0]") def configure(self): if self.options.shared: del self.options.fPIC if self.settings.os == "Windows": del self.options.fPIC + del self.options.with_zlib + del self.options.with_xml2 if self.settings.compiler.get_safe("cppstd"): tools.check_min_cppstd(self, '14') @@ -158,6 +166,9 @@ def _patch_sources(self): for patch in self.conan_data.get('patches', {}).get(self.version, []): tools.patch(**patch) + # fix LOCATION / LOCATION_${build_type} not set on libxml2 + tools.replace_in_file(self._source_subfolder + "/llvm/lib/WindowsManifest/CMakeLists.txt", "get_property", 'find_library(libxml2_library NAME xml2 PATHS ${LibXml2_LIB_DIRS} NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH) #') + def _cmake_configure(self): enabled_projects = [ project for project in projects @@ -173,58 +184,60 @@ def _cmake_configure(self): ', '.join(enabled_runtimes))) cmake = CMake(self, generator="Ninja", parallel=False) - cmake.configure(defs={ - 'BUILD_SHARED_LIBS': False, - 'CMAKE_SKIP_RPATH': True, - 'CMAKE_POSITION_INDEPENDENT_CODE': \ - self.options.fPIC or self.options.shared, - 'LLVM_TARGET_ARCH': 'host', - 'LLVM_TARGETS_TO_BUILD': self.options.targets, - 'LLVM_BUILD_LLVM_DYLIB': self.options.shared, - 'LLVM_DYLIB_COMPONENTS': self.options.components, - 'LLVM_ENABLE_PIC': self.options.fPIC, - 'LLVM_ABI_BREAKING_CHECKS': 'WITH_ASSERTS', - 'LLVM_ENABLE_WARNINGS': True, - 'LLVM_ENABLE_PEDANTIC': True, - 'LLVM_ENABLE_WERROR': False, - 'LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN': True, - 'LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO': False, - 'LLVM_BUILD_INSTRUMENTED_COVERAGE': False, - 'LLVM_OPTIMIZED_TABLEGEN': True, # NOT default, can speedup compilation a lot - 'LLVM_REVERSE_ITERATION': False, - 'LLVM_ENABLE_BINDINGS': False, # NOT default, dont build OCaml and go bindings - 'LLVM_CCACHE_BUILD': False, - 'LLVM_INCLUDE_TOOLS': True, - 'LLVM_INCLUDE_EXAMPLES': False, # NOT default - 'LLVM_BUILD_TESTS': False, - 'LLVM_INCLUDE_TESTS': False, # NOT default - 'LLVM_INCLUDE_BENCHMARKS': False, - 'LLVM_APPEND_VC_REV': True, - 'LLVM_BUILD_DOCS': False, - 'LLVM_ENABLE_IDE': False, - 'LLVM_ENABLE_TERMINFO': False, # NOT default Use terminfo database if available. - 'LLVM_ENABLE_EH': self.options.exceptions, - 'LLVM_ENABLE_RTTI': self.options.rtti, - 'LLVM_ENABLE_THREADS': self.options.threads, - 'LLVM_ENABLE_LTO': self.options.lto, - 'LLVM_STATIC_LINK_CXX_STDLIB': self.options.static_stdlib, - 'LLVM_ENABLE_UNWIND_TABLES': self.options.unwind_tables, - 'LLVM_ENABLE_EXPENSIVE_CHECKS': self.options.expensive_checks, - 'LLVM_ENABLE_ASSERTIONS': self.settings.build_type == 'Debug', - 'LLVM_USE_NEWPM': False, - 'LLVM_USE_OPROFILE': False, - 'LLVM_USE_PERF': self.options.use_perf, - 'LLVM_ENABLE_Z3_SOLVER': False, # default depends if Z3 4.7.1 package found - 'LLVM_ENABLE_LIBPFM': True, - 'LLVM_ENABLE_LIBEDIT': True, - 'LLVM_ENABLE_FFI': self.options.with_ffi, - 'LLVM_ENABLE_ZLIB': self.options.with_zlib, - 'LLVM_ENABLE_LIBXML2': self.options.with_xml2, - 'LLVM_ENABLE_PROJECTS': ';'.join(enabled_projects), - 'LLVM_ENABLE_RUNTIMES': ';'.join(enabled_runtimes), - }, - source_folder=os.path.join(self._source_subfolder, - 'llvm')) + cmake.configure( + args=['--graphviz=graph/llvm.dot'], + defs={ + 'BUILD_SHARED_LIBS': False, + 'LIBOMP_ENABLE_SHARED': self.options.shared, + 'CMAKE_SKIP_RPATH': True, + 'CMAKE_POSITION_INDEPENDENT_CODE': \ + self.options.get_safe('fPIC', default=False) or self.options.shared, + 'LLVM_TARGET_ARCH': 'host', + 'LLVM_TARGETS_TO_BUILD': self.options.targets, + 'LLVM_BUILD_LLVM_DYLIB': self.options.shared, # also sets CLANG_LINK_CLANG_DYLIB + 'LLVM_DYLIB_COMPONENTS': self.options.components, + 'LLVM_ENABLE_PIC': self.options.get_safe('fPIC', default=False), # llvm default on + 'LLVM_ABI_BREAKING_CHECKS': 'WITH_ASSERTS', + 'LLVM_ENABLE_WARNINGS': True, + 'LLVM_ENABLE_PEDANTIC': True, + 'LLVM_ENABLE_WERROR': False, + 'LLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN': True, + 'LLVM_USE_RELATIVE_PATHS_IN_DEBUG_INFO': False, + 'LLVM_BUILD_INSTRUMENTED_COVERAGE': False, + 'LLVM_OPTIMIZED_TABLEGEN': True, # NOT default, can speedup compilation a lot + 'LLVM_REVERSE_ITERATION': False, + 'LLVM_ENABLE_BINDINGS': False, # NOT default, dont build OCaml and go bindings + 'LLVM_CCACHE_BUILD': False, + 'LLVM_INCLUDE_TOOLS': True, # needed for clang libs, but remove binaries + 'LLVM_INCLUDE_EXAMPLES': False, # NOT default + 'LLVM_BUILD_TESTS': False, + 'LLVM_INCLUDE_TESTS': False, # NOT default + 'LLVM_INCLUDE_BENCHMARKS': False, + 'LLVM_APPEND_VC_REV': True, + 'LLVM_BUILD_DOCS': False, + 'LLVM_ENABLE_IDE': False, + 'LLVM_ENABLE_TERMINFO': False, # NOT default Use terminfo database if available. + 'LLVM_ENABLE_EH': self.options.exceptions, + 'LLVM_ENABLE_RTTI': self.options.rtti, + 'LLVM_ENABLE_THREADS': self.options.threads, + 'LLVM_ENABLE_LTO': self.options.lto, + 'LLVM_STATIC_LINK_CXX_STDLIB': self.options.static_stdlib, + 'LLVM_ENABLE_UNWIND_TABLES': self.options.unwind_tables, + 'LLVM_ENABLE_EXPENSIVE_CHECKS': self.options.expensive_checks, + 'LLVM_ENABLE_ASSERTIONS': self.settings.build_type == 'Debug', + 'LLVM_USE_NEWPM': False, + 'LLVM_USE_OPROFILE': False, + 'LLVM_USE_PERF': self.options.use_perf, + 'LLVM_ENABLE_Z3_SOLVER': self.options.with_z3, + 'LLVM_ENABLE_LIBPFM': False, + 'LLVM_ENABLE_LIBEDIT': False, + 'LLVM_ENABLE_FFI': self.options.with_ffi, + 'LLVM_ENABLE_ZLIB': self.options.get_safe('with_zlib', False), + 'LLVM_ENABLE_LIBXML2': self.options.get_safe('with_xml2', False), + 'LLVM_ENABLE_PROJECTS': ';'.join(enabled_projects), + 'LLVM_ENABLE_RUNTIMES': ';'.join(enabled_runtimes), + }, + source_folder=os.path.join(self._source_subfolder, 'llvm')) if not self.options.shared: cmake.definitions['DISABLE_LLVM_LINK_LLVM_DYLIB'] = True if self.settings.compiler == 'Visual Studio': @@ -241,6 +254,12 @@ def build(self): cmake = self._cmake_configure() cmake.build() + def _is_relevant_component(self, target_name): + package_lib_folder = os.path.join(self.package_folder, "lib") + return os.path.exists(os.path.join(package_lib_folder, f"lib{target_name}.a")) or \ + os.path.exists(os.path.join(package_lib_folder, f"lib{target_name}.so")) or \ + os.path.exists(os.path.join(package_lib_folder, f"lib{target_name}.dylib")) + def package(self): cmake = self._cmake_configure() cmake.install() @@ -251,29 +270,232 @@ def package(self): dst="licenses", keep_path=False, ) - + bin_matcher = re.compile(str(self.options.keep_binaries_regex)) + keep_binaries = [] + # resolve binaries to keep which are links, so we need to keep link target as well. + # Binaries are also used to skip targets + build_bin_path = os.path.join(self.build_folder, 'bin') + package_bin_path = os.path.join(self.package_folder, 'bin') + binaries = ["lldb-test", "clang-fuzzer", "clang-objc-fuzzer"] # missed targets by the method below + binaries.extend(os.listdir(build_bin_path)) + binaries.extend(os.listdir(package_bin_path)) + binaries = list(set(binaries)) + binaries.sort() + for bin in binaries: + if bin_matcher.match(bin): + keep_binaries.append(bin) + current_bin=bin + # there are links like clang++ -> clang -> clang-14 + while os.path.islink(os.path.join('bin', current_bin)): + current_bin=os.path.basename(os.readlink(os.path.join('bin', current_bin))) + keep_binaries.append(current_bin) + + # remove unneccessary binaries from package + for bin in binaries: + bin_path = os.path.join(package_bin_path, bin) + if bin in keep_binaries: + self.output.info(f"Keeping binary \"{bin}\" from package") + elif os.path.isfile(bin_path) or os.path.islink(bin_path): + self.output.info(f"Removing binary \"{bin}\" from package") + os.remove(bin_path) + + # remove unneccessary files from package ignore = ["share", "libexec", "**/Find*.cmake", "**/*Config.cmake"] - for ignore_entry in ignore: ignore_glob = os.path.join(self.package_folder, ignore_entry) for ignore_path in glob.glob(ignore_glob, recursive=True): - self.output.info( - 'Remove ignored file/directory "{}" from package'.format( - ignore_path - ) - ) + self.output.info('Removing ignored file/directory "{}" from package'.format(ignore_path)) if os.path.isfile(ignore_path): os.remove(ignore_path) else: shutil.rmtree(ignore_path) + # remove binaries from build, in debug builds these can take 40gb of disk space but are fast to recreate + if self.options.clean_build_bin: + tools.rmdir(os.path.join(self.build_folder, 'bin')) + + # creating dependency graph + with tools.chdir('graph'): + dot_text = tools.load('llvm.dot').replace('\r\n', '\n') + dep_regex = re.compile(r'//\s(.+)\s->\s(.+)$', re.MULTILINE) + deps = re.findall(dep_regex, dot_text) + + # map dependency names + external_targets = { + 'libffi::libffi': 'ffi', + 'ZLIB::ZLIB': 'z', + 'Iconv::Iconv': 'iconv', + 'LibXml2::LibXml2': 'xml2', + 'pthread': 'pthread', + 'rt': "rt", + 'm': "m", + 'dl': 'dl' + } + external_targets_keys = external_targets.keys() + dummy_targets = defaultdict(list) + for target, dep in deps: + if not self._is_relevant_component(target) and target not in external_targets_keys: + dummy_targets[target].append(dep) + dummy_targets_keys = dummy_targets.keys() + + # fill components with relevant targets + components = defaultdict(list) + ignored_deps = [] + for lib, dep in deps: + if lib in binaries: + continue + + if self._is_relevant_component(lib): + components[lib] + + if isinstance(dep, list): + current_deps = dep + elif " " in dep: + current_deps = dep.split() # lib: omp dep: str(-lpthread -lrt) + else: + current_deps = [dep] + + visited = components[lib].copy() + while len(current_deps) > 0: + current_dep = current_deps.pop() + visited.append(current_dep) + + if current_dep in binaries: + continue + elif self._is_relevant_component(current_dep): + components[current_dep] + + # Copied from llvm-core but not used on linux, maybe for other systems? ==> + elif current_dep.startswith('-delayload:'): + continue + + elif os.path.exists(current_dep): + current_dep = os.path.splitext(os.path.basename(current_dep))[0] + current_dep = current_dep.replace('lib', '') + # <== + + if current_dep.startswith("-l"): # e.g. -lpthread -> pthread + current_dep = current_dep[2:] + + if current_dep in dummy_targets_keys: + for d in dummy_targets[current_dep]: + if not visited: + current_deps.append(d) + elif self._is_relevant_component(current_dep): + if not self.options.shared: + components[lib].append(current_dep) + elif current_dep in external_targets_keys: + components[lib].append(external_targets[current_dep]) + else: + ignored_deps.append(current_dep) + components[lib] = list(set(components[lib])) + if lib in components[lib]: + raise "found circular dependency for {lib} over {dep}" + ignored_deps = list(set(ignored_deps)) + self.output.info(f'ignored these dependencies: {ignored_deps}') + + # workaround for circular dependencies + remove_dependencies = [ + ('lldbBreakpoint', 'lldbCore'), + ('lldbBreakpoint', 'lldbTarget'), + ('lldbPluginCPlusPlusLanguage', 'lldbCore'), + ('lldbPluginObjCLanguage', 'lldbCore'), + ('lldbTarget', 'lldbCore'), + ('lldbInterpreter', 'lldbCore'), + ('lldbSymbol', 'lldbCore'), + ('lldbDataFormatters', 'lldbCore'), + ('lldbExpression', 'lldbCore'), + ('lldbDataFormatters', 'lldbInterpreter'), + ('lldbTarget', 'lldbInterpreter'), + ('lldbInterpreter', 'lldbCommands'), + ('lldbCommands', 'lldbInterpreter'), + ('lldbExpression', 'lldbTarget'), + ('lldbExpression', 'lldbSymbol'), + ('lldbSymbol', 'lldbTarget'), + ('lldbSymbol', 'lldbExpression'), + ('lldbTarget', 'lldbSymbol'), + ('lldbTarget', 'lldbPluginProcessUtility'), + ('lldbTarget', 'lldbExpression'), + ('lldbPluginProcessUtility', 'lldbTarget'), + ('lldbPluginExpressionParserClang', 'lldbPluginTypeSystemClang'), + ('lldbPluginTypeSystemClang', 'lldbPluginSymbolFileDWARF'), + ('lldbPluginTypeSystemClang', 'lldbPluginExpressionParserClang'), + ('lldbPluginTypeSystemClang', 'lldbPluginSymbolFilePDB'), + ('lldbPluginSymbolFileDWARF', 'lldbPluginTypeSystemClang'), + ('lldbPluginSymbolFilePDB', 'lldbPluginTypeSystemClang'), + ('lldbPluginDynamicLoaderPosixDYLD', 'lldbPluginProcessElfCore'), + ('lldbPluginProcessElfCore', 'lldbPluginDynamicLoaderPosixDYLD'), + ] + keys = components.keys() + + for target, remove in remove_dependencies: + if target in keys: + if remove in components[target]: + components[target].remove(remove) + if target in components[remove]: + components[remove].remove(target) + r = False + for c in keys: + for c_dep in components[c]: + if c_dep in keys: + if c in components[c_dep]: + self.output.warn(f"{c} -> {c_dep} -> {c}") + r = True + if r: + raise "circular dependency found" + + lib_path = os.path.join(self.package_folder, 'lib') + if not self.options.shared: + if self.options.get_safe('with_zlib', False): + if not 'z' in components['LLVMSupport']: + components['LLVMSupport'].append('z') + suffixes = ['.a'] + else: + suffixes = ['.dylib', '.so'] + for ext in suffixes: + lib = 'libclang*{}*'.format(ext) + self.copy(lib, dst='lib', src='lib') + + for name in os.listdir(lib_path): + if not any(suffix in name for suffix in suffixes): + remove_path = os.path.join(lib_path, name) + # directories are needed for certain binaries, e.g. clang -> lib/clang + if os.path.isdir(remove_path): + continue + self.output.info(f"Removing library \"{remove_path}\" from package because it doesn't contain any of {suffixes}") + os.remove(remove_path) + + # because we remove libs from lib/folder, we need to clear components as well + removed = [] + for key in components.keys(): + removed_component = not self._is_relevant_component(key) + if removed_component: + removed.append(key) + for remove in removed: + del components[remove] + # and check if still existing components rely on these + for remove in removed: + for key in components.keys(): + if remove in components[key]: + self.output.info(f"Removing dependency from \"{key}\" to \"{remove}\" because it doesn't contain any of {suffixes}") + components[key].remove(remove) + + # write components.json for package_info + components_path = os.path.join(self.package_folder, 'lib', 'components.json') + with open(components_path, 'w') as components_file: + json.dump(components, components_file, indent=4) + def package_id(self): del self.info.options.enable_debug del self.info.options.use_llvm_cmake_files + del self.info.options.clean_build_bin def validate(self): + # check keep_binaries_regex early to fail early + re.compile(str(self.options.keep_binaries_regex)) + if self.settings.compiler == "gcc" and tools.Version( self.settings.compiler.version) < "10": raise ConanInvalidConfiguration( @@ -292,70 +514,64 @@ def validate(self): for project in projects: for runtime in runtimes: - if self.options.get_safe('with_project_' + project, False) and self.options.get_safe('with_runtime_' + runtime, False): - raise ConanInvalidConfiguration("Duplicate entry in enabled projects / runtime found for \"" + 'with_project_' + project + "\"") + if project == runtime and \ + self.options.get_safe('with_project_' + project, False) and self.options.get_safe('with_runtime_' + runtime, False): + raise ConanInvalidConfiguration(f"Duplicate entry in enabled projects / runtime found for \"with_project_{project}\"") + + @property + def _module_subfolder(self): + return os.path.join("lib", "cmake") def package_info(self): - self.cpp_info.libs = tools.collect_libs(self) - self.cpp_info.builddirs = ["lib/cmake"] - - # def package_info(self): - # self.cpp_info.set_property("cmake_file_name", "LLVM") - - # if self.options.shared: - # self.cpp_info.libs = tools.collect_libs(self) - # if self.settings.os == 'Linux': - # self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] - # elif self.settings.os == 'Macos': - # self.cpp_info.system_libs = ['m'] - # return - - # components_path = \ - # os.path.join(self.package_folder, 'lib', 'components.json') - # with open(components_path, 'r') as components_file: - # components = json.load(components_file) - - # dependencies = ['ffi', 'z', 'iconv', 'xml2'] - # targets = { - # 'ffi': 'libffi::libffi', - # 'z': 'zlib::zlib', - # 'xml2': 'libxml2::libxml2' - # } - - # for component, deps in components.items(): - # self.cpp_info.components[component].libs = [component] - # self.cpp_info.components[component].requires.extend(dep for dep in deps if dep.startswith('LLVM')) - - # for lib, target in targets.items(): - # if lib in deps: - # self.cpp_info.components[component].requires.append(target) - - # self.cpp_info.components[component].system_libs = [ - # dep for dep in deps - # if not dep.startswith('LLVM') and dep not in dependencies - # ] - - # self.cpp_info.components[component].set_property("cmake_target_name", component) - # self.cpp_info.components[component].builddirs.append(self._module_subfolder) - # self.cpp_info.components[component].names["cmake_find_package"] = component - # self.cpp_info.components[component].names["cmake_find_package_multi"] = component - # self.cpp_info.components[component].build_modules["cmake_find_package"].extend([ - # self._alias_module_file_rel_path, - # self._old_alias_module_file_rel_path, - # ]) - # self.cpp_info.components[component].build_modules["cmake_find_package_multi"].extend([ - # self._alias_module_file_rel_path, - # self._old_alias_module_file_rel_path, - # ]) - - # if self.options.use_llvm_cmake_files: - # self.cpp_info.components[component].build_modules["cmake_find_package"].append( - # os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - # ) - # self.cpp_info.components[component].build_modules["cmake_find_package_multi"].append( - # os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") - # ) - - # # TODO: to remove in conan v2 once cmake_find_package* generators removed - # self.cpp_info.names["cmake_find_package"] = "LLVM" - # self.cpp_info.names["cmake_find_package_multi"] = "LLVM" \ No newline at end of file + self.cpp_info.set_property("cmake_file_name", "LLVM") + + if self.options.shared: + self.cpp_info.libs = tools.collect_libs(self) + if self.settings.os == 'Linux': + self.cpp_info.system_libs = ['pthread', 'rt', 'dl', 'm'] + elif self.settings.os == 'Macos': + self.cpp_info.system_libs = ['m'] + return + + components_path = \ + os.path.join(self.package_folder, 'lib', 'components.json') + with open(components_path, 'r') as components_file: + components = json.load(components_file) + + dependencies = ['ffi', 'z', 'iconv', 'xml2'] + external_targets = { + 'ffi': 'libffi::libffi', + 'z': 'zlib::zlib', + 'xml2': 'libxml2::libxml2', + 'iconv': 'Iconv::Iconv', + } + + for component, deps in components.items(): + self.cpp_info.components[component].libs = [component] + self.cpp_info.components[component].requires.extend(dep for dep in deps if self._is_relevant_component(dep)) + + for lib, target in external_targets.items(): + if lib in deps: + self.cpp_info.components[component].requires.append(target) + + self.cpp_info.components[component].system_libs = [ + dep for dep in deps + if not self._is_relevant_component(dep) and dep not in dependencies + ] + + self.cpp_info.components[component].set_property("cmake_target_name", component) + self.cpp_info.components[component].builddirs.append(self._module_subfolder) + self.cpp_info.components[component].names["cmake_find_package"] = component + self.cpp_info.components[component].names["cmake_find_package_multi"] = component + + if self.options.use_llvm_cmake_files: + self.cpp_info.components[component].build_modules["cmake_find_package"].append( + os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") + ) + self.cpp_info.components[component].build_modules["cmake_find_package_multi"].append( + os.path.join(self._module_subfolder, "LLVMConfigInternal.cmake") + ) + + # TODO: to remove in conan v2 once cmake_find_package* generators removed + self.cpp_info.names["cmake_find_package"] = "LLVM" + self.cpp_info.names["cmake_find_package_multi"] = "LLVM" \ No newline at end of file diff --git a/utils/tooling/conan/llvm/create.sh b/utils/tooling/conan/llvm/create.sh index 5214edafc..350060832 100755 --- a/utils/tooling/conan/llvm/create.sh +++ b/utils/tooling/conan/llvm/create.sh @@ -9,5 +9,5 @@ readonly llvm_version="${1:-14.0.6}" ( cd "$(dirname "$0")" bash ../scripts/clear.sh "llvm" "$llvm_version" - bash ../scripts/create.sh "llvm" "$llvm_version" "-o llvm:enable_debug=True -o llvm:shared=False" + bash ../scripts/create.sh "llvm" "$llvm_version" "-o llvm:enable_debug=True -o llvm:shared=False -o llvm:keep_binaries_regex=\"^(clang|clang\+\+|opt)$\" -o llvm:clean_build_bin=False" ) diff --git a/utils/tooling/conan/llvm/test_package/CMakeLists.txt b/utils/tooling/conan/llvm/test_package/CMakeLists.txt index 6d70aefb6..edc09a346 100644 --- a/utils/tooling/conan/llvm/test_package/CMakeLists.txt +++ b/utils/tooling/conan/llvm/test_package/CMakeLists.txt @@ -7,4 +7,5 @@ include(${CMAKE_BINARY_DIR}/conanbuildinfo.cmake) conan_basic_setup() add_executable(${PROJECT_NAME} test_package.cpp) +list(FILTER CONAN_LIBS EXCLUDE REGEX "^clang-cpp$") target_link_libraries(${PROJECT_NAME} ${CONAN_LIBS}) diff --git a/utils/tooling/conan/wali/conanfile.py b/utils/tooling/conan/wali/conanfile.py index 6bf32f97d..679ddd08a 100644 --- a/utils/tooling/conan/wali/conanfile.py +++ b/utils/tooling/conan/wali/conanfile.py @@ -1,5 +1,8 @@ from conans import ConanFile, CMake, tools +from collections import defaultdict +import os, re, shutil, glob, json +import shutil, errno # remove before commit class WALiOpenNWAConan(ConanFile): name = "wali-opennwa" @@ -19,7 +22,9 @@ class WALiOpenNWAConan(ConanFile): } generators = "cmake_find_package", "cmake_paths" exports_sources = "*" - requires = "llvm-core/12.0.0@intellisectest+intellisectest-application/stable" + requires = [ + "llvm-core/12.0.0@intellisectest+intellisectest-application/stable" + ] @property def _source_subfolder(self): @@ -38,11 +43,27 @@ def _patch_sources(self): tools.patch(**patch) def build(self): + # workaround to test packaging faster self._patch_sources() cmake = CMake(self) cmake.definitions['BUILD_SHARED_LIBS'] = self.options.shared - cmake.configure(source_folder=self._source_subfolder, build_folder=self._build_subfolder) - cmake.build() + + + saved_build_dir = "/home/ubuntu/hdd_2/tmp/conan_build/" + build_dir = os.path.join(self.build_folder, self._build_subfolder) + print(f"build folder: {build_dir} cache folder: {saved_build_dir}") + + if not os.path.isdir(saved_build_dir): + os.mkdir(saved_build_dir) + try: + shutil.copytree(saved_build_dir, build_dir, dirs_exist_ok=True) + except OSError as exc: + print(exc) + raise + #cmake.configure(source_folder=self._source_subfolder, build_folder=self._build_subfolder) + #cmake.build() + shutil.copytree(build_dir, saved_build_dir, dirs_exist_ok=True) + def package(self): self.copy("LICENSE") From c6731c72dc3134909a95c06723d96bbc43b57817 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 16 Aug 2022 15:38:30 +0200 Subject: [PATCH 46/95] restructure: reverting doc/img folder mv --- {old/docs => docs}/Doxyfile.in | 0 {old/docs => docs}/README.dox | 0 {old/img => img}/DragonMedium.png | Bin {old/img => img}/DragonSmall.png | Bin {old/img => img}/Icon_CMYK/Phasar_Icon.ai | 0 {old/img => img}/Icon_CMYK/Phasar_Icon.eps | Bin {old/img => img}/Icon_CMYK/Phasar_Icon.pdf | Bin {old/img => img}/Icon_RGB/Phasar_Icon.jpg | Bin {old/img => img}/Icon_RGB/Phasar_Icon.png | Bin {old/img => img}/Icon_RGB/Phasar_Icon.svg | 0 .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai | 0 .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps | Bin .../Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.png | Bin .../Icon_dunkel_RGB/Phasar_Icon_dunkel.svg | 0 {old/img => img}/LLVM-Logo-Derivative-1.png | Bin {old/img => img}/LLVM-Logo-Derivative-2.png | Bin {old/img => img}/LLVM-Logo-Derivative-3.png | Bin {old/img => img}/LLVM-Logo-Derivative-4.png | Bin {old/img => img}/LLVM-Logo-Derivative-5.png | Bin {old/img => img}/Logo_CMYK/Phasar_Logo.ai | 0 {old/img => img}/Logo_CMYK/Phasar_Logo.eps | Bin {old/img => img}/Logo_CMYK/Phasar_Logo.pdf | Bin {old/img => img}/Logo_RGB/Phasar_Logo.jpg | Bin {old/img => img}/Logo_RGB/Phasar_Logo.png | Bin {old/img => img}/Logo_RGB/Phasar_Logo.svg | 0 {old/img => img}/Phasar Color Guide.docx | Bin .../example_exploded_supergraph.pdf | Bin .../example_exploded_supergraph.png | Bin .../example_exploded_supergraph.vsdx | Bin .../ifds_uninit_exploded_supergraph/output.txt | 0 .../recorded_edges.txt | 0 33 files changed, 0 insertions(+), 0 deletions(-) rename {old/docs => docs}/Doxyfile.in (100%) rename {old/docs => docs}/README.dox (100%) rename {old/img => img}/DragonMedium.png (100%) rename {old/img => img}/DragonSmall.png (100%) rename {old/img => img}/Icon_CMYK/Phasar_Icon.ai (100%) rename {old/img => img}/Icon_CMYK/Phasar_Icon.eps (100%) rename {old/img => img}/Icon_CMYK/Phasar_Icon.pdf (100%) rename {old/img => img}/Icon_RGB/Phasar_Icon.jpg (100%) rename {old/img => img}/Icon_RGB/Phasar_Icon.png (100%) rename {old/img => img}/Icon_RGB/Phasar_Icon.svg (100%) rename {old/img => img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai (100%) rename {old/img => img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps (100%) rename {old/img => img}/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf (100%) rename {old/img => img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg (100%) rename {old/img => img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.png (100%) rename {old/img => img}/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg (100%) rename {old/img => img}/LLVM-Logo-Derivative-1.png (100%) rename {old/img => img}/LLVM-Logo-Derivative-2.png (100%) rename {old/img => img}/LLVM-Logo-Derivative-3.png (100%) rename {old/img => img}/LLVM-Logo-Derivative-4.png (100%) rename {old/img => img}/LLVM-Logo-Derivative-5.png (100%) rename {old/img => img}/Logo_CMYK/Phasar_Logo.ai (100%) rename {old/img => img}/Logo_CMYK/Phasar_Logo.eps (100%) rename {old/img => img}/Logo_CMYK/Phasar_Logo.pdf (100%) rename {old/img => img}/Logo_RGB/Phasar_Logo.jpg (100%) rename {old/img => img}/Logo_RGB/Phasar_Logo.png (100%) rename {old/img => img}/Logo_RGB/Phasar_Logo.svg (100%) rename {old/img => img}/Phasar Color Guide.docx (100%) rename {old/img => img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf (100%) rename {old/img => img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png (100%) rename {old/img => img}/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx (100%) rename {old/img => img}/ifds_uninit_exploded_supergraph/output.txt (100%) rename {old/img => img}/ifds_uninit_exploded_supergraph/recorded_edges.txt (100%) diff --git a/old/docs/Doxyfile.in b/docs/Doxyfile.in similarity index 100% rename from old/docs/Doxyfile.in rename to docs/Doxyfile.in diff --git a/old/docs/README.dox b/docs/README.dox similarity index 100% rename from old/docs/README.dox rename to docs/README.dox diff --git a/old/img/DragonMedium.png b/img/DragonMedium.png similarity index 100% rename from old/img/DragonMedium.png rename to img/DragonMedium.png diff --git a/old/img/DragonSmall.png b/img/DragonSmall.png similarity index 100% rename from old/img/DragonSmall.png rename to img/DragonSmall.png diff --git a/old/img/Icon_CMYK/Phasar_Icon.ai b/img/Icon_CMYK/Phasar_Icon.ai similarity index 100% rename from old/img/Icon_CMYK/Phasar_Icon.ai rename to img/Icon_CMYK/Phasar_Icon.ai diff --git a/old/img/Icon_CMYK/Phasar_Icon.eps b/img/Icon_CMYK/Phasar_Icon.eps similarity index 100% rename from old/img/Icon_CMYK/Phasar_Icon.eps rename to img/Icon_CMYK/Phasar_Icon.eps diff --git a/old/img/Icon_CMYK/Phasar_Icon.pdf b/img/Icon_CMYK/Phasar_Icon.pdf similarity index 100% rename from old/img/Icon_CMYK/Phasar_Icon.pdf rename to img/Icon_CMYK/Phasar_Icon.pdf diff --git a/old/img/Icon_RGB/Phasar_Icon.jpg b/img/Icon_RGB/Phasar_Icon.jpg similarity index 100% rename from old/img/Icon_RGB/Phasar_Icon.jpg rename to img/Icon_RGB/Phasar_Icon.jpg diff --git a/old/img/Icon_RGB/Phasar_Icon.png b/img/Icon_RGB/Phasar_Icon.png similarity index 100% rename from old/img/Icon_RGB/Phasar_Icon.png rename to img/Icon_RGB/Phasar_Icon.png diff --git a/old/img/Icon_RGB/Phasar_Icon.svg b/img/Icon_RGB/Phasar_Icon.svg similarity index 100% rename from old/img/Icon_RGB/Phasar_Icon.svg rename to img/Icon_RGB/Phasar_Icon.svg diff --git a/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai b/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai similarity index 100% rename from old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai rename to img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.ai diff --git a/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps b/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps similarity index 100% rename from old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps rename to img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.eps diff --git a/old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf b/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf similarity index 100% rename from old/img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf rename to img/Icon_dunkel_CMYK/Phasar_Icon_dunkel.pdf diff --git a/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg b/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg similarity index 100% rename from old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg rename to img/Icon_dunkel_RGB/Phasar_Icon_dunkel.jpg diff --git a/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png b/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png similarity index 100% rename from old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png rename to img/Icon_dunkel_RGB/Phasar_Icon_dunkel.png diff --git a/old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg b/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg similarity index 100% rename from old/img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg rename to img/Icon_dunkel_RGB/Phasar_Icon_dunkel.svg diff --git a/old/img/LLVM-Logo-Derivative-1.png b/img/LLVM-Logo-Derivative-1.png similarity index 100% rename from old/img/LLVM-Logo-Derivative-1.png rename to img/LLVM-Logo-Derivative-1.png diff --git a/old/img/LLVM-Logo-Derivative-2.png b/img/LLVM-Logo-Derivative-2.png similarity index 100% rename from old/img/LLVM-Logo-Derivative-2.png rename to img/LLVM-Logo-Derivative-2.png diff --git a/old/img/LLVM-Logo-Derivative-3.png b/img/LLVM-Logo-Derivative-3.png similarity index 100% rename from old/img/LLVM-Logo-Derivative-3.png rename to img/LLVM-Logo-Derivative-3.png diff --git a/old/img/LLVM-Logo-Derivative-4.png b/img/LLVM-Logo-Derivative-4.png similarity index 100% rename from old/img/LLVM-Logo-Derivative-4.png rename to img/LLVM-Logo-Derivative-4.png diff --git a/old/img/LLVM-Logo-Derivative-5.png b/img/LLVM-Logo-Derivative-5.png similarity index 100% rename from old/img/LLVM-Logo-Derivative-5.png rename to img/LLVM-Logo-Derivative-5.png diff --git a/old/img/Logo_CMYK/Phasar_Logo.ai b/img/Logo_CMYK/Phasar_Logo.ai similarity index 100% rename from old/img/Logo_CMYK/Phasar_Logo.ai rename to img/Logo_CMYK/Phasar_Logo.ai diff --git a/old/img/Logo_CMYK/Phasar_Logo.eps b/img/Logo_CMYK/Phasar_Logo.eps similarity index 100% rename from old/img/Logo_CMYK/Phasar_Logo.eps rename to img/Logo_CMYK/Phasar_Logo.eps diff --git a/old/img/Logo_CMYK/Phasar_Logo.pdf b/img/Logo_CMYK/Phasar_Logo.pdf similarity index 100% rename from old/img/Logo_CMYK/Phasar_Logo.pdf rename to img/Logo_CMYK/Phasar_Logo.pdf diff --git a/old/img/Logo_RGB/Phasar_Logo.jpg b/img/Logo_RGB/Phasar_Logo.jpg similarity index 100% rename from old/img/Logo_RGB/Phasar_Logo.jpg rename to img/Logo_RGB/Phasar_Logo.jpg diff --git a/old/img/Logo_RGB/Phasar_Logo.png b/img/Logo_RGB/Phasar_Logo.png similarity index 100% rename from old/img/Logo_RGB/Phasar_Logo.png rename to img/Logo_RGB/Phasar_Logo.png diff --git a/old/img/Logo_RGB/Phasar_Logo.svg b/img/Logo_RGB/Phasar_Logo.svg similarity index 100% rename from old/img/Logo_RGB/Phasar_Logo.svg rename to img/Logo_RGB/Phasar_Logo.svg diff --git a/old/img/Phasar Color Guide.docx b/img/Phasar Color Guide.docx similarity index 100% rename from old/img/Phasar Color Guide.docx rename to img/Phasar Color Guide.docx diff --git a/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf b/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf similarity index 100% rename from old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf rename to img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.pdf diff --git a/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png b/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png similarity index 100% rename from old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png rename to img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.png diff --git a/old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx b/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx similarity index 100% rename from old/img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx rename to img/ifds_uninit_exploded_supergraph/example_exploded_supergraph.vsdx diff --git a/old/img/ifds_uninit_exploded_supergraph/output.txt b/img/ifds_uninit_exploded_supergraph/output.txt similarity index 100% rename from old/img/ifds_uninit_exploded_supergraph/output.txt rename to img/ifds_uninit_exploded_supergraph/output.txt diff --git a/old/img/ifds_uninit_exploded_supergraph/recorded_edges.txt b/img/ifds_uninit_exploded_supergraph/recorded_edges.txt similarity index 100% rename from old/img/ifds_uninit_exploded_supergraph/recorded_edges.txt rename to img/ifds_uninit_exploded_supergraph/recorded_edges.txt From 3eab605de2aa08f73ceb3723bdce7734d751e9af Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 16 Aug 2022 15:39:47 +0200 Subject: [PATCH 47/95] build(cmake): created options.cmake --- CMakeLists.txt | 18 +----- cmake/options.cmake | 144 ++++++++++++++++++++++++++++++++++++++++++++ conanfile.txt | 1 + 3 files changed, 146 insertions(+), 17 deletions(-) create mode 100644 cmake/options.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 4b2ca1f42..5c45dac7c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,23 +3,7 @@ project(phasar VERSION 1.0.0 HOMEPAGE_URL "https://github.com/secure-software-engineering/phasar") -if (NOT CMAKE_BUILD_TYPE) - set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build mode ('DebugSan' or 'Debug' or 'Release', default is 'Debug')" FORCE) -endif () - -set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP -fvisibility-inlines-hidden -fstack-protector-strong -ffunction-sections -fdata-sections -pipe") -if(CMAKE_BUILD_TYPE STREQUAL "DebugSan") - message(STATUS "Selected Debug Build with sanitizers") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer -fsanitize=address,undefined") - set(CMAKE_BUILD_TYPE "Debug") -elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") - message(STATUS "Selected Debug Build") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") -else() - set(CMAKE_BUILD_TYPE "Release") - message(STATUS "Selected Release Build") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") -endif() +include(cmake/options.cmake) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) diff --git a/cmake/options.cmake b/cmake/options.cmake new file mode 100644 index 000000000..8bc8f49dc --- /dev/null +++ b/cmake/options.cmake @@ -0,0 +1,144 @@ +if (NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE "Debug" CACHE STRING "Build mode ('DebugSan' or 'Debug' or 'Release', default is 'Debug')" FORCE) +endif () + +set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -MP -fvisibility-inlines-hidden -fstack-protector-strong -ffunction-sections -fdata-sections -pipe") +if(CMAKE_BUILD_TYPE STREQUAL "DebugSan") + message(STATUS "Selected Debug Build with sanitizers") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -fno-omit-frame-pointer -fsanitize=address,undefined") + set(CMAKE_BUILD_TYPE "Debug") +elseif(CMAKE_BUILD_TYPE STREQUAL "Debug") + message(STATUS "Selected Debug Build") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g") +else() + set(CMAKE_BUILD_TYPE "Release") + message(STATUS "Selected Release Build") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -march=native") +endif() + + + +# Check if we build within the llvm source tree +set(PHASAR_IN_TREE OFF) +if (DEFINED LLVM_MAIN_SRC_DIR) + set(PHASAR_IN_TREE ON) + + # remove conan llvm dependency, targets are already available + file(READ "${PROJECT_SOURCE_DIR}/conanfile.txt" conanfile_txt) + string(REPLACE "llvm/" "#llvm/" conanfile_txt "${conanfile_txt}") + file(WRITE "${PROJECT_SOURCE_DIR}/conanfile.txt" "${conanfile_txt}") + + set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS nlohmann_json_schema_validator) + + # Phasar needs clang headers, specificaly some that are generated by clangs table-gen + include_directories( + ${CLANG_INCLUDE_DIR} + ${PHASAR_SRC_DIR}/../clang/include + ${PROJECT_BINARY_DIR}/tools/clang/include + ) +endif() + + + +# merged PHASAR_BUILD_OPENSSL_TS_UNITTESTS / PHASAR_BUILD_IR +option(PHASAR_BUILD_UNITTESTS "Build all tests and IR files (default is ON)" ON) # TODO + + + +option(PHASAR_ENABLE_CLANG_TIDY_DURING_BUILD "Run clang-tidy during build (default is OFF)" OFF) # should be fine +if (PHASAR_ENABLE_CLANG_TIDY_DURING_BUILD) + message(STATUS "Enabled clang-tidy during build") + set(CMAKE_CXX_CLANG_TIDY + clang-tidy; + -header-filter=phasar/.*h$; + # -warnings-as-errors=*; + ) +endif () + + + +option(PHASAR_BUILD_DOC "Build documentation" ON) # TODO +if(PHASAR_BUILD_DOC) + find_package(Doxygen) + if (DOXYGEN_FOUND) + set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in) + set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) + configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) + message(FATAL_ERROR "Doxygen build started") + add_custom_target(doc_doxygen ALL + COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT} + WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} + COMMENT "Generating API documentation with Doxygen" + VERBATIM + ) + else(DOXYGEN_FOUND) + message(FATAL_ERROR "Doxygen need to be installed to generate the doxygen documentation.") + endif() +endif() + + + +# TODO is this really needed? +# Basically only works if Phasars public API doesn't expose anything at all which is using the dependency, so a user would need to add the dependency on their own +# if private you have to manually handle include / compile +option(PHASAR_DEBUG_LIBDEPS "Debug internal library dependencies (private linkage)" OFF) + + + +# default option always preset +option(BUILD_SHARED_LIBS "Build shared libraries (default is OFF)" OFF) +option(BUILD_SHARED_LIBS_FORCE "Build shared libraries (default is OFF)" OFF) +if (BUILD_SHARED_LIBS AND NOT BUILD_SHARED_LIBS_FORCE) + message(FATAL_ERROR "Shared libs needing some modification:\n1. see conanfile.txt\n2. remove all LLVM.* dependencies to only LLVM\n3. use BUILD_SHARED_LIBS_FORCE=ON\n") +endif() + + + +option(PHASAR_ENABLE_WARNINGS "Enable warnings" ON) +if (PHASAR_ENABLE_WARNINGS) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Wno-unused-variable -Wno-unused-parameter -Wno-return-type-c-linkage ") +endif() + + + + +option(PHASAR_ENABLE_PIC "Build Position-Independed Code" ON) +if (PHASAR_ENABLE_PIC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC") +endif() + + + +if (NOT PHASAR_ENABLE_PAMM) + set(PHASAR_ENABLE_PAMM "Off" CACHE STRING "Enable the performance measurement mechanism ('Off', 'Core' or 'Full', default is 'Off')" FORCE) + set_property(CACHE PHASAR_ENABLE_PAMM PROPERTY STRINGS "Off" "Core" "Full") +endif() +if(PHASAR_BUILD_UNITTESTS) + message("PAMM metric severity level: Off (due to unittests)") +elseif(PHASAR_ENABLE_PAMM STREQUAL "Core") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPAMM_CORE") + message("PAMM metric severity level: Core") +elseif(PHASAR_ENABLE_PAMM STREQUAL "Full") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DPAMM_FULL") + message("PAMM metric severity level: Full") +else() + message("PAMM metric severity level: Off") +endif() + + + +option(PHASAR_ENABLE_DYNAMIC_LOG "Makes it possible to switch the logger on and off at runtime (default is ON)" ON) +if (PHASAR_ENABLE_DYNAMIC_LOG) + message(STATUS "Dynamic log enabled") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDYNAMIC_LOG") +else() + message(STATUS "Dynamic log disabled") +endif() + + + +if (LLVM_ENABLE_LIBCXX) + set(PHASAR_STD_FILESYSTEM c++fs) +else() + set(PHASAR_STD_FILESYSTEM stdc++fs) +endif() diff --git a/conanfile.txt b/conanfile.txt index 9bd23695c..87f475bb8 100644 --- a/conanfile.txt +++ b/conanfile.txt @@ -8,6 +8,7 @@ nlohmann_json/3.10.5 libcurl/7.80.0 zlib/1.2.12 # fix boost / clash zlib openssl/3.0.5 # includes needed for some test files +doxygen/1.9.4 [generators] cmake From 7089a650ca491b4fa856ceab14ec87a2481f0522 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 16 Aug 2022 16:13:36 +0200 Subject: [PATCH 48/95] doc: doxygen file updated to 1.9.4 --- docs/Doxyfile.in | 959 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 651 insertions(+), 308 deletions(-) diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in index dbf9245f0..b32f53fb1 100644 --- a/docs/Doxyfile.in +++ b/docs/Doxyfile.in @@ -1,4 +1,4 @@ -# Doxyfile 1.8.6 +# Doxyfile 1.9.4 # This file describes the settings to be used by the documentation system # doxygen (www.doxygen.org) for a project. @@ -12,16 +12,25 @@ # For lists, items can also be appended using: # TAG += value [value, ...] # Values that contain spaces should be placed between quotes (\" \"). +# +# Note: +# +# Use doxygen to compare the used configuration file with the template +# configuration file: +# doxygen -x [configFile] +# Use doxygen to compare the used configuration file with the template +# configuration file without replacing the environment variables: +# doxygen -x_noenv [configFile] #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -# This tag specifies the encoding used for all characters in the config file -# that follow. The default is UTF-8 which is also the encoding used for all text -# before the first occurrence of this tag. Doxygen uses libiconv (or the iconv -# built into libc) for the transcoding. See http://www.gnu.org/software/libiconv -# for the list of possible encodings. +# This tag specifies the encoding used for all characters in the configuration +# file that follow. The default is UTF-8 which is also the encoding used for all +# text before the first occurrence of this tag. Doxygen uses libiconv (or the +# iconv built into libc) for the transcoding. See +# https://www.gnu.org/software/libiconv/ for the list of possible encodings. # The default value is: UTF-8. DOXYFILE_ENCODING = UTF-8 @@ -32,7 +41,7 @@ DOXYFILE_ENCODING = UTF-8 # title of most generated pages and in a few other places. # The default value is: My Project. -PROJECT_NAME = "Phasar" +PROJECT_NAME = Phasar # The PROJECT_NUMBER tag can be used to enter a project or revision number. This # could be handy for archiving the generated documentation or if some version @@ -46,10 +55,10 @@ PROJECT_NUMBER = 1.1 PROJECT_BRIEF = "Phasar a LLVM-based Static Analysis Framework" -# With the PROJECT_LOGO tag one can specify an logo or icon that is included in -# the documentation. The maximum height of the logo should not exceed 55 pixels -# and the maximum width should not exceed 200 pixels. Doxygen will copy the logo -# to the output directory. +# With the PROJECT_LOGO tag one can specify a logo or an icon that is included +# in the documentation. The maximum height of the logo should not exceed 55 +# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy +# the logo to the output directory. PROJECT_LOGO = ../img/Logo_RGB/Phasar_Logo.png @@ -60,39 +69,59 @@ PROJECT_LOGO = ../img/Logo_RGB/Phasar_Logo.png OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/docs/ -# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 4096 sub- -# directories (in 2 levels) under the output directory of each output format and -# will distribute the generated files over these directories. Enabling this +# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 +# sub-directories (in 2 levels) under the output directory of each output format +# and will distribute the generated files over these directories. Enabling this # option can be useful when feeding doxygen a huge amount of source files, where # putting all generated files in the same directory would otherwise causes -# performance problems for the file system. +# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to +# control the number of sub-directories. # The default value is: NO. CREATE_SUBDIRS = NO +# Controls the number of sub-directories that will be created when +# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every +# level increment doubles the number of directories, resulting in 4096 +# directories at level 8 which is the default and also the maximum value. The +# sub-directories are organized in 2 levels, the first level always has a fixed +# numer of 16 directories. +# Minimum value: 0, maximum value: 8, default value: 8. +# This tag requires that the tag CREATE_SUBDIRS is set to YES. + +CREATE_SUBDIRS_LEVEL = 8 + +# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII +# characters to appear in the names of generated files. If set to NO, non-ASCII +# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode +# U+3044. +# The default value is: NO. + +ALLOW_UNICODE_NAMES = NO + # The OUTPUT_LANGUAGE tag is used to specify the language in which all # documentation generated by doxygen is written. Doxygen will use this # information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Catalan, Chinese, -# Chinese-Traditional, Croatian, Czech, Danish, Dutch, English (United States), -# Esperanto, Farsi (Persian), Finnish, French, German, Greek, Hungarian, -# Indonesian, Italian, Japanese, Japanese-en (Japanese with English messages), -# Korean, Korean-en (Korean with English messages), Latvian, Lithuanian, -# Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, Romanian, Russian, -# Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, Swedish, Turkish, -# Ukrainian and Vietnamese. +# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, +# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English +# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, +# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with +# English messages), Korean, Korean-en (Korean with English messages), Latvian, +# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, +# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, +# Swedish, Turkish, Ukrainian and Vietnamese. # The default value is: English. OUTPUT_LANGUAGE = English -# If the BRIEF_MEMBER_DESC tag is set to YES doxygen will include brief member +# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member # descriptions after the members that are listed in the file and class # documentation (similar to Javadoc). Set to NO to disable this. # The default value is: YES. BRIEF_MEMBER_DESC = YES -# If the REPEAT_BRIEF tag is set to YES doxygen will prepend the brief +# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief # description of a member or function before the detailed description # # Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the @@ -127,7 +156,7 @@ ALWAYS_DETAILED_SEC = NO INLINE_INHERITED_MEMB = NO -# If the FULL_PATH_NAMES tag is set to YES doxygen will prepend the full path +# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path # before files name in the file list and in the header files. If set to NO the # shortest path that makes the file name unique will be used # The default value is: YES. @@ -171,6 +200,16 @@ SHORT_NAMES = NO JAVADOC_AUTOBRIEF = NO +# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line +# such as +# /*************** +# as being the beginning of a Javadoc-style comment "banner". If set to NO, the +# Javadoc-style will behave just like regular comments and it will not be +# interpreted by doxygen. +# The default value is: NO. + +JAVADOC_BANNER = NO + # If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first # line (until the first dot) of a Qt-style comment as the brief description. If # set to NO, the Qt-style will behave just like regular Qt-style comments (thus @@ -191,15 +230,23 @@ QT_AUTOBRIEF = NO MULTILINE_CPP_IS_BRIEF = NO +# By default Python docstrings are displayed as preformatted text and doxygen's +# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the +# doxygen's special commands can be used and the contents of the docstring +# documentation blocks is shown as doxygen documentation. +# The default value is: YES. + +PYTHON_DOCSTRING = YES + # If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the # documentation from any documented member that it re-implements. # The default value is: YES. INHERIT_DOCS = YES -# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce a -# new page for each member. If set to NO, the documentation of a member will be -# part of the file/class/namespace that contains it. +# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new +# page for each member. If set to NO, the documentation of a member will be part +# of the file/class/namespace that contains it. # The default value is: NO. SEPARATE_MEMBER_PAGES = NO @@ -214,20 +261,19 @@ TAB_SIZE = 4 # the documentation. An alias has the form: # name=value # For example adding -# "sideeffect=@par Side Effects:\n" +# "sideeffect=@par Side Effects:^^" # will allow you to put the command \sideeffect (or @sideeffect) in the # documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". You can put \n's in the value part of an alias to insert -# newlines. +# "Side Effects:". Note that you cannot put \n's in the value part of an alias +# to insert newlines (in the resulting output). You can put ^^ in the value part +# of an alias to insert a newline as if a physical newline was in the original +# file. When you need a literal { or } or , in the value part of an alias you +# have to escape them by means of a backslash (\), this can lead to conflicts +# with the commands \{ and \} for these it is advised to use the version @{ and +# @} or use a double escape (\\{ and \\}) ALIASES = -# This tag can be used to specify a number of word-keyword mappings (TCL only). -# A mapping has the form "name=value". For example adding "class=itcl::class" -# will allow you to use the command class in the itcl::class meaning. - -TCL_SUBST = - # Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources # only. Doxygen will then generate output that is more tailored for C. For # instance, some of the names that are used will be different. The list of all @@ -256,25 +302,41 @@ OPTIMIZE_FOR_FORTRAN = NO OPTIMIZE_OUTPUT_VHDL = NO +# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice +# sources only. Doxygen will then generate output that is more tailored for that +# language. For instance, namespaces will be presented as modules, types will be +# separated into more groups, etc. +# The default value is: NO. + +OPTIMIZE_OUTPUT_SLICE = NO + # Doxygen selects the parser to use depending on the extension of the files it # parses. With this tag you can assign which parser to use for a given # extension. Doxygen has a built-in mapping, but you can override or extend it # using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, Javascript, -# C#, C, C++, D, PHP, Objective-C, Python, Fortran, VHDL. For instance to make -# doxygen treat .inc files as Fortran files (default is PHP), and .f files as C -# (default is Fortran), use: inc=Fortran f=C. +# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, +# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, +# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: +# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser +# tries to guess whether the code is fixed or free formatted code, this is the +# default for Fortran type files). For instance to make doxygen treat .inc files +# as Fortran files (default is PHP), and .f files as C (default is Fortran), +# use: inc=Fortran f=C. # -# Note For files without extension you can use no_extension as a placeholder. +# Note: For files without extension you can use no_extension as a placeholder. # # Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. +# the files are not read by doxygen. When specifying no_extension you should add +# * to the FILE_PATTERNS. +# +# Note see also the list of default file extension mappings. -EXTENSION_MAPPING = cu=C++ cuh=C++ +EXTENSION_MAPPING = cu=C++ \ + cuh=C++ # If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments # according to the Markdown format, which allows for more readable -# documentation. See http://daringfireball.net/projects/markdown/ for details. +# documentation. See https://daringfireball.net/projects/markdown/ for details. # The output of markdown processing is further processed by doxygen, so you can # mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in # case of backward compatibilities issues. @@ -282,10 +344,19 @@ EXTENSION_MAPPING = cu=C++ cuh=C++ MARKDOWN_SUPPORT = YES +# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up +# to that level are automatically included in the table of contents, even if +# they do not have an id attribute. +# Note: This feature currently applies only to Markdown headings. +# Minimum value: 0, maximum value: 99, default value: 5. +# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. + +TOC_INCLUDE_HEADINGS = 5 + # When enabled doxygen tries to link words that correspond to documented # classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by by putting a % sign in front of the word -# or globally by setting AUTOLINK_SUPPORT to NO. +# be prevented in individual cases by putting a % sign in front of the word or +# globally by setting AUTOLINK_SUPPORT to NO. # The default value is: YES. AUTOLINK_SUPPORT = YES @@ -307,7 +378,7 @@ BUILTIN_STL_SUPPORT = NO CPP_CLI_SUPPORT = NO # Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# http://www.riverbankcomputing.co.uk/software/sip/intro) sources only. Doxygen +# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen # will parse them like normal C++ but will assume all classes use public instead # of private inheritance when no explicit protection keyword is present. # The default value is: NO. @@ -325,13 +396,20 @@ SIP_SUPPORT = NO IDL_PROPERTY_SUPPORT = YES # If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES, then doxygen will reuse the documentation of the first +# tag is set to YES then doxygen will reuse the documentation of the first # member in the group (if any) for the other members of the group. By default # all members of a group must be documented explicitly. # The default value is: NO. DISTRIBUTE_GROUP_DOC = NO +# If one adds a struct or class to a group and this option is enabled, then also +# any nested class or struct is added to the same group. By default this option +# is disabled and one has to add nested compounds explicitly via \ingroup. +# The default value is: NO. + +GROUP_NESTED_COMPOUNDS = NO + # Set the SUBGROUPING tag to YES to allow class member groups of the same type # (for instance a group of public functions) to be put as a subgroup of that # type (e.g. under the Public Functions section). Set it to NO to prevent @@ -386,11 +464,24 @@ TYPEDEF_HIDES_STRUCT = NO LOOKUP_CACHE_SIZE = 0 +# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use +# during processing. When set to 0 doxygen will based this on the number of +# cores available in the system. You can set it explicitly to a value larger +# than 0 to get more control over the balance between CPU load and processing +# speed. At this moment only the input processing can be done using multiple +# threads. Since this is still an experimental feature the default is set to 1, +# which effectively disables parallel processing. Please report any issues you +# encounter. Generating dot graphs in parallel is controlled by the +# DOT_NUM_THREADS setting. +# Minimum value: 0, maximum value: 32, default value: 1. + +NUM_PROC_THREADS = 1 + #--------------------------------------------------------------------------- # Build related configuration options #--------------------------------------------------------------------------- -# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in +# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in # documentation are documented, even if no documentation was available. Private # class members and static file members will be hidden unless the # EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. @@ -400,35 +491,41 @@ LOOKUP_CACHE_SIZE = 0 EXTRACT_ALL = NO -# If the EXTRACT_PRIVATE tag is set to YES all private members of a class will +# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will # be included in the documentation. # The default value is: NO. EXTRACT_PRIVATE = NO -# If the EXTRACT_PACKAGE tag is set to YES all members with package or internal +# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual +# methods of a class will be included in the documentation. +# The default value is: NO. + +EXTRACT_PRIV_VIRTUAL = NO + +# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal # scope will be included in the documentation. # The default value is: NO. EXTRACT_PACKAGE = NO -# If the EXTRACT_STATIC tag is set to YES all static members of a file will be +# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be # included in the documentation. # The default value is: NO. EXTRACT_STATIC = NO -# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO +# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined +# locally in source files will be included in the documentation. If set to NO, # only classes defined in header files are included. Does not have any effect # for Java sources. # The default value is: YES. EXTRACT_LOCAL_CLASSES = YES -# This flag is only useful for Objective-C code. When set to YES local methods, +# This flag is only useful for Objective-C code. If set to YES, local methods, # which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO only methods in the interface are +# included in the documentation. If set to NO, only methods in the interface are # included. # The default value is: NO. @@ -443,6 +540,13 @@ EXTRACT_LOCAL_METHODS = NO EXTRACT_ANON_NSPACES = NO +# If this flag is set to YES, the name of an unnamed parameter in a declaration +# will be determined by the corresponding definition. By default unnamed +# parameters remain unnamed in the output. +# The default value is: YES. + +RESOLVE_UNNAMED_PARAMS = YES + # If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all # undocumented members inside documented classes or files. If set to NO these # members will be included in the various overviews, but no documentation @@ -453,21 +557,21 @@ HIDE_UNDOC_MEMBERS = NO # If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all # undocumented classes that are normally visible in the class hierarchy. If set -# to NO these classes will be included in the various overviews. This option has -# no effect if EXTRACT_ALL is enabled. +# to NO, these classes will be included in the various overviews. This option +# has no effect if EXTRACT_ALL is enabled. # The default value is: NO. HIDE_UNDOC_CLASSES = NO # If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# (class|struct|union) declarations. If set to NO these declarations will be -# included in the documentation. +# declarations. If set to NO, these declarations will be included in the +# documentation. # The default value is: NO. HIDE_FRIEND_COMPOUNDS = NO # If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO these +# documentation blocks found inside the body of a function. If set to NO, these # blocks will be appended to the function's detailed documentation block. # The default value is: NO. @@ -480,22 +584,42 @@ HIDE_IN_BODY_DOCS = NO INTERNAL_DOCS = NO -# If the CASE_SENSE_NAMES tag is set to NO then doxygen will only generate file -# names in lower-case letters. If set to YES upper-case letters are also -# allowed. This is useful if you have classes or files whose names only differ -# in case and if your file system supports case sensitive file names. Windows -# and Mac users are advised to set this option to NO. +# With the correct setting of option CASE_SENSE_NAMES doxygen will better be +# able to match the capabilities of the underlying filesystem. In case the +# filesystem is case sensitive (i.e. it supports files in the same directory +# whose names only differ in casing), the option must be set to YES to properly +# deal with such files in case they appear in the input. For filesystems that +# are not case sensitive the option should be set to NO to properly deal with +# output files written for symbols that only differ in casing, such as for two +# classes, one named CLASS and the other named Class, and to also support +# references to files without having to specify the exact matching casing. On +# Windows (including Cygwin) and MacOS, users should typically set this option +# to NO, whereas on Linux or other Unix flavors it should typically be set to +# YES. # The default value is: system dependent. CASE_SENSE_NAMES = YES # If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES the +# their full class and namespace scopes in the documentation. If set to YES, the # scope will be hidden. # The default value is: NO. HIDE_SCOPE_NAMES = NO +# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will +# append additional text to a page's title, such as Class Reference. If set to +# YES the compound reference will be hidden. +# The default value is: NO. + +HIDE_COMPOUND_REFERENCE= NO + +# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class +# will show which file needs to be included to use the class. +# The default value is: YES. + +SHOW_HEADERFILE = YES + # If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of # the files that are included by a file in the documentation of that file. # The default value is: YES. @@ -523,14 +647,14 @@ INLINE_INFO = YES # If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the # (detailed) documentation of file and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. +# name. If set to NO, the members will appear in declaration order. # The default value is: YES. SORT_MEMBER_DOCS = YES # If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief # descriptions of file, namespace and class members alphabetically by member -# name. If set to NO the members will appear in declaration order. Note that +# name. If set to NO, the members will appear in declaration order. Note that # this will also influence the order of the classes in the class list. # The default value is: NO. @@ -575,27 +699,25 @@ SORT_BY_SCOPE_NAME = NO STRICT_PROTO_MATCHING = NO -# The GENERATE_TODOLIST tag can be used to enable ( YES) or disable ( NO) the -# todo list. This list is created by putting \todo commands in the -# documentation. +# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo +# list. This list is created by putting \todo commands in the documentation. # The default value is: YES. GENERATE_TODOLIST = YES -# The GENERATE_TESTLIST tag can be used to enable ( YES) or disable ( NO) the -# test list. This list is created by putting \test commands in the -# documentation. +# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test +# list. This list is created by putting \test commands in the documentation. # The default value is: YES. GENERATE_TESTLIST = YES -# The GENERATE_BUGLIST tag can be used to enable ( YES) or disable ( NO) the bug +# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug # list. This list is created by putting \bug commands in the documentation. # The default value is: YES. GENERATE_BUGLIST = YES -# The GENERATE_DEPRECATEDLIST tag can be used to enable ( YES) or disable ( NO) +# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) # the deprecated list. This list is created by putting \deprecated commands in # the documentation. # The default value is: YES. @@ -620,8 +742,8 @@ ENABLED_SECTIONS = MAX_INITIALIZER_LINES = 30 # Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES the list -# will mention the files that were used to generate the documentation. +# the bottom of the documentation of classes and structs. If set to YES, the +# list will mention the files that were used to generate the documentation. # The default value is: YES. SHOW_USED_FILES = YES @@ -655,7 +777,8 @@ FILE_VERSION_FILTER = # output files in an output format independent way. To create the layout file # that represents doxygen's defaults, run doxygen with the -l option. You can # optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. +# will be used as the name of the layout file. See also section "Changing the +# layout of pages" for information. # # Note that if you run doxygen from a directory containing a file called # DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE @@ -666,11 +789,10 @@ LAYOUT_FILE = # The CITE_BIB_FILES tag can be used to specify one or more bib files containing # the reference definitions. This must be a list of .bib files. The .bib # extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also http://en.wikipedia.org/wiki/BibTeX for more info. +# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. # For LaTeX the style of the bibliography can be controlled using # LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. Do not use file names with spaces, bibtex cannot handle them. See -# also \cite for info how to create references. +# search path. See also \cite for info how to create references. CITE_BIB_FILES = @@ -686,7 +808,7 @@ CITE_BIB_FILES = QUIET = NO # The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error ( stderr) by doxygen. If WARNINGS is set to YES +# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES # this implies that the warnings are on. # # Tip: Turn warnings on while writing the documentation. @@ -694,7 +816,7 @@ QUIET = NO WARNINGS = YES -# If the WARN_IF_UNDOCUMENTED tag is set to YES, then doxygen will generate +# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate # warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag # will automatically be disabled. # The default value is: YES. @@ -702,34 +824,66 @@ WARNINGS = YES WARN_IF_UNDOCUMENTED = YES # If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as not documenting some parameters -# in a documented function, or documenting parameters that don't exist or using -# markup commands wrongly. +# potential errors in the documentation, such as documenting some parameters in +# a documented function twice, or documenting parameters that don't exist or +# using markup commands wrongly. # The default value is: YES. WARN_IF_DOC_ERROR = YES +# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete +# function parameter documentation. If set to NO, doxygen will accept that some +# parameters have no documentation without warning. +# The default value is: YES. + +WARN_IF_INCOMPLETE_DOC = YES + # This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that # are documented, but have no documentation for their parameters or return -# value. If set to NO doxygen will only warn about wrong or incomplete parameter -# documentation, but not about the absence of documentation. +# value. If set to NO, doxygen will only warn about wrong parameter +# documentation, but not about the absence of documentation. If EXTRACT_ALL is +# set to YES then this flag will automatically be disabled. See also +# WARN_IF_INCOMPLETE_DOC # The default value is: NO. WARN_NO_PARAMDOC = NO +# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when +# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS +# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but +# at the end of the doxygen process doxygen will return with a non-zero status. +# Possible values are: NO, YES and FAIL_ON_WARNINGS. +# The default value is: NO. + +WARN_AS_ERROR = NO + # The WARN_FORMAT tag determines the format of the warning messages that doxygen # can produce. The string should contain the $file, $line, and $text tags, which # will be replaced by the file and line number from which the warning originated # and the warning text. Optionally the format may contain $version, which will # be replaced by the version of the file (if it could be obtained via # FILE_VERSION_FILTER) +# See also: WARN_LINE_FORMAT # The default value is: $file:$line: $text. WARN_FORMAT = "$file:$line: $text" +# In the $text part of the WARN_FORMAT command it is possible that a reference +# to a more specific place is given. To make it easier to jump to this place +# (outside of doxygen) the user can define a custom "cut" / "paste" string. +# Example: +# WARN_LINE_FORMAT = "'vi $file +$line'" +# See also: WARN_FORMAT +# The default value is: at line $line of file $file. + +WARN_LINE_FORMAT = "at line $line of file $file" + # The WARN_LOGFILE tag can be used to specify a file to which warning and error # messages should be written. If left blank the output is written to standard -# error (stderr). +# error (stderr). In case the file specified cannot be opened for writing the +# warning and error messages are written to standard error. When as file - is +# specified the warning and error messages are written to standard output +# (stdout). WARN_LOGFILE = @@ -740,30 +894,47 @@ WARN_LOGFILE = # The INPUT tag is used to specify the files and/or directories that contain # documented source files. You may enter file names like myfile.cpp or # directories like /usr/src/myproject. Separate the files or directories with -# spaces. +# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING # Note: If this tag is empty the current directory is searched. -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/include/ @CMAKE_CURRENT_SOURCE_DIR@/lib/ @CMAKE_CURRENT_SOURCE_DIR@/docs +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/include/ \ + @CMAKE_CURRENT_SOURCE_DIR@/lib/ \ + @CMAKE_CURRENT_SOURCE_DIR@/docs # This tag can be used to specify the character encoding of the source files # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses # libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: http://www.gnu.org/software/libiconv) for the list of -# possible encodings. +# documentation (see: +# https://www.gnu.org/software/libiconv/) for the list of possible encodings. # The default value is: UTF-8. INPUT_ENCODING = UTF-8 # If the value of the INPUT tag contains directories, you can use the # FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank the -# following patterns are tested:*.c, *.cc, *.cxx, *.cpp, *.c++, *.java, *.ii, -# *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, *.hh, *.hxx, *.hpp, -# *.h++, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, *.inc, *.m, *.markdown, -# *.md, *.mm, *.dox, *.py, *.f90, *.f, *.for, *.tcl, *.vhd, *.vhdl, *.ucf, -# *.qsf, *.as and *.js. - -FILE_PATTERNS = *.dox *.c *.h *.cpp *.hh *.cu *.cuh +# *.h) to filter out the source-files in the directories. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# read by doxygen. +# +# Note the list of default checked file patterns might differ from the list of +# default file extension mappings. +# +# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, +# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, +# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, +# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C +# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, +# *.vhdl, *.ucf, *.qsf and *.ice. + +FILE_PATTERNS = *.dox \ + *.c \ + *.h \ + *.cpp \ + *.hh \ + *.cu \ + *.cuh # The RECURSIVE tag can be used to specify whether or not subdirectories should # be searched for input files as well. @@ -800,7 +971,7 @@ EXCLUDE_PATTERNS = # (namespaces, classes, functions, etc.) that should be excluded from the # output. The symbol name can be a fully qualified name, a word, or if the # wildcard * is used, a substring. Examples: ANamespace, AClass, -# AClass::ANamespace, ANamespace::*Test +# ANamespace::AClass, ANamespace::*Test # # Note that the wildcards are matched against the file with absolute path, so to # exclude all test directories use the pattern */test/* @@ -847,6 +1018,10 @@ IMAGE_PATH = # Note that the filter must not add or remove lines; it is applied before the # code is scanned, but not when the output code is generated. If lines are added # or removed, the anchors will not be placed correctly. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. INPUT_FILTER = @@ -856,11 +1031,15 @@ INPUT_FILTER = # (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how # filters are used. If the FILTER_PATTERNS tag is empty or if none of the # patterns match the file name, INPUT_FILTER is applied. +# +# Note that for custom extensions or not directly supported extensions you also +# need to set EXTENSION_MAPPING for the extension otherwise the files are not +# properly processed by doxygen. FILTER_PATTERNS = # If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER ) will also be used to filter the input files that are used for +# INPUT_FILTER) will also be used to filter the input files that are used for # producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). # The default value is: NO. @@ -908,7 +1087,7 @@ INLINE_SOURCES = NO STRIP_CODE_COMMENTS = YES # If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# function all documented functions referencing it will be listed. +# entity all documented functions referencing it will be listed. # The default value is: NO. REFERENCED_BY_RELATION = NO @@ -920,7 +1099,7 @@ REFERENCED_BY_RELATION = NO REFERENCES_RELATION = NO # If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES, then the hyperlinks from functions in REFERENCES_RELATION and +# to YES then the hyperlinks from functions in REFERENCES_RELATION and # REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will # link to the documentation. # The default value is: YES. @@ -940,12 +1119,12 @@ SOURCE_TOOLTIPS = YES # If the USE_HTAGS tag is set to YES then the references to source code will # point to the HTML generated by the htags(1) tool instead of doxygen built-in # source browser. The htags tool is part of GNU's global source tagging system -# (see http://www.gnu.org/software/global/global.html). You will need version +# (see https://www.gnu.org/software/global/global.html). You will need version # 4.8.6 or higher. # # To use it do the following: # - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the config file +# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file # - Make sure the INPUT points to the root of the source tree # - Run doxygen as normal # @@ -978,13 +1157,6 @@ VERBATIM_HEADERS = YES ALPHABETICAL_INDEX = YES -# The COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns in -# which the alphabetical index list will be split. -# Minimum value: 1, maximum value: 20, default value: 5. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -COLS_IN_ALPHA_INDEX = 5 - # In case all classes in a project start with a common prefix, all classes will # be put under the same header in the alphabetical index. The IGNORE_PREFIX tag # can be used to specify a prefix (or a list of prefixes) that should be ignored @@ -997,7 +1169,7 @@ IGNORE_PREFIX = # Configuration options related to the HTML output #--------------------------------------------------------------------------- -# If the GENERATE_HTML tag is set to YES doxygen will generate HTML output +# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output # The default value is: YES. GENERATE_HTML = YES @@ -1059,13 +1231,15 @@ HTML_FOOTER = HTML_STYLESHEET = -# The HTML_EXTRA_STYLESHEET tag can be used to specify an additional user- -# defined cascading style sheet that is included after the standard style sheets +# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# cascading style sheets that are included after the standard style sheets # created by doxygen. Using this option one can overrule certain style aspects. # This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefor more robust against future updates. -# Doxygen will copy the style sheet file to the output directory. For an example -# see the documentation. +# standard style sheet and is therefore more robust against future updates. +# Doxygen will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). For an example see the documentation. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_EXTRA_STYLESHEET = @@ -1081,9 +1255,9 @@ HTML_EXTRA_STYLESHEET = HTML_EXTRA_FILES = # The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the stylesheet and background images according to -# this color. Hue is specified as an angle on a colorwheel, see -# http://en.wikipedia.org/wiki/Hue for more information. For instance the value +# will adjust the colors in the style sheet and background images according to +# this color. Hue is specified as an angle on a color-wheel, see +# https://en.wikipedia.org/wiki/Hue for more information. For instance the value # 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 # purple, and 360 is red again. # Minimum value: 0, maximum value: 359, default value: 220. @@ -1092,7 +1266,7 @@ HTML_EXTRA_FILES = HTML_COLORSTYLE_HUE = 220 # The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use grayscales only. A +# in the HTML output. For a value of 0 the output will use gray-scales only. A # value of 255 will produce the most vivid colors. # Minimum value: 0, maximum value: 255, default value: 100. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1112,12 +1286,24 @@ HTML_COLORSTYLE_GAMMA = 80 # If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML # page will contain the date and time when the page was generated. Setting this -# to NO can help when comparing the output of multiple runs. -# The default value is: YES. +# to YES can help to show when doxygen was last run and thus if the +# documentation is up to date. +# The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. HTML_TIMESTAMP = YES +# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML +# documentation will contain a main index with vertical navigation menus that +# are dynamically created via JavaScript. If disabled, the navigation index will +# consists of multiple levels of tabs that are statically embedded in every HTML +# page. Disable this option to support browsers that do not have JavaScript, +# like the Qt help browser. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_DYNAMIC_MENUS = YES + # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML # documentation will contain sections that can be hidden and shown after the # page has loaded. @@ -1141,13 +1327,14 @@ HTML_INDEX_NUM_ENTRIES = 100 # If the GENERATE_DOCSET tag is set to YES, additional index files will be # generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: http://developer.apple.com/tools/xcode/), introduced with -# OSX 10.5 (Leopard). To create a documentation set, doxygen will generate a -# Makefile in the HTML output directory. Running make will produce the docset in -# that directory and running make install will install the docset in +# environment (see: +# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To +# create a documentation set, doxygen will generate a Makefile in the HTML +# output directory. Running make will produce the docset in that directory and +# running make install will install the docset in # ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html -# for more information. +# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy +# genXcode/_index.html for more information. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. @@ -1161,6 +1348,13 @@ GENERATE_DOCSET = NO DOCSET_FEEDNAME = "Doxygen generated docs" +# This tag determines the URL of the docset feed. A documentation feed provides +# an umbrella under which multiple documentation sets from a single provider +# (such as a company or product suite) can be grouped. +# This tag requires that the tag GENERATE_DOCSET is set to YES. + +DOCSET_FEEDURL = + # This tag specifies a string that should uniquely identify the documentation # set bundle. This should be a reverse domain-name style string, e.g. # com.mycompany.MyDocSet. Doxygen will append .docset to the name. @@ -1186,8 +1380,12 @@ DOCSET_PUBLISHER_NAME = Publisher # If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three # additional HTML index files: index.hhp, index.hhc, and index.hhk. The # index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# (see: http://www.microsoft.com/en-us/download/details.aspx?id=21138) on -# Windows. +# on Windows. In the beginning of 2021 Microsoft took the original page, with +# a.o. the download links, offline the HTML help workshop was already many years +# in maintenance mode). You can download the HTML help workshop from the web +# archives at Installation executable (see: +# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo +# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). # # The HTML Help Workshop contains a compiler that can convert all HTML output # generated by doxygen into a single compiled HTML file (.chm). Compiled HTML @@ -1209,28 +1407,29 @@ GENERATE_HTMLHELP = NO CHM_FILE = # The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler ( hhc.exe). If non-empty +# including file name) of the HTML help compiler (hhc.exe). If non-empty, # doxygen will try to run the HTML help compiler on the generated index.hhp. # The file has to be specified with full path. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. HHC_LOCATION = -# The GENERATE_CHI flag controls if a separate .chi index file is generated ( -# YES) or that it should be included in the master .chm file ( NO). +# The GENERATE_CHI flag controls if a separate .chi index file is generated +# (YES) or that it should be included in the main .chm file (NO). # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. GENERATE_CHI = NO -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index ( hhk), content ( hhc) +# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) # and project file content. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. CHM_INDEX_ENCODING = -# The BINARY_TOC flag controls whether a binary table of contents is generated ( -# YES) or a normal table of contents ( NO) in the .chm file. +# The BINARY_TOC flag controls whether a binary table of contents is generated +# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it +# enables the Previous and Next buttons. # The default value is: NO. # This tag requires that the tag GENERATE_HTMLHELP is set to YES. @@ -1261,7 +1460,8 @@ QCH_FILE = # The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help # Project output. For more information please see Qt Help Project / Namespace -# (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#namespace). +# (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). # The default value is: org.doxygen.Project. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1269,8 +1469,8 @@ QHP_NAMESPACE = org.doxygen.Project # The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt # Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#virtual- -# folders). +# Folders (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). # The default value is: doc. # This tag requires that the tag GENERATE_QHP is set to YES. @@ -1278,30 +1478,30 @@ QHP_VIRTUAL_FOLDER = doc # If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom # filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_NAME = # The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the # custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: http://qt-project.org/doc/qt-4.8/qthelpproject.html#custom- -# filters). +# Filters (see: +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_CUST_FILTER_ATTRS = # The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this # project's filter section matches. Qt Help Project / Filter Attributes (see: -# http://qt-project.org/doc/qt-4.8/qthelpproject.html#filter-attributes). +# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). # This tag requires that the tag GENERATE_QHP is set to YES. QHP_SECT_FILTER_ATTRS = -# The QHG_LOCATION tag can be used to specify the location of Qt's -# qhelpgenerator. If non-empty doxygen will try to run qhelpgenerator on the -# generated .qhp file. +# The QHG_LOCATION tag can be used to specify the location (absolute path +# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to +# run qhelpgenerator on the generated .qhp file. # This tag requires that the tag GENERATE_QHP is set to YES. QHG_LOCATION = @@ -1343,17 +1543,29 @@ DISABLE_INDEX = NO # index structure (just like the one that is generated for HTML Help). For this # to work a browser that supports JavaScript, DHTML, CSS and frames is required # (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom stylesheets (see HTML_EXTRA_STYLESHEET) one can -# further fine-tune the look of the index. As an example, the default style -# sheet generated by doxygen has an example that shows how to put an image at -# the root of the tree instead of the PROJECT_NAME. Since the tree basically has -# the same information as the tab index, you could consider setting -# DISABLE_INDEX to YES when enabling this option. +# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can +# further fine tune the look of the index (see "Fine-tuning the output"). As an +# example, the default style sheet generated by doxygen has an example that +# shows how to put an image at the root of the tree instead of the PROJECT_NAME. +# Since the tree basically has the same information as the tab index, you could +# consider setting DISABLE_INDEX to YES when enabling this option. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. GENERATE_TREEVIEW = NO +# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the +# FULL_SIDEBAR option determines if the side bar is limited to only the treeview +# area (value NO) or if it should extend to the full height of the window (value +# YES). Setting this to YES gives a layout similar to +# https://docs.readthedocs.io with more room for contents, but less room for the +# project logo, title, and description. If either GENERATE_TREEVIEW or +# DISABLE_INDEX is set to NO, this option has no effect. +# The default value is: NO. +# This tag requires that the tag GENERATE_HTML is set to YES. + +FULL_SIDEBAR = NO + # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that # doxygen will group on one line in the generated HTML documentation. # @@ -1371,13 +1583,31 @@ ENUM_VALUES_PER_LINE = 4 TREEVIEW_WIDTH = 250 -# When the EXT_LINKS_IN_WINDOW option is set to YES doxygen will open links to +# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to # external symbols imported via tag files in a separate window. # The default value is: NO. # This tag requires that the tag GENERATE_HTML is set to YES. EXT_LINKS_IN_WINDOW = NO +# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email +# addresses. +# The default value is: YES. +# This tag requires that the tag GENERATE_HTML is set to YES. + +OBFUSCATE_EMAILS = YES + +# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg +# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see +# https://inkscape.org) to generate formulas as SVG images instead of PNGs for +# the HTML output. These images will generally look nicer at scaled resolutions. +# Possible values are: png (the default) and svg (looks nicer but requires the +# pdf2svg or inkscape tool). +# The default value is: png. +# This tag requires that the tag GENERATE_HTML is set to YES. + +HTML_FORMULA_FORMAT = png + # Use this tag to change the font size of LaTeX formulas included as images in # the HTML documentation. When you change the font size after a successful # doxygen run you need to manually remove any form_*.png images from the HTML @@ -1387,7 +1617,7 @@ EXT_LINKS_IN_WINDOW = NO FORMULA_FONTSIZE = 10 -# Use the FORMULA_TRANPARENT tag to determine whether or not the images +# Use the FORMULA_TRANSPARENT tag to determine whether or not the images # generated for formulas are transparent PNGs. Transparent PNGs are not # supported properly for IE 6.0, but are supported on all modern browsers. # @@ -1398,9 +1628,15 @@ FORMULA_FONTSIZE = 10 FORMULA_TRANSPARENT = YES +# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands +# to create new LaTeX commands to be used in formulas as building blocks. See +# the section "Including formulas" for details. + +FORMULA_MACROFILE = + # Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# http://www.mathjax.org) which uses client side Javascript for the rendering -# instead of using prerendered bitmaps. Use this if you do not have LaTeX +# https://www.mathjax.org) which uses client side JavaScript for the rendering +# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX # installed or if you want to formulas look prettier in the HTML output. When # enabled you may also need to install MathJax separately and configure the path # to it using the MATHJAX_RELPATH option. @@ -1409,11 +1645,29 @@ FORMULA_TRANSPARENT = YES USE_MATHJAX = NO +# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. +# Note that the different versions of MathJax have different requirements with +# regards to the different settings, so it is possible that also other MathJax +# settings have to be changed when switching between the different MathJax +# versions. +# Possible values are: MathJax_2 and MathJax_3. +# The default value is: MathJax_2. +# This tag requires that the tag USE_MATHJAX is set to YES. + +MATHJAX_VERSION = MathJax_2 + # When MathJax is enabled you can set the default output format to be used for -# the MathJax output. See the MathJax site (see: -# http://docs.mathjax.org/en/latest/output.html) for more details. +# the MathJax output. For more details about the output format see MathJax +# version 2 (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 +# (see: +# http://docs.mathjax.org/en/latest/web/components/output.html). # Possible values are: HTML-CSS (which is slower, but has the best -# compatibility), NativeMML (i.e. MathML) and SVG. +# compatibility. This is the name for Mathjax version 2, for MathJax version 3 +# this will be translated into chtml), NativeMML (i.e. MathML. Only supported +# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This +# is the name for Mathjax version 3, for MathJax version 2 this will be +# translated into HTML-CSS) and SVG. # The default value is: HTML-CSS. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1426,22 +1680,29 @@ MATHJAX_FORMAT = HTML-CSS # MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax # Content Delivery Network so you can quickly see the result without installing # MathJax. However, it is strongly recommended to install a local copy of -# MathJax from http://www.mathjax.org before deployment. -# The default value is: http://cdn.mathjax.org/mathjax/latest. +# MathJax from https://www.mathjax.org before deployment. The default value is: +# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 +# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest # The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax # extension names that should be enabled during MathJax rendering. For example +# for MathJax version 2 (see +# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): # MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols +# For example for MathJax version 3 (see +# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): +# MATHJAX_EXTENSIONS = ams # This tag requires that the tag USE_MATHJAX is set to YES. MATHJAX_EXTENSIONS = # The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces # of code that will be used on startup of the MathJax code. See the MathJax site -# (see: http://docs.mathjax.org/en/latest/output.html) for more details. For an +# (see: +# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an # example see the documentation. # This tag requires that the tag USE_MATHJAX is set to YES. @@ -1469,12 +1730,12 @@ MATHJAX_CODEFILE = SEARCHENGINE = YES # When the SERVER_BASED_SEARCH tag is enabled the search engine will be -# implemented using a web server instead of a web client using Javascript. There -# are two flavours of web server based searching depending on the -# EXTERNAL_SEARCH setting. When disabled, doxygen will generate a PHP script for -# searching and an index file used by the script. When EXTERNAL_SEARCH is -# enabled the indexing and searching needs to be provided by external tools. See -# the section "External Indexing and Searching" for details. +# implemented using a web server instead of a web client using JavaScript. There +# are two flavors of web server based searching depending on the EXTERNAL_SEARCH +# setting. When disabled, doxygen will generate a PHP script for searching and +# an index file used by the script. When EXTERNAL_SEARCH is enabled the indexing +# and searching needs to be provided by external tools. See the section +# "External Indexing and Searching" for details. # The default value is: NO. # This tag requires that the tag SEARCHENGINE is set to YES. @@ -1486,9 +1747,10 @@ SERVER_BASED_SEARCH = NO # external search engine pointed to by the SEARCHENGINE_URL option to obtain the # search results. # -# Doxygen ships with an example indexer ( doxyindexer) and search engine +# Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). +# Xapian (see: +# https://xapian.org/). # # See the section "External Indexing and Searching" for details. # The default value is: NO. @@ -1499,10 +1761,11 @@ EXTERNAL_SEARCH = NO # The SEARCHENGINE_URL should point to a search engine hosted by a web server # which will return the search results when EXTERNAL_SEARCH is enabled. # -# Doxygen ships with an example indexer ( doxyindexer) and search engine +# Doxygen ships with an example indexer (doxyindexer) and search engine # (doxysearch.cgi) which are based on the open source search engine library -# Xapian (see: http://xapian.org/). See the section "External Indexing and -# Searching" for details. +# Xapian (see: +# https://xapian.org/). See the section "External Indexing and Searching" for +# details. # This tag requires that the tag SEARCHENGINE is set to YES. SEARCHENGINE_URL = @@ -1537,7 +1800,7 @@ EXTRA_SEARCH_MAPPINGS = # Configuration options related to the LaTeX output #--------------------------------------------------------------------------- -# If the GENERATE_LATEX tag is set to YES doxygen will generate LaTeX output. +# If the GENERATE_LATEX tag is set to YES, doxygen will generate LaTeX output. # The default value is: YES. GENERATE_LATEX = YES @@ -1553,22 +1816,36 @@ LATEX_OUTPUT = latex # The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be # invoked. # -# Note that when enabling USE_PDFLATEX this option is only used for generating -# bitmaps for formulas in the HTML output, but not in the Makefile that is -# written to the output directory. -# The default file is: latex. +# Note that when not enabling USE_PDFLATEX the default is latex when enabling +# USE_PDFLATEX the default is pdflatex and when in the later case latex is +# chosen this is overwritten by pdflatex. For specific output languages the +# default can have been set differently, this depends on the implementation of +# the output language. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_CMD_NAME = latex # The MAKEINDEX_CMD_NAME tag can be used to specify the command name to generate # index for LaTeX. +# Note: This tag is used in the Makefile / make.bat. +# See also: LATEX_MAKEINDEX_CMD for the part in the generated output file +# (.tex). # The default file is: makeindex. # This tag requires that the tag GENERATE_LATEX is set to YES. MAKEINDEX_CMD_NAME = makeindex -# If the COMPACT_LATEX tag is set to YES doxygen generates more compact LaTeX +# The LATEX_MAKEINDEX_CMD tag can be used to specify the command name to +# generate index for LaTeX. In case there is no backslash (\) as first character +# it will be automatically added in the LaTeX code. +# Note: This tag is used in the generated output file (.tex). +# See also: MAKEINDEX_CMD_NAME for the part in the Makefile / make.bat. +# The default value is: makeindex. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_MAKEINDEX_CMD = makeindex + +# If the COMPACT_LATEX tag is set to YES, doxygen generates more compact LaTeX # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1586,39 +1863,57 @@ COMPACT_LATEX = NO PAPER_TYPE = a4 # The EXTRA_PACKAGES tag can be used to specify one or more LaTeX package names -# that should be included in the LaTeX output. To get the times font for -# instance you can specify -# EXTRA_PACKAGES=times +# that should be included in the LaTeX output. The package can be specified just +# by its name or with the correct syntax as to be used with the LaTeX +# \usepackage command. To get the times font for instance you can specify : +# EXTRA_PACKAGES=times or EXTRA_PACKAGES={times} +# To use the option intlimits with the amsmath package you can specify: +# EXTRA_PACKAGES=[intlimits]{amsmath} # If left blank no extra packages will be included. # This tag requires that the tag GENERATE_LATEX is set to YES. EXTRA_PACKAGES = -# The LATEX_HEADER tag can be used to specify a personal LaTeX header for the -# generated LaTeX document. The header should contain everything until the first -# chapter. If it is left blank doxygen will generate a standard header. See -# section "Doxygen usage" for information on how to let doxygen write the -# default header to a separate file. +# The LATEX_HEADER tag can be used to specify a user-defined LaTeX header for +# the generated LaTeX document. The header should contain everything until the +# first chapter. If it is left blank doxygen will generate a standard header. It +# is highly recommended to start with a default header using +# doxygen -w latex new_header.tex new_footer.tex new_stylesheet.sty +# and then modify the file new_header.tex. See also section "Doxygen usage" for +# information on how to generate the default header that doxygen normally uses. # -# Note: Only use a user-defined header if you know what you are doing! The -# following commands have a special meaning inside the header: $title, -# $datetime, $date, $doxygenversion, $projectname, $projectnumber. Doxygen will -# replace them by respectively the title of the page, the current date and time, -# only the current date, the version number of doxygen, the project name (see -# PROJECT_NAME), or the project number (see PROJECT_NUMBER). +# Note: Only use a user-defined header if you know what you are doing! +# Note: The header is subject to change so you typically have to regenerate the +# default header when upgrading to a newer version of doxygen. The following +# commands have a special meaning inside the header (and footer): For a +# description of the possible markers and block names see the documentation. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_HEADER = -# The LATEX_FOOTER tag can be used to specify a personal LaTeX footer for the -# generated LaTeX document. The footer should contain everything after the last -# chapter. If it is left blank doxygen will generate a standard footer. -# -# Note: Only use a user-defined footer if you know what you are doing! +# The LATEX_FOOTER tag can be used to specify a user-defined LaTeX footer for +# the generated LaTeX document. The footer should contain everything after the +# last chapter. If it is left blank doxygen will generate a standard footer. See +# LATEX_HEADER for more information on how to generate a default footer and what +# special commands can be used inside the footer. See also section "Doxygen +# usage" for information on how to generate the default footer that doxygen +# normally uses. Note: Only use a user-defined footer if you know what you are +# doing! # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_FOOTER = +# The LATEX_EXTRA_STYLESHEET tag can be used to specify additional user-defined +# LaTeX style sheets that are included after the standard style sheets created +# by doxygen. Using this option one can overrule certain style aspects. Doxygen +# will copy the style sheet files to the output directory. +# Note: The order of the extra style sheet files is of importance (e.g. the last +# style sheet in the list overrules the setting of the previous ones in the +# list). +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EXTRA_STYLESHEET = + # The LATEX_EXTRA_FILES tag can be used to specify one or more extra images or # other source files which should be copied to the LATEX_OUTPUT output # directory. Note that the files will be copied as-is; there are no commands or @@ -1636,9 +1931,11 @@ LATEX_EXTRA_FILES = PDF_HYPERLINKS = YES -# If the LATEX_PDFLATEX tag is set to YES, doxygen will use pdflatex to generate -# the PDF file directly from the LaTeX files. Set this option to YES to get a -# higher quality PDF documentation. +# If the USE_PDFLATEX tag is set to YES, doxygen will use the engine as +# specified with LATEX_CMD_NAME to generate the PDF file directly from the LaTeX +# files. Set this option to YES, to get a higher quality PDF documentation. +# +# See also section LATEX_CMD_NAME for selecting the engine. # The default value is: YES. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1646,8 +1943,7 @@ USE_PDFLATEX = YES # If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \batchmode # command to the generated LaTeX files. This will instruct LaTeX to keep running -# if errors occur, instead of asking the user for help. This option is also used -# when generating formulas in HTML. +# if errors occur, instead of asking the user for help. # The default value is: NO. # This tag requires that the tag GENERATE_LATEX is set to YES. @@ -1660,29 +1956,35 @@ LATEX_BATCHMODE = NO LATEX_HIDE_INDICES = NO -# If the LATEX_SOURCE_CODE tag is set to YES then doxygen will include source -# code with syntax highlighting in the LaTeX output. -# -# Note that which sources are shown also depends on other settings such as -# SOURCE_BROWSER. -# The default value is: NO. -# This tag requires that the tag GENERATE_LATEX is set to YES. - -LATEX_SOURCE_CODE = NO - # The LATEX_BIB_STYLE tag can be used to specify the style to use for the # bibliography, e.g. plainnat, or ieeetr. See -# http://en.wikipedia.org/wiki/BibTeX and \cite for more info. +# https://en.wikipedia.org/wiki/BibTeX and \cite for more info. # The default value is: plain. # This tag requires that the tag GENERATE_LATEX is set to YES. LATEX_BIB_STYLE = plain +# If the LATEX_TIMESTAMP tag is set to YES then the footer of each generated +# page will contain the date and time when the page was generated. Setting this +# to NO can help when comparing the output of multiple runs. +# The default value is: NO. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_TIMESTAMP = NO + +# The LATEX_EMOJI_DIRECTORY tag is used to specify the (relative or absolute) +# path from which the emoji images will be read. If a relative path is entered, +# it will be relative to the LATEX_OUTPUT directory. If left blank the +# LATEX_OUTPUT directory will be used. +# This tag requires that the tag GENERATE_LATEX is set to YES. + +LATEX_EMOJI_DIRECTORY = + #--------------------------------------------------------------------------- # Configuration options related to the RTF output #--------------------------------------------------------------------------- -# If the GENERATE_RTF tag is set to YES doxygen will generate RTF output. The +# If the GENERATE_RTF tag is set to YES, doxygen will generate RTF output. The # RTF output is optimized for Word 97 and may not look too pretty with other RTF # readers/editors. # The default value is: NO. @@ -1697,7 +1999,7 @@ GENERATE_RTF = NO RTF_OUTPUT = rtf -# If the COMPACT_RTF tag is set to YES doxygen generates more compact RTF +# If the COMPACT_RTF tag is set to YES, doxygen generates more compact RTF # documents. This may be useful for small projects and may help to save some # trees in general. # The default value is: NO. @@ -1717,9 +2019,9 @@ COMPACT_RTF = NO RTF_HYPERLINKS = NO -# Load stylesheet definitions from file. Syntax is similar to doxygen's config -# file, i.e. a series of assignments. You only have to provide replacements, -# missing definitions are set to their default value. +# Load stylesheet definitions from file. Syntax is similar to doxygen's +# configuration file, i.e. a series of assignments. You only have to provide +# replacements, missing definitions are set to their default value. # # See also section "Doxygen usage" for information on how to generate the # default style sheet that doxygen normally uses. @@ -1728,8 +2030,8 @@ RTF_HYPERLINKS = NO RTF_STYLESHEET_FILE = # Set optional variables used in the generation of an RTF document. Syntax is -# similar to doxygen's config file. A template extensions file can be generated -# using doxygen -e rtf extensionFile. +# similar to doxygen's configuration file. A template extensions file can be +# generated using doxygen -e rtf extensionFile. # This tag requires that the tag GENERATE_RTF is set to YES. RTF_EXTENSIONS_FILE = @@ -1738,7 +2040,7 @@ RTF_EXTENSIONS_FILE = # Configuration options related to the man page output #--------------------------------------------------------------------------- -# If the GENERATE_MAN tag is set to YES doxygen will generate man pages for +# If the GENERATE_MAN tag is set to YES, doxygen will generate man pages for # classes and files. # The default value is: NO. @@ -1762,6 +2064,13 @@ MAN_OUTPUT = man MAN_EXTENSION = .3 +# The MAN_SUBDIR tag determines the name of the directory created within +# MAN_OUTPUT in which the man pages are placed. If defaults to man followed by +# MAN_EXTENSION with the initial . removed. +# This tag requires that the tag GENERATE_MAN is set to YES. + +MAN_SUBDIR = + # If the MAN_LINKS tag is set to YES and doxygen generates man output, then it # will generate one additional man file for each entity documented in the real # man page(s). These additional files only source the real man page, but without @@ -1775,7 +2084,7 @@ MAN_LINKS = NO # Configuration options related to the XML output #--------------------------------------------------------------------------- -# If the GENERATE_XML tag is set to YES doxygen will generate an XML file that +# If the GENERATE_XML tag is set to YES, doxygen will generate an XML file that # captures the structure of the code including all documentation. # The default value is: NO. @@ -1789,19 +2098,7 @@ GENERATE_XML = NO XML_OUTPUT = xml -# The XML_SCHEMA tag can be used to specify a XML schema, which can be used by a -# validating XML parser to check the syntax of the XML files. -# This tag requires that the tag GENERATE_XML is set to YES. - -XML_SCHEMA = - -# The XML_DTD tag can be used to specify a XML DTD, which can be used by a -# validating XML parser to check the syntax of the XML files. -# This tag requires that the tag GENERATE_XML is set to YES. - -XML_DTD = - -# If the XML_PROGRAMLISTING tag is set to YES doxygen will dump the program +# If the XML_PROGRAMLISTING tag is set to YES, doxygen will dump the program # listings (including syntax highlighting and cross-referencing information) to # the XML output. Note that enabling this will significantly increase the size # of the XML output. @@ -1810,11 +2107,18 @@ XML_DTD = XML_PROGRAMLISTING = YES +# If the XML_NS_MEMB_FILE_SCOPE tag is set to YES, doxygen will include +# namespace members in file scope as well, matching the HTML output. +# The default value is: NO. +# This tag requires that the tag GENERATE_XML is set to YES. + +XML_NS_MEMB_FILE_SCOPE = NO + #--------------------------------------------------------------------------- # Configuration options related to the DOCBOOK output #--------------------------------------------------------------------------- -# If the GENERATE_DOCBOOK tag is set to YES doxygen will generate Docbook files +# If the GENERATE_DOCBOOK tag is set to YES, doxygen will generate Docbook files # that can be used to generate PDF. # The default value is: NO. @@ -1832,10 +2136,10 @@ DOCBOOK_OUTPUT = docbook # Configuration options for the AutoGen Definitions output #--------------------------------------------------------------------------- -# If the GENERATE_AUTOGEN_DEF tag is set to YES doxygen will generate an AutoGen -# Definitions (see http://autogen.sf.net) file that captures the structure of -# the code including all documentation. Note that this feature is still -# experimental and incomplete at the moment. +# If the GENERATE_AUTOGEN_DEF tag is set to YES, doxygen will generate an +# AutoGen Definitions (see http://autogen.sourceforge.net/) file that captures +# the structure of the code including all documentation. Note that this feature +# is still experimental and incomplete at the moment. # The default value is: NO. GENERATE_AUTOGEN_DEF = NO @@ -1844,7 +2148,7 @@ GENERATE_AUTOGEN_DEF = NO # Configuration options related to the Perl module output #--------------------------------------------------------------------------- -# If the GENERATE_PERLMOD tag is set to YES doxygen will generate a Perl module +# If the GENERATE_PERLMOD tag is set to YES, doxygen will generate a Perl module # file that captures the structure of the code including all documentation. # # Note that this feature is still experimental and incomplete at the moment. @@ -1852,7 +2156,7 @@ GENERATE_AUTOGEN_DEF = NO GENERATE_PERLMOD = NO -# If the PERLMOD_LATEX tag is set to YES doxygen will generate the necessary +# If the PERLMOD_LATEX tag is set to YES, doxygen will generate the necessary # Makefile rules, Perl scripts and LaTeX code to be able to generate PDF and DVI # output from the Perl module output. # The default value is: NO. @@ -1860,9 +2164,9 @@ GENERATE_PERLMOD = NO PERLMOD_LATEX = NO -# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be nicely +# If the PERLMOD_PRETTY tag is set to YES, the Perl module output will be nicely # formatted so it can be parsed by a human reader. This is useful if you want to -# understand what is going on. On the other hand, if this tag is set to NO the +# understand what is going on. On the other hand, if this tag is set to NO, the # size of the Perl module output will be much smaller and Perl will parse it # just the same. # The default value is: YES. @@ -1882,14 +2186,14 @@ PERLMOD_MAKEVAR_PREFIX = # Configuration options related to the preprocessor #--------------------------------------------------------------------------- -# If the ENABLE_PREPROCESSING tag is set to YES doxygen will evaluate all +# If the ENABLE_PREPROCESSING tag is set to YES, doxygen will evaluate all # C-preprocessor directives found in the sources and include files. # The default value is: YES. ENABLE_PREPROCESSING = YES -# If the MACRO_EXPANSION tag is set to YES doxygen will expand all macro names -# in the source code. If set to NO only conditional compilation will be +# If the MACRO_EXPANSION tag is set to YES, doxygen will expand all macro names +# in the source code. If set to NO, only conditional compilation will be # performed. Macro expansion can be done in a controlled way by setting # EXPAND_ONLY_PREDEF to YES. # The default value is: NO. @@ -1905,7 +2209,7 @@ MACRO_EXPANSION = NO EXPAND_ONLY_PREDEF = NO -# If the SEARCH_INCLUDES tag is set to YES the includes files in the +# If the SEARCH_INCLUDES tag is set to YES, the include files in the # INCLUDE_PATH will be searched if a #include is found. # The default value is: YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. @@ -1914,7 +2218,8 @@ SEARCH_INCLUDES = YES # The INCLUDE_PATH tag can be used to specify one or more directories that # contain include files that are not input files but should be processed by the -# preprocessor. +# preprocessor. Note that the INCLUDE_PATH is not recursive, so the setting of +# RECURSIVE has no effect here. # This tag requires that the tag SEARCH_INCLUDES is set to YES. INCLUDE_PATH = @@ -1947,9 +2252,9 @@ PREDEFINED = EXPAND_AS_DEFINED = # If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will -# remove all refrences to function-like macros that are alone on a line, have an -# all uppercase name, and do not end with a semicolon. Such function macros are -# typically used for boiler-plate code, and will confuse the parser if not +# remove all references to function-like macros that are alone on a line, have +# an all uppercase name, and do not end with a semicolon. Such function macros +# are typically used for boiler-plate code, and will confuse the parser if not # removed. # The default value is: YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES. @@ -1969,7 +2274,7 @@ SKIP_FUNCTION_MACROS = YES # where loc1 and loc2 can be relative or absolute paths or URLs. See the # section "Linking to external documentation" for more information about the use # of tag files. -# Note: Each tag file must have an unique name (where the name does NOT include +# Note: Each tag file must have a unique name (where the name does NOT include # the path). If a tag file is not located in the directory in which doxygen is # run, you must also specify the path to the tagfile here. @@ -1981,54 +2286,31 @@ TAGFILES = GENERATE_TAGFILE = -# If the ALLEXTERNALS tag is set to YES all external class will be listed in the -# class index. If set to NO only the inherited external classes will be listed. +# If the ALLEXTERNALS tag is set to YES, all external class will be listed in +# the class index. If set to NO, only the inherited external classes will be +# listed. # The default value is: NO. ALLEXTERNALS = NO -# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed in -# the modules index. If set to NO, only the current project's groups will be +# If the EXTERNAL_GROUPS tag is set to YES, all external groups will be listed +# in the modules index. If set to NO, only the current project's groups will be # listed. # The default value is: YES. EXTERNAL_GROUPS = YES -# If the EXTERNAL_PAGES tag is set to YES all external pages will be listed in +# If the EXTERNAL_PAGES tag is set to YES, all external pages will be listed in # the related pages index. If set to NO, only the current project's pages will # be listed. # The default value is: YES. EXTERNAL_PAGES = YES -# The PERL_PATH should be the absolute path and name of the perl script -# interpreter (i.e. the result of 'which perl'). -# The default file (with absolute path) is: /usr/bin/perl. - -PERL_PATH = /usr/bin/perl - #--------------------------------------------------------------------------- # Configuration options related to the dot tool #--------------------------------------------------------------------------- -# If the CLASS_DIAGRAMS tag is set to YES doxygen will generate a class diagram -# (in HTML and LaTeX) for classes with base or super classes. Setting the tag to -# NO turns the diagrams off. Note that this option also works with HAVE_DOT -# disabled, but it is recommended to install and use dot, since it yields more -# powerful graphs. -# The default value is: YES. - -CLASS_DIAGRAMS = YES - -# You can define message sequence charts within doxygen comments using the \msc -# command. Doxygen will then run the mscgen tool (see: -# http://www.mcternan.me.uk/mscgen/)) to produce the chart and insert it in the -# documentation. The MSCGEN_PATH tag allows you to specify the directory where -# the mscgen tool resides. If left empty the tool is assumed to be found in the -# default search path. - -MSCGEN_PATH = - # You can include diagrams made with dia in doxygen documentation. Doxygen will # then run dia to produce the diagram and insert it in the documentation. The # DIA_PATH tag allows you to specify the directory where the dia binary resides. @@ -2036,7 +2318,7 @@ MSCGEN_PATH = DIA_PATH = -# If set to YES, the inheritance and collaboration graphs will hide inheritance +# If set to YES the inheritance and collaboration graphs will hide inheritance # and usage relations if the target is undocumented or is not a class. # The default value is: YES. @@ -2061,7 +2343,7 @@ HAVE_DOT = YES DOT_NUM_THREADS = 0 -# When you want a differently looking font n the dot files that doxygen +# When you want a differently looking font in the dot files that doxygen # generates you can specify the font name using DOT_FONTNAME. You need to make # sure dot is able to find the font, which can be done by putting it in a # standard location or by setting the DOTFONTPATH environment variable or by @@ -2085,11 +2367,14 @@ DOT_FONTSIZE = 10 DOT_FONTPATH = -# If the CLASS_GRAPH tag is set to YES then doxygen will generate a graph for -# each documented class showing the direct and indirect inheritance relations. -# Setting this tag to YES will force the CLASS_DIAGRAMS tag to NO. +# If the CLASS_GRAPH tag is set to YES (or GRAPH) then doxygen will generate a +# graph for each documented class showing the direct and indirect inheritance +# relations. In case HAVE_DOT is set as well dot will be used to draw the graph, +# otherwise the built-in generator will be used. If the CLASS_GRAPH tag is set +# to TEXT the direct and indirect inheritance relations will be shown as texts / +# links. +# Possible values are: NO, YES, TEXT and GRAPH. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. CLASS_GRAPH = YES @@ -2103,13 +2388,14 @@ CLASS_GRAPH = YES COLLABORATION_GRAPH = YES # If the GROUP_GRAPHS tag is set to YES then doxygen will generate a graph for -# groups, showing the direct groups dependencies. +# groups, showing the direct groups dependencies. See also the chapter Grouping +# in the manual. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GROUP_GRAPHS = YES -# If the UML_LOOK tag is set to YES doxygen will generate inheritance and +# If the UML_LOOK tag is set to YES, doxygen will generate inheritance and # collaboration diagrams in a style similar to the OMG's Unified Modeling # Language. # The default value is: NO. @@ -2126,10 +2412,32 @@ UML_LOOK = NO # but if the number exceeds 15, the total amount of fields shown is limited to # 10. # Minimum value: 0, maximum value: 100, default value: 10. -# This tag requires that the tag HAVE_DOT is set to YES. +# This tag requires that the tag UML_LOOK is set to YES. UML_LIMIT_NUM_FIELDS = 10 +# If the DOT_UML_DETAILS tag is set to NO, doxygen will show attributes and +# methods without types and arguments in the UML graphs. If the DOT_UML_DETAILS +# tag is set to YES, doxygen will add type and arguments for attributes and +# methods in the UML graphs. If the DOT_UML_DETAILS tag is set to NONE, doxygen +# will not generate fields with class member information in the UML graphs. The +# class diagrams will look similar to the default class diagrams but using UML +# notation for the relationships. +# Possible values are: NO, YES and NONE. +# The default value is: NO. +# This tag requires that the tag UML_LOOK is set to YES. + +DOT_UML_DETAILS = NO + +# The DOT_WRAP_THRESHOLD tag can be used to set the maximum number of characters +# to display on a single line. If the actual line length exceeds this threshold +# significantly it will wrapped across multiple lines. Some heuristics are apply +# to avoid ugly line breaks. +# Minimum value: 0, maximum value: 1000, default value: 17. +# This tag requires that the tag HAVE_DOT is set to YES. + +DOT_WRAP_THRESHOLD = 17 + # If the TEMPLATE_RELATIONS tag is set to YES then the inheritance and # collaboration graphs will show the relations between templates and their # instances. @@ -2161,7 +2469,8 @@ INCLUDED_BY_GRAPH = YES # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable call graphs for selected -# functions only using the \callgraph command. +# functions only using the \callgraph command. Disabling a call graph can be +# accomplished by means of the command \hidecallgraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2172,7 +2481,8 @@ CALL_GRAPH = NO # # Note that enabling this option will significantly increase the time of a run. # So in most cases it will be better to enable caller graphs for selected -# functions only using the \callergraph command. +# functions only using the \callergraph command. Disabling a caller graph can be +# accomplished by means of the command \hidecallergraph. # The default value is: NO. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2194,12 +2504,23 @@ GRAPHICAL_HIERARCHY = YES DIRECTORY_GRAPH = YES +# The DIR_GRAPH_MAX_DEPTH tag can be used to limit the maximum number of levels +# of child directories generated in directory dependency graphs by dot. +# Minimum value: 1, maximum value: 25, default value: 1. +# This tag requires that the tag DIRECTORY_GRAPH is set to YES. + +DIR_GRAPH_MAX_DEPTH = 1 + # The DOT_IMAGE_FORMAT tag can be used to set the image format of the images -# generated by dot. +# generated by dot. For an explanation of the image formats see the section +# output formats in the documentation of the dot tool (Graphviz (see: +# http://www.graphviz.org/)). # Note: If you choose svg you need to set HTML_FILE_EXTENSION to xhtml in order # to make the SVG files visible in IE 9+ (other browsers do not have this # requirement). -# Possible values are: png, jpg, gif and svg. +# Possible values are: png, jpg, gif, svg, png:gd, png:gd:gd, png:cairo, +# png:cairo:gd, png:cairo:cairo, png:cairo:gdiplus, png:gdiplus and +# png:gdiplus:gdiplus. # The default value is: png. # This tag requires that the tag HAVE_DOT is set to YES. @@ -2242,6 +2563,24 @@ MSCFILE_DIRS = DIAFILE_DIRS = +# When using plantuml, the PLANTUML_JAR_PATH tag should be used to specify the +# path where java can find the plantuml.jar file or to the filename of jar file +# to be used. If left blank, it is assumed PlantUML is not used or called during +# a preprocessing step. Doxygen will generate a warning when it encounters a +# \startuml command in this case and will not generate output for the diagram. + +PLANTUML_JAR_PATH = + +# When using plantuml, the PLANTUML_CFG_FILE tag can be used to specify a +# configuration file for plantuml. + +PLANTUML_CFG_FILE = + +# When using plantuml, the specified paths are searched for files specified by +# the !include statement in a plantuml block. + +PLANTUML_INCLUDE_PATH = + # The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of nodes # that will be shown in the graph. If the number of nodes in a graph becomes # larger than this value, doxygen will truncate the graph, which is visualized @@ -2278,7 +2617,7 @@ MAX_DOT_GRAPH_DEPTH = 0 DOT_TRANSPARENT = NO -# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output +# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output # files in one run (i.e. multiple -o and -T options on the command line). This # makes dot run faster, but since only newer versions of dot (>1.8.10) support # this, this feature is disabled by default. @@ -2290,14 +2629,18 @@ DOT_MULTI_TARGETS = YES # If the GENERATE_LEGEND tag is set to YES doxygen will generate a legend page # explaining the meaning of the various boxes and arrows in the dot generated # graphs. +# Note: This tag requires that UML_LOOK isn't set, i.e. the doxygen internal +# graphical representation for inheritance and collaboration diagrams is used. # The default value is: YES. # This tag requires that the tag HAVE_DOT is set to YES. GENERATE_LEGEND = YES -# If the DOT_CLEANUP tag is set to YES doxygen will remove the intermediate dot +# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate # files that are used to generate the various graphs. +# +# Note: This setting is not only used for dot files but also for msc temporary +# files. # The default value is: YES. -# This tag requires that the tag HAVE_DOT is set to YES. DOT_CLEANUP = YES From aef8793a752987a8e37b5e249ab3c21304ef91b2 Mon Sep 17 00:00:00 2001 From: Lucas Briese Date: Tue, 16 Aug 2022 17:19:05 +0200 Subject: [PATCH 49/95] dox: migrated doxygen --- cmake/just-simple.cmake | 15 +- cmake/options.cmake | 31 +- docs/Doxyfile.in | 2646 --------------------------------------- docs/README.dox | 15 - 4 files changed, 26 insertions(+), 2681 deletions(-) delete mode 100644 docs/Doxyfile.in delete mode 100644 docs/README.dox diff --git a/cmake/just-simple.cmake b/cmake/just-simple.cmake index 4ccd542e3..a69b56cab 100644 --- a/cmake/just-simple.cmake +++ b/cmake/just-simple.cmake @@ -1,6 +1,11 @@ if (${CMAKE_MINIMUM_REQUIRED_VERSION} VERSION_LESS "3.21") # for --output-junit - message(FATAL_ERROR "just-simple.cmake requires min cmake version 3.21") + message(FATAL_ERROR " + just-simple.cmake requires min cmake version 3.21 + if this is an issue you can quick fix it with conan: + conan install \"cmake/[>3.21 <4.0]@\" -g virtualenv + source activate_run.sh + ") endif() include(GNUInstallDirs) @@ -30,7 +35,7 @@ endif() # create basic conanfile.txt if not present if (NOT EXISTS "${CMAKE_SOURCE_DIR}/conanfile.txt") file(WRITE "${CMAKE_SOURCE_DIR}/conanfile.txt" "# doc: https://docs.conan.io/en/latest/reference/conanfile_txt.html\n\n") - file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[requires]\ngtest/1.12.1\n#package_name/version@user/channel (default @_/_)\n\n") + file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[requires]\ngtest/1.12.1\ndoxygen/1.9.4\n#package_name/version@user/channel (default @_/_)\n\n") file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[generators]\ncmake\n\n") file(APPEND "${CMAKE_SOURCE_DIR}/conanfile.txt" "[options]\n#package_name:shared=False\n\n") endif() @@ -53,6 +58,7 @@ add_code_coverage_all_targets(EXCLUDE ".conan/.*" ".*/test/.*") # TODO its allow enable_testing() #enable ctest set(CMAKE_CTEST_ARGUMENTS "--output-junit;${CMAKE_BINARY_DIR}/Testing/Temporary/JUnit.xml;--output-on-failure;") # for ci import include(GoogleTest) +include(FindDoxygen) # TODO offer a diagnostic run with link / compile = 1, job = 1 and check mem usage with "sar -r cmd" (sysstat package) automatically? function(just_limit_jobs) @@ -201,6 +207,11 @@ function(just_add_library) _just_add_subdirectory() endif() _just_add_resource("${CMAKE_CURRENT_SOURCE_DIR}") + + if (DOXYGEN_USE_MDFILE_AS_MAINPAGE) + list(APPEND files "${DOXYGEN_USE_MDFILE_AS_MAINPAGE}") + endif() + doxygen_add_docs("${TARGET}-doc" ${files} ALL USE_STAMP_FILE) install(TARGETS ${TARGET} EXPORT ${TARGET}) install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/include/" DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) diff --git a/cmake/options.cmake b/cmake/options.cmake index 8bc8f49dc..757804658 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -57,24 +57,19 @@ endif () -option(PHASAR_BUILD_DOC "Build documentation" ON) # TODO -if(PHASAR_BUILD_DOC) - find_package(Doxygen) - if (DOXYGEN_FOUND) - set(DOXYGEN_IN ${CMAKE_CURRENT_SOURCE_DIR}/docs/Doxyfile.in) - set(DOXYGEN_OUT ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile) - configure_file(${DOXYGEN_IN} ${DOXYGEN_OUT} @ONLY) - message(FATAL_ERROR "Doxygen build started") - add_custom_target(doc_doxygen ALL - COMMAND ${DOXYGEN_EXECUTABLE} ${DOXYGEN_OUT} - WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} - COMMENT "Generating API documentation with Doxygen" - VERBATIM - ) - else(DOXYGEN_FOUND) - message(FATAL_ERROR "Doxygen need to be installed to generate the doxygen documentation.") - endif() -endif() +set(DOXYGEN_PROJECT_BRIEF "Phasar a LLVM-based Static Analysis Framework") +set(DOXYGEN_PROJECT_LOGO "${PROJECT_SOURCE_DIR}/img/Logo_RGB/Phasar_Logo.png") +set(DOXYGEN_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/docs/") +set(DOXYGEN_ABBREVIATE_BRIEF "") +set(DOXYGEN_USE_MDFILE_AS_MAINPAGE "${PROJECT_SOURCE_DIR}/README.md") +# set(DOXYGEN_OPTIMIZE_OUTPUT_FOR_C YES) # according to doc if ONLY C files are used +set(DOXYGEN_EXTENSION_MAPPING "cu=C++ cuh=C++") +set(DOXYGEN_HTML_TIMESTAMP "YES") +# set(DOXYGEN_USE_MATHJAX "YES") # needed by option below +# set(DOXYGEN_MATHJAX_RELPATH "https://cdn.jsdelivr.net/npm/mathjax@3") # part of original phasar doxygen but not activated +set(DOXYGEN_HAVE_DOT "YES") # TODO graphviz needs to be there !? +set(DOXYGEN_DOT_MULTI_TARGETS "YES") +set(DOXYGEN_EXCLUDE_PATTERNS "*/llvm_test_code/*") diff --git a/docs/Doxyfile.in b/docs/Doxyfile.in deleted file mode 100644 index b32f53fb1..000000000 --- a/docs/Doxyfile.in +++ /dev/null @@ -1,2646 +0,0 @@ -# Doxyfile 1.9.4 - -# This file describes the settings to be used by the documentation system -# doxygen (www.doxygen.org) for a project. -# -# All text after a double hash (##) is considered a comment and is placed in -# front of the TAG it is preceding. -# -# All text after a single hash (#) is considered a comment and will be ignored. -# The format is: -# TAG = value [value, ...] -# For lists, items can also be appended using: -# TAG += value [value, ...] -# Values that contain spaces should be placed between quotes (\" \"). -# -# Note: -# -# Use doxygen to compare the used configuration file with the template -# configuration file: -# doxygen -x [configFile] -# Use doxygen to compare the used configuration file with the template -# configuration file without replacing the environment variables: -# doxygen -x_noenv [configFile] - -#--------------------------------------------------------------------------- -# Project related configuration options -#--------------------------------------------------------------------------- - -# This tag specifies the encoding used for all characters in the configuration -# file that follow. The default is UTF-8 which is also the encoding used for all -# text before the first occurrence of this tag. Doxygen uses libiconv (or the -# iconv built into libc) for the transcoding. See -# https://www.gnu.org/software/libiconv/ for the list of possible encodings. -# The default value is: UTF-8. - -DOXYFILE_ENCODING = UTF-8 - -# The PROJECT_NAME tag is a single word (or a sequence of words surrounded by -# double-quotes, unless you are using Doxywizard) that should identify the -# project for which the documentation is generated. This name is used in the -# title of most generated pages and in a few other places. -# The default value is: My Project. - -PROJECT_NAME = Phasar - -# The PROJECT_NUMBER tag can be used to enter a project or revision number. This -# could be handy for archiving the generated documentation or if some version -# control system is used. - -PROJECT_NUMBER = 1.1 - -# Using the PROJECT_BRIEF tag one can provide an optional one line description -# for a project that appears at the top of each page and should give viewer a -# quick idea about the purpose of the project. Keep the description short. - -PROJECT_BRIEF = "Phasar a LLVM-based Static Analysis Framework" - -# With the PROJECT_LOGO tag one can specify a logo or an icon that is included -# in the documentation. The maximum height of the logo should not exceed 55 -# pixels and the maximum width should not exceed 200 pixels. Doxygen will copy -# the logo to the output directory. - -PROJECT_LOGO = ../img/Logo_RGB/Phasar_Logo.png - -# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute) path -# into which the generated documentation will be written. If a relative path is -# entered, it will be relative to the location where doxygen was started. If -# left blank the current directory will be used. - -OUTPUT_DIRECTORY = @CMAKE_CURRENT_BINARY_DIR@/docs/ - -# If the CREATE_SUBDIRS tag is set to YES then doxygen will create up to 4096 -# sub-directories (in 2 levels) under the output directory of each output format -# and will distribute the generated files over these directories. Enabling this -# option can be useful when feeding doxygen a huge amount of source files, where -# putting all generated files in the same directory would otherwise causes -# performance problems for the file system. Adapt CREATE_SUBDIRS_LEVEL to -# control the number of sub-directories. -# The default value is: NO. - -CREATE_SUBDIRS = NO - -# Controls the number of sub-directories that will be created when -# CREATE_SUBDIRS tag is set to YES. Level 0 represents 16 directories, and every -# level increment doubles the number of directories, resulting in 4096 -# directories at level 8 which is the default and also the maximum value. The -# sub-directories are organized in 2 levels, the first level always has a fixed -# numer of 16 directories. -# Minimum value: 0, maximum value: 8, default value: 8. -# This tag requires that the tag CREATE_SUBDIRS is set to YES. - -CREATE_SUBDIRS_LEVEL = 8 - -# If the ALLOW_UNICODE_NAMES tag is set to YES, doxygen will allow non-ASCII -# characters to appear in the names of generated files. If set to NO, non-ASCII -# characters will be escaped, for example _xE3_x81_x84 will be used for Unicode -# U+3044. -# The default value is: NO. - -ALLOW_UNICODE_NAMES = NO - -# The OUTPUT_LANGUAGE tag is used to specify the language in which all -# documentation generated by doxygen is written. Doxygen will use this -# information to generate all constant output in the proper language. -# Possible values are: Afrikaans, Arabic, Armenian, Brazilian, Bulgarian, -# Catalan, Chinese, Chinese-Traditional, Croatian, Czech, Danish, Dutch, English -# (United States), Esperanto, Farsi (Persian), Finnish, French, German, Greek, -# Hindi, Hungarian, Indonesian, Italian, Japanese, Japanese-en (Japanese with -# English messages), Korean, Korean-en (Korean with English messages), Latvian, -# Lithuanian, Macedonian, Norwegian, Persian (Farsi), Polish, Portuguese, -# Romanian, Russian, Serbian, Serbian-Cyrillic, Slovak, Slovene, Spanish, -# Swedish, Turkish, Ukrainian and Vietnamese. -# The default value is: English. - -OUTPUT_LANGUAGE = English - -# If the BRIEF_MEMBER_DESC tag is set to YES, doxygen will include brief member -# descriptions after the members that are listed in the file and class -# documentation (similar to Javadoc). Set to NO to disable this. -# The default value is: YES. - -BRIEF_MEMBER_DESC = YES - -# If the REPEAT_BRIEF tag is set to YES, doxygen will prepend the brief -# description of a member or function before the detailed description -# -# Note: If both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the -# brief descriptions will be completely suppressed. -# The default value is: YES. - -REPEAT_BRIEF = YES - -# This tag implements a quasi-intelligent brief description abbreviator that is -# used to form the text in various listings. Each string in this list, if found -# as the leading text of the brief description, will be stripped from the text -# and the result, after processing the whole list, is used as the annotated -# text. Otherwise, the brief description is used as-is. If left blank, the -# following values are used ($name is automatically replaced with the name of -# the entity):The $name class, The $name widget, The $name file, is, provides, -# specifies, contains, represents, a, an and the. - -ABBREVIATE_BRIEF = - -# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then -# doxygen will generate a detailed section even if there is only a brief -# description. -# The default value is: NO. - -ALWAYS_DETAILED_SEC = NO - -# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all -# inherited members of a class in the documentation of that class as if those -# members were ordinary class members. Constructors, destructors and assignment -# operators of the base classes will not be shown. -# The default value is: NO. - -INLINE_INHERITED_MEMB = NO - -# If the FULL_PATH_NAMES tag is set to YES, doxygen will prepend the full path -# before files name in the file list and in the header files. If set to NO the -# shortest path that makes the file name unique will be used -# The default value is: YES. - -FULL_PATH_NAMES = YES - -# The STRIP_FROM_PATH tag can be used to strip a user-defined part of the path. -# Stripping is only done if one of the specified strings matches the left-hand -# part of the path. The tag can be used to show relative paths in the file list. -# If left blank the directory from which doxygen is run is used as the path to -# strip. -# -# Note that you can specify absolute paths here, but also relative paths, which -# will be relative from the directory where doxygen is started. -# This tag requires that the tag FULL_PATH_NAMES is set to YES. - -STRIP_FROM_PATH = - -# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of the -# path mentioned in the documentation of a class, which tells the reader which -# header file to include in order to use a class. If left blank only the name of -# the header file containing the class definition is used. Otherwise one should -# specify the list of include paths that are normally passed to the compiler -# using the -I flag. - -STRIP_FROM_INC_PATH = - -# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter (but -# less readable) file names. This can be useful is your file systems doesn't -# support long names like on DOS, Mac, or CD-ROM. -# The default value is: NO. - -SHORT_NAMES = NO - -# If the JAVADOC_AUTOBRIEF tag is set to YES then doxygen will interpret the -# first line (until the first dot) of a Javadoc-style comment as the brief -# description. If set to NO, the Javadoc-style will behave just like regular Qt- -# style comments (thus requiring an explicit @brief command for a brief -# description.) -# The default value is: NO. - -JAVADOC_AUTOBRIEF = NO - -# If the JAVADOC_BANNER tag is set to YES then doxygen will interpret a line -# such as -# /*************** -# as being the beginning of a Javadoc-style comment "banner". If set to NO, the -# Javadoc-style will behave just like regular comments and it will not be -# interpreted by doxygen. -# The default value is: NO. - -JAVADOC_BANNER = NO - -# If the QT_AUTOBRIEF tag is set to YES then doxygen will interpret the first -# line (until the first dot) of a Qt-style comment as the brief description. If -# set to NO, the Qt-style will behave just like regular Qt-style comments (thus -# requiring an explicit \brief command for a brief description.) -# The default value is: NO. - -QT_AUTOBRIEF = NO - -# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make doxygen treat a -# multi-line C++ special comment block (i.e. a block of //! or /// comments) as -# a brief description. This used to be the default behavior. The new default is -# to treat a multi-line C++ comment block as a detailed description. Set this -# tag to YES if you prefer the old behavior instead. -# -# Note that setting this tag to YES also means that rational rose comments are -# not recognized any more. -# The default value is: NO. - -MULTILINE_CPP_IS_BRIEF = NO - -# By default Python docstrings are displayed as preformatted text and doxygen's -# special commands cannot be used. By setting PYTHON_DOCSTRING to NO the -# doxygen's special commands can be used and the contents of the docstring -# documentation blocks is shown as doxygen documentation. -# The default value is: YES. - -PYTHON_DOCSTRING = YES - -# If the INHERIT_DOCS tag is set to YES then an undocumented member inherits the -# documentation from any documented member that it re-implements. -# The default value is: YES. - -INHERIT_DOCS = YES - -# If the SEPARATE_MEMBER_PAGES tag is set to YES then doxygen will produce a new -# page for each member. If set to NO, the documentation of a member will be part -# of the file/class/namespace that contains it. -# The default value is: NO. - -SEPARATE_MEMBER_PAGES = NO - -# The TAB_SIZE tag can be used to set the number of spaces in a tab. Doxygen -# uses this value to replace tabs by spaces in code fragments. -# Minimum value: 1, maximum value: 16, default value: 4. - -TAB_SIZE = 4 - -# This tag can be used to specify a number of aliases that act as commands in -# the documentation. An alias has the form: -# name=value -# For example adding -# "sideeffect=@par Side Effects:^^" -# will allow you to put the command \sideeffect (or @sideeffect) in the -# documentation, which will result in a user-defined paragraph with heading -# "Side Effects:". Note that you cannot put \n's in the value part of an alias -# to insert newlines (in the resulting output). You can put ^^ in the value part -# of an alias to insert a newline as if a physical newline was in the original -# file. When you need a literal { or } or , in the value part of an alias you -# have to escape them by means of a backslash (\), this can lead to conflicts -# with the commands \{ and \} for these it is advised to use the version @{ and -# @} or use a double escape (\\{ and \\}) - -ALIASES = - -# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C sources -# only. Doxygen will then generate output that is more tailored for C. For -# instance, some of the names that are used will be different. The list of all -# members will be omitted, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_FOR_C = YES - -# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java or -# Python sources only. Doxygen will then generate output that is more tailored -# for that language. For instance, namespaces will be presented as packages, -# qualified scopes will look different, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_JAVA = NO - -# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran -# sources. Doxygen will then generate output that is tailored for Fortran. -# The default value is: NO. - -OPTIMIZE_FOR_FORTRAN = NO - -# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL -# sources. Doxygen will then generate output that is tailored for VHDL. -# The default value is: NO. - -OPTIMIZE_OUTPUT_VHDL = NO - -# Set the OPTIMIZE_OUTPUT_SLICE tag to YES if your project consists of Slice -# sources only. Doxygen will then generate output that is more tailored for that -# language. For instance, namespaces will be presented as modules, types will be -# separated into more groups, etc. -# The default value is: NO. - -OPTIMIZE_OUTPUT_SLICE = NO - -# Doxygen selects the parser to use depending on the extension of the files it -# parses. With this tag you can assign which parser to use for a given -# extension. Doxygen has a built-in mapping, but you can override or extend it -# using this tag. The format is ext=language, where ext is a file extension, and -# language is one of the parsers supported by doxygen: IDL, Java, JavaScript, -# Csharp (C#), C, C++, Lex, D, PHP, md (Markdown), Objective-C, Python, Slice, -# VHDL, Fortran (fixed format Fortran: FortranFixed, free formatted Fortran: -# FortranFree, unknown formatted Fortran: Fortran. In the later case the parser -# tries to guess whether the code is fixed or free formatted code, this is the -# default for Fortran type files). For instance to make doxygen treat .inc files -# as Fortran files (default is PHP), and .f files as C (default is Fortran), -# use: inc=Fortran f=C. -# -# Note: For files without extension you can use no_extension as a placeholder. -# -# Note that for custom extensions you also need to set FILE_PATTERNS otherwise -# the files are not read by doxygen. When specifying no_extension you should add -# * to the FILE_PATTERNS. -# -# Note see also the list of default file extension mappings. - -EXTENSION_MAPPING = cu=C++ \ - cuh=C++ - -# If the MARKDOWN_SUPPORT tag is enabled then doxygen pre-processes all comments -# according to the Markdown format, which allows for more readable -# documentation. See https://daringfireball.net/projects/markdown/ for details. -# The output of markdown processing is further processed by doxygen, so you can -# mix doxygen, HTML, and XML commands with Markdown formatting. Disable only in -# case of backward compatibilities issues. -# The default value is: YES. - -MARKDOWN_SUPPORT = YES - -# When the TOC_INCLUDE_HEADINGS tag is set to a non-zero value, all headings up -# to that level are automatically included in the table of contents, even if -# they do not have an id attribute. -# Note: This feature currently applies only to Markdown headings. -# Minimum value: 0, maximum value: 99, default value: 5. -# This tag requires that the tag MARKDOWN_SUPPORT is set to YES. - -TOC_INCLUDE_HEADINGS = 5 - -# When enabled doxygen tries to link words that correspond to documented -# classes, or namespaces to their corresponding documentation. Such a link can -# be prevented in individual cases by putting a % sign in front of the word or -# globally by setting AUTOLINK_SUPPORT to NO. -# The default value is: YES. - -AUTOLINK_SUPPORT = YES - -# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want -# to include (a tag file for) the STL sources as input, then you should set this -# tag to YES in order to let doxygen match functions declarations and -# definitions whose arguments contain STL classes (e.g. func(std::string); -# versus func(std::string) {}). This also make the inheritance and collaboration -# diagrams that involve STL classes more complete and accurate. -# The default value is: NO. - -BUILTIN_STL_SUPPORT = NO - -# If you use Microsoft's C++/CLI language, you should set this option to YES to -# enable parsing support. -# The default value is: NO. - -CPP_CLI_SUPPORT = NO - -# Set the SIP_SUPPORT tag to YES if your project consists of sip (see: -# https://www.riverbankcomputing.com/software/sip/intro) sources only. Doxygen -# will parse them like normal C++ but will assume all classes use public instead -# of private inheritance when no explicit protection keyword is present. -# The default value is: NO. - -SIP_SUPPORT = NO - -# For Microsoft's IDL there are propget and propput attributes to indicate -# getter and setter methods for a property. Setting this option to YES will make -# doxygen to replace the get and set methods by a property in the documentation. -# This will only work if the methods are indeed getting or setting a simple -# type. If this is not the case, or you want to show the methods anyway, you -# should set this option to NO. -# The default value is: YES. - -IDL_PROPERTY_SUPPORT = YES - -# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC -# tag is set to YES then doxygen will reuse the documentation of the first -# member in the group (if any) for the other members of the group. By default -# all members of a group must be documented explicitly. -# The default value is: NO. - -DISTRIBUTE_GROUP_DOC = NO - -# If one adds a struct or class to a group and this option is enabled, then also -# any nested class or struct is added to the same group. By default this option -# is disabled and one has to add nested compounds explicitly via \ingroup. -# The default value is: NO. - -GROUP_NESTED_COMPOUNDS = NO - -# Set the SUBGROUPING tag to YES to allow class member groups of the same type -# (for instance a group of public functions) to be put as a subgroup of that -# type (e.g. under the Public Functions section). Set it to NO to prevent -# subgrouping. Alternatively, this can be done per class using the -# \nosubgrouping command. -# The default value is: YES. - -SUBGROUPING = YES - -# When the INLINE_GROUPED_CLASSES tag is set to YES, classes, structs and unions -# are shown inside the group in which they are included (e.g. using \ingroup) -# instead of on a separate page (for HTML and Man pages) or section (for LaTeX -# and RTF). -# -# Note that this feature does not work in combination with -# SEPARATE_MEMBER_PAGES. -# The default value is: NO. - -INLINE_GROUPED_CLASSES = NO - -# When the INLINE_SIMPLE_STRUCTS tag is set to YES, structs, classes, and unions -# with only public data fields or simple typedef fields will be shown inline in -# the documentation of the scope in which they are defined (i.e. file, -# namespace, or group documentation), provided this scope is documented. If set -# to NO, structs, classes, and unions are shown on a separate page (for HTML and -# Man pages) or section (for LaTeX and RTF). -# The default value is: NO. - -INLINE_SIMPLE_STRUCTS = NO - -# When TYPEDEF_HIDES_STRUCT tag is enabled, a typedef of a struct, union, or -# enum is documented as struct, union, or enum with the name of the typedef. So -# typedef struct TypeS {} TypeT, will appear in the documentation as a struct -# with name TypeT. When disabled the typedef will appear as a member of a file, -# namespace, or class. And the struct will be named TypeS. This can typically be -# useful for C code in case the coding convention dictates that all compound -# types are typedef'ed and only the typedef is referenced, never the tag name. -# The default value is: NO. - -TYPEDEF_HIDES_STRUCT = NO - -# The size of the symbol lookup cache can be set using LOOKUP_CACHE_SIZE. This -# cache is used to resolve symbols given their name and scope. Since this can be -# an expensive process and often the same symbol appears multiple times in the -# code, doxygen keeps a cache of pre-resolved symbols. If the cache is too small -# doxygen will become slower. If the cache is too large, memory is wasted. The -# cache size is given by this formula: 2^(16+LOOKUP_CACHE_SIZE). The valid range -# is 0..9, the default is 0, corresponding to a cache size of 2^16=65536 -# symbols. At the end of a run doxygen will report the cache usage and suggest -# the optimal cache size from a speed point of view. -# Minimum value: 0, maximum value: 9, default value: 0. - -LOOKUP_CACHE_SIZE = 0 - -# The NUM_PROC_THREADS specifies the number of threads doxygen is allowed to use -# during processing. When set to 0 doxygen will based this on the number of -# cores available in the system. You can set it explicitly to a value larger -# than 0 to get more control over the balance between CPU load and processing -# speed. At this moment only the input processing can be done using multiple -# threads. Since this is still an experimental feature the default is set to 1, -# which effectively disables parallel processing. Please report any issues you -# encounter. Generating dot graphs in parallel is controlled by the -# DOT_NUM_THREADS setting. -# Minimum value: 0, maximum value: 32, default value: 1. - -NUM_PROC_THREADS = 1 - -#--------------------------------------------------------------------------- -# Build related configuration options -#--------------------------------------------------------------------------- - -# If the EXTRACT_ALL tag is set to YES, doxygen will assume all entities in -# documentation are documented, even if no documentation was available. Private -# class members and static file members will be hidden unless the -# EXTRACT_PRIVATE respectively EXTRACT_STATIC tags are set to YES. -# Note: This will also disable the warnings about undocumented members that are -# normally produced when WARNINGS is set to YES. -# The default value is: NO. - -EXTRACT_ALL = NO - -# If the EXTRACT_PRIVATE tag is set to YES, all private members of a class will -# be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIVATE = NO - -# If the EXTRACT_PRIV_VIRTUAL tag is set to YES, documented private virtual -# methods of a class will be included in the documentation. -# The default value is: NO. - -EXTRACT_PRIV_VIRTUAL = NO - -# If the EXTRACT_PACKAGE tag is set to YES, all members with package or internal -# scope will be included in the documentation. -# The default value is: NO. - -EXTRACT_PACKAGE = NO - -# If the EXTRACT_STATIC tag is set to YES, all static members of a file will be -# included in the documentation. -# The default value is: NO. - -EXTRACT_STATIC = NO - -# If the EXTRACT_LOCAL_CLASSES tag is set to YES, classes (and structs) defined -# locally in source files will be included in the documentation. If set to NO, -# only classes defined in header files are included. Does not have any effect -# for Java sources. -# The default value is: YES. - -EXTRACT_LOCAL_CLASSES = YES - -# This flag is only useful for Objective-C code. If set to YES, local methods, -# which are defined in the implementation section but not in the interface are -# included in the documentation. If set to NO, only methods in the interface are -# included. -# The default value is: NO. - -EXTRACT_LOCAL_METHODS = NO - -# If this flag is set to YES, the members of anonymous namespaces will be -# extracted and appear in the documentation as a namespace called -# 'anonymous_namespace{file}', where file will be replaced with the base name of -# the file that contains the anonymous namespace. By default anonymous namespace -# are hidden. -# The default value is: NO. - -EXTRACT_ANON_NSPACES = NO - -# If this flag is set to YES, the name of an unnamed parameter in a declaration -# will be determined by the corresponding definition. By default unnamed -# parameters remain unnamed in the output. -# The default value is: YES. - -RESOLVE_UNNAMED_PARAMS = YES - -# If the HIDE_UNDOC_MEMBERS tag is set to YES, doxygen will hide all -# undocumented members inside documented classes or files. If set to NO these -# members will be included in the various overviews, but no documentation -# section is generated. This option has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_MEMBERS = NO - -# If the HIDE_UNDOC_CLASSES tag is set to YES, doxygen will hide all -# undocumented classes that are normally visible in the class hierarchy. If set -# to NO, these classes will be included in the various overviews. This option -# has no effect if EXTRACT_ALL is enabled. -# The default value is: NO. - -HIDE_UNDOC_CLASSES = NO - -# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, doxygen will hide all friend -# declarations. If set to NO, these declarations will be included in the -# documentation. -# The default value is: NO. - -HIDE_FRIEND_COMPOUNDS = NO - -# If the HIDE_IN_BODY_DOCS tag is set to YES, doxygen will hide any -# documentation blocks found inside the body of a function. If set to NO, these -# blocks will be appended to the function's detailed documentation block. -# The default value is: NO. - -HIDE_IN_BODY_DOCS = NO - -# The INTERNAL_DOCS tag determines if documentation that is typed after a -# \internal command is included. If the tag is set to NO then the documentation -# will be excluded. Set it to YES to include the internal documentation. -# The default value is: NO. - -INTERNAL_DOCS = NO - -# With the correct setting of option CASE_SENSE_NAMES doxygen will better be -# able to match the capabilities of the underlying filesystem. In case the -# filesystem is case sensitive (i.e. it supports files in the same directory -# whose names only differ in casing), the option must be set to YES to properly -# deal with such files in case they appear in the input. For filesystems that -# are not case sensitive the option should be set to NO to properly deal with -# output files written for symbols that only differ in casing, such as for two -# classes, one named CLASS and the other named Class, and to also support -# references to files without having to specify the exact matching casing. On -# Windows (including Cygwin) and MacOS, users should typically set this option -# to NO, whereas on Linux or other Unix flavors it should typically be set to -# YES. -# The default value is: system dependent. - -CASE_SENSE_NAMES = YES - -# If the HIDE_SCOPE_NAMES tag is set to NO then doxygen will show members with -# their full class and namespace scopes in the documentation. If set to YES, the -# scope will be hidden. -# The default value is: NO. - -HIDE_SCOPE_NAMES = NO - -# If the HIDE_COMPOUND_REFERENCE tag is set to NO (default) then doxygen will -# append additional text to a page's title, such as Class Reference. If set to -# YES the compound reference will be hidden. -# The default value is: NO. - -HIDE_COMPOUND_REFERENCE= NO - -# If the SHOW_HEADERFILE tag is set to YES then the documentation for a class -# will show which file needs to be included to use the class. -# The default value is: YES. - -SHOW_HEADERFILE = YES - -# If the SHOW_INCLUDE_FILES tag is set to YES then doxygen will put a list of -# the files that are included by a file in the documentation of that file. -# The default value is: YES. - -SHOW_INCLUDE_FILES = YES - -# If the SHOW_GROUPED_MEMB_INC tag is set to YES then Doxygen will add for each -# grouped member an include statement to the documentation, telling the reader -# which file to include in order to use the member. -# The default value is: NO. - -SHOW_GROUPED_MEMB_INC = NO - -# If the FORCE_LOCAL_INCLUDES tag is set to YES then doxygen will list include -# files with double quotes in the documentation rather than with sharp brackets. -# The default value is: NO. - -FORCE_LOCAL_INCLUDES = NO - -# If the INLINE_INFO tag is set to YES then a tag [inline] is inserted in the -# documentation for inline members. -# The default value is: YES. - -INLINE_INFO = YES - -# If the SORT_MEMBER_DOCS tag is set to YES then doxygen will sort the -# (detailed) documentation of file and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. -# The default value is: YES. - -SORT_MEMBER_DOCS = YES - -# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the brief -# descriptions of file, namespace and class members alphabetically by member -# name. If set to NO, the members will appear in declaration order. Note that -# this will also influence the order of the classes in the class list. -# The default value is: NO. - -SORT_BRIEF_DOCS = NO - -# If the SORT_MEMBERS_CTORS_1ST tag is set to YES then doxygen will sort the -# (brief and detailed) documentation of class members so that constructors and -# destructors are listed first. If set to NO the constructors will appear in the -# respective orders defined by SORT_BRIEF_DOCS and SORT_MEMBER_DOCS. -# Note: If SORT_BRIEF_DOCS is set to NO this option is ignored for sorting brief -# member documentation. -# Note: If SORT_MEMBER_DOCS is set to NO this option is ignored for sorting -# detailed member documentation. -# The default value is: NO. - -SORT_MEMBERS_CTORS_1ST = NO - -# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the hierarchy -# of group names into alphabetical order. If set to NO the group names will -# appear in their defined order. -# The default value is: NO. - -SORT_GROUP_NAMES = NO - -# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be sorted by -# fully-qualified names, including namespaces. If set to NO, the class list will -# be sorted only by class name, not including the namespace part. -# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES. -# Note: This option applies only to the class list, not to the alphabetical -# list. -# The default value is: NO. - -SORT_BY_SCOPE_NAME = NO - -# If the STRICT_PROTO_MATCHING option is enabled and doxygen fails to do proper -# type resolution of all parameters of a function it will reject a match between -# the prototype and the implementation of a member function even if there is -# only one candidate or it is obvious which candidate to choose by doing a -# simple string match. By disabling STRICT_PROTO_MATCHING doxygen will still -# accept a match between prototype and implementation in such cases. -# The default value is: NO. - -STRICT_PROTO_MATCHING = NO - -# The GENERATE_TODOLIST tag can be used to enable (YES) or disable (NO) the todo -# list. This list is created by putting \todo commands in the documentation. -# The default value is: YES. - -GENERATE_TODOLIST = YES - -# The GENERATE_TESTLIST tag can be used to enable (YES) or disable (NO) the test -# list. This list is created by putting \test commands in the documentation. -# The default value is: YES. - -GENERATE_TESTLIST = YES - -# The GENERATE_BUGLIST tag can be used to enable (YES) or disable (NO) the bug -# list. This list is created by putting \bug commands in the documentation. -# The default value is: YES. - -GENERATE_BUGLIST = YES - -# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or disable (NO) -# the deprecated list. This list is created by putting \deprecated commands in -# the documentation. -# The default value is: YES. - -GENERATE_DEPRECATEDLIST= YES - -# The ENABLED_SECTIONS tag can be used to enable conditional documentation -# sections, marked by \if ... \endif and \cond -# ... \endcond blocks. - -ENABLED_SECTIONS = - -# The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -# initial value of a variable or macro / define can have for it to appear in the -# documentation. If the initializer consists of more lines than specified here -# it will be hidden. Use a value of 0 to hide initializers completely. The -# appearance of the value of individual variables and macros / defines can be -# controlled using \showinitializer or \hideinitializer command in the -# documentation regardless of this setting. -# Minimum value: 0, maximum value: 10000, default value: 30. - -MAX_INITIALIZER_LINES = 30 - -# Set the SHOW_USED_FILES tag to NO to disable the list of files generated at -# the bottom of the documentation of classes and structs. If set to YES, the -# list will mention the files that were used to generate the documentation. -# The default value is: YES. - -SHOW_USED_FILES = YES - -# Set the SHOW_FILES tag to NO to disable the generation of the Files page. This -# will remove the Files entry from the Quick Index and from the Folder Tree View -# (if specified). -# The default value is: YES. - -SHOW_FILES = YES - -# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces -# page. This will remove the Namespaces entry from the Quick Index and from the -# Folder Tree View (if specified). -# The default value is: YES. - -SHOW_NAMESPACES = YES - -# The FILE_VERSION_FILTER tag can be used to specify a program or script that -# doxygen should invoke to get the current version for each file (typically from -# the version control system). Doxygen will invoke the program by executing (via -# popen()) the command command input-file, where command is the value of the -# FILE_VERSION_FILTER tag, and input-file is the name of an input file provided -# by doxygen. Whatever the program writes to standard output is used as the file -# version. For an example see the documentation. - -FILE_VERSION_FILTER = - -# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed -# by doxygen. The layout file controls the global structure of the generated -# output files in an output format independent way. To create the layout file -# that represents doxygen's defaults, run doxygen with the -l option. You can -# optionally specify a file name after the option, if omitted DoxygenLayout.xml -# will be used as the name of the layout file. See also section "Changing the -# layout of pages" for information. -# -# Note that if you run doxygen from a directory containing a file called -# DoxygenLayout.xml, doxygen will parse it automatically even if the LAYOUT_FILE -# tag is left empty. - -LAYOUT_FILE = - -# The CITE_BIB_FILES tag can be used to specify one or more bib files containing -# the reference definitions. This must be a list of .bib files. The .bib -# extension is automatically appended if omitted. This requires the bibtex tool -# to be installed. See also https://en.wikipedia.org/wiki/BibTeX for more info. -# For LaTeX the style of the bibliography can be controlled using -# LATEX_BIB_STYLE. To use this feature you need bibtex and perl available in the -# search path. See also \cite for info how to create references. - -CITE_BIB_FILES = - -#--------------------------------------------------------------------------- -# Configuration options related to warning and progress messages -#--------------------------------------------------------------------------- - -# The QUIET tag can be used to turn on/off the messages that are generated to -# standard output by doxygen. If QUIET is set to YES this implies that the -# messages are off. -# The default value is: NO. - -QUIET = NO - -# The WARNINGS tag can be used to turn on/off the warning messages that are -# generated to standard error (stderr) by doxygen. If WARNINGS is set to YES -# this implies that the warnings are on. -# -# Tip: Turn warnings on while writing the documentation. -# The default value is: YES. - -WARNINGS = YES - -# If the WARN_IF_UNDOCUMENTED tag is set to YES then doxygen will generate -# warnings for undocumented members. If EXTRACT_ALL is set to YES then this flag -# will automatically be disabled. -# The default value is: YES. - -WARN_IF_UNDOCUMENTED = YES - -# If the WARN_IF_DOC_ERROR tag is set to YES, doxygen will generate warnings for -# potential errors in the documentation, such as documenting some parameters in -# a documented function twice, or documenting parameters that don't exist or -# using markup commands wrongly. -# The default value is: YES. - -WARN_IF_DOC_ERROR = YES - -# If WARN_IF_INCOMPLETE_DOC is set to YES, doxygen will warn about incomplete -# function parameter documentation. If set to NO, doxygen will accept that some -# parameters have no documentation without warning. -# The default value is: YES. - -WARN_IF_INCOMPLETE_DOC = YES - -# This WARN_NO_PARAMDOC option can be enabled to get warnings for functions that -# are documented, but have no documentation for their parameters or return -# value. If set to NO, doxygen will only warn about wrong parameter -# documentation, but not about the absence of documentation. If EXTRACT_ALL is -# set to YES then this flag will automatically be disabled. See also -# WARN_IF_INCOMPLETE_DOC -# The default value is: NO. - -WARN_NO_PARAMDOC = NO - -# If the WARN_AS_ERROR tag is set to YES then doxygen will immediately stop when -# a warning is encountered. If the WARN_AS_ERROR tag is set to FAIL_ON_WARNINGS -# then doxygen will continue running as if WARN_AS_ERROR tag is set to NO, but -# at the end of the doxygen process doxygen will return with a non-zero status. -# Possible values are: NO, YES and FAIL_ON_WARNINGS. -# The default value is: NO. - -WARN_AS_ERROR = NO - -# The WARN_FORMAT tag determines the format of the warning messages that doxygen -# can produce. The string should contain the $file, $line, and $text tags, which -# will be replaced by the file and line number from which the warning originated -# and the warning text. Optionally the format may contain $version, which will -# be replaced by the version of the file (if it could be obtained via -# FILE_VERSION_FILTER) -# See also: WARN_LINE_FORMAT -# The default value is: $file:$line: $text. - -WARN_FORMAT = "$file:$line: $text" - -# In the $text part of the WARN_FORMAT command it is possible that a reference -# to a more specific place is given. To make it easier to jump to this place -# (outside of doxygen) the user can define a custom "cut" / "paste" string. -# Example: -# WARN_LINE_FORMAT = "'vi $file +$line'" -# See also: WARN_FORMAT -# The default value is: at line $line of file $file. - -WARN_LINE_FORMAT = "at line $line of file $file" - -# The WARN_LOGFILE tag can be used to specify a file to which warning and error -# messages should be written. If left blank the output is written to standard -# error (stderr). In case the file specified cannot be opened for writing the -# warning and error messages are written to standard error. When as file - is -# specified the warning and error messages are written to standard output -# (stdout). - -WARN_LOGFILE = - -#--------------------------------------------------------------------------- -# Configuration options related to the input files -#--------------------------------------------------------------------------- - -# The INPUT tag is used to specify the files and/or directories that contain -# documented source files. You may enter file names like myfile.cpp or -# directories like /usr/src/myproject. Separate the files or directories with -# spaces. See also FILE_PATTERNS and EXTENSION_MAPPING -# Note: If this tag is empty the current directory is searched. - -INPUT = @CMAKE_CURRENT_SOURCE_DIR@/include/ \ - @CMAKE_CURRENT_SOURCE_DIR@/lib/ \ - @CMAKE_CURRENT_SOURCE_DIR@/docs - -# This tag can be used to specify the character encoding of the source files -# that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses -# libiconv (or the iconv built into libc) for the transcoding. See the libiconv -# documentation (see: -# https://www.gnu.org/software/libiconv/) for the list of possible encodings. -# The default value is: UTF-8. - -INPUT_ENCODING = UTF-8 - -# If the value of the INPUT tag contains directories, you can use the -# FILE_PATTERNS tag to specify one or more wildcard patterns (like *.cpp and -# *.h) to filter out the source-files in the directories. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# read by doxygen. -# -# Note the list of default checked file patterns might differ from the list of -# default file extension mappings. -# -# If left blank the following patterns are tested:*.c, *.cc, *.cxx, *.cpp, -# *.c++, *.java, *.ii, *.ixx, *.ipp, *.i++, *.inl, *.idl, *.ddl, *.odl, *.h, -# *.hh, *.hxx, *.hpp, *.h++, *.l, *.cs, *.d, *.php, *.php4, *.php5, *.phtml, -# *.inc, *.m, *.markdown, *.md, *.mm, *.dox (to be provided as doxygen C -# comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd, -# *.vhdl, *.ucf, *.qsf and *.ice. - -FILE_PATTERNS = *.dox \ - *.c \ - *.h \ - *.cpp \ - *.hh \ - *.cu \ - *.cuh - -# The RECURSIVE tag can be used to specify whether or not subdirectories should -# be searched for input files as well. -# The default value is: NO. - -RECURSIVE = YES - -# The EXCLUDE tag can be used to specify files and/or directories that should be -# excluded from the INPUT source files. This way you can easily exclude a -# subdirectory from a directory tree whose root is specified with the INPUT tag. -# -# Note that relative paths are relative to the directory from which doxygen is -# run. - -EXCLUDE = - -# The EXCLUDE_SYMLINKS tag can be used to select whether or not files or -# directories that are symbolic links (a Unix file system feature) are excluded -# from the input. -# The default value is: NO. - -EXCLUDE_SYMLINKS = NO - -# If the value of the INPUT tag contains directories, you can use the -# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude -# certain files from those directories. -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories for example use the pattern */test/* - -EXCLUDE_PATTERNS = - -# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names -# (namespaces, classes, functions, etc.) that should be excluded from the -# output. The symbol name can be a fully qualified name, a word, or if the -# wildcard * is used, a substring. Examples: ANamespace, AClass, -# ANamespace::AClass, ANamespace::*Test -# -# Note that the wildcards are matched against the file with absolute path, so to -# exclude all test directories use the pattern */test/* - -EXCLUDE_SYMBOLS = - -# The EXAMPLE_PATH tag can be used to specify one or more files or directories -# that contain example code fragments that are included (see the \include -# command). - -EXAMPLE_PATH = - -# If the value of the EXAMPLE_PATH tag contains directories, you can use the -# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp and -# *.h) to filter out the source-files in the directories. If left blank all -# files are included. - -EXAMPLE_PATTERNS = - -# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be -# searched for input files to be used with the \include or \dontinclude commands -# irrespective of the value of the RECURSIVE tag. -# The default value is: NO. - -EXAMPLE_RECURSIVE = NO - -# The IMAGE_PATH tag can be used to specify one or more files or directories -# that contain images that are to be included in the documentation (see the -# \image command). - -IMAGE_PATH = - -# The INPUT_FILTER tag can be used to specify a program that doxygen should -# invoke to filter for each input file. Doxygen will invoke the filter program -# by executing (via popen()) the command: -# -# -# -# where is the value of the INPUT_FILTER tag, and is the -# name of an input file. Doxygen will then use the output that the filter -# program writes to standard output. If FILTER_PATTERNS is specified, this tag -# will be ignored. -# -# Note that the filter must not add or remove lines; it is applied before the -# code is scanned, but not when the output code is generated. If lines are added -# or removed, the anchors will not be placed correctly. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -INPUT_FILTER = - -# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern -# basis. Doxygen will compare the file name with each pattern and apply the -# filter if there is a match. The filters are a list of the form: pattern=filter -# (like *.cpp=my_cpp_filter). See INPUT_FILTER for further information on how -# filters are used. If the FILTER_PATTERNS tag is empty or if none of the -# patterns match the file name, INPUT_FILTER is applied. -# -# Note that for custom extensions or not directly supported extensions you also -# need to set EXTENSION_MAPPING for the extension otherwise the files are not -# properly processed by doxygen. - -FILTER_PATTERNS = - -# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using -# INPUT_FILTER) will also be used to filter the input files that are used for -# producing the source files to browse (i.e. when SOURCE_BROWSER is set to YES). -# The default value is: NO. - -FILTER_SOURCE_FILES = NO - -# The FILTER_SOURCE_PATTERNS tag can be used to specify source filters per file -# pattern. A pattern will override the setting for FILTER_PATTERN (if any) and -# it is also possible to disable source filtering for a specific pattern using -# *.ext= (so without naming a filter). -# This tag requires that the tag FILTER_SOURCE_FILES is set to YES. - -FILTER_SOURCE_PATTERNS = - -# If the USE_MDFILE_AS_MAINPAGE tag refers to the name of a markdown file that -# is part of the input, its contents will be placed on the main page -# (index.html). This can be useful if you have a project on for instance GitHub -# and want to reuse the introduction page also for the doxygen output. - -USE_MDFILE_AS_MAINPAGE = - -#--------------------------------------------------------------------------- -# Configuration options related to source browsing -#--------------------------------------------------------------------------- - -# If the SOURCE_BROWSER tag is set to YES then a list of source files will be -# generated. Documented entities will be cross-referenced with these sources. -# -# Note: To get rid of all source code in the generated output, make sure that -# also VERBATIM_HEADERS is set to NO. -# The default value is: NO. - -SOURCE_BROWSER = NO - -# Setting the INLINE_SOURCES tag to YES will include the body of functions, -# classes and enums directly into the documentation. -# The default value is: NO. - -INLINE_SOURCES = NO - -# Setting the STRIP_CODE_COMMENTS tag to YES will instruct doxygen to hide any -# special comment blocks from generated source code fragments. Normal C, C++ and -# Fortran comments will always remain visible. -# The default value is: YES. - -STRIP_CODE_COMMENTS = YES - -# If the REFERENCED_BY_RELATION tag is set to YES then for each documented -# entity all documented functions referencing it will be listed. -# The default value is: NO. - -REFERENCED_BY_RELATION = NO - -# If the REFERENCES_RELATION tag is set to YES then for each documented function -# all documented entities called/used by that function will be listed. -# The default value is: NO. - -REFERENCES_RELATION = NO - -# If the REFERENCES_LINK_SOURCE tag is set to YES and SOURCE_BROWSER tag is set -# to YES then the hyperlinks from functions in REFERENCES_RELATION and -# REFERENCED_BY_RELATION lists will link to the source code. Otherwise they will -# link to the documentation. -# The default value is: YES. - -REFERENCES_LINK_SOURCE = YES - -# If SOURCE_TOOLTIPS is enabled (the default) then hovering a hyperlink in the -# source code will show a tooltip with additional information such as prototype, -# brief description and links to the definition and documentation. Since this -# will make the HTML file larger and loading of large files a bit slower, you -# can opt to disable this feature. -# The default value is: YES. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -SOURCE_TOOLTIPS = YES - -# If the USE_HTAGS tag is set to YES then the references to source code will -# point to the HTML generated by the htags(1) tool instead of doxygen built-in -# source browser. The htags tool is part of GNU's global source tagging system -# (see https://www.gnu.org/software/global/global.html). You will need version -# 4.8.6 or higher. -# -# To use it do the following: -# - Install the latest version of global -# - Enable SOURCE_BROWSER and USE_HTAGS in the configuration file -# - Make sure the INPUT points to the root of the source tree -# - Run doxygen as normal -# -# Doxygen will invoke htags (and that will in turn invoke gtags), so these -# tools must be available from the command line (i.e. in the search path). -# -# The result: instead of the source browser generated by doxygen, the links to -# source code will now point to the output of htags. -# The default value is: NO. -# This tag requires that the tag SOURCE_BROWSER is set to YES. - -USE_HTAGS = NO - -# If the VERBATIM_HEADERS tag is set the YES then doxygen will generate a -# verbatim copy of the header file for each class for which an include is -# specified. Set to NO to disable this. -# See also: Section \class. -# The default value is: YES. - -VERBATIM_HEADERS = YES - -#--------------------------------------------------------------------------- -# Configuration options related to the alphabetical class index -#--------------------------------------------------------------------------- - -# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index of all -# compounds will be generated. Enable this if the project contains a lot of -# classes, structs, unions or interfaces. -# The default value is: YES. - -ALPHABETICAL_INDEX = YES - -# In case all classes in a project start with a common prefix, all classes will -# be put under the same header in the alphabetical index. The IGNORE_PREFIX tag -# can be used to specify a prefix (or a list of prefixes) that should be ignored -# while generating the index headers. -# This tag requires that the tag ALPHABETICAL_INDEX is set to YES. - -IGNORE_PREFIX = - -#--------------------------------------------------------------------------- -# Configuration options related to the HTML output -#--------------------------------------------------------------------------- - -# If the GENERATE_HTML tag is set to YES, doxygen will generate HTML output -# The default value is: YES. - -GENERATE_HTML = YES - -# The HTML_OUTPUT tag is used to specify where the HTML docs will be put. If a -# relative path is entered the value of OUTPUT_DIRECTORY will be put in front of -# it. -# The default directory is: html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_OUTPUT = html - -# The HTML_FILE_EXTENSION tag can be used to specify the file extension for each -# generated HTML page (for example: .htm, .php, .asp). -# The default value is: .html. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FILE_EXTENSION = .html - -# The HTML_HEADER tag can be used to specify a user-defined HTML header file for -# each generated HTML page. If the tag is left blank doxygen will generate a -# standard header. -# -# To get valid HTML the header file that includes any scripts and style sheets -# that doxygen needs, which is dependent on the configuration options used (e.g. -# the setting GENERATE_TREEVIEW). It is highly recommended to start with a -# default header using -# doxygen -w html new_header.html new_footer.html new_stylesheet.css -# YourConfigFile -# and then modify the file new_header.html. See also section "Doxygen usage" -# for information on how to generate the default header that doxygen normally -# uses. -# Note: The header is subject to change so you typically have to regenerate the -# default header when upgrading to a newer version of doxygen. For a description -# of the possible markers and block names see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_HEADER = - -# The HTML_FOOTER tag can be used to specify a user-defined HTML footer for each -# generated HTML page. If the tag is left blank doxygen will generate a standard -# footer. See HTML_HEADER for more information on how to generate a default -# footer and what special commands can be used inside the footer. See also -# section "Doxygen usage" for information on how to generate the default footer -# that doxygen normally uses. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FOOTER = - -# The HTML_STYLESHEET tag can be used to specify a user-defined cascading style -# sheet that is used by each HTML page. It can be used to fine-tune the look of -# the HTML output. If left blank doxygen will generate a default style sheet. -# See also section "Doxygen usage" for information on how to generate the style -# sheet that doxygen normally uses. -# Note: It is recommended to use HTML_EXTRA_STYLESHEET instead of this tag, as -# it is more robust and this tag (HTML_STYLESHEET) will in the future become -# obsolete. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_STYLESHEET = - -# The HTML_EXTRA_STYLESHEET tag can be used to specify additional user-defined -# cascading style sheets that are included after the standard style sheets -# created by doxygen. Using this option one can overrule certain style aspects. -# This is preferred over using HTML_STYLESHEET since it does not replace the -# standard style sheet and is therefore more robust against future updates. -# Doxygen will copy the style sheet files to the output directory. -# Note: The order of the extra style sheet files is of importance (e.g. the last -# style sheet in the list overrules the setting of the previous ones in the -# list). For an example see the documentation. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_STYLESHEET = - -# The HTML_EXTRA_FILES tag can be used to specify one or more extra images or -# other source files which should be copied to the HTML output directory. Note -# that these files will be copied to the base HTML output directory. Use the -# $relpath^ marker in the HTML_HEADER and/or HTML_FOOTER files to load these -# files. In the HTML_STYLESHEET file, use the file name only. Also note that the -# files will be copied as-is; there are no commands or markers available. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_EXTRA_FILES = - -# The HTML_COLORSTYLE_HUE tag controls the color of the HTML output. Doxygen -# will adjust the colors in the style sheet and background images according to -# this color. Hue is specified as an angle on a color-wheel, see -# https://en.wikipedia.org/wiki/Hue for more information. For instance the value -# 0 represents red, 60 is yellow, 120 is green, 180 is cyan, 240 is blue, 300 -# purple, and 360 is red again. -# Minimum value: 0, maximum value: 359, default value: 220. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_HUE = 220 - -# The HTML_COLORSTYLE_SAT tag controls the purity (or saturation) of the colors -# in the HTML output. For a value of 0 the output will use gray-scales only. A -# value of 255 will produce the most vivid colors. -# Minimum value: 0, maximum value: 255, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_SAT = 100 - -# The HTML_COLORSTYLE_GAMMA tag controls the gamma correction applied to the -# luminance component of the colors in the HTML output. Values below 100 -# gradually make the output lighter, whereas values above 100 make the output -# darker. The value divided by 100 is the actual gamma applied, so 80 represents -# a gamma of 0.8, The value 220 represents a gamma of 2.2, and 100 does not -# change the gamma. -# Minimum value: 40, maximum value: 240, default value: 80. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_COLORSTYLE_GAMMA = 80 - -# If the HTML_TIMESTAMP tag is set to YES then the footer of each generated HTML -# page will contain the date and time when the page was generated. Setting this -# to YES can help to show when doxygen was last run and thus if the -# documentation is up to date. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_TIMESTAMP = YES - -# If the HTML_DYNAMIC_MENUS tag is set to YES then the generated HTML -# documentation will contain a main index with vertical navigation menus that -# are dynamically created via JavaScript. If disabled, the navigation index will -# consists of multiple levels of tabs that are statically embedded in every HTML -# page. Disable this option to support browsers that do not have JavaScript, -# like the Qt help browser. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_MENUS = YES - -# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML -# documentation will contain sections that can be hidden and shown after the -# page has loaded. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_DYNAMIC_SECTIONS = NO - -# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries -# shown in the various tree structured indices initially; the user can expand -# and collapse entries dynamically later on. Doxygen will expand the tree to -# such a level that at most the specified number of entries are visible (unless -# a fully collapsed tree already exceeds this amount). So setting the number of -# entries 1 will produce a full collapsed tree by default. 0 is a special value -# representing an infinite number of entries and will result in a full expanded -# tree by default. -# Minimum value: 0, maximum value: 9999, default value: 100. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_INDEX_NUM_ENTRIES = 100 - -# If the GENERATE_DOCSET tag is set to YES, additional index files will be -# generated that can be used as input for Apple's Xcode 3 integrated development -# environment (see: -# https://developer.apple.com/xcode/), introduced with OSX 10.5 (Leopard). To -# create a documentation set, doxygen will generate a Makefile in the HTML -# output directory. Running make will produce the docset in that directory and -# running make install will install the docset in -# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find it at -# startup. See https://developer.apple.com/library/archive/featuredarticles/Doxy -# genXcode/_index.html for more information. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_DOCSET = NO - -# This tag determines the name of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# The default value is: Doxygen generated docs. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDNAME = "Doxygen generated docs" - -# This tag determines the URL of the docset feed. A documentation feed provides -# an umbrella under which multiple documentation sets from a single provider -# (such as a company or product suite) can be grouped. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_FEEDURL = - -# This tag specifies a string that should uniquely identify the documentation -# set bundle. This should be a reverse domain-name style string, e.g. -# com.mycompany.MyDocSet. Doxygen will append .docset to the name. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_BUNDLE_ID = org.doxygen.Project - -# The DOCSET_PUBLISHER_ID tag specifies a string that should uniquely identify -# the documentation publisher. This should be a reverse domain-name style -# string, e.g. com.mycompany.MyDocSet.documentation. -# The default value is: org.doxygen.Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_ID = org.doxygen.Publisher - -# The DOCSET_PUBLISHER_NAME tag identifies the documentation publisher. -# The default value is: Publisher. -# This tag requires that the tag GENERATE_DOCSET is set to YES. - -DOCSET_PUBLISHER_NAME = Publisher - -# If the GENERATE_HTMLHELP tag is set to YES then doxygen generates three -# additional HTML index files: index.hhp, index.hhc, and index.hhk. The -# index.hhp is a project file that can be read by Microsoft's HTML Help Workshop -# on Windows. In the beginning of 2021 Microsoft took the original page, with -# a.o. the download links, offline the HTML help workshop was already many years -# in maintenance mode). You can download the HTML help workshop from the web -# archives at Installation executable (see: -# http://web.archive.org/web/20160201063255/http://download.microsoft.com/downlo -# ad/0/A/9/0A939EF6-E31C-430F-A3DF-DFAE7960D564/htmlhelp.exe). -# -# The HTML Help Workshop contains a compiler that can convert all HTML output -# generated by doxygen into a single compiled HTML file (.chm). Compiled HTML -# files are now used as the Windows 98 help format, and will replace the old -# Windows help format (.hlp) on all Windows platforms in the future. Compressed -# HTML files also contain an index, a table of contents, and you can search for -# words in the documentation. The HTML workshop also contains a viewer for -# compressed HTML files. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_HTMLHELP = NO - -# The CHM_FILE tag can be used to specify the file name of the resulting .chm -# file. You can add a path in front of the file if the result should not be -# written to the html output directory. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_FILE = - -# The HHC_LOCATION tag can be used to specify the location (absolute path -# including file name) of the HTML help compiler (hhc.exe). If non-empty, -# doxygen will try to run the HTML help compiler on the generated index.hhp. -# The file has to be specified with full path. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -HHC_LOCATION = - -# The GENERATE_CHI flag controls if a separate .chi index file is generated -# (YES) or that it should be included in the main .chm file (NO). -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -GENERATE_CHI = NO - -# The CHM_INDEX_ENCODING is used to encode HtmlHelp index (hhk), content (hhc) -# and project file content. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -CHM_INDEX_ENCODING = - -# The BINARY_TOC flag controls whether a binary table of contents is generated -# (YES) or a normal table of contents (NO) in the .chm file. Furthermore it -# enables the Previous and Next buttons. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -BINARY_TOC = NO - -# The TOC_EXPAND flag can be set to YES to add extra items for group members to -# the table of contents of the HTML help documentation and to the tree view. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTMLHELP is set to YES. - -TOC_EXPAND = NO - -# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and -# QHP_VIRTUAL_FOLDER are set, an additional index file will be generated that -# can be used as input for Qt's qhelpgenerator to generate a Qt Compressed Help -# (.qch) of the generated HTML documentation. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_QHP = NO - -# If the QHG_LOCATION tag is specified, the QCH_FILE tag can be used to specify -# the file name of the resulting .qch file. The path specified is relative to -# the HTML output folder. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QCH_FILE = - -# The QHP_NAMESPACE tag specifies the namespace to use when generating Qt Help -# Project output. For more information please see Qt Help Project / Namespace -# (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#namespace). -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_NAMESPACE = org.doxygen.Project - -# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating Qt -# Help Project output. For more information please see Qt Help Project / Virtual -# Folders (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#virtual-folders). -# The default value is: doc. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_VIRTUAL_FOLDER = doc - -# If the QHP_CUST_FILTER_NAME tag is set, it specifies the name of a custom -# filter to add. For more information please see Qt Help Project / Custom -# Filters (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_NAME = - -# The QHP_CUST_FILTER_ATTRS tag specifies the list of the attributes of the -# custom filter to add. For more information please see Qt Help Project / Custom -# Filters (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#custom-filters). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_CUST_FILTER_ATTRS = - -# The QHP_SECT_FILTER_ATTRS tag specifies the list of the attributes this -# project's filter section matches. Qt Help Project / Filter Attributes (see: -# https://doc.qt.io/archives/qt-4.8/qthelpproject.html#filter-attributes). -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHP_SECT_FILTER_ATTRS = - -# The QHG_LOCATION tag can be used to specify the location (absolute path -# including file name) of Qt's qhelpgenerator. If non-empty doxygen will try to -# run qhelpgenerator on the generated .qhp file. -# This tag requires that the tag GENERATE_QHP is set to YES. - -QHG_LOCATION = - -# If the GENERATE_ECLIPSEHELP tag is set to YES, additional index files will be -# generated, together with the HTML files, they form an Eclipse help plugin. To -# install this plugin and make it available under the help contents menu in -# Eclipse, the contents of the directory containing the HTML and XML files needs -# to be copied into the plugins directory of eclipse. The name of the directory -# within the plugins directory should be the same as the ECLIPSE_DOC_ID value. -# After copying Eclipse needs to be restarted before the help appears. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_ECLIPSEHELP = NO - -# A unique identifier for the Eclipse help plugin. When installing the plugin -# the directory name containing the HTML and XML files should also have this -# name. Each documentation set should have its own identifier. -# The default value is: org.doxygen.Project. -# This tag requires that the tag GENERATE_ECLIPSEHELP is set to YES. - -ECLIPSE_DOC_ID = org.doxygen.Project - -# If you want full control over the layout of the generated HTML pages it might -# be necessary to disable the index and replace it with your own. The -# DISABLE_INDEX tag can be used to turn on/off the condensed index (tabs) at top -# of each HTML page. A value of NO enables the index and the value YES disables -# it. Since the tabs in the index contain the same information as the navigation -# tree, you can set this option to YES if you also set GENERATE_TREEVIEW to YES. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -DISABLE_INDEX = NO - -# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index -# structure should be generated to display hierarchical information. If the tag -# value is set to YES, a side panel will be generated containing a tree-like -# index structure (just like the one that is generated for HTML Help). For this -# to work a browser that supports JavaScript, DHTML, CSS and frames is required -# (i.e. any modern browser). Windows users are probably better off using the -# HTML help feature. Via custom style sheets (see HTML_EXTRA_STYLESHEET) one can -# further fine tune the look of the index (see "Fine-tuning the output"). As an -# example, the default style sheet generated by doxygen has an example that -# shows how to put an image at the root of the tree instead of the PROJECT_NAME. -# Since the tree basically has the same information as the tab index, you could -# consider setting DISABLE_INDEX to YES when enabling this option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -GENERATE_TREEVIEW = NO - -# When both GENERATE_TREEVIEW and DISABLE_INDEX are set to YES, then the -# FULL_SIDEBAR option determines if the side bar is limited to only the treeview -# area (value NO) or if it should extend to the full height of the window (value -# YES). Setting this to YES gives a layout similar to -# https://docs.readthedocs.io with more room for contents, but less room for the -# project logo, title, and description. If either GENERATE_TREEVIEW or -# DISABLE_INDEX is set to NO, this option has no effect. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FULL_SIDEBAR = NO - -# The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values that -# doxygen will group on one line in the generated HTML documentation. -# -# Note that a value of 0 will completely suppress the enum values from appearing -# in the overview section. -# Minimum value: 0, maximum value: 20, default value: 4. -# This tag requires that the tag GENERATE_HTML is set to YES. - -ENUM_VALUES_PER_LINE = 4 - -# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be used -# to set the initial width (in pixels) of the frame in which the tree is shown. -# Minimum value: 0, maximum value: 1500, default value: 250. -# This tag requires that the tag GENERATE_HTML is set to YES. - -TREEVIEW_WIDTH = 250 - -# If the EXT_LINKS_IN_WINDOW option is set to YES, doxygen will open links to -# external symbols imported via tag files in a separate window. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -EXT_LINKS_IN_WINDOW = NO - -# If the OBFUSCATE_EMAILS tag is set to YES, doxygen will obfuscate email -# addresses. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -OBFUSCATE_EMAILS = YES - -# If the HTML_FORMULA_FORMAT option is set to svg, doxygen will use the pdf2svg -# tool (see https://github.com/dawbarton/pdf2svg) or inkscape (see -# https://inkscape.org) to generate formulas as SVG images instead of PNGs for -# the HTML output. These images will generally look nicer at scaled resolutions. -# Possible values are: png (the default) and svg (looks nicer but requires the -# pdf2svg or inkscape tool). -# The default value is: png. -# This tag requires that the tag GENERATE_HTML is set to YES. - -HTML_FORMULA_FORMAT = png - -# Use this tag to change the font size of LaTeX formulas included as images in -# the HTML documentation. When you change the font size after a successful -# doxygen run you need to manually remove any form_*.png images from the HTML -# output directory to force them to be regenerated. -# Minimum value: 8, maximum value: 50, default value: 10. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_FONTSIZE = 10 - -# Use the FORMULA_TRANSPARENT tag to determine whether or not the images -# generated for formulas are transparent PNGs. Transparent PNGs are not -# supported properly for IE 6.0, but are supported on all modern browsers. -# -# Note that when changing this option you need to delete any form_*.png files in -# the HTML output directory before the changes have effect. -# The default value is: YES. -# This tag requires that the tag GENERATE_HTML is set to YES. - -FORMULA_TRANSPARENT = YES - -# The FORMULA_MACROFILE can contain LaTeX \newcommand and \renewcommand commands -# to create new LaTeX commands to be used in formulas as building blocks. See -# the section "Including formulas" for details. - -FORMULA_MACROFILE = - -# Enable the USE_MATHJAX option to render LaTeX formulas using MathJax (see -# https://www.mathjax.org) which uses client side JavaScript for the rendering -# instead of using pre-rendered bitmaps. Use this if you do not have LaTeX -# installed or if you want to formulas look prettier in the HTML output. When -# enabled you may also need to install MathJax separately and configure the path -# to it using the MATHJAX_RELPATH option. -# The default value is: NO. -# This tag requires that the tag GENERATE_HTML is set to YES. - -USE_MATHJAX = NO - -# With MATHJAX_VERSION it is possible to specify the MathJax version to be used. -# Note that the different versions of MathJax have different requirements with -# regards to the different settings, so it is possible that also other MathJax -# settings have to be changed when switching between the different MathJax -# versions. -# Possible values are: MathJax_2 and MathJax_3. -# The default value is: MathJax_2. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_VERSION = MathJax_2 - -# When MathJax is enabled you can set the default output format to be used for -# the MathJax output. For more details about the output format see MathJax -# version 2 (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) and MathJax version 3 -# (see: -# http://docs.mathjax.org/en/latest/web/components/output.html). -# Possible values are: HTML-CSS (which is slower, but has the best -# compatibility. This is the name for Mathjax version 2, for MathJax version 3 -# this will be translated into chtml), NativeMML (i.e. MathML. Only supported -# for NathJax 2. For MathJax version 3 chtml will be used instead.), chtml (This -# is the name for Mathjax version 3, for MathJax version 2 this will be -# translated into HTML-CSS) and SVG. -# The default value is: HTML-CSS. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_FORMAT = HTML-CSS - -# When MathJax is enabled you need to specify the location relative to the HTML -# output directory using the MATHJAX_RELPATH option. The destination directory -# should contain the MathJax.js script. For instance, if the mathjax directory -# is located at the same level as the HTML output directory, then -# MATHJAX_RELPATH should be ../mathjax. The default value points to the MathJax -# Content Delivery Network so you can quickly see the result without installing -# MathJax. However, it is strongly recommended to install a local copy of -# MathJax from https://www.mathjax.org before deployment. The default value is: -# - in case of MathJax version 2: https://cdn.jsdelivr.net/npm/mathjax@2 -# - in case of MathJax version 3: https://cdn.jsdelivr.net/npm/mathjax@3 -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_RELPATH = http://cdn.mathjax.org/mathjax/latest - -# The MATHJAX_EXTENSIONS tag can be used to specify one or more MathJax -# extension names that should be enabled during MathJax rendering. For example -# for MathJax version 2 (see -# https://docs.mathjax.org/en/v2.7-latest/tex.html#tex-and-latex-extensions): -# MATHJAX_EXTENSIONS = TeX/AMSmath TeX/AMSsymbols -# For example for MathJax version 3 (see -# http://docs.mathjax.org/en/latest/input/tex/extensions/index.html): -# MATHJAX_EXTENSIONS = ams -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_EXTENSIONS = - -# The MATHJAX_CODEFILE tag can be used to specify a file with javascript pieces -# of code that will be used on startup of the MathJax code. See the MathJax site -# (see: -# http://docs.mathjax.org/en/v2.7-latest/output.html) for more details. For an -# example see the documentation. -# This tag requires that the tag USE_MATHJAX is set to YES. - -MATHJAX_CODEFILE = - -# When the SEARCHENGINE tag is enabled doxygen will generate a search box for -# the HTML output. The underlying search engine uses javascript and DHTML and -# should work on any modern browser. Note that when using HTML help -# (GENERATE_HTMLHELP), Qt help (GENERATE_QHP), or docsets (GENERATE_DOCSET) -# there is already a search function so this one should typically be disabled. -# For large projects the javascript based search engine can be slow, then -# enabling SERVER_BASED_SEARCH may provide a better solution. It is possible to -# search using the keyboard; to jump to the search box use + S -# (what the is depends on the OS and browser, but it is typically -# , /