mirror of
https://github.com/apple/swift.git
synced 2025-12-14 20:36:38 +01:00
Replace the sil-passpipeline-dumper binary with a symlink to swift-frontend
rdar://76551283
This commit is contained in:
@@ -170,6 +170,7 @@ public:
|
|||||||
SILFuncExtractor,// sil-func-extractor
|
SILFuncExtractor,// sil-func-extractor
|
||||||
SILNM, // sil-nm
|
SILNM, // sil-nm
|
||||||
SILLLVMGen, // sil-llvm-gen
|
SILLLVMGen, // sil-llvm-gen
|
||||||
|
SILPassPipelineDumper, // sil-passpipeline-dumper
|
||||||
AutolinkExtract, // swift-autolink-extract
|
AutolinkExtract, // swift-autolink-extract
|
||||||
SwiftIndent, // swift-indent
|
SwiftIndent, // swift-indent
|
||||||
SymbolGraph, // swift-symbolgraph
|
SymbolGraph, // swift-symbolgraph
|
||||||
|
|||||||
@@ -103,6 +103,7 @@ void Driver::parseDriverKind(ArrayRef<const char *> Args) {
|
|||||||
.Case("sil-func-extractor", DriverKind::SILFuncExtractor)
|
.Case("sil-func-extractor", DriverKind::SILFuncExtractor)
|
||||||
.Case("sil-nm", DriverKind::SILNM)
|
.Case("sil-nm", DriverKind::SILNM)
|
||||||
.Case("sil-llvm-gen", DriverKind::SILLLVMGen)
|
.Case("sil-llvm-gen", DriverKind::SILLLVMGen)
|
||||||
|
.Case("sil-passpipeline-dumper", DriverKind::SILPassPipelineDumper)
|
||||||
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
|
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
|
||||||
.Case("swift-indent", DriverKind::SwiftIndent)
|
.Case("swift-indent", DriverKind::SwiftIndent)
|
||||||
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
|
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
|
||||||
@@ -3563,6 +3564,7 @@ void Driver::printHelp(bool ShowHidden) const {
|
|||||||
case DriverKind::SILFuncExtractor:
|
case DriverKind::SILFuncExtractor:
|
||||||
case DriverKind::SILNM:
|
case DriverKind::SILNM:
|
||||||
case DriverKind::SILLLVMGen:
|
case DriverKind::SILLLVMGen:
|
||||||
|
case DriverKind::SILPassPipelineDumper:
|
||||||
case DriverKind::AutolinkExtract:
|
case DriverKind::AutolinkExtract:
|
||||||
case DriverKind::SwiftIndent:
|
case DriverKind::SwiftIndent:
|
||||||
case DriverKind::SymbolGraph:
|
case DriverKind::SymbolGraph:
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ set(driver_sources_and_options
|
|||||||
sil_func_extractor_main.cpp
|
sil_func_extractor_main.cpp
|
||||||
sil_nm_main.cpp
|
sil_nm_main.cpp
|
||||||
sil_llvm_gen_main.cpp
|
sil_llvm_gen_main.cpp
|
||||||
|
sil_passpipeline_dumper_main.cpp
|
||||||
autolink_extract_main.cpp
|
autolink_extract_main.cpp
|
||||||
modulewrap_main.cpp
|
modulewrap_main.cpp
|
||||||
swift_api_digester_main.cpp
|
swift_api_digester_main.cpp
|
||||||
|
|||||||
@@ -75,6 +75,9 @@ extern int sil_nm_main(ArrayRef<const char *> argv, void *MainAddr);
|
|||||||
/// Run 'sil-llvm-gen'
|
/// Run 'sil-llvm-gen'
|
||||||
extern int sil_llvm_gen_main(ArrayRef<const char *> argv, void *MainAddr);
|
extern int sil_llvm_gen_main(ArrayRef<const char *> argv, void *MainAddr);
|
||||||
|
|
||||||
|
/// Run 'sil-passpipeline-dumper'
|
||||||
|
extern int sil_passpipeline_dumper_main(ArrayRef<const char *> argv, void *MainAddr);
|
||||||
|
|
||||||
/// Run 'swift-autolink-extract'.
|
/// Run 'swift-autolink-extract'.
|
||||||
extern int autolink_extract_main(ArrayRef<const char *> Args, const char *Argv0,
|
extern int autolink_extract_main(ArrayRef<const char *> Args, const char *Argv0,
|
||||||
void *MainAddr);
|
void *MainAddr);
|
||||||
@@ -301,6 +304,8 @@ static int run_driver(StringRef ExecName,
|
|||||||
return sil_nm_main(argv, (void *)(intptr_t)getExecutablePath);
|
return sil_nm_main(argv, (void *)(intptr_t)getExecutablePath);
|
||||||
case Driver::DriverKind::SILLLVMGen:
|
case Driver::DriverKind::SILLLVMGen:
|
||||||
return sil_llvm_gen_main(argv, (void *)(intptr_t)getExecutablePath);
|
return sil_llvm_gen_main(argv, (void *)(intptr_t)getExecutablePath);
|
||||||
|
case Driver::DriverKind::SILPassPipelineDumper:
|
||||||
|
return sil_passpipeline_dumper_main(argv, (void *)(intptr_t)getExecutablePath);
|
||||||
case Driver::DriverKind::AutolinkExtract:
|
case Driver::DriverKind::AutolinkExtract:
|
||||||
return autolink_extract_main(
|
return autolink_extract_main(
|
||||||
TheDriver.getArgsWithoutProgramNameAndDriverMode(argv),
|
TheDriver.getArgsWithoutProgramNameAndDriverMode(argv),
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
//===--- SILPassPipelineDumper.cpp ----------------------------------------===//
|
//===--- sil_passpipeline_dumper_main.cpp ---------------------------------===//
|
||||||
//
|
//
|
||||||
// This source file is part of the Swift.org open source project
|
// This source file is part of the Swift.org open source project
|
||||||
//
|
//
|
||||||
@@ -25,12 +25,15 @@
|
|||||||
|
|
||||||
using namespace swift;
|
using namespace swift;
|
||||||
|
|
||||||
static llvm::cl::opt<PassPipelineKind>
|
struct SILPassPipelineDumperOptions {
|
||||||
PipelineKind(llvm::cl::desc("<pipeline kind>"), llvm::cl::values(
|
llvm::cl::opt<PassPipelineKind>
|
||||||
|
PipelineKind = llvm::cl::opt<PassPipelineKind>(llvm::cl::desc("<pipeline kind>"),
|
||||||
|
llvm::cl::values(
|
||||||
#define PASSPIPELINE(NAME, DESCRIPTION) \
|
#define PASSPIPELINE(NAME, DESCRIPTION) \
|
||||||
clEnumValN(PassPipelineKind::NAME, #NAME, DESCRIPTION),
|
clEnumValN(PassPipelineKind::NAME, #NAME, DESCRIPTION),
|
||||||
#include "swift/SILOptimizer/PassManager/PassPipeline.def"
|
#include "swift/SILOptimizer/PassManager/PassPipeline.def"
|
||||||
clEnumValN(0, "", "")));
|
clEnumValN(0, "", "")));
|
||||||
|
};
|
||||||
|
|
||||||
namespace llvm {
|
namespace llvm {
|
||||||
llvm::raw_ostream &operator<<(llvm::raw_ostream &os, PassPipelineKind Kind) {
|
llvm::raw_ostream &operator<<(llvm::raw_ostream &os, PassPipelineKind Kind) {
|
||||||
@@ -44,17 +47,18 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &os, PassPipelineKind Kind) {
|
|||||||
}
|
}
|
||||||
} // namespace llvm
|
} // namespace llvm
|
||||||
|
|
||||||
int main(int argc, char **argv) {
|
int sil_passpipeline_dumper_main(ArrayRef<const char *> argv, void *MainAddr) {
|
||||||
PROGRAM_START(argc, argv);
|
|
||||||
INITIALIZE_LLVM();
|
INITIALIZE_LLVM();
|
||||||
|
|
||||||
llvm::cl::ParseCommandLineOptions(argc, argv,
|
SILPassPipelineDumperOptions options;
|
||||||
|
|
||||||
|
llvm::cl::ParseCommandLineOptions(argv.size(), argv.data(),
|
||||||
"Swift SIL Pass Pipeline Dumper\n");
|
"Swift SIL Pass Pipeline Dumper\n");
|
||||||
|
|
||||||
// TODO: add options to manipulate this.
|
// TODO: add options to manipulate this.
|
||||||
SILOptions Opt;
|
SILOptions Opt;
|
||||||
|
|
||||||
switch (PipelineKind) {
|
switch (options.PipelineKind) {
|
||||||
#define PASSPIPELINE(NAME, DESCRIPTION) \
|
#define PASSPIPELINE(NAME, DESCRIPTION) \
|
||||||
case PassPipelineKind::NAME: { \
|
case PassPipelineKind::NAME: { \
|
||||||
SILPassPipelinePlan::get##NAME##PassPipeline(Opt).print(llvm::outs()); \
|
SILPassPipelinePlan::get##NAME##PassPipeline(Opt).print(llvm::outs()); \
|
||||||
@@ -52,7 +52,6 @@ function(get_test_dependencies SDK result_var_name)
|
|||||||
if (SWIFT_INCLUDE_TOOLS)
|
if (SWIFT_INCLUDE_TOOLS)
|
||||||
list(APPEND deps_binaries
|
list(APPEND deps_binaries
|
||||||
lldb-moduleimport-test
|
lldb-moduleimport-test
|
||||||
sil-passpipeline-dumper
|
|
||||||
swift-frontend
|
swift-frontend
|
||||||
swift-demangle
|
swift-demangle
|
||||||
swift-demangle-yamldump
|
swift-demangle-yamldump
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ add_swift_tool_subdirectory(swift-demangle)
|
|||||||
add_swift_tool_subdirectory(swift-demangle-yamldump)
|
add_swift_tool_subdirectory(swift-demangle-yamldump)
|
||||||
add_swift_tool_subdirectory(swift-def-to-strings-converter)
|
add_swift_tool_subdirectory(swift-def-to-strings-converter)
|
||||||
add_swift_tool_subdirectory(swift-serialize-diagnostics)
|
add_swift_tool_subdirectory(swift-serialize-diagnostics)
|
||||||
add_swift_tool_subdirectory(sil-passpipeline-dumper)
|
|
||||||
add_swift_tool_subdirectory(swift-llvm-opt)
|
add_swift_tool_subdirectory(swift-llvm-opt)
|
||||||
add_swift_tool_subdirectory(swift-ast-script)
|
add_swift_tool_subdirectory(swift-ast-script)
|
||||||
add_swift_tool_subdirectory(swift-refactor)
|
add_swift_tool_subdirectory(swift-refactor)
|
||||||
|
|||||||
@@ -109,6 +109,11 @@ swift_create_post_build_symlink(swift-frontend
|
|||||||
DESTINATION "sil-llvm-gen${CMAKE_EXECUTABLE_SUFFIX}"
|
DESTINATION "sil-llvm-gen${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
WORKING_DIRECTORY "${SWIFT_RUNTIME_OUTPUT_INTDIR}")
|
WORKING_DIRECTORY "${SWIFT_RUNTIME_OUTPUT_INTDIR}")
|
||||||
|
|
||||||
|
swift_create_post_build_symlink(swift-frontend
|
||||||
|
SOURCE "swift-frontend${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
|
DESTINATION "sil-passpipeline-dumper${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
|
WORKING_DIRECTORY "${SWIFT_RUNTIME_OUTPUT_INTDIR}")
|
||||||
|
|
||||||
swift_create_post_build_symlink(swift-frontend
|
swift_create_post_build_symlink(swift-frontend
|
||||||
SOURCE "swift-frontend${CMAKE_EXECUTABLE_SUFFIX}"
|
SOURCE "swift-frontend${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
DESTINATION "swift-indent${CMAKE_EXECUTABLE_SUFFIX}"
|
DESTINATION "swift-indent${CMAKE_EXECUTABLE_SUFFIX}"
|
||||||
|
|||||||
@@ -1,13 +0,0 @@
|
|||||||
add_swift_host_tool(sil-passpipeline-dumper
|
|
||||||
SILPassPipelineDumper.cpp
|
|
||||||
SWIFT_COMPONENT testsuite-tools
|
|
||||||
)
|
|
||||||
target_link_libraries(sil-passpipeline-dumper PRIVATE
|
|
||||||
swiftFrontend
|
|
||||||
swiftIRGen
|
|
||||||
swiftSema
|
|
||||||
swiftSILGen
|
|
||||||
swiftSILOptimizer
|
|
||||||
# Clang libraries included to appease the linker on linux.
|
|
||||||
clangBasic
|
|
||||||
clangCodeGen)
|
|
||||||
Reference in New Issue
Block a user