Skip to content

Commit 0666c44

Browse files
committed
Revert "Optimizer: improve the load-copy-to-borrow optimization and implement it in swift"
This reverts commit eed8645.
1 parent 1e7cc98 commit 0666c44

File tree

13 files changed

+625
-738
lines changed

13 files changed

+625
-738
lines changed

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ swift_compiler_sources(Optimizer
2222
LifetimeDependenceDiagnostics.swift
2323
LifetimeDependenceInsertion.swift
2424
LifetimeDependenceScopeFixup.swift
25-
LoadCopyToBorrowOptimization.swift
2625
ObjectOutliner.swift
2726
ObjCBridgingOptimization.swift
2827
MergeCondFails.swift

SwiftCompilerSources/Sources/Optimizer/FunctionPasses/LoadCopyToBorrowOptimization.swift

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

SwiftCompilerSources/Sources/Optimizer/PassManager/PassRegistration.swift

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ private func registerSwiftPasses() {
9595
registerPass(lifetimeDependenceDiagnosticsPass, { lifetimeDependenceDiagnosticsPass.run($0) })
9696
registerPass(lifetimeDependenceInsertionPass, { lifetimeDependenceInsertionPass.run($0) })
9797
registerPass(lifetimeDependenceScopeFixupPass, { lifetimeDependenceScopeFixupPass.run($0) })
98-
registerPass(loadCopyToBorrowOptimization, { loadCopyToBorrowOptimization.run($0) })
9998
registerPass(generalClosureSpecialization, { generalClosureSpecialization.run($0) })
10099
registerPass(autodiffClosureSpecialization, { autodiffClosureSpecialization.run($0) })
101100

include/swift/SILOptimizer/PassManager/Passes.def

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -173,8 +173,6 @@ PASS(CopyPropagation, "copy-propagation",
173173
"Copy propagation to Remove Redundant SSA Copies, pruning debug info")
174174
PASS(MandatoryCopyPropagation, "mandatory-copy-propagation",
175175
"Copy propagation to Remove Redundant SSA Copies, preserving debug info")
176-
SWIFT_FUNCTION_PASS(LoadCopyToBorrowOptimization, "load-copy-to-borrow-optimization",
177-
"Convert load [copy] instructions to load_borrow")
178176
PASS(COWOpts, "cow-opts",
179177
"Optimize COW operations")
180178
PASS(Differentiation, "differentiation",

lib/SILOptimizer/PassManager/PassPipeline.cpp

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -517,7 +517,6 @@ void addFunctionPasses(SILPassPipelinePlan &P,
517517
P.addCopyPropagation();
518518
}
519519
P.addSemanticARCOpts();
520-
P.addLoadCopyToBorrowOptimization();
521520

522521
if (!P.getOptions().EnableOSSAModules) {
523522
if (P.getOptions().StopOptimizationBeforeLoweringOwnership)
@@ -547,7 +546,6 @@ void addFunctionPasses(SILPassPipelinePlan &P,
547546
P.addCopyPropagation();
548547
}
549548
P.addSemanticARCOpts();
550-
P.addLoadCopyToBorrowOptimization();
551549
}
552550

553551
// Promote stack allocations to values and eliminate redundant
@@ -576,7 +574,6 @@ void addFunctionPasses(SILPassPipelinePlan &P,
576574
}
577575
// Optimize copies created during RLE.
578576
P.addSemanticARCOpts();
579-
P.addLoadCopyToBorrowOptimization();
580577

581578
P.addCOWOpts();
582579
P.addPerformanceConstantPropagation();
@@ -614,7 +611,6 @@ void addFunctionPasses(SILPassPipelinePlan &P,
614611
P.addCopyPropagation();
615612
}
616613
P.addSemanticARCOpts();
617-
P.addLoadCopyToBorrowOptimization();
618614
}
619615
}
620616

@@ -652,7 +648,6 @@ static void addPerfEarlyModulePassPipeline(SILPassPipelinePlan &P) {
652648
P.addCopyPropagation();
653649
}
654650
P.addSemanticARCOpts();
655-
P.addLoadCopyToBorrowOptimization();
656651

657652
// Devirtualizes differentiability witnesses into functions that reference them.
658653
// This unblocks many other passes' optimizations (e.g. inlining) and this is
@@ -999,7 +994,6 @@ SILPassPipelinePlan::getPerformancePassPipeline(const SILOptions &Options) {
999994
P.addCopyPropagation();
1000995
}
1001996
P.addSemanticARCOpts();
1002-
P.addLoadCopyToBorrowOptimization();
1003997
}
1004998

1005999
P.addCrossModuleOptimization();

lib/SILOptimizer/SemanticARC/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
target_sources(swiftSILOptimizer PRIVATE
22
SemanticARCOpts.cpp
33
OwnershipLiveRange.cpp
4+
LoadCopyToLoadBorrowOpt.cpp
45
BorrowScopeOpts.cpp
56
CopyValueOpts.cpp
67
OwnedToGuaranteedPhiOpt.cpp

0 commit comments

Comments
 (0)