Skip to content

Commit e9e5c4e

Browse files
committed
[region-isolation] Ensure that some NDEBUG code is properly guarded.
1 parent 906d6e4 commit e9e5c4e

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

Diff for: include/swift/SILOptimizer/Analysis/RegionAnalysis.h

+8
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ namespace regionanalysisimpl {
3434
extern bool AbortOnUnknownPatternMatchError;
3535
#endif
3636

37+
static inline bool shouldAbortOnUnknownPatternMatchError() {
38+
#ifndef NDEBUG
39+
return AbortOnUnknownPatternMatchError;
40+
#else
41+
return false;
42+
#endif
43+
}
44+
3745
using TransferringOperandSetFactory = Partition::TransferringOperandSetFactory;
3846
using Element = PartitionPrimitives::Element;
3947
using Region = PartitionPrimitives::Region;

Diff for: lib/SILOptimizer/Analysis/RegionAnalysis.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1206,7 +1206,7 @@ struct PartitionOpBuilder {
12061206
}
12071207

12081208
void addUnknownPatternError(SILValue value) {
1209-
if (AbortOnUnknownPatternMatchError) {
1209+
if (shouldAbortOnUnknownPatternMatchError()) {
12101210
llvm::report_fatal_error(
12111211
"RegionIsolation: Aborting on unknown pattern match error");
12121212
}

Diff for: lib/SILOptimizer/Mandatory/TransferNonSendable.cpp

+4-4
Original file line numberDiff line numberDiff line change
@@ -678,7 +678,7 @@ class UseAfterTransferDiagnosticEmitter {
678678
}
679679

680680
void emitUnknownPatternError() {
681-
if (AbortOnUnknownPatternMatchError) {
681+
if (shouldAbortOnUnknownPatternMatchError()) {
682682
llvm::report_fatal_error(
683683
"RegionIsolation: Aborting on unknown pattern match error");
684684
}
@@ -1095,7 +1095,7 @@ void TransferNonSendableImpl::emitUseAfterTransferDiagnostics() {
10951095
// tells the user to file a bug. This importantly ensures that we can
10961096
// guarantee that we always find the require if we successfully compile.
10971097
if (!didEmitRequireNote) {
1098-
if (AbortOnUnknownPatternMatchError) {
1098+
if (shouldAbortOnUnknownPatternMatchError()) {
10991099
llvm::report_fatal_error(
11001100
"RegionIsolation: Aborting on unknown pattern match error");
11011101
}
@@ -1158,7 +1158,7 @@ class TransferNonTransferrableDiagnosticEmitter {
11581158
}
11591159

11601160
void emitUnknownPatternError() {
1161-
if (AbortOnUnknownPatternMatchError) {
1161+
if (shouldAbortOnUnknownPatternMatchError()) {
11621162
llvm::report_fatal_error(
11631163
"RegionIsolation: Aborting on unknown pattern match error");
11641164
}
@@ -1648,7 +1648,7 @@ struct DiagnosticEvaluator final
16481648
}
16491649

16501650
void handleUnknownCodePattern(const PartitionOp &op) const {
1651-
if (AbortOnUnknownPatternMatchError) {
1651+
if (shouldAbortOnUnknownPatternMatchError()) {
16521652
llvm::report_fatal_error(
16531653
"RegionIsolation: Aborting on unknown pattern match error");
16541654
}

0 commit comments

Comments
 (0)