|
11 | 11 | //===----------------------------------------------------------------------===//
|
12 | 12 |
|
13 | 13 | #include "swift/SILOptimizer/OptimizerBridging.h"
|
| 14 | +#include "../../IRGen/IRGenModule.h" |
| 15 | +#include "swift/AST/SemanticAttrs.h" |
| 16 | +#include "swift/SIL/DynamicCasts.h" |
| 17 | +#include "swift/SIL/OSSALifetimeCompletion.h" |
| 18 | +#include "swift/SIL/SILCloner.h" |
14 | 19 | #include "swift/SILOptimizer/Analysis/Analysis.h"
|
| 20 | +#include "swift/SILOptimizer/IPO/ClosureSpecializer.h" |
15 | 21 | #include "swift/SILOptimizer/Utils/CFGOptUtils.h"
|
16 | 22 | #include "swift/SILOptimizer/Utils/ConstantFolding.h"
|
17 | 23 | #include "swift/SILOptimizer/Utils/Devirtualize.h"
|
|
21 | 27 | #include "swift/SILOptimizer/Utils/SILOptFunctionBuilder.h"
|
22 | 28 | #include "swift/SILOptimizer/Utils/SpecializationMangler.h"
|
23 | 29 | #include "swift/SILOptimizer/Utils/StackNesting.h"
|
24 |
| -#include "swift/SILOptimizer/IPO/ClosureSpecializer.h" |
25 |
| -#include "swift/SIL/DynamicCasts.h" |
26 |
| -#include "swift/SIL/OSSALifetimeCompletion.h" |
27 |
| -#include "swift/SIL/SILCloner.h" |
28 |
| -#include "../../IRGen/IRGenModule.h" |
29 | 30 |
|
30 | 31 | using namespace swift;
|
31 | 32 |
|
@@ -63,6 +64,10 @@ void SILPassManager::runSwiftFunctionVerification(SILFunction *f) {
|
63 | 64 | if (DisableSwiftVerification)
|
64 | 65 | return;
|
65 | 66 |
|
| 67 | + if (f->hasSemanticsAttr(semantics::NO_SIL_VERIFICATION)) { |
| 68 | + return; |
| 69 | + } |
| 70 | + |
66 | 71 | getSwiftPassInvocation()->beginVerifyFunction(f);
|
67 | 72 | verifyFunctionFunction({getSwiftPassInvocation()}, {f});
|
68 | 73 | getSwiftPassInvocation()->endVerifyFunction();
|
|
0 commit comments