Skip to content

Commit 8ce6038

Browse files
committed
Replace the sil-passpipeline-dumper binary with a symlink to swift-frontend
rdar://76551283
1 parent e3a174b commit 8ce6038

File tree

9 files changed

+25
-22
lines changed

9 files changed

+25
-22
lines changed

include/swift/Driver/Driver.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -170,6 +170,7 @@ class Driver {
170170
SILFuncExtractor,// sil-func-extractor
171171
SILNM, // sil-nm
172172
SILLLVMGen, // sil-llvm-gen
173+
SILPassPipelineDumper, // sil-passpipeline-dumper
173174
AutolinkExtract, // swift-autolink-extract
174175
SwiftIndent, // swift-indent
175176
SymbolGraph, // swift-symbolgraph

lib/Driver/Driver.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ void Driver::parseDriverKind(ArrayRef<const char *> Args) {
103103
.Case("sil-func-extractor", DriverKind::SILFuncExtractor)
104104
.Case("sil-nm", DriverKind::SILNM)
105105
.Case("sil-llvm-gen", DriverKind::SILLLVMGen)
106+
.Case("sil-passpipeline-dumper", DriverKind::SILPassPipelineDumper)
106107
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
107108
.Case("swift-indent", DriverKind::SwiftIndent)
108109
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
@@ -3563,6 +3564,7 @@ void Driver::printHelp(bool ShowHidden) const {
35633564
case DriverKind::SILFuncExtractor:
35643565
case DriverKind::SILNM:
35653566
case DriverKind::SILLLVMGen:
3567+
case DriverKind::SILPassPipelineDumper:
35663568
case DriverKind::AutolinkExtract:
35673569
case DriverKind::SwiftIndent:
35683570
case DriverKind::SymbolGraph:

lib/DriverTool/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ set(driver_sources_and_options
44
sil_func_extractor_main.cpp
55
sil_nm_main.cpp
66
sil_llvm_gen_main.cpp
7+
sil_passpipeline_dumper_main.cpp
78
autolink_extract_main.cpp
89
modulewrap_main.cpp
910
swift_api_digester_main.cpp

lib/DriverTool/driver.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,9 @@ extern int sil_nm_main(ArrayRef<const char *> argv, void *MainAddr);
7575
/// Run 'sil-llvm-gen'
7676
extern int sil_llvm_gen_main(ArrayRef<const char *> argv, void *MainAddr);
7777

78+
/// Run 'sil-passpipeline-dumper'
79+
extern int sil_passpipeline_dumper_main(ArrayRef<const char *> argv, void *MainAddr);
80+
7881
/// Run 'swift-autolink-extract'.
7982
extern int autolink_extract_main(ArrayRef<const char *> Args, const char *Argv0,
8083
void *MainAddr);
@@ -301,6 +304,8 @@ static int run_driver(StringRef ExecName,
301304
return sil_nm_main(argv, (void *)(intptr_t)getExecutablePath);
302305
case Driver::DriverKind::SILLLVMGen:
303306
return sil_llvm_gen_main(argv, (void *)(intptr_t)getExecutablePath);
307+
case Driver::DriverKind::SILPassPipelineDumper:
308+
return sil_passpipeline_dumper_main(argv, (void *)(intptr_t)getExecutablePath);
304309
case Driver::DriverKind::AutolinkExtract:
305310
return autolink_extract_main(
306311
TheDriver.getArgsWithoutProgramNameAndDriverMode(argv),

tools/sil-passpipeline-dumper/SILPassPipelineDumper.cpp renamed to lib/DriverTool/sil_passpipeline_dumper_main.cpp

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
//===--- SILPassPipelineDumper.cpp ----------------------------------------===//
1+
//===--- sil_passpipeline_dumper_main.cpp ---------------------------------===//
22
//
33
// This source file is part of the Swift.org open source project
44
//
@@ -25,12 +25,15 @@
2525

2626
using namespace swift;
2727

28-
static llvm::cl::opt<PassPipelineKind>
29-
PipelineKind(llvm::cl::desc("<pipeline kind>"), llvm::cl::values(
28+
struct SILPassPipelineDumperOptions {
29+
llvm::cl::opt<PassPipelineKind>
30+
PipelineKind = llvm::cl::opt<PassPipelineKind>(llvm::cl::desc("<pipeline kind>"),
31+
llvm::cl::values(
3032
#define PASSPIPELINE(NAME, DESCRIPTION) \
3133
clEnumValN(PassPipelineKind::NAME, #NAME, DESCRIPTION),
3234
#include "swift/SILOptimizer/PassManager/PassPipeline.def"
3335
clEnumValN(0, "", "")));
36+
};
3437

3538
namespace llvm {
3639
llvm::raw_ostream &operator<<(llvm::raw_ostream &os, PassPipelineKind Kind) {
@@ -44,17 +47,18 @@ llvm::raw_ostream &operator<<(llvm::raw_ostream &os, PassPipelineKind Kind) {
4447
}
4548
} // namespace llvm
4649

47-
int main(int argc, char **argv) {
48-
PROGRAM_START(argc, argv);
50+
int sil_passpipeline_dumper_main(ArrayRef<const char *> argv, void *MainAddr) {
4951
INITIALIZE_LLVM();
5052

51-
llvm::cl::ParseCommandLineOptions(argc, argv,
53+
SILPassPipelineDumperOptions options;
54+
55+
llvm::cl::ParseCommandLineOptions(argv.size(), argv.data(),
5256
"Swift SIL Pass Pipeline Dumper\n");
5357

5458
// TODO: add options to manipulate this.
5559
SILOptions Opt;
5660

57-
switch (PipelineKind) {
61+
switch (options.PipelineKind) {
5862
#define PASSPIPELINE(NAME, DESCRIPTION) \
5963
case PassPipelineKind::NAME: { \
6064
SILPassPipelinePlan::get##NAME##PassPipeline(Opt).print(llvm::outs()); \

test/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,6 @@ function(get_test_dependencies SDK result_var_name)
5252
if (SWIFT_INCLUDE_TOOLS)
5353
list(APPEND deps_binaries
5454
lldb-moduleimport-test
55-
sil-passpipeline-dumper
5655
swift-frontend
5756
swift-demangle
5857
swift-demangle-yamldump

tools/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ add_swift_tool_subdirectory(swift-demangle)
2323
add_swift_tool_subdirectory(swift-demangle-yamldump)
2424
add_swift_tool_subdirectory(swift-def-to-strings-converter)
2525
add_swift_tool_subdirectory(swift-serialize-diagnostics)
26-
add_swift_tool_subdirectory(sil-passpipeline-dumper)
2726
add_swift_tool_subdirectory(swift-llvm-opt)
2827
add_swift_tool_subdirectory(swift-ast-script)
2928
add_swift_tool_subdirectory(swift-refactor)

tools/driver/CMakeLists.txt

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,11 @@ swift_create_post_build_symlink(swift-frontend
109109
DESTINATION "sil-llvm-gen${CMAKE_EXECUTABLE_SUFFIX}"
110110
WORKING_DIRECTORY "${SWIFT_RUNTIME_OUTPUT_INTDIR}")
111111

112+
swift_create_post_build_symlink(swift-frontend
113+
SOURCE "swift-frontend${CMAKE_EXECUTABLE_SUFFIX}"
114+
DESTINATION "sil-passpipeline-dumper${CMAKE_EXECUTABLE_SUFFIX}"
115+
WORKING_DIRECTORY "${SWIFT_RUNTIME_OUTPUT_INTDIR}")
116+
112117
swift_create_post_build_symlink(swift-frontend
113118
SOURCE "swift-frontend${CMAKE_EXECUTABLE_SUFFIX}"
114119
DESTINATION "swift-indent${CMAKE_EXECUTABLE_SUFFIX}"

tools/sil-passpipeline-dumper/CMakeLists.txt

Lines changed: 0 additions & 13 deletions
This file was deleted.

0 commit comments

Comments
 (0)