mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-24 20:09:46 +00:00
Build: Move TF source file inclusion from build system to source files
Outside of compiler-rt (where it's arguably an anti-pattern too), LLVM tries to keep its build files as simple as possible. See e.g. llvm/docs/SupportLibrary.rst, "Code Organization". Differential Revision: https://reviews.llvm.org/D84243
This commit is contained in:
parent
9dff04c406
commit
3900b1c685
@ -347,4 +347,7 @@
|
||||
/* Whether Timers signpost passes in Xcode Instruments */
|
||||
#cmakedefine01 LLVM_SUPPORT_XCODE_SIGNPOSTS
|
||||
|
||||
/* Define if LLVM was built with a dependency to the tensorflow compiler */
|
||||
#cmakedefine LLVM_HAVE_TF_AOT
|
||||
|
||||
#endif
|
||||
|
@ -1,38 +1,17 @@
|
||||
set(CommonMLSources MLInlineAdvisor.cpp)
|
||||
set(ReleaseModeMLSources ReleaseModeModelRunner.cpp)
|
||||
set(DevelopmentModeMLSources
|
||||
DevelopmentModeInlineAdvisor.cpp
|
||||
TFUtils.cpp
|
||||
)
|
||||
|
||||
if (DEFINED LLVM_HAVE_TF_AOT OR DEFINED LLVM_HAVE_TF_API)
|
||||
set(MLPolicySources ${CommonMLSources})
|
||||
if (DEFINED LLVM_HAVE_TF_AOT)
|
||||
include(TensorFlowCompile)
|
||||
tfcompile(models/inliner serve action InlinerSizeModel llvm::InlinerSizeModel)
|
||||
list(APPEND ReleaseModeMLSources
|
||||
list(APPEND GeneratedMLSources
|
||||
$<TARGET_OBJECTS:tf_xla_runtime_objects>
|
||||
${GENERATED_OBJS}
|
||||
)
|
||||
LIST(APPEND MLPolicySources ${ReleaseModeMLSources})
|
||||
else()
|
||||
LIST(APPEND LLVM_OPTIONAL_SOURCES ${ReleaseModeMLSources})
|
||||
endif()
|
||||
|
||||
if (DEFINED LLVM_HAVE_TF_API)
|
||||
LIST(APPEND MLPolicySources ${DevelopmentModeMLSources})
|
||||
LIST(APPEND MLLinkDeps ${tensorflow_c_api})
|
||||
else()
|
||||
LIST(APPEND LLVM_OPTIONAL_SOURCES ${DevelopmentModeMLSources})
|
||||
endif()
|
||||
else()
|
||||
LIST(APPEND LLVM_OPTIONAL_SOURCES
|
||||
${CommonMLSources}
|
||||
${DevelopmentModeMLSources}
|
||||
${ReleaseModeMLSources}
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
add_llvm_component_library(LLVMAnalysis
|
||||
AliasAnalysis.cpp
|
||||
@ -64,6 +43,7 @@ add_llvm_component_library(LLVMAnalysis
|
||||
DemandedBits.cpp
|
||||
DependenceAnalysis.cpp
|
||||
DependenceGraphBuilder.cpp
|
||||
DevelopmentModeInlineAdvisor.cpp
|
||||
DivergenceAnalysis.cpp
|
||||
DomPrinter.cpp
|
||||
DomTreeUpdater.cpp
|
||||
@ -98,6 +78,7 @@ add_llvm_component_library(LLVMAnalysis
|
||||
LoopUnrollAnalyzer.cpp
|
||||
LoopInfo.cpp
|
||||
LoopPass.cpp
|
||||
MLInlineAdvisor.cpp
|
||||
MemDepPrinter.cpp
|
||||
MemDerefPrinter.cpp
|
||||
MemoryBuiltins.cpp
|
||||
@ -120,6 +101,7 @@ add_llvm_component_library(LLVMAnalysis
|
||||
RegionInfo.cpp
|
||||
RegionPass.cpp
|
||||
RegionPrinter.cpp
|
||||
ReleaseModeModelRunner.cpp
|
||||
ScalarEvolution.cpp
|
||||
ScalarEvolutionAliasAnalysis.cpp
|
||||
ScalarEvolutionDivision.cpp
|
||||
@ -128,6 +110,7 @@ add_llvm_component_library(LLVMAnalysis
|
||||
StackSafetyAnalysis.cpp
|
||||
SyncDependenceAnalysis.cpp
|
||||
SyntheticCountsUtils.cpp
|
||||
TFUtils.cpp
|
||||
TargetLibraryInfo.cpp
|
||||
TargetTransformInfo.cpp
|
||||
Trace.cpp
|
||||
@ -139,7 +122,7 @@ add_llvm_component_library(LLVMAnalysis
|
||||
ValueTracking.cpp
|
||||
VectorUtils.cpp
|
||||
VFABIDemangling.cpp
|
||||
${MLPolicySources}
|
||||
${GeneratedMLSources}
|
||||
|
||||
ADDITIONAL_HEADER_DIRS
|
||||
${LLVM_MAIN_INCLUDE_DIR}/llvm/Analysis
|
||||
|
@ -11,6 +11,9 @@
|
||||
// loading of a model from a command line option.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "llvm/Config/config.h"
|
||||
#if defined(LLVM_HAVE_TF_API)
|
||||
|
||||
#include "llvm/Analysis/CallGraph.h"
|
||||
#include "llvm/Analysis/InlineSizeEstimatorAnalysis.h"
|
||||
#include "llvm/Analysis/MLInlineAdvisor.h"
|
||||
@ -482,4 +485,5 @@ std::unique_ptr<InlineAdvisor> llvm::getDevelopmentModeAdvisor(
|
||||
}
|
||||
return std::make_unique<DevelopmentModeMLInlineAdvisor>(
|
||||
M, MAM, std::move(Runner), GetDefaultAdvice, IsDoingInference);
|
||||
}
|
||||
}
|
||||
#endif // defined(LLVM_HAVE_TF_API)
|
||||
|
@ -11,6 +11,9 @@
|
||||
// 'release' mode) or a runtime-loaded model (the 'development' case).
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "llvm/Config/config.h"
|
||||
#if defined(LLVM_HAVE_TF_AOT) || defined(LLVM_HAVE_TF_API)
|
||||
|
||||
#include <limits>
|
||||
#include <unordered_map>
|
||||
#include <unordered_set>
|
||||
@ -298,4 +301,5 @@ void MLInlineAdvice::recordUnattemptedInliningImpl() {
|
||||
reportContextForRemark(R);
|
||||
return R;
|
||||
});
|
||||
}
|
||||
}
|
||||
#endif // defined(LLVM_HAVE_TF_AOT) || defined(LLVM_HAVE_TF_API)
|
||||
|
@ -10,6 +10,8 @@
|
||||
// Only inference is supported.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "llvm/Config/config.h"
|
||||
#if defined(LLVM_HAVE_TF_AOT)
|
||||
|
||||
#include "llvm/Analysis/InlineModelFeatureMaps.h"
|
||||
#include "llvm/Analysis/MLInlineAdvisor.h"
|
||||
@ -85,3 +87,4 @@ llvm::getReleaseModeAdvisor(Module &M, ModuleAnalysisManager &MAM) {
|
||||
auto AOTRunner = std::make_unique<ReleaseModeModelRunner>(M.getContext());
|
||||
return std::make_unique<MLInlineAdvisor>(M, MAM, std::move(AOTRunner));
|
||||
}
|
||||
#endif // defined(LLVM_HAVE_TF_AOT)
|
||||
|
@ -10,6 +10,8 @@
|
||||
// This file implements utilities for interfacing with tensorflow C APIs.
|
||||
//
|
||||
//===----------------------------------------------------------------------===//
|
||||
#include "llvm/Config/config.h"
|
||||
#if defined(LLVM_HAVE_TF_API)
|
||||
|
||||
#include "llvm/Analysis/Utils/TFUtils.h"
|
||||
#include "llvm/ADT/Twine.h"
|
||||
@ -287,3 +289,4 @@ template <> int TFModelEvaluator::getModelTypeIndex<uint64_t>() {
|
||||
|
||||
TFModelEvaluator::EvaluationResult::~EvaluationResult() {}
|
||||
TFModelEvaluator::~TFModelEvaluator() {}
|
||||
#endif // defined(LLVM_HAVE_TF_API)
|
||||
|
@ -124,6 +124,7 @@ write_cmake_config("config") {
|
||||
"RETSIGTYPE=void",
|
||||
"LLVM_GISEL_COV_ENABLED=",
|
||||
"LLVM_GISEL_COV_PREFIX=",
|
||||
"LLVM_HAVE_TF_AOT=",
|
||||
"LLVM_WITH_Z3=",
|
||||
|
||||
# FIXME: Set to 1 on mac once the 10.14 SDK is in common use.
|
||||
|
@ -41,6 +41,7 @@ static_library("Analysis") {
|
||||
"DemandedBits.cpp",
|
||||
"DependenceAnalysis.cpp",
|
||||
"DependenceGraphBuilder.cpp",
|
||||
"DevelopmentModeInlineAdvisor.cpp",
|
||||
"DivergenceAnalysis.cpp",
|
||||
"DomPrinter.cpp",
|
||||
"DomTreeUpdater.cpp",
|
||||
@ -75,6 +76,7 @@ static_library("Analysis") {
|
||||
"LoopNestAnalysis.cpp",
|
||||
"LoopPass.cpp",
|
||||
"LoopUnrollAnalyzer.cpp",
|
||||
"MLInlineAdvisor.cpp",
|
||||
"MemDepPrinter.cpp",
|
||||
"MemDerefPrinter.cpp",
|
||||
"MemoryBuiltins.cpp",
|
||||
@ -97,6 +99,7 @@ static_library("Analysis") {
|
||||
"RegionInfo.cpp",
|
||||
"RegionPass.cpp",
|
||||
"RegionPrinter.cpp",
|
||||
"ReleaseModeModelRunner.cpp",
|
||||
"ScalarEvolution.cpp",
|
||||
"ScalarEvolutionAliasAnalysis.cpp",
|
||||
"ScalarEvolutionDivision.cpp",
|
||||
@ -106,6 +109,7 @@ static_library("Analysis") {
|
||||
"StackSafetyAnalysis.cpp",
|
||||
"SyncDependenceAnalysis.cpp",
|
||||
"SyntheticCountsUtils.cpp",
|
||||
"TFUtils.cpp",
|
||||
"TargetLibraryInfo.cpp",
|
||||
"TargetTransformInfo.cpp",
|
||||
"Trace.cpp",
|
||||
@ -118,10 +122,3 @@ static_library("Analysis") {
|
||||
"VectorUtils.cpp",
|
||||
]
|
||||
}
|
||||
|
||||
static_library("TensorFlow") {
|
||||
sources = [
|
||||
"DevelopmentModeInlineAdvisor.cpp",
|
||||
"TFUtils.cpp",
|
||||
]
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user