Skip to content

Commit db6ea99

Browse files
Merge pull request #38179 from nate-chandler/ossa/test/SILOptimizer/opaque_values_mandatory.sil/enable-copy-propagation
[Test] Run copy-propagation on SILOptimizer/opaque_values_mandatory.sil.
2 parents 0ea0aef + 7e5747b commit db6ea99

File tree

2 files changed

+13
-6
lines changed

2 files changed

+13
-6
lines changed

test/SILOptimizer/opaque_values_mandatory.sil

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
// RUN: %target-sil-opt -diagnostics -enable-sil-opaque-values %s | \
2-
// RUN: %target-sil-opt -Onone-performance -enable-sil-opaque-values -emit-sorted-sil -sil-disable-pass=mandatory-copy-propagation | \
2+
// RUN: %target-sil-opt -Onone-performance -enable-sil-verify-all \
3+
// RUN: -enable-sil-opaque-values -emit-sorted-sil \
4+
// RUN: -enable-ossa-modules -enable-copy-propagation | \
35
// RUN: %FileCheck %s
46

5-
// Using -sil-disable-pass=mandatory-copy-propagation to pattern match
6-
// against older SIL output. At least until -enable-copy-propagation
7-
// has been around long enough in the same form to be worth rewriting
8-
// CHECK lines.
9-
107
import Builtin
118

129
sil_stage raw

tools/sil-opt/SILOpt.cpp

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,14 @@ static llvm::cl::opt<bool> EnableOSSAModules(
122122
"this is disabled we do not serialize in OSSA "
123123
"form when optimizing."));
124124

125+
static llvm::cl::opt<bool> EnableCopyPropagation(
126+
"enable-copy-propagation",
127+
llvm::cl::desc("Enable the copy propagation pass."));
128+
129+
static llvm::cl::opt<bool> DisableCopyPropagation(
130+
"disable-copy-propagation",
131+
llvm::cl::desc("Disable the copy propagation pass."));
132+
125133
namespace {
126134
enum class EnforceExclusivityMode {
127135
Unchecked, // static only
@@ -470,6 +478,8 @@ int main(int argc, char **argv) {
470478
SILOpts.EnableSpeculativeDevirtualization = EnableSpeculativeDevirtualization;
471479
SILOpts.IgnoreAlwaysInline = IgnoreAlwaysInline;
472480
SILOpts.EnableOSSAModules = EnableOSSAModules;
481+
SILOpts.EnableCopyPropagation = EnableCopyPropagation;
482+
SILOpts.DisableCopyPropagation = DisableCopyPropagation;
473483

474484
serialization::ExtendedValidationInfo extendedInfo;
475485
llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> FileBufOrErr =

0 commit comments

Comments
 (0)