@@ -184,12 +184,25 @@ static llvm::cl::opt<int>
184
184
SILInlineThreshold (" sil-inline-threshold" , llvm::cl::Hidden,
185
185
llvm::cl::init (-1 ));
186
186
187
+ // Legacy option name still in use. The frontend uses -sil-verify-all.
187
188
static llvm::cl::opt<bool >
188
189
EnableSILVerifyAll (" enable-sil-verify-all" ,
189
190
llvm::cl::Hidden,
190
191
llvm::cl::init (true ),
191
192
llvm::cl::desc(" Run sil verifications after every pass." ));
192
193
194
+ static llvm::cl::opt<bool >
195
+ SILVerifyAll (" sil-verify-all" ,
196
+ llvm::cl::Hidden,
197
+ llvm::cl::init (true ),
198
+ llvm::cl::desc(" Run sil verifications after every pass." ));
199
+
200
+ static llvm::cl::opt<bool >
201
+ SILVerifyNone (" sil-verify-none" ,
202
+ llvm::cl::Hidden,
203
+ llvm::cl::init (false ),
204
+ llvm::cl::desc(" Completely disable SIL verification" ));
205
+
193
206
static llvm::cl::opt<bool >
194
207
RemoveRuntimeAsserts (" remove-runtime-asserts" ,
195
208
llvm::cl::Hidden,
@@ -381,7 +394,8 @@ int main(int argc, char **argv) {
381
394
// Setup the SIL Options.
382
395
SILOptions &SILOpts = Invocation.getSILOptions ();
383
396
SILOpts.InlineThreshold = SILInlineThreshold;
384
- SILOpts.VerifyAll = EnableSILVerifyAll;
397
+ SILOpts.VerifyAll = SILVerifyAll || EnableSILVerifyAll;
398
+ SILOpts.VerifyNone = SILVerifyNone;
385
399
SILOpts.RemoveRuntimeAsserts = RemoveRuntimeAsserts;
386
400
SILOpts.AssertConfig = AssertConfId;
387
401
if (OptimizationGroup != OptGroup::Diagnostics)
0 commit comments