Skip to content

Commit 6f91afb

Browse files
committed
Deprecate merge-modules job
1 parent fec47e6 commit 6f91afb

File tree

3 files changed

+9
-137
lines changed

3 files changed

+9
-137
lines changed

Sources/SwiftDriver/CMakeLists.txt

-1
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,6 @@ add_library(SwiftDriver
8585
Jobs/InterpretJob.swift
8686
Jobs/Job.swift
8787
Jobs/LinkJob.swift
88-
Jobs/MergeModuleJob.swift
8988
Jobs/ModuleWrapJob.swift
9089
Jobs/Planning.swift
9190
Jobs/PrintTargetInfoJob.swift

Sources/SwiftDriver/Jobs/MergeModuleJob.swift

-83
This file was deleted.

Sources/SwiftDriver/Jobs/Planning.swift

+9-53
Original file line numberDiff line numberDiff line change
@@ -239,13 +239,7 @@ extension Driver {
239239

240240
var linkerInputs = [TypedVirtualPath]()
241241
func addLinkerInput(_ li: TypedVirtualPath) { linkerInputs.append(li) }
242-
243-
var moduleInputs = [TypedVirtualPath]()
244242
let acceptBitcodeAsLinkerInput = lto == .llvmThin || lto == .llvmFull
245-
func addModuleInput(_ mi: TypedVirtualPath) { moduleInputs.append(mi) }
246-
var moduleInputsFromJobOutputs = [TypedVirtualPath]()
247-
func addModuleInputFromJobOutputs(_ mis: TypedVirtualPath) {
248-
moduleInputsFromJobOutputs.append(mis) }
249243

250244
func addJobOutputs(_ jobOutputs: [TypedVirtualPath]) {
251245
for jobOutput in jobOutputs {
@@ -254,8 +248,6 @@ extension Driver {
254248
addLinkerInput(jobOutput)
255249
case .llvmBitcode where acceptBitcodeAsLinkerInput:
256250
addLinkerInput(jobOutput)
257-
case .swiftModule:
258-
addModuleInputFromJobOutputs(jobOutput)
259251

260252
default:
261253
break
@@ -296,7 +288,7 @@ extension Driver {
296288
try addPostModuleFilesJobs(emitModuleJob)
297289

298290
try addWrapJobOrMergeOutputs(
299-
mergeJob: emitModuleJob,
291+
emitModuleJob: emitModuleJob,
300292
debugInfo: debugInfo,
301293
addJob: addJobAfterCompiles,
302294
addLinkerInput: addLinkerInput)
@@ -311,28 +303,13 @@ extension Driver {
311303

312304
try addJobsForPrimaryInputs(
313305
addCompileJob: addCompileJob,
314-
addModuleInput: addModuleInput,
315306
addLinkerInput: addLinkerInput,
316307
addJobOutputs: addJobOutputs,
317308
pchCompileJob: jobCreatingPch)
318309

319310
try addAutolinkExtractJob(linkerInputs: linkerInputs,
320311
addLinkerInput: addLinkerInput,
321312
addJob: addJobAfterCompiles)
322-
323-
// Merge-module
324-
if let mergeJob = try mergeModuleJob(
325-
moduleInputs: moduleInputs,
326-
moduleInputsFromJobOutputs: moduleInputsFromJobOutputs) {
327-
addJobAfterCompiles(mergeJob)
328-
try addPostModuleFilesJobs(mergeJob)
329-
330-
try addWrapJobOrMergeOutputs(
331-
mergeJob: mergeJob,
332-
debugInfo: debugInfo,
333-
addJob: addJobAfterCompiles,
334-
addLinkerInput: addLinkerInput)
335-
}
336313
return linkerInputs
337314
}
338315

@@ -361,7 +338,6 @@ extension Driver {
361338

362339
private mutating func addJobsForPrimaryInputs(
363340
addCompileJob: (Job) -> Void,
364-
addModuleInput: (TypedVirtualPath) -> Void,
365341
addLinkerInput: (TypedVirtualPath) -> Void,
366342
addJobOutputs: ([TypedVirtualPath]) -> Void,
367343
pchCompileJob: Job?)
@@ -374,7 +350,6 @@ extension Driver {
374350
try addJobForPrimaryInput(
375351
input: input,
376352
addCompileJob: addCompileJob,
377-
addModuleInput: addModuleInput,
378353
addLinkerInput: addLinkerInput,
379354
addJobOutputs: addJobOutputs,
380355
pchCompileJob: pchCompileJob,
@@ -385,7 +360,6 @@ extension Driver {
385360
private mutating func addJobForPrimaryInput(
386361
input: TypedVirtualPath,
387362
addCompileJob: (Job) -> Void,
388-
addModuleInput: (TypedVirtualPath) -> Void,
389363
addLinkerInput: (TypedVirtualPath) -> Void,
390364
addJobOutputs: ([TypedVirtualPath]) -> Void,
391365
pchCompileJob: Job?,
@@ -416,13 +390,8 @@ extension Driver {
416390
}
417391

418392
case .swiftModule:
419-
if moduleOutputInfo.output != nil && linkerOutputType == nil {
420-
// When generating a .swiftmodule as a top-level output (as opposed
421-
// to, for example, linking an image), treat .swiftmodule files as
422-
// inputs to a MergeModule action.
423-
addModuleInput(input)
424-
} else if linkerOutputType != nil {
425-
// Otherwise, if linking, pass .swiftmodule files as inputs to the
393+
if linkerOutputType != nil {
394+
// If linking, pass .swiftmodule files as inputs to the
426395
// linker, so that their debug info is available.
427396
addLinkerInput(input)
428397
} else {
@@ -456,19 +425,6 @@ extension Driver {
456425
addCompileJob(compile)
457426
}
458427

459-
/// Need a merge module job if there are module inputs
460-
private mutating func mergeModuleJob(
461-
moduleInputs: [TypedVirtualPath],
462-
moduleInputsFromJobOutputs: [TypedVirtualPath]
463-
) throws -> Job? {
464-
guard moduleOutputInfo.output != nil,
465-
!(moduleInputs.isEmpty && moduleInputsFromJobOutputs.isEmpty),
466-
compilerMode.usesPrimaryFileInputs,
467-
!emitModuleSeparately
468-
else { return nil }
469-
return try mergeModuleJob(inputs: moduleInputs, inputsFromOutputs: moduleInputsFromJobOutputs)
470-
}
471-
472428
func getAdopterConfigPathFromXcodeDefaultToolchain() -> AbsolutePath? {
473429
let swiftPath = try? toolchain.resolvedTool(.swiftCompiler).path
474430
guard var swiftPath = swiftPath else {
@@ -611,22 +567,22 @@ extension Driver {
611567
}
612568
}
613569

614-
private mutating func addWrapJobOrMergeOutputs(mergeJob: Job,
570+
private mutating func addWrapJobOrMergeOutputs(emitModuleJob: Job,
615571
debugInfo: DebugInfo,
616572
addJob: (Job) -> Void,
617573
addLinkerInput: (TypedVirtualPath) -> Void)
618574
throws {
619575
guard case .astTypes = debugInfo.level else { return }
620576

621-
let mergeModuleOutputs = mergeJob.outputs.filter { $0.type == .swiftModule }
622-
assert(mergeModuleOutputs.count == 1,
623-
"Merge module job should only have one swiftmodule output")
577+
let moduleOutputs = emitModuleJob.outputs.filter { $0.type == .swiftModule }
578+
assert(moduleOutputs.count == 1,
579+
"Emit module job should only have one swiftmodule output")
624580

625581
if targetTriple.objectFormat == .macho {
626-
addLinkerInput(mergeModuleOutputs[0])
582+
addLinkerInput(moduleOutputs[0])
627583
} else {
628584
// Module wrapping is required.
629-
let wrapJob = try moduleWrapJob(moduleInput: mergeModuleOutputs[0])
585+
let wrapJob = try moduleWrapJob(moduleInput: moduleOutputs[0])
630586
addJob(wrapJob)
631587

632588
wrapJob.outputs.forEach(addLinkerInput)

0 commit comments

Comments
 (0)