Skip to content

Commit 74fdd58

Browse files
committed
[SILGen] RuntimeMetadata: Change attribute generator to always produce result indirectly
1 parent 8af9b14 commit 74fdd58

File tree

5 files changed

+51
-43
lines changed

5 files changed

+51
-43
lines changed

lib/SIL/IR/SILFunctionType.cpp

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2199,11 +2199,15 @@ enum class NormalParameterConvention { Owned, Guaranteed };
21992199
/// The default Swift conventions.
22002200
class DefaultConventions : public Conventions {
22012201
NormalParameterConvention normalParameterConvention;
2202+
ResultConvention resultConvention;
22022203

22032204
public:
2204-
DefaultConventions(NormalParameterConvention normalParameterConvention)
2205+
DefaultConventions(
2206+
NormalParameterConvention normalParameterConvention,
2207+
ResultConvention resultConvention = ResultConvention::Owned)
22052208
: Conventions(ConventionsKind::Default),
2206-
normalParameterConvention(normalParameterConvention) {}
2209+
normalParameterConvention(normalParameterConvention),
2210+
resultConvention(resultConvention) {}
22072211

22082212
bool isNormalParameterConventionGuaranteed() const {
22092213
return normalParameterConvention == NormalParameterConvention::Guaranteed;
@@ -2231,7 +2235,7 @@ class DefaultConventions : public Conventions {
22312235
}
22322236

22332237
ResultConvention getResult(const TypeLowering &tl) const override {
2234-
return ResultConvention::Owned;
2238+
return resultConvention;
22352239
}
22362240

22372241
ParameterConvention
@@ -2396,7 +2400,6 @@ static CanSILFunctionType getNativeSILFunctionType(
23962400
case SILDeclRef::Kind::Destroyer:
23972401
case SILDeclRef::Kind::GlobalAccessor:
23982402
case SILDeclRef::Kind::DefaultArgGenerator:
2399-
case SILDeclRef::Kind::RuntimeAttributeGenerator:
24002403
case SILDeclRef::Kind::StoredPropertyInitializer:
24012404
case SILDeclRef::Kind::PropertyWrapperBackingInitializer:
24022405
case SILDeclRef::Kind::PropertyWrapperInitFromProjectedValue:
@@ -2410,6 +2413,9 @@ static CanSILFunctionType getNativeSILFunctionType(
24102413
case SILDeclRef::Kind::AsyncEntryPoint:
24112414
return getSILFunctionTypeForConventions(
24122415
DefaultConventions(NormalParameterConvention::Guaranteed));
2416+
case SILDeclRef::Kind::RuntimeAttributeGenerator:
2417+
return getSILFunctionTypeForConventions(DefaultConventions(
2418+
NormalParameterConvention::Guaranteed, ResultConvention::Indirect));
24132419
case SILDeclRef::Kind::EntryPoint:
24142420
llvm_unreachable("Handled by getSILFunctionTypeForAbstractCFunction");
24152421
}

lib/SILGen/SILGen.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1146,7 +1146,8 @@ void SILGenModule::emitFunctionDefinition(SILDeclRef constant, SILFunction *f) {
11461146
preEmitFunction(constant, f, loc);
11471147
PrettyStackTraceSILFunction X("silgen emitRuntimeAttributeGenerator ", f);
11481148
SILGenFunction SGF(*this, *f, DC);
1149-
SGF.emitGeneratorFunction(constant, generator.second, generator.first);
1149+
SGF.emitGeneratorFunction(constant, generator.second, generator.first,
1150+
AbstractionPattern::getOpaqueFunction());
11501151
postEmitFunction(constant, f);
11511152
break;
11521153
}

lib/SILGen/SILGenFunction.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,9 +1160,9 @@ void SILGenFunction::emitGeneratorFunction(SILDeclRef function, VarDecl *var) {
11601160
emitEpilog(loc);
11611161
}
11621162

1163-
void SILGenFunction::emitGeneratorFunction(SILDeclRef function,
1164-
Type resultInterfaceType,
1165-
BraceStmt *body) {
1163+
void SILGenFunction::emitGeneratorFunction(
1164+
SILDeclRef function, Type resultInterfaceType, BraceStmt *body,
1165+
Optional<AbstractionPattern> pattern) {
11661166
MagicFunctionName = SILGenModule::getMagicFunctionName(function);
11671167

11681168
RegularLocation loc(function.getDecl());
@@ -1172,7 +1172,7 @@ void SILGenFunction::emitGeneratorFunction(SILDeclRef function,
11721172
auto captureInfo = SGM.M.Types.getLoweredLocalCaptures(function);
11731173
emitProlog(captureInfo, ParameterList::createEmpty(getASTContext()),
11741174
/*selfParam=*/nullptr, dc, resultInterfaceType, /*throws=*/false,
1175-
SourceLoc());
1175+
SourceLoc(), pattern);
11761176

11771177
prepareEpilog(resultInterfaceType, /*hasThrows=*/false, CleanupLocation(loc));
11781178

lib/SILGen/SILGenFunction.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -759,7 +759,8 @@ class LLVM_LIBRARY_VISIBILITY SILGenFunction
759759
/// Generate a nullary function that has the given result interface type and
760760
/// body.
761761
void emitGeneratorFunction(SILDeclRef function, Type resultInterfaceType,
762-
BraceStmt *body);
762+
BraceStmt *body,
763+
Optional<AbstractionPattern> pattern = None);
763764

764765
/// Generate an ObjC-compatible destructor (-dealloc).
765766
void emitObjCDestructor(SILDeclRef dtor);

test/IRGen/runtime_attributes.swift

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
// - accessible function records for each generator
1010
// - runtime attribute records with correct number of trailing objects
1111

12-
// CHECK: @"$s18runtime_attributes9gloabalFnyycvpfaAA4FlagHF"
12+
// CHECK: @"$s18runtime_attributes8globalFnyycvpfaAA4FlagHF"
1313
// CHECK: @"$s18runtime_attributes1AV2v1SSvpfaAA4FlagHF"
1414
// CHECK: @"$s18runtime_attributes1AV4compSivpfaAA4FlagHF"
1515
// CHECK: @"$s18runtime_attributes1AV5test1SiycvpZfaAA4FlagHF"
@@ -75,121 +75,121 @@ struct OnlyPropsTest<B, V> {
7575

7676
// - Check that all of the generator functions have been emitted
7777

78-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes9gloabalFnyycvpfaAA4Flag"()
79-
@Flag("global") func gloabalFn() {}
78+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes8globalFnyycvpfaAA4Flag"(%T18runtime_attributes4FlagVyytGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyytGSg) %0)
79+
@Flag("global") func globalFn() {}
8080

8181
@Flag
8282
struct A {
83-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV2v1SSvpfaAA4Flag"()
83+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV2v1SSvpfaAA4Flag"(%T18runtime_attributes4FlagVySSGSg* noalias nocapture sret(%T18runtime_attributes4FlagVySSGSg) %0)
8484
@Flag("v1") var v1: String = ""
8585

86-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV4compSivpfaAA4Flag"()
86+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV4compSivpfaAA4Flag"(%T18runtime_attributes4FlagVySiGSg* noalias nocapture sret(%T18runtime_attributes4FlagVySiGSg) %0)
8787
@Flag var comp: Int {
8888
get { 42 }
8989
}
9090

91-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5test1SiycvpZfaAA4Flag"()
91+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5test1SiycvpZfaAA4Flag"(%T18runtime_attributes4FlagVySiGSg* noalias nocapture sret(%T18runtime_attributes4FlagVySiGSg) %0)
9292
@Flag static func test1() -> Int { 42 }
9393

94-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5test2yycvpfaAA4Flag"()
94+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5test2yycvpfaAA4Flag"(%T18runtime_attributes4FlagVyyycGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyyycGSg) %0)
9595
@Flag("test2") func test2() {} // Ok
9696

97-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV1xSaySiGSgvpfaAA4Flag"()
98-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV1xSaySiGSgvpfaAA13OnlyPropsTest"()
97+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV1xSaySiGSgvpfaAA4Flag"(%T18runtime_attributes4FlagVySaySiGSgGSg* noalias nocapture sret(%T18runtime_attributes4FlagVySaySiGSgGSg) %0)
98+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV1xSaySiGSgvpfaAA13OnlyPropsTest"(%T18runtime_attributes13OnlyPropsTestVyAA1AVSaySiGSgGSg* noalias nocapture sret(%T18runtime_attributes13OnlyPropsTestVyAA1AVSaySiGSgGSg) %0)
9999
@OnlyPropsTest @Flag("x") var x: [Int]? = [] // Ok
100100

101101
@Flag("Inner type") class Inner {
102-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC4testSaySiGSgvpfaAA4Flag"()
103-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC4testSaySiGSgvpfaAA13OnlyPropsTest"()
102+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC4testSaySiGSgvpfaAA4Flag"(%T18runtime_attributes4FlagVySaySiGSgGSg* noalias nocapture sret(%T18runtime_attributes4FlagVySaySiGSgGSg) %0)
103+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC4testSaySiGSgvpfaAA13OnlyPropsTest"(%T18runtime_attributes13OnlyPropsTestVyAA1AV5InnerCSaySiGSgGSg* noalias nocapture sret(%T18runtime_attributes13OnlyPropsTestVyAA1AV5InnerCSaySiGSgGSg) %0)
104104
@OnlyPropsTest @Flag("test property") var test: [Int]? = nil // Ok
105105
}
106106
}
107107

108108
// The generator for `struct A` is emitted last.
109-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AAaBVmvpfaAA4Flag"()
109+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AAaBVmvpfaAA4Flag"(%T18runtime_attributes4FlagVyAA1AVGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyAA1AVGSg) %0)
110110

111111
extension A.Inner {
112112
@Flag("B type") struct B {
113-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC1BV03extC10StaticTestyycvpZfaAA4Flag"()
113+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC1BV03extC10StaticTestyycvpZfaAA4Flag"(%T18runtime_attributes4FlagVyytGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyytGSg) %0)
114114
@Flag static func extInnerStaticTest() {}
115-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC1BV03extC4TestyycvpZfaAA4Flag"()
115+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC1BV03extC4TestyycvpZfaAA4Flag"(%T18runtime_attributes4FlagVyytGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyytGSg) %0)
116116
@Flag static func extInnerTest() {}
117117

118118
@Flag("stored prop") @OnlyPropsTest let stored: Int = 42
119-
} // CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC1BAeFVmvpfaAA4Flag"()
119+
} // CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC1BAeFVmvpfaAA4Flag"(%T18runtime_attributes4FlagVyAA1AV5InnerC1BVGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyAA1AV5InnerC1BVGSg) %0
120120

121-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC13extStaticTestyycvpZfaAA4Flag"()
121+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC13extStaticTestyycvpZfaAA4Flag"(%T18runtime_attributes4FlagVyytGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyytGSg) %0)
122122
@Flag static func extStaticTest() {}
123-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes1AV5InnerC7extTestyycvpZfaAA4Flag"()
123+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes1AV5InnerC7extTestyycvpZfaAA4Flag"(%T18runtime_attributes4FlagVyytGSg* noalias nocapture sret(%T18runtime_attributes4FlagVyytGSg) %0)
124124
@Flag static func extTest() {}
125125

126126
@OnlyPropsTest @Flag @Ignore var extComputed: Int {
127127
get { 42 }
128128
}
129129
}
130130

131-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes16WithExternalAttrAaBVmvpfa3RAD6Ignore"()
131+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes16WithExternalAttrAaBVmvpfa3RAD6Ignore"(%T3RAD6IgnoreVy18runtime_attributes16WithExternalAttrVmGSg* noalias nocapture sret(%T3RAD6IgnoreVy18runtime_attributes16WithExternalAttrVmGSg) %0)
132132
@Ignore struct WithExternalAttr {}
133133

134-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes4testyySicvpfa3RAD13TestAmbiguity"()
134+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes4testyySicvpfa3RAD13TestAmbiguity"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
135135
@TestAmbiguity public func test(_: Int) {}
136-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes4testyySScvpfa3RAD13TestAmbiguity"()
136+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes4testyySScvpfa3RAD13TestAmbiguity"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
137137
@TestAmbiguity public func test(_: String) {}
138138

139139
public struct TestNoAmbiguity {
140-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes15TestNoAmbiguityV10testStaticSiycvpZfa3RAD0cE0"()
140+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes15TestNoAmbiguityV10testStaticSiycvpZfa3RAD0cE0"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
141141
@TestAmbiguity static func testStatic() -> Int { 42 }
142-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes15TestNoAmbiguityV10testStaticyycvpZfa3RAD0cE0"()
142+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes15TestNoAmbiguityV10testStaticyycvpZfa3RAD0cE0"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
143143
@TestAmbiguity static func testStatic() {}
144144

145-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes15TestNoAmbiguityV8testInstyySi_SStcvpfa3RAD0cE0"()
145+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes15TestNoAmbiguityV8testInstyySi_SStcvpfa3RAD0cE0"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
146146
@TestAmbiguity func testInst(_: Int, _: String) {}
147-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes15TestNoAmbiguityV8testInstyySi_Sitcvpfa3RAD0cE0"()
147+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes15TestNoAmbiguityV8testInstyySi_Sitcvpfa3RAD0cE0"(%T3RAD13TestAmbiguityVSg* noalias nocapture sret(%T3RAD13TestAmbiguityVSg) %0)
148148
@TestAmbiguity func testInst(_: Int, _: Int) {}
149149
}
150150

151-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes14TestInference1AaBVmvpfa3RAD6Ignore"()
151+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes14TestInference1AaBVmvpfa3RAD6Ignore"(%T3RAD6IgnoreVy18runtime_attributes14TestInference1VmGSg* noalias nocapture sret(%T3RAD6IgnoreVy18runtime_attributes14TestInference1VmGSg) %0)
152152
public struct TestInference1 : Ignored {}
153-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes14TestInference2AaBCmvpfa3RAD6Ignore"()
153+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes14TestInference2AaBCmvpfa3RAD6Ignore"(%T3RAD6IgnoreVy18runtime_attributes14TestInference2CmGSg* noalias nocapture sret(%T3RAD6IgnoreVy18runtime_attributes14TestInference2CmGSg) %0)
154154
public class TestInference2 : Ignored {}
155-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes14TestInference3AaBOmvpfa3RAD6Ignore"()
155+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes14TestInference3AaBOmvpfa3RAD6Ignore"(%T3RAD6IgnoreVy18runtime_attributes14TestInference3OmGSg* noalias nocapture sret(%T3RAD6IgnoreVy18runtime_attributes14TestInference3OmGSg) %0)
156156
public enum TestInference3 : Ignored {}
157157

158158
@runtimeMetadata
159159
struct AvailabilityTests {
160160
init(attachedTo: Any) {}
161161
}
162162

163-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes20testWithAvailabilityyySicvpfaAA0E5Tests"()
163+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes20testWithAvailabilityyySicvpfaAA0E5Tests"(%T18runtime_attributes17AvailabilityTestsVSg* noalias nocapture sret(%T18runtime_attributes17AvailabilityTestsVSg) %0)
164164
// CHECK: entry:
165165
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 42, i64 0, i64 0)
166166
@available(macOS, introduced: 42.0)
167167
@AvailabilityTests
168168
func testWithAvailability(_: Int) {}
169169

170-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes20TypeWithAvailabilityAaBCmvpfaAA0E5Tests"()
170+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes20TypeWithAvailabilityAaBCmvpfaAA0E5Tests"(%T18runtime_attributes17AvailabilityTestsVSg* noalias nocapture sret(%T18runtime_attributes17AvailabilityTestsVSg) %0)
171171
// CHECK: entry:
172172
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 100, i64 0, i64 0)
173173
@available(macOS, introduced: 100.0)
174174
@AvailabilityTests
175175
class TypeWithAvailability {}
176176

177177
class MembersWithAvailability {
178-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes23MembersWithAvailabilityC8staticFnyycvpZfaAA0E5Tests"()
178+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes23MembersWithAvailabilityC8staticFnyycvpZfaAA0E5Tests"(%T18runtime_attributes17AvailabilityTestsVSg* noalias nocapture sret(%T18runtime_attributes17AvailabilityTestsVSg) %0)
179179
// CHECK: entry:
180180
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 201, i64 0, i64 0)
181181
@AvailabilityTests
182182
@available(macOS, introduced: 201.0)
183183
static func staticFn() {}
184184

185-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes23MembersWithAvailabilityC6instFnyycvpfaAA0E5Tests"()
185+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes23MembersWithAvailabilityC6instFnyycvpfaAA0E5Tests"(%T18runtime_attributes17AvailabilityTestsVSg* noalias nocapture sret(%T18runtime_attributes17AvailabilityTestsVSg) %0)
186186
// CHECK: entry:
187187
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 202, i64 0, i64 0)
188188
@AvailabilityTests
189189
@available(macOS, introduced: 202.0)
190190
func instFn() {}
191191

192-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes23MembersWithAvailabilityC4propSivpfaAA0E5Tests"()
192+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes23MembersWithAvailabilityC4propSivpfaAA0E5Tests"(%T18runtime_attributes17AvailabilityTestsVSg* noalias nocapture sret(%T18runtime_attributes17AvailabilityTestsVSg) %0)
193193
// CHECK: entry:
194194
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 203, i64 0, i64 0)
195195
@AvailabilityTests
@@ -203,7 +203,7 @@ struct FlagWithAvail {
203203
init(attachedTo: Any) {}
204204
}
205205

206-
// CHECK-LABEL: define hidden swiftcc i8 @"$s18runtime_attributes20attrIsHigherThanFuncyycvpfaAA13FlagWithAvail"()
206+
// CHECK-LABEL: define hidden swiftcc void @"$s18runtime_attributes20attrIsHigherThanFuncyycvpfaAA13FlagWithAvail"(%T18runtime_attributes13FlagWithAvailVSg* noalias nocapture sret(%T18runtime_attributes13FlagWithAvailVSg) %0)
207207
// CHECK: entry:
208208
// CHECK: {{.*}} = call swiftcc i1 @"$ss26_stdlib_isOSVersionAtLeastyBi1_Bw_BwBwtF"(i64 110, i64 0, i64 0)
209209
@FlagWithAvail

0 commit comments

Comments
 (0)