Skip to content

Commit 9465673

Browse files
authored
Merge pull request #17337 from shajrawi/devirt_inline2
2 parents 051913f + 95dfa8b commit 9465673

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

lib/SILOptimizer/Utils/Devirtualize.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -515,13 +515,11 @@ bool swift::canDevirtualizeClassMethod(FullApplySite AI,
515515
}
516516

517517
// We need to disable the “effectively final” opt if a function is inlinable
518-
if (isEffectivelyFinalMethod &&
519-
((F->getResilienceExpansion() == ResilienceExpansion::Minimal) ||
520-
AI.getFunction()->getResilienceExpansion() ==
521-
ResilienceExpansion::Minimal)) {
518+
if (isEffectivelyFinalMethod && AI.getFunction()->getResilienceExpansion() ==
519+
ResilienceExpansion::Minimal) {
522520
DEBUG(llvm::dbgs() << " FAIL: Could not optimize function because "
523521
"it is an effectively-final inlinable: "
524-
<< F->getName() << "\n");
522+
<< AI.getFunction()->getName() << "\n");
525523
return false;
526524
}
527525

test/SILOptimizer/devirt_access_serialized.sil

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ sil @_TFC14devirt_access21YcfMS0_FT_S0_ : $@convention(method) (@owned Y) -> @ow
3131
sil @_TFC14devirt_access21YCfMS0_FT_S0_ : $@convention(thin) (@thick Y.Type) -> @owned Y
3232

3333
//CHECK-LABEL: sil @Case
34-
//CHECK-NOT: function_ref @_TFC14devirt_access21X4pingfS0_FT_Si
35-
//CHECK: class_method
34+
//CHECK: function_ref @_TFC14devirt_access21X4pingfS0_FT_Si : $@convention(method) (@guaranteed X)
35+
//CHECK-NOT: class_method
3636
//CHECK: apply
3737
//CHECK: return
3838
sil @Case : $@convention(thin) (@owned Y) -> Int {

0 commit comments

Comments
 (0)