File tree Expand file tree Collapse file tree 2 files changed +13
-2
lines changed
lib/SILOptimizer/Analysis Expand file tree Collapse file tree 2 files changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -201,8 +201,8 @@ CalleeList CalleeCache::getCalleeListForCalleeKind(SILValue Callee) const {
201
201
return CalleeList ();
202
202
203
203
case ValueKind::ThinToThickFunctionInst:
204
- Callee = cast<ThinToThickFunctionInst>(Callee)-> getOperand ();
205
- LLVM_FALLTHROUGH ;
204
+ return getCalleeListForCalleeKind (
205
+ cast<ThinToThickFunctionInst>(Callee)-> getOperand ()) ;
206
206
207
207
case ValueKind::FunctionRefInst:
208
208
return CalleeList (cast<FunctionRefInst>(Callee)->getReferencedFunction ());
Original file line number Diff line number Diff line change @@ -1430,6 +1430,17 @@ bb3(%6: $X):
1430
1430
return %8 : $()
1431
1431
}
1432
1432
1433
+ // CHECK-LABEL: CG of check_look_through_thin_to_thick
1434
+ // CHECK-NEXT: Arg %0 Esc: A, Succ:
1435
+ // CHECK-NEXT: End
1436
+ sil @check_look_through_thin_to_thick: $(@convention(thin) () -> ()) -> () {
1437
+ bb0(%0 : $@convention(thin) () -> ()):
1438
+ %1 = thin_to_thick_function %0 : $@convention(thin) () -> () to $@callee_owned () -> ()
1439
+ %2 = apply %1() : $@callee_owned () -> ()
1440
+ %3 = tuple ()
1441
+ return %3 : $()
1442
+ }
1443
+
1433
1444
// X.deinit
1434
1445
// CHECK-LABEL: CG of _T04main1XCfD
1435
1446
// CHECK: Arg %0 Esc: A, Succ:
You can’t perform that action at this time.
0 commit comments