diff --git a/CMakeLists.txt b/CMakeLists.txt index c31f7152a..6ff3de71c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,7 +93,7 @@ endif() if(RV_FOUND) set(THORIN_ENABLE_RV TRUE) endif() -configure_file(src/thorin/config.h.in ${CMAKE_BINARY_DIR}/include/thorin/config.h @ONLY) +configure_file(include/thorin/config.h.in ${CMAKE_BINARY_DIR}/include/thorin/config.h @ONLY) add_subdirectory(src) diff --git a/cmake/thorin-config.cmake.in b/cmake/thorin-config.cmake.in index 3a53346dd..a6b618e4e 100644 --- a/cmake/thorin-config.cmake.in +++ b/cmake/thorin-config.cmake.in @@ -21,7 +21,7 @@ find_path(Thorin_DIR ) find_path(Thorin_ROOT_DIR - NAMES cmake/thorin-config.cmake.in src/thorin/world.h + NAMES cmake/thorin-config.cmake.in include/thorin/world.h PATHS ${Thorin_DIR} $ENV{Thorin_DIR} ${Thorin_ROOT_DIR} "@CMAKE_CURRENT_SOURCE_DIR@" "@Thorin_ROOT_DIR@" "@CMAKE_SOURCE_DIR@") list(APPEND CMAKE_MODULE_PATH "${Thorin_ROOT_DIR}/cmake/modules") @@ -42,7 +42,7 @@ if(Thorin_HAS_LLVM_SUPPORT) endif() endif() -find_path(Thorin_INCLUDE_DIR NAMES thorin/world.h PATHS ${Thorin_ROOT_DIR}/src) +find_path(Thorin_INCLUDE_DIR NAMES thorin/world.h PATHS ${Thorin_ROOT_DIR}/include) find_path(Thorin_CONFIG_DIR NAMES thorin/config.h PATHS ${Thorin_DIR} ${AnyDSL_thorin_DIR} $ENV{Thorin_DIR} diff --git a/src/thorin/analyses/cfg.h b/include/thorin/analyses/cfg.h similarity index 100% rename from src/thorin/analyses/cfg.h rename to include/thorin/analyses/cfg.h diff --git a/src/thorin/analyses/domtree.h b/include/thorin/analyses/domtree.h similarity index 100% rename from src/thorin/analyses/domtree.h rename to include/thorin/analyses/domtree.h diff --git a/src/thorin/analyses/free_defs.h b/include/thorin/analyses/free_defs.h similarity index 100% rename from src/thorin/analyses/free_defs.h rename to include/thorin/analyses/free_defs.h diff --git a/src/thorin/analyses/looptree.h b/include/thorin/analyses/looptree.h similarity index 100% rename from src/thorin/analyses/looptree.h rename to include/thorin/analyses/looptree.h diff --git a/src/thorin/analyses/schedule.h b/include/thorin/analyses/schedule.h similarity index 100% rename from src/thorin/analyses/schedule.h rename to include/thorin/analyses/schedule.h diff --git a/src/thorin/analyses/scope.h b/include/thorin/analyses/scope.h similarity index 100% rename from src/thorin/analyses/scope.h rename to include/thorin/analyses/scope.h diff --git a/src/thorin/analyses/verify.h b/include/thorin/analyses/verify.h similarity index 100% rename from src/thorin/analyses/verify.h rename to include/thorin/analyses/verify.h diff --git a/src/thorin/be/c/c.h b/include/thorin/be/c/c.h similarity index 100% rename from src/thorin/be/c/c.h rename to include/thorin/be/c/c.h diff --git a/src/thorin/be/codegen.h b/include/thorin/be/codegen.h similarity index 100% rename from src/thorin/be/codegen.h rename to include/thorin/be/codegen.h diff --git a/src/thorin/be/emitter.h b/include/thorin/be/emitter.h similarity index 100% rename from src/thorin/be/emitter.h rename to include/thorin/be/emitter.h diff --git a/src/thorin/be/json/json.h b/include/thorin/be/json/json.h similarity index 100% rename from src/thorin/be/json/json.h rename to include/thorin/be/json/json.h diff --git a/src/thorin/be/kernel_config.h b/include/thorin/be/kernel_config.h similarity index 100% rename from src/thorin/be/kernel_config.h rename to include/thorin/be/kernel_config.h diff --git a/src/thorin/be/llvm/amdgpu.h b/include/thorin/be/llvm/amdgpu.h similarity index 100% rename from src/thorin/be/llvm/amdgpu.h rename to include/thorin/be/llvm/amdgpu.h diff --git a/src/thorin/be/llvm/amdgpu_hsa.h b/include/thorin/be/llvm/amdgpu_hsa.h similarity index 100% rename from src/thorin/be/llvm/amdgpu_hsa.h rename to include/thorin/be/llvm/amdgpu_hsa.h diff --git a/src/thorin/be/llvm/amdgpu_pal.h b/include/thorin/be/llvm/amdgpu_pal.h similarity index 100% rename from src/thorin/be/llvm/amdgpu_pal.h rename to include/thorin/be/llvm/amdgpu_pal.h diff --git a/src/thorin/be/llvm/cpu.h b/include/thorin/be/llvm/cpu.h similarity index 100% rename from src/thorin/be/llvm/cpu.h rename to include/thorin/be/llvm/cpu.h diff --git a/src/thorin/be/llvm/llvm.h b/include/thorin/be/llvm/llvm.h similarity index 100% rename from src/thorin/be/llvm/llvm.h rename to include/thorin/be/llvm/llvm.h diff --git a/src/thorin/be/llvm/nvvm.h b/include/thorin/be/llvm/nvvm.h similarity index 100% rename from src/thorin/be/llvm/nvvm.h rename to include/thorin/be/llvm/nvvm.h diff --git a/src/thorin/be/llvm/runtime.h b/include/thorin/be/llvm/runtime.h similarity index 100% rename from src/thorin/be/llvm/runtime.h rename to include/thorin/be/llvm/runtime.h diff --git a/src/thorin/be/shady/shady.h b/include/thorin/be/shady/shady.h similarity index 100% rename from src/thorin/be/shady/shady.h rename to include/thorin/be/shady/shady.h diff --git a/src/thorin/config.h.in b/include/thorin/config.h.in similarity index 100% rename from src/thorin/config.h.in rename to include/thorin/config.h.in diff --git a/src/thorin/continuation.h b/include/thorin/continuation.h similarity index 100% rename from src/thorin/continuation.h rename to include/thorin/continuation.h diff --git a/src/thorin/debug.h b/include/thorin/debug.h similarity index 100% rename from src/thorin/debug.h rename to include/thorin/debug.h diff --git a/src/thorin/def.h b/include/thorin/def.h similarity index 100% rename from src/thorin/def.h rename to include/thorin/def.h diff --git a/src/thorin/enums.h b/include/thorin/enums.h similarity index 100% rename from src/thorin/enums.h rename to include/thorin/enums.h diff --git a/src/thorin/primop.h b/include/thorin/primop.h similarity index 100% rename from src/thorin/primop.h rename to include/thorin/primop.h diff --git a/src/thorin/tables/allnodes.h b/include/thorin/tables/allnodes.h similarity index 100% rename from src/thorin/tables/allnodes.h rename to include/thorin/tables/allnodes.h diff --git a/src/thorin/tables/arithoptable.h b/include/thorin/tables/arithoptable.h similarity index 100% rename from src/thorin/tables/arithoptable.h rename to include/thorin/tables/arithoptable.h diff --git a/src/thorin/tables/cmptable.h b/include/thorin/tables/cmptable.h similarity index 100% rename from src/thorin/tables/cmptable.h rename to include/thorin/tables/cmptable.h diff --git a/src/thorin/tables/mathoptable.h b/include/thorin/tables/mathoptable.h similarity index 100% rename from src/thorin/tables/mathoptable.h rename to include/thorin/tables/mathoptable.h diff --git a/src/thorin/tables/nodetable.h b/include/thorin/tables/nodetable.h similarity index 100% rename from src/thorin/tables/nodetable.h rename to include/thorin/tables/nodetable.h diff --git a/src/thorin/tables/primtypetable.h b/include/thorin/tables/primtypetable.h similarity index 100% rename from src/thorin/tables/primtypetable.h rename to include/thorin/tables/primtypetable.h diff --git a/src/thorin/transform/closure_conversion.h b/include/thorin/transform/closure_conversion.h similarity index 100% rename from src/thorin/transform/closure_conversion.h rename to include/thorin/transform/closure_conversion.h diff --git a/src/thorin/transform/codegen_prepare.h b/include/thorin/transform/codegen_prepare.h similarity index 100% rename from src/thorin/transform/codegen_prepare.h rename to include/thorin/transform/codegen_prepare.h diff --git a/src/thorin/transform/dead_load_opt.h b/include/thorin/transform/dead_load_opt.h similarity index 100% rename from src/thorin/transform/dead_load_opt.h rename to include/thorin/transform/dead_load_opt.h diff --git a/src/thorin/transform/flatten_tuples.h b/include/thorin/transform/flatten_tuples.h similarity index 100% rename from src/thorin/transform/flatten_tuples.h rename to include/thorin/transform/flatten_tuples.h diff --git a/src/thorin/transform/hls_channels.h b/include/thorin/transform/hls_channels.h similarity index 100% rename from src/thorin/transform/hls_channels.h rename to include/thorin/transform/hls_channels.h diff --git a/src/thorin/transform/hls_kernel_launch.h b/include/thorin/transform/hls_kernel_launch.h similarity index 100% rename from src/thorin/transform/hls_kernel_launch.h rename to include/thorin/transform/hls_kernel_launch.h diff --git a/src/thorin/transform/hoist_enters.h b/include/thorin/transform/hoist_enters.h similarity index 100% rename from src/thorin/transform/hoist_enters.h rename to include/thorin/transform/hoist_enters.h diff --git a/src/thorin/transform/importer.h b/include/thorin/transform/importer.h similarity index 100% rename from src/thorin/transform/importer.h rename to include/thorin/transform/importer.h diff --git a/src/thorin/transform/inliner.h b/include/thorin/transform/inliner.h similarity index 100% rename from src/thorin/transform/inliner.h rename to include/thorin/transform/inliner.h diff --git a/src/thorin/transform/lift_builtins.h b/include/thorin/transform/lift_builtins.h similarity index 100% rename from src/thorin/transform/lift_builtins.h rename to include/thorin/transform/lift_builtins.h diff --git a/src/thorin/transform/mangle.h b/include/thorin/transform/mangle.h similarity index 100% rename from src/thorin/transform/mangle.h rename to include/thorin/transform/mangle.h diff --git a/src/thorin/transform/partial_evaluation.h b/include/thorin/transform/partial_evaluation.h similarity index 100% rename from src/thorin/transform/partial_evaluation.h rename to include/thorin/transform/partial_evaluation.h diff --git a/src/thorin/transform/resolve_loads.h b/include/thorin/transform/resolve_loads.h similarity index 100% rename from src/thorin/transform/resolve_loads.h rename to include/thorin/transform/resolve_loads.h diff --git a/src/thorin/transform/rewrite.h b/include/thorin/transform/rewrite.h similarity index 100% rename from src/thorin/transform/rewrite.h rename to include/thorin/transform/rewrite.h diff --git a/src/thorin/transform/split_slots.h b/include/thorin/transform/split_slots.h similarity index 100% rename from src/thorin/transform/split_slots.h rename to include/thorin/transform/split_slots.h diff --git a/src/thorin/type.h b/include/thorin/type.h similarity index 100% rename from src/thorin/type.h rename to include/thorin/type.h diff --git a/src/thorin/util/array.h b/include/thorin/util/array.h similarity index 100% rename from src/thorin/util/array.h rename to include/thorin/util/array.h diff --git a/src/thorin/util/cast.h b/include/thorin/util/cast.h similarity index 100% rename from src/thorin/util/cast.h rename to include/thorin/util/cast.h diff --git a/src/thorin/util/hash.h b/include/thorin/util/hash.h similarity index 100% rename from src/thorin/util/hash.h rename to include/thorin/util/hash.h diff --git a/src/thorin/util/indexmap.h b/include/thorin/util/indexmap.h similarity index 100% rename from src/thorin/util/indexmap.h rename to include/thorin/util/indexmap.h diff --git a/src/thorin/util/indexset.h b/include/thorin/util/indexset.h similarity index 100% rename from src/thorin/util/indexset.h rename to include/thorin/util/indexset.h diff --git a/src/thorin/util/iterator.h b/include/thorin/util/iterator.h similarity index 100% rename from src/thorin/util/iterator.h rename to include/thorin/util/iterator.h diff --git a/src/thorin/util/scoped_dump.h b/include/thorin/util/scoped_dump.h similarity index 100% rename from src/thorin/util/scoped_dump.h rename to include/thorin/util/scoped_dump.h diff --git a/src/thorin/util/stream.h b/include/thorin/util/stream.h similarity index 100% rename from src/thorin/util/stream.h rename to include/thorin/util/stream.h diff --git a/src/thorin/util/symbol.h b/include/thorin/util/symbol.h similarity index 100% rename from src/thorin/util/symbol.h rename to include/thorin/util/symbol.h diff --git a/src/thorin/util/types.h b/include/thorin/util/types.h similarity index 100% rename from src/thorin/util/types.h rename to include/thorin/util/types.h diff --git a/src/thorin/util/utility.h b/include/thorin/util/utility.h similarity index 100% rename from src/thorin/util/utility.h rename to include/thorin/util/utility.h diff --git a/src/thorin/world.h b/include/thorin/world.h similarity index 100% rename from src/thorin/world.h rename to include/thorin/world.h diff --git a/src/thorin/CMakeLists.txt b/src/thorin/CMakeLists.txt index 15817401d..caa134453 100644 --- a/src/thorin/CMakeLists.txt +++ b/src/thorin/CMakeLists.txt @@ -1,112 +1,55 @@ set(THORIN_SOURCES continuation.cpp - continuation.h debug.cpp - debug.h def.cpp - def.h enums.cpp - enums.h primop.cpp - primop.h rec_stream.cpp type.cpp - type.h world.cpp - world.h analyses/cfg.cpp - analyses/cfg.h analyses/domtree.cpp - analyses/domtree.h analyses/free_defs.cpp - analyses/free_defs.h analyses/looptree.cpp - analyses/looptree.h analyses/schedule.cpp - analyses/schedule.h analyses/scope.cpp - analyses/scope.h analyses/verify.cpp - analyses/verify.h be/codegen.cpp - be/codegen.h - be/emitter.h be/c/c.cpp - be/c/c.h - be/kernel_config.h - tables/allnodes.h - tables/arithoptable.h - tables/cmptable.h - tables/nodetable.h - tables/primtypetable.h - tables/mathoptable.h transform/cleanup_world.cpp transform/closure_conversion.cpp - transform/closure_conversion.h - transform/codegen_prepare.h transform/codegen_prepare.cpp transform/dead_load_opt.cpp - transform/dead_load_opt.h + transform/hls_channels.cpp + transform/hls_kernel_launch.cpp transform/hoist_enters.cpp - transform/hoist_enters.h transform/flatten_tuples.cpp - transform/flatten_tuples.h transform/importer.cpp - transform/importer.h transform/inliner.cpp - transform/inliner.h transform/lift_builtins.cpp - transform/lift_builtins.h transform/mangle.cpp - transform/mangle.h - transform/resolve_loads.cpp - transform/resolve_loads.h transform/partial_evaluation.cpp - transform/partial_evaluation.h + transform/resolve_loads.cpp transform/rewrite.cpp - transform/rewrite.h transform/split_slots.cpp - transform/split_slots.h - transform/hls_channels.cpp - transform/hls_channels.h - transform/hls_kernel_launch.h - transform/hls_kernel_launch.cpp - util/array.h - util/cast.h - util/hash.h util/hash.cpp - util/indexmap.h - util/indexset.h - util/iterator.h util/stream.cpp - util/stream.h util/symbol.cpp - util/symbol.h - util/types.h - util/utility.h util/graphviz_dump.cpp - util/scoped_dump.h util/scoped_dump.cpp ) if(LLVM_FOUND) list(APPEND THORIN_SOURCES be/llvm/cpu.cpp - be/llvm/cpu.h be/llvm/llvm.cpp - be/llvm/llvm.h be/llvm/amdgpu.cpp - be/llvm/amdgpu.h be/llvm/amdgpu_hsa.cpp - be/llvm/amdgpu_hsa.h be/llvm/amdgpu_pal.cpp - be/llvm/amdgpu_pal.h be/llvm/nvvm.cpp - be/llvm/nvvm.h be/llvm/parallel.cpp be/llvm/runtime.inc be/llvm/runtime.cpp - be/llvm/runtime.h be/llvm/vectorize.cpp ) endif() @@ -120,12 +63,11 @@ endif() if(THORIN_ENABLE_JSON) list(APPEND THORIN_SOURCES be/json/json.cpp - be/json/json.h ) endif() add_library(thorin ${THORIN_SOURCES}) -target_include_directories(thorin PUBLIC ${Half_INCLUDE_DIRS} ${Thorin_ROOT_DIR}/src ${CMAKE_BINARY_DIR}/include) +target_include_directories(thorin PUBLIC ${Half_INCLUDE_DIRS} ${Thorin_ROOT_DIR}/src ${Thorin_ROOT_DIR}/include ${CMAKE_BINARY_DIR}/include) if(LLVM_FOUND) set(Thorin_LLVM_COMPONENTS core support ipo target ${LLVM_TARGETS_TO_BUILD}) diff --git a/src/thorin/be/c/c.cpp b/src/thorin/be/c/c.cpp index f8a6c510d..d3bdfef59 100644 --- a/src/thorin/be/c/c.cpp +++ b/src/thorin/be/c/c.cpp @@ -8,7 +8,7 @@ #include "thorin/transform/hls_channels.h" #include "thorin/be/emitter.h" #include "thorin/util/stream.h" -#include "c.h" +#include "thorin/be/c/c.h" #include #include diff --git a/src/thorin/be/json/json.cpp b/src/thorin/be/json/json.cpp index 8188caa3f..001aff4ab 100644 --- a/src/thorin/be/json/json.cpp +++ b/src/thorin/be/json/json.cpp @@ -1,4 +1,4 @@ -#include "json.h" +#include "thorin/be/json/json.h" namespace thorin::json { diff --git a/src/thorin/transform/partial_evaluation.cpp b/src/thorin/transform/partial_evaluation.cpp index f0595640e..71fccbb76 100644 --- a/src/thorin/transform/partial_evaluation.cpp +++ b/src/thorin/transform/partial_evaluation.cpp @@ -2,7 +2,7 @@ #include "thorin/world.h" #include "thorin/transform/mangle.h" #include "thorin/util/hash.h" -#include "partial_evaluation.h" +#include "thorin/transform/partial_evaluation.h" namespace thorin { diff --git a/src/thorin/transform/rewrite.cpp b/src/thorin/transform/rewrite.cpp index ac352568f..925adf90c 100644 --- a/src/thorin/transform/rewrite.cpp +++ b/src/thorin/transform/rewrite.cpp @@ -1,4 +1,4 @@ -#include "rewrite.h" +#include "thorin/transform/rewrite.h" namespace thorin { diff --git a/src/thorin/util/scoped_dump.cpp b/src/thorin/util/scoped_dump.cpp index d471a4320..f0bf4b9a6 100644 --- a/src/thorin/util/scoped_dump.cpp +++ b/src/thorin/util/scoped_dump.cpp @@ -1,4 +1,4 @@ -#include "scoped_dump.h" +#include "thorin/util/scoped_dump.h" namespace thorin {