|
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