Skip to content

Commit 2e9c241

Browse files
committed
Replace the sil-opt binary with a symlink to swift-frontend
rdar://76551283
1 parent d5fdfa7 commit 2e9c241

File tree

10 files changed

+919
-916
lines changed

10 files changed

+919
-916
lines changed

include/swift/Driver/Driver.h

+1
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,7 @@ class Driver {
166166
enum class DriverKind {
167167
Interactive, // swift
168168
Batch, // swiftc
169+
SILOpt, // sil-opt
169170
AutolinkExtract, // swift-autolink-extract
170171
SwiftIndent, // swift-indent
171172
SymbolGraph, // swift-symbolgraph

lib/Driver/Driver.cpp

+2
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ void Driver::parseDriverKind(ArrayRef<const char *> Args) {
9999
llvm::StringSwitch<Optional<DriverKind>>(DriverName)
100100
.Case("swift", DriverKind::Interactive)
101101
.Case("swiftc", DriverKind::Batch)
102+
.Case("sil-opt", DriverKind::SILOpt)
102103
.Case("swift-autolink-extract", DriverKind::AutolinkExtract)
103104
.Case("swift-indent", DriverKind::SwiftIndent)
104105
.Case("swift-symbolgraph-extract", DriverKind::SymbolGraph)
@@ -3555,6 +3556,7 @@ void Driver::printHelp(bool ShowHidden) const {
35553556
ExcludedFlagsBitmask |= options::NoInteractiveOption;
35563557
break;
35573558
case DriverKind::Batch:
3559+
case DriverKind::SILOpt:
35583560
case DriverKind::AutolinkExtract:
35593561
case DriverKind::SwiftIndent:
35603562
case DriverKind::SymbolGraph:

lib/DriverTool/CMakeLists.txt

+1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
set(driver_sources_and_options
22
driver.cpp
3+
sil_opt_main.cpp
34
autolink_extract_main.cpp
45
modulewrap_main.cpp
56
swift_api_digester_main.cpp

lib/DriverTool/driver.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,9 @@ std::string getExecutablePath(const char *FirstArg) {
6363
return llvm::sys::fs::getMainExecutable(FirstArg, P);
6464
}
6565

66+
/// Run 'sil-opt'
67+
extern int sil_opt_main(ArrayRef<const char *> argv, void *MainAddr);
68+
6669
/// Run 'swift-autolink-extract'.
6770
extern int autolink_extract_main(ArrayRef<const char *> Args, const char *Argv0,
6871
void *MainAddr);
@@ -281,6 +284,8 @@ static int run_driver(StringRef ExecName,
281284

282285
Driver TheDriver(Path, ExecName, argv, Diags);
283286
switch (TheDriver.getDriverKind()) {
287+
case Driver::DriverKind::SILOpt:
288+
return sil_opt_main(argv, (void *)(intptr_t)getExecutablePath);
284289
case Driver::DriverKind::AutolinkExtract:
285290
return autolink_extract_main(
286291
TheDriver.getArgsWithoutProgramNameAndDriverMode(argv),

0 commit comments

Comments
 (0)