From 56d55dec2b7a68d0e44b16c2f0332af0e395deef Mon Sep 17 00:00:00 2001 From: Roman Levenstein Date: Tue, 11 Oct 2016 09:49:06 -0700 Subject: [PATCH] [swift-runtime] Rename rt_swift_* to swift_rt_*. NFC Swift uses rt_swift_* functions to call the Swift runtime without using dyld's stubs. These functions are renamed to swift_rt_* to reduce namespace pollution. rdar://28706212 --- include/swift/Runtime/Config.h | 2 +- test/ClangModules/objc_ir.swift | 6 +- test/DebugInfo/linetable.swift | 4 +- test/DebugInfo/return.swift | 6 +- test/IRGen/alloc.sil | 6 +- test/IRGen/associated_type_witness.swift | 4 +- test/IRGen/bitcast.sil | 4 +- test/IRGen/boxed_existential.sil | 6 +- test/IRGen/builtins.swift | 22 +-- test/IRGen/casts.sil | 2 +- test/IRGen/class.sil | 2 +- test/IRGen/class_stack_alloc.sil | 6 +- test/IRGen/closure.swift | 4 +- test/IRGen/dllimport.swift | 12 +- test/IRGen/dynamic_cast.sil | 14 +- test/IRGen/dynamic_init.sil | 2 +- test/IRGen/enum.sil | 6 +- test/IRGen/enum_dynamic_multi_payload.sil | 4 +- test/IRGen/enum_function.sil | 2 +- test/IRGen/enum_resilience.swift | 2 +- test/IRGen/enum_value_semantics.sil | 14 +- .../enum_value_semantics_special_cases.sil | 16 +- test/IRGen/errors.sil | 4 +- test/IRGen/existentials.sil | 8 +- test/IRGen/function_types.sil | 4 +- test/IRGen/generic_casts.swift | 6 +- test/IRGen/generic_classes.sil | 2 +- test/IRGen/generic_metatypes.swift | 10 +- test/IRGen/generic_tuples.swift | 10 +- test/IRGen/generic_types.swift | 4 +- test/IRGen/global_resilience.sil | 2 +- test/IRGen/indirect_argument.sil | 4 +- test/IRGen/metadata_dominance.swift | 2 +- test/IRGen/nonatomic_reference_counting.sil | 28 +-- test/IRGen/objc.swift | 4 +- test/IRGen/objc_block_storage.sil | 4 +- test/IRGen/objc_casts.sil | 4 +- test/IRGen/objc_dealloc.sil | 2 +- test/IRGen/objc_generic_class_metadata.sil | 4 +- test/IRGen/partial_apply.sil | 22 +-- test/IRGen/protocol_metadata.swift | 6 +- test/IRGen/protocol_resilience.sil | 8 +- test/IRGen/runtime_calling_conventions.swift | 8 +- test/IRGen/sil_witness_methods.sil | 2 +- test/IRGen/tail_alloc.sil | 12 +- test/IRGen/typed_boxes.sil | 24 +-- test/IRGen/typemetadata.sil | 2 +- test/IRGen/unowned.sil | 24 +-- test/IRGen/unowned_objc.sil | 20 +-- test/IRGen/value_buffers.sil | 4 +- test/IRGen/weak.sil | 2 +- test/LLVMPasses/contract.ll | 160 +++++++++--------- 52 files changed, 271 insertions(+), 271 deletions(-) diff --git a/include/swift/Runtime/Config.h b/include/swift/Runtime/Config.h index b62fc66bcdf80..ddc4497b378e4 100644 --- a/include/swift/Runtime/Config.h +++ b/include/swift/Runtime/Config.h @@ -219,7 +219,7 @@ #define SWIFT_RT_ENTRY_IMPL_VISIBILITY LLVM_LIBRARY_VISIBILITY // Prefix of wrappers generated for runtime functions. -#define SWIFT_WRAPPER_PREFIX "rt_" +#define SWIFT_WRAPPER_PREFIX "swift_rt_" #else diff --git a/test/ClangModules/objc_ir.swift b/test/ClangModules/objc_ir.swift index dcc35364aa5c0..717cf30c07f09 100644 --- a/test/ClangModules/objc_ir.swift +++ b/test/ClangModules/objc_ir.swift @@ -83,7 +83,7 @@ func propertyAccess(b b: B) { // CHECK: define hidden [[B]]* @_TF7objc_ir8downcastFT1aCSo1A_CSo1B( func downcast(a a: A) -> B { // CHECK: [[CLASS:%.*]] = load %objc_class*, %objc_class** @"OBJC_CLASS_REF_$_B" - // CHECK: [[T0:%.*]] = call %objc_class* @rt_swift_getInitializedObjCClass(%objc_class* [[CLASS]]) + // CHECK: [[T0:%.*]] = call %objc_class* @swift_rt_swift_getInitializedObjCClass(%objc_class* [[CLASS]]) // CHECK: [[T1:%.*]] = bitcast %objc_class* [[T0]] to i8* // CHECK: call i8* @swift_dynamicCastObjCClassUnconditional(i8* [[A:%.*]], i8* [[T1]]) [[NOUNWIND:#[0-9]+]] return a as! B @@ -134,7 +134,7 @@ func protocolCompositionMetatype(p: Impl) -> (FooProto & AnotherProto).Type { // CHECK: [[RAW_RESULT:%.+]] = call i8* @processComboType(i8* {{%.+}}) // CHECK: [[CASTED_RESULT:%.+]] = bitcast i8* [[RAW_RESULT]] to %objc_class* // CHECK: [[SWIFT_RESULT:%.+]] = call %swift.type* @swift_getObjCClassMetadata(%objc_class* [[CASTED_RESULT]]) - // CHECK: call void bitcast (void (%swift.refcounted*)* @rt_swift_release to void (%C7objc_ir4Impl*)*)(%C7objc_ir4Impl* %0) + // CHECK: call void bitcast (void (%swift.refcounted*)* @swift_rt_swift_release to void (%C7objc_ir4Impl*)*)(%C7objc_ir4Impl* %0) // CHECK: ret %swift.type* [[SWIFT_RESULT]] let type = processComboType(type(of: p)) return type @@ -147,7 +147,7 @@ func protocolCompositionMetatype2(p: Impl) -> (FooProto & AnotherProto).Type { // CHECK: [[RAW_RESULT:%.+]] = call i8* @processComboType2(i8* {{%.+}}) // CHECK: [[CASTED_RESULT:%.+]] = bitcast i8* [[RAW_RESULT]] to %objc_class* // CHECK: [[SWIFT_RESULT:%.+]] = call %swift.type* @swift_getObjCClassMetadata(%objc_class* [[CASTED_RESULT]]) - // CHECK: call void bitcast (void (%swift.refcounted*)* @rt_swift_release to void (%C7objc_ir4Impl*)*)(%C7objc_ir4Impl* %0) + // CHECK: call void bitcast (void (%swift.refcounted*)* @swift_rt_swift_release to void (%C7objc_ir4Impl*)*)(%C7objc_ir4Impl* %0) // CHECK: ret %swift.type* [[SWIFT_RESULT]] let type = processComboType2(type(of: p)) return type diff --git a/test/DebugInfo/linetable.swift b/test/DebugInfo/linetable.swift index c8ebbc318cc84..b2977ca1396de 100644 --- a/test/DebugInfo/linetable.swift +++ b/test/DebugInfo/linetable.swift @@ -33,8 +33,8 @@ func main(_ x: Int64) -> Void { var result = my_class.do_something(x) markUsed(result) -// CHECK: call {{.*}} @rt_swift_release {{.*}} -// CHECK: call {{.*}} @rt_swift_release {{.*}}, !dbg ![[CLOSURE_END:.*]] +// CHECK: call {{.*}} @swift_rt_swift_release {{.*}} +// CHECK: call {{.*}} @swift_rt_swift_release {{.*}}, !dbg ![[CLOSURE_END:.*]] // CHECK-NEXT: bitcast // CHECK-NEXT: llvm.lifetime.end // CHECK-NEXT: ret void, !dbg ![[CLOSURE_END]] diff --git a/test/DebugInfo/return.swift b/test/DebugInfo/return.swift index 77db8057eb261..b6462b747763e 100644 --- a/test/DebugInfo/return.swift +++ b/test/DebugInfo/return.swift @@ -11,14 +11,14 @@ public func ifelseexpr() -> Int64 { // CHECK: [[META:%.*]] = call %swift.type* @_TMaC6return1X() // CHECK: [[X:%.*]] = call %C6return1X* @_TFC6return1XCfT1iVs5Int64_S0_( // CHECK-SAME: i64 0, %swift.type* [[META]]) - // CHECK: @rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) + // CHECK: @swift_rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) if true { x.x += 1 } else { x.x -= 1 } - // CHECK: @rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) - // CHECK: @rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) + // CHECK: @swift_rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) + // CHECK: @swift_rt_swift_release to void (%C6return1X*)*)(%C6return1X* [[X]]) // CHECK-SAME: , !dbg ![[RELEASE:.*]] // The ret instruction should be in the same scope as the return expression. diff --git a/test/IRGen/alloc.sil b/test/IRGen/alloc.sil index de460ac697e02..65cb38aa8de42 100644 --- a/test/IRGen/alloc.sil +++ b/test/IRGen/alloc.sil @@ -20,15 +20,15 @@ struct Huge { } // CHECK: @_swift_slowAlloc = external global i8* ([[SIZE_T:i(32|64)]], -// CHECK: define linkonce_odr hidden i8* @rt_swift_slowAlloc([[SIZE_T:i(32|64)]], +// CHECK: define linkonce_odr hidden i8* @swift_rt_swift_slowAlloc([[SIZE_T:i(32|64)]], // CHECK: define linkonce_odr hidden void @_TwdeV4main4Huge( // CHECK: [[T0:%.*]] = bitcast [[BUFFER:.[0-9]+ x i8.]]* {{%.*}} to i8** // CHECK-NEXT: [[T1:%.*]] = load i8*, i8** [[T0]] -// CHECK-NEXT: call void @rt_swift_slowDealloc(i8* [[T1]], [[SIZE_T]] 4097, [[SIZE_T]] 7) +// CHECK-NEXT: call void @swift_rt_swift_slowDealloc(i8* [[T1]], [[SIZE_T]] 4097, [[SIZE_T]] 7) // CHECK-NEXT: ret void // CHECK: define linkonce_odr hidden [[OPAQUE:%swift.opaque]]* @_TwalV4main4Huge( -// CHECK: [[T0:%.*]] = call noalias i8* @rt_swift_slowAlloc([[SIZE_T]] 4097, [[SIZE_T]] 7) +// CHECK: [[T0:%.*]] = call noalias i8* @swift_rt_swift_slowAlloc([[SIZE_T]] 4097, [[SIZE_T]] 7) // CHECK-NEXT: [[T1:%.*]] = bitcast [[BUFFER]]* {{%.*}} to i8** // CHECK-NEXT: store i8* [[T0]], i8** [[T1]] diff --git a/test/IRGen/associated_type_witness.swift b/test/IRGen/associated_type_witness.swift index b99574d957462..0fd42e25f20e4 100644 --- a/test/IRGen/associated_type_witness.swift +++ b/test/IRGen/associated_type_witness.swift @@ -118,7 +118,7 @@ struct Computed : Assocked { // Witness table instantiation function for Computed : Assocked. // CHECK-LABEL: define hidden i8** @_TWauRx23associated_type_witness1PrGVS_15GenericComputedx_S_22DerivedFromSimpleAssocS_(%swift.type*) // CHECK: entry: -// CHECK-NEXT: [[WTABLE:%.*]] = call i8** @rt_swift_getGenericWitnessTable(%swift.generic_witness_table_cache* @_TWGuRx23associated_type_witness1PrGVS_15GenericComputedx_S_22DerivedFromSimpleAssocS_, %swift.type* %0, i8** null) +// CHECK-NEXT: [[WTABLE:%.*]] = call i8** @swift_rt_swift_getGenericWitnessTable(%swift.generic_witness_table_cache* @_TWGuRx23associated_type_witness1PrGVS_15GenericComputedx_S_22DerivedFromSimpleAssocS_, %swift.type* %0, i8** null) // CHECK-NEXT: ret i8** [[WTABLE]] @@ -158,7 +158,7 @@ struct GenericComputed : DerivedFromSimpleAssoc { // Witness table instantiation function for GenericComputed : HasSimpleAssoc.. // CHECK-LABEL: define hidden i8** @_TWauRx23associated_type_witness1PrGVS_15GenericComputedx_S_14HasSimpleAssocS_(%swift.type*) // CHECK-NEXT: entry: -// CHECK-NEXT: [[WTABLE:%.*]] = call i8** @rt_swift_getGenericWitnessTable(%swift.generic_witness_table_cache* @_TWGuRx23associated_type_witness1PrGVS_15GenericComputedx_S_14HasSimpleAssocS_, %swift.type* %0, i8** null) +// CHECK-NEXT: [[WTABLE:%.*]] = call i8** @swift_rt_swift_getGenericWitnessTable(%swift.generic_witness_table_cache* @_TWGuRx23associated_type_witness1PrGVS_15GenericComputedx_S_14HasSimpleAssocS_, %swift.type* %0, i8** null) // CHECK-NEXT: ret i8** %1 diff --git a/test/IRGen/bitcast.sil b/test/IRGen/bitcast.sil index d930fe581c320..8f74f5dacc308 100644 --- a/test/IRGen/bitcast.sil +++ b/test/IRGen/bitcast.sil @@ -115,8 +115,8 @@ bb0(%0 : $Int, %1 : $Int): } // CHECK-LABEL: define{{( protected)?}} void @unchecked_ref_cast_addr -// CHECK-i386: call i1 @rt_swift_dynamicCast(%swift.opaque* %0, %swift.opaque* %{{.*}}, %swift.type* %T, %swift.type* %U, i32 7) -// CHECK-x86_64: call i1 @rt_swift_dynamicCast(%swift.opaque* %0, %swift.opaque* %{{.*}}, %swift.type* %T, %swift.type* %U, i64 7) +// CHECK-i386: call i1 @swift_rt_swift_dynamicCast(%swift.opaque* %0, %swift.opaque* %{{.*}}, %swift.type* %T, %swift.type* %U, i32 7) +// CHECK-x86_64: call i1 @swift_rt_swift_dynamicCast(%swift.opaque* %0, %swift.opaque* %{{.*}}, %swift.type* %T, %swift.type* %U, i64 7) sil @unchecked_ref_cast_addr : $@convention(thin) (@in T) -> @out U { bb0(%0 : $*U, %1 : $*T): %a = alloc_stack $T diff --git a/test/IRGen/boxed_existential.sil b/test/IRGen/boxed_existential.sil index bd385120aa099..dcb42fc608c35 100644 --- a/test/IRGen/boxed_existential.sil +++ b/test/IRGen/boxed_existential.sil @@ -6,10 +6,10 @@ import Swift sil @retain_release_boxed_existential : $@convention(thin) (Error) -> () { entry(%e : $Error): // CHECK-objc: @swift_errorRetain - // CHECK-native: @rt_swift_retain + // CHECK-native: @swift_rt_swift_retain strong_retain %e : $Error // CHECK-objc: @swift_errorRelease - // CHECK-native: @rt_swift_release + // CHECK-native: @swift_rt_swift_release strong_release %e : $Error return undef : $() } @@ -109,7 +109,7 @@ entry(%b : $Error): %m = existential_metatype $@thick Error.Type, %b : $Error // CHECK-objc: call void @swift_errorRelease(%swift.error* %0) - // CHECK-native: call void bitcast (void (%swift.refcounted*)* @rt_swift_release to void (%swift.error*)*)(%swift.error* %0) + // CHECK-native: call void bitcast (void (%swift.refcounted*)* @swift_rt_swift_release to void (%swift.error*)*)(%swift.error* %0) strong_release %b : $Error // CHECK: [[RET:%.*]] = insertvalue { %swift.type*, i8** } undef, %swift.type* [[DYNAMIC_TYPE]], 0 diff --git a/test/IRGen/builtins.swift b/test/IRGen/builtins.swift index 7c085f038021c..f00022dca8284 100644 --- a/test/IRGen/builtins.swift +++ b/test/IRGen/builtins.swift @@ -151,7 +151,7 @@ func assign_test(_ value: Builtin.Int64, ptr: Builtin.RawPointer) { // CHECK: define hidden %swift.refcounted* @_TF8builtins16load_object_test func load_object_test(_ ptr: Builtin.RawPointer) -> Builtin.NativeObject { // CHECK: [[T0:%.*]] = load [[REFCOUNT]]*, [[REFCOUNT]]** - // CHECK: call void @rt_swift_retain([[REFCOUNT]]* [[T0]]) + // CHECK: call void @swift_rt_swift_retain([[REFCOUNT]]* [[T0]]) // CHECK: ret [[REFCOUNT]]* [[T0]] return Builtin.load(ptr) } @@ -159,7 +159,7 @@ func load_object_test(_ ptr: Builtin.RawPointer) -> Builtin.NativeObject { // CHECK: define hidden %swift.refcounted* @_TF8builtins20load_raw_object_test func load_raw_object_test(_ ptr: Builtin.RawPointer) -> Builtin.NativeObject { // CHECK: [[T0:%.*]] = load [[REFCOUNT]]*, [[REFCOUNT]]** - // CHECK: call void @rt_swift_retain([[REFCOUNT]]* [[T0]]) + // CHECK: call void @swift_rt_swift_retain([[REFCOUNT]]* [[T0]]) // CHECK: ret [[REFCOUNT]]* [[T0]] return Builtin.loadRaw(ptr) } @@ -430,7 +430,7 @@ func destroyPODArray(_ array: Builtin.RawPointer, count: Builtin.Word) { // CHECK-LABEL: define hidden void @_TF8builtins18destroyNonPODArray{{.*}}(i8*, i64) {{.*}} { // CHECK: iter: // CHECK: loop: -// CHECK: call {{.*}} @rt_swift_release +// CHECK: call {{.*}} @swift_rt_swift_release // CHECK: br label %iter func destroyNonPODArray(_ array: Builtin.RawPointer, count: Builtin.Word) { Builtin.destroyArray(C.self, array, count) @@ -461,7 +461,7 @@ func copyPODArray(_ dest: Builtin.RawPointer, src: Builtin.RawPointer, count: Bu // CHECK-LABEL: define hidden void @_TF8builtins11copyBTArray{{.*}}(i8*, i8*, i64) {{.*}} { // CHECK: iter: // CHECK: loop: -// CHECK: call {{.*}} @rt_swift_retain +// CHECK: call {{.*}} @swift_rt_swift_retain // CHECK: br label %iter // CHECK: mul nuw i64 8, %2 // CHECK: call void @llvm.memmove.p0i8.p0i8.i64(i8* {{.*}}, i8* {{.*}}, i64 {{.*}}, i32 8, i1 false) @@ -575,7 +575,7 @@ func isUnique(_ ref: inout Builtin.NativeObject?) -> Bool { // CHECK-LABEL: define hidden i1 @_TF8builtins8isUniqueFRBoBi1_(%swift.refcounted** nocapture dereferenceable({{.*}})) {{.*}} { // CHECK-NEXT: entry: // CHECK-NEXT: load %swift.refcounted*, %swift.refcounted** %0 -// CHECK-NEXT: call i1 @rt_swift_isUniquelyReferenced_nonNull_native(%swift.refcounted* %1) +// CHECK-NEXT: call i1 @swift_rt_swift_isUniquelyReferenced_nonNull_native(%swift.refcounted* %1) // CHECK-NEXT: ret i1 %2 func isUnique(_ ref: inout Builtin.NativeObject) -> Bool { return Builtin.isUnique(&ref) @@ -586,7 +586,7 @@ func isUnique(_ ref: inout Builtin.NativeObject) -> Bool { // CHECK-NEXT: entry: // CHECK-NEXT: bitcast [[BUILTIN_NATIVE_OBJECT_TY]]* %0 to %swift.refcounted** // CHECK-NEXT: load %swift.refcounted*, %swift.refcounted** %1 -// CHECK-NEXT: call i1 @rt_swift_isUniquelyReferencedOrPinned_native(%swift.refcounted* %2) +// CHECK-NEXT: call i1 @swift_rt_swift_isUniquelyReferencedOrPinned_native(%swift.refcounted* %2) // CHECK-NEXT: ret i1 %3 func isUniqueOrPinned(_ ref: inout Builtin.NativeObject?) -> Bool { return Builtin.isUniqueOrPinned(&ref) @@ -596,7 +596,7 @@ func isUniqueOrPinned(_ ref: inout Builtin.NativeObject?) -> Bool { // CHECK-LABEL: define hidden i1 @_TF8builtins16isUniqueOrPinnedFRBoBi1_(%swift.refcounted** nocapture dereferenceable({{.*}})) {{.*}} { // CHECK-NEXT: entry: // CHECK-NEXT: load %swift.refcounted*, %swift.refcounted** %0 -// CHECK-NEXT: call i1 @rt_swift_isUniquelyReferencedOrPinned_nonNull_native(%swift.refcounted* %1) +// CHECK-NEXT: call i1 @swift_rt_swift_isUniquelyReferencedOrPinned_nonNull_native(%swift.refcounted* %1) // CHECK-NEXT: ret i1 %2 func isUniqueOrPinned(_ ref: inout Builtin.NativeObject) -> Bool { return Builtin.isUniqueOrPinned(&ref) @@ -661,7 +661,7 @@ func isUniqueOrPinned(_ ref: inout Builtin.BridgeObject) -> Bool { // CHECK-NEXT: entry: // CHECK-NEXT: bitcast %swift.bridge** %0 to %swift.refcounted** // CHECK-NEXT: load %swift.refcounted*, %swift.refcounted** %1 -// CHECK-NEXT: call i1 @rt_swift_isUniquelyReferenced_nonNull_native(%swift.refcounted* %2) +// CHECK-NEXT: call i1 @swift_rt_swift_isUniquelyReferenced_nonNull_native(%swift.refcounted* %2) // CHECK-NEXT: ret i1 %3 func isUnique_native(_ ref: inout Builtin.BridgeObject) -> Bool { return Builtin.isUnique_native(&ref) @@ -672,7 +672,7 @@ func isUnique_native(_ ref: inout Builtin.BridgeObject) -> Bool { // CHECK-NEXT: entry: // CHECK-NEXT: bitcast %swift.bridge** %0 to %swift.refcounted** // CHECK-NEXT: load %swift.refcounted*, %swift.refcounted** %1 -// CHECK-NEXT: call i1 @rt_swift_isUniquelyReferencedOrPinned_nonNull_native(%swift.refcounted* %2) +// CHECK-NEXT: call i1 @swift_rt_swift_isUniquelyReferencedOrPinned_nonNull_native(%swift.refcounted* %2) // CHECK-NEXT: ret i1 %3 func isUniqueOrPinned_native(_ ref: inout Builtin.BridgeObject) -> Bool { return Builtin.isUniqueOrPinned_native(&ref) @@ -718,9 +718,9 @@ func generic_unsafeGuaranteed_test(_ t : T) -> T { // CHECK-LABEL: define {{.*}} @{{.*}}unsafeGuaranteed_test // CHECK: [[LOCAL:%.*]] = alloca %swift.refcounted* -// CHECK: call void @rt_swift_retain(%swift.refcounted* %0) +// CHECK: call void @swift_rt_swift_retain(%swift.refcounted* %0) // CHECK: store %swift.refcounted* %0, %swift.refcounted** [[LOCAL]] -// CHECK: call void @rt_swift_release(%swift.refcounted* %0) +// CHECK: call void @swift_rt_swift_release(%swift.refcounted* %0) // CHECK: ret %swift.refcounted* %0 func unsafeGuaranteed_test(_ x: Builtin.NativeObject) -> Builtin.NativeObject { var (g,t) = Builtin.unsafeGuaranteed(x) diff --git a/test/IRGen/casts.sil b/test/IRGen/casts.sil index e2cdd595e9bb6..87c3db0832723 100644 --- a/test/IRGen/casts.sil +++ b/test/IRGen/casts.sil @@ -225,7 +225,7 @@ nay: // CHECK: [[OBJ_PTR:%.*]] = bitcast %C5casts1A* [[T0]] to i8* // CHECK: [[METADATA:%.*]] = call %swift.type* @_TMaC5casts1A() // CHECK: [[METADATA_PTR:%.*]] = bitcast %swift.type* [[METADATA]] to i8* -// CHECK: [[RESULT_PTR:%.*]] = call i8* @rt_swift_dynamicCastClass(i8* [[OBJ_PTR]], i8* [[METADATA_PTR]]) +// CHECK: [[RESULT_PTR:%.*]] = call i8* @swift_rt_swift_dynamicCastClass(i8* [[OBJ_PTR]], i8* [[METADATA_PTR]]) // CHECK: [[RESULT:%.*]] = bitcast i8* [[RESULT_PTR]] to %C5casts1A* // CHECK: [[COND:%.*]] = icmp ne %C5casts1A* [[RESULT]], null // CHECK: br i1 [[COND]] diff --git a/test/IRGen/class.sil b/test/IRGen/class.sil index 8d58f063bce46..c53a86bd774e2 100644 --- a/test/IRGen/class.sil +++ b/test/IRGen/class.sil @@ -100,7 +100,7 @@ bb0(%0 : $@thick C.Type): // CHECK: [[T1:%.*]] = bitcast i8* [[T0]] to i16* // CHECK: [[ALIGN16:%.*]] = load i16, i16* [[T1]], align 4 // CHECK: [[ALIGN:%.*]] = zext i16 [[ALIGN16]] to i64 - // CHECK: [[RESULT:%[0-9]+]] = call noalias %swift.refcounted* @rt_swift_allocObject(%swift.type* %0, i64 [[SIZE]], i64 [[ALIGN]]) + // CHECK: [[RESULT:%[0-9]+]] = call noalias %swift.refcounted* @swift_rt_swift_allocObject(%swift.type* %0, i64 [[SIZE]], i64 [[ALIGN]]) %1 = alloc_ref_dynamic %0 : $@thick C.Type, $C return %1 : $C } diff --git a/test/IRGen/class_stack_alloc.sil b/test/IRGen/class_stack_alloc.sil index 6c0611cd39145..4350718d81132 100644 --- a/test/IRGen/class_stack_alloc.sil +++ b/test/IRGen/class_stack_alloc.sil @@ -34,7 +34,7 @@ sil_vtable BigClass {} // CHECK-NEXT: [[O:%[0-9]+]] = bitcast %[[C]]* %reference.raw to %swift.refcounted* // CHECK-NEXT: %reference.new = call %swift.refcounted* @swift_initStackObject(%swift.type* [[M]], %swift.refcounted* [[O]]) // CHECK-NEXT: [[R:%[0-9]+]] = bitcast %swift.refcounted* %reference.new to %[[C]]* -// CHECK-NEXT: call {{.*}} @rt_swift_release {{.*}} [[R]]) +// CHECK-NEXT: call {{.*}} @swift_rt_swift_release {{.*}} [[R]]) // CHECK-NEXT: [[O2:%[0-9]+]] = bitcast %[[C]]* [[R]] to i8* // CHECK-NEXT: call void @llvm.lifetime.end(i64 -1, i8* [[O2]]) // CHECK-NEXT: ret void @@ -56,7 +56,7 @@ bb0: // CHECK: alloca {{.*}}TestStruct // CHECK-NOT: alloca // CHECK: call %swift.refcounted* @swift_initStackObject -// CHECK: call noalias %swift.refcounted* @rt_swift_allocObject +// CHECK: call noalias %swift.refcounted* @swift_rt_swift_allocObject // CHECK: ret void sil @exceed_limit : $@convention(thin) () -> () { bb0: @@ -124,7 +124,7 @@ bb0: } // CHECK-LABEL: define{{( protected)?}} void @not_promoted_with_inlined_devirtualized_release -// CHECK: [[O:%[0-9]+]] = call {{.*}} @rt_swift_allocObject +// CHECK: [[O:%[0-9]+]] = call {{.*}} @swift_rt_swift_allocObject // CHECK-NEXT: [[BC:%[0-9]+]] = bitcast %swift.refcounted* [[O]] to // CHECK-NEXT: call {{.*}} @swift_setDeallocating {{.*}}({{.*}} [[BC]]) // CHECK-NEXT: [[BC2:%[0-9]+]] = bitcast {{.*}} [[BC]] to %swift.refcounted* diff --git a/test/IRGen/closure.swift b/test/IRGen/closure.swift index 8b2a0acb590e0..560ee908f3f5d 100644 --- a/test/IRGen/closure.swift +++ b/test/IRGen/closure.swift @@ -40,8 +40,8 @@ func b(seq seq: T) -> (Int) -> Int { // CHECK: [[WITNESS:%.*]] = load i8**, i8*** [[WITNESSADDR]], align 8 // CHECK: [[BOXADDR:%.*]] = getelementptr inbounds <{ %swift.refcounted, [16 x i8], %swift.refcounted* }>, <{ %swift.refcounted, [16 x i8], %swift.refcounted* }>* [[CONTEXT]], i32 0, i32 2 // CHECK: [[BOX:%.*]] = load %swift.refcounted*, %swift.refcounted** [[BOXADDR]], align 8 -// CHECK: call void @rt_swift_retain(%swift.refcounted* [[BOX]]) -// CHECK: call void @rt_swift_release(%swift.refcounted* %1) +// CHECK: call void @swift_rt_swift_retain(%swift.refcounted* [[BOX]]) +// CHECK: call void @swift_rt_swift_release(%swift.refcounted* %1) // CHECK: [[RES:%.*]] = tail call i64 @[[CLOSURE2]](i64 %0, %swift.refcounted* [[BOX]], %swift.type* [[TYPE]], i8** [[WITNESS]]) // CHECK: ret i64 [[RES]] // CHECK: } diff --git a/test/IRGen/dllimport.swift b/test/IRGen/dllimport.swift index c58e811ea839c..17ec0436d8a06 100644 --- a/test/IRGen/dllimport.swift +++ b/test/IRGen/dllimport.swift @@ -50,10 +50,10 @@ public func g() { // CHECK-NO-OPT-DAG: declare dllimport %swift.refcounted* @_TFC9dllexport1cd(%C9dllexport1c*) // CHECK-NO-OPT-DAG: declare dllimport %swift.type* @_TMaC9dllexport1c() // CHECK-NO-OPT-DAG: declare dllimport void @swift_deallocClassInstance(%swift.refcounted*, i32, i32) -// CHECK-NO-OPT-DAG: define linkonce_odr hidden i8* @rt_swift_slowAlloc(i32, i32) -// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @rt_swift_release(%swift.refcounted*) -// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @rt_swift_retain(%swift.refcounted*) -// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @rt_swift_slowDealloc(i8*, i32, i32) +// CHECK-NO-OPT-DAG: define linkonce_odr hidden i8* @swift_rt_swift_slowAlloc(i32, i32) +// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @swift_rt_swift_release(%swift.refcounted*) +// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @swift_rt_swift_retain(%swift.refcounted*) +// CHECK-NO-OPT-DAG: define linkonce_odr hidden void @swift_rt_swift_slowDealloc(i8*, i32, i32) // CHECK-OPT-DAG: @_swift_retain = external dllimport local_unnamed_addr global void (%swift.refcounted*) // CHECK-OPT-DAG: @_TWVBo = external dllimport global i8* @@ -66,6 +66,6 @@ public func g() { // CHECK-OPT-DAG: declare dllimport void @swift_deallocClassInstance(%swift.refcounted*, i32, i32) // CHECK-OPT-DAG: declare dllimport %swift.refcounted* @_TFC9dllexport1cd(%C9dllexport1c*) // CHECK-OPT-DAG: declare dllimport void @swift_deletedMethodError() -// CHECK-OPT-DAG: define linkonce_odr hidden i8* @rt_swift_slowAlloc(i32, i32) -// CHECK-OPT-DAG: define linkonce_odr hidden void @rt_swift_slowDealloc(i8*, i32, i32) +// CHECK-OPT-DAG: define linkonce_odr hidden i8* @swift_rt_swift_slowAlloc(i32, i32) +// CHECK-OPT-DAG: define linkonce_odr hidden void @swift_rt_swift_slowDealloc(i8*, i32, i32) diff --git a/test/IRGen/dynamic_cast.sil b/test/IRGen/dynamic_cast.sil index f0147f683b426..c3db3387d6363 100644 --- a/test/IRGen/dynamic_cast.sil +++ b/test/IRGen/dynamic_cast.sil @@ -26,7 +26,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 7) + // CHECK: call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 7) %1 = alloc_stack $S unconditional_checked_cast_addr take_always P in %0 : $*P to S in %1 : $*S destroy_addr %1 : $*S @@ -36,7 +36,7 @@ bb0(%0 : $*P): } // CHECK-LABEL: define linkonce_odr hidden %swift.type* @_TMaP12dynamic_cast1P_() -// CHECK: call %swift.type* @rt_swift_getExistentialTypeMetadata( +// CHECK: call %swift.type* @swift_rt_swift_getExistentialTypeMetadata( // CHECK-LABEL: define{{( protected)?}} void @testUnconditional1( sil @testUnconditional1 : $@convention(thin) (@in P) -> () { @@ -45,7 +45,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 3) + // CHECK: call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 3) %1 = alloc_stack $S unconditional_checked_cast_addr take_on_success P in %0 : $*P to S in %1 : $*S destroy_addr %1 : $*S @@ -61,7 +61,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 1) + // CHECK: call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 1) %1 = alloc_stack $S unconditional_checked_cast_addr copy_on_success P in %0 : $*P to S in %1 : $*S destroy_addr %1 : $*S @@ -77,7 +77,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: [[T4:%.*]] = call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 6) + // CHECK: [[T4:%.*]] = call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 6) // CHECK: br i1 [[T4]], %1 = alloc_stack $S checked_cast_addr_br take_always P in %0 : $*P to S in %1 : $*S, bb1, bb2 @@ -97,7 +97,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: [[T4:%.*]] = call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 2) + // CHECK: [[T4:%.*]] = call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 2) // CHECK: br i1 [[T4]], %1 = alloc_stack $S checked_cast_addr_br take_on_success P in %0 : $*P to S in %1 : $*S, bb1, bb2 @@ -117,7 +117,7 @@ bb0(%0 : $*P): // CHECK: [[T1:%.*]] = bitcast [[S]]* [[T0]] to [[OPAQUE:%swift.opaque]]* // CHECK: [[T2:%.*]] = bitcast [[P:%.*]]* {{%.*}} to [[OPAQUE]]* // CHECK: [[T3:%.*]] = call [[TYPE:%.*]]* @_TMaP12dynamic_cast1P_() - // CHECK: [[T4:%.*]] = call i1 @rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 0) + // CHECK: [[T4:%.*]] = call i1 @swift_rt_swift_dynamicCast([[OPAQUE]]* [[T1]], [[OPAQUE]]* [[T2]], [[TYPE]]* [[T3]], [[TYPE]]* {{.*}}, [[LLVM_PTRSIZE_INT]] 0) // CHECK: br i1 [[T4]], %1 = alloc_stack $S checked_cast_addr_br copy_on_success P in %0 : $*P to S in %1 : $*S, bb1, bb2 diff --git a/test/IRGen/dynamic_init.sil b/test/IRGen/dynamic_init.sil index c2aff16125d5c..6d9f17e040d25 100644 --- a/test/IRGen/dynamic_init.sil +++ b/test/IRGen/dynamic_init.sil @@ -27,7 +27,7 @@ bb0(%0 : $@thick C.Type): %2 = class_method %0 : $@thick C.Type, #C.init!allocator.1 : (C.Type) -> () -> C , $@convention(method) (@thick C.Type) -> @owned C // CHECK: [[RESULT:%[0-9]+]] = call %C12dynamic_init1C* [[CTOR_FN]](%swift.type* %0) %3 = apply %2(%0) : $@convention(method) (@thick C.Type) -> @owned C - // CHECK: call void bitcast (void (%swift.refcounted*)* @rt_swift_release to void (%C12dynamic_init1C*)*)(%C12dynamic_init1C* [[RESULT]]) + // CHECK: call void bitcast (void (%swift.refcounted*)* @swift_rt_swift_release to void (%C12dynamic_init1C*)*)(%C12dynamic_init1C* [[RESULT]]) strong_release %3 : $C // CHECK: ret void %5 = tuple () diff --git a/test/IRGen/enum.sil b/test/IRGen/enum.sil index f47ebe06a9901..4df6aaa83cf67 100644 --- a/test/IRGen/enum.sil +++ b/test/IRGen/enum.sil @@ -1217,7 +1217,7 @@ enum DynamicSinglePayload { // CHECK: define{{( protected)?}} void @dynamic_single_payload_switch(%O4enum20DynamicSinglePayload* noalias nocapture, %swift.type* %T) {{.*}} { // CHECK: [[OPAQUE_ENUM:%.*]] = bitcast %O4enum20DynamicSinglePayload* %0 to %swift.opaque* -// CHECK: [[CASE_INDEX:%.*]] = call i32 @rt_swift_getEnumCaseSinglePayload(%swift.opaque* [[OPAQUE_ENUM]], %swift.type* %T, i32 3) +// CHECK: [[CASE_INDEX:%.*]] = call i32 @swift_rt_swift_getEnumCaseSinglePayload(%swift.opaque* [[OPAQUE_ENUM]], %swift.type* %T, i32 3) // CHECK: switch i32 [[CASE_INDEX]], label {{%.*}} [ // CHECK: i32 -1, label {{%.*}} // CHECK: i32 2, label {{%.*}} @@ -1242,7 +1242,7 @@ end: // CHECK: define{{( protected)?}} void @dynamic_single_payload_inject_x(%O4enum20DynamicSinglePayload* noalias nocapture sret, %swift.opaque* noalias nocapture, %swift.type* %T) {{.*}} { // CHECK: [[ADDR:%.*]] = bitcast %O4enum20DynamicSinglePayload* %0 to %swift.opaque* -// CHECK: call void @rt_swift_storeEnumTagSinglePayload(%swift.opaque* [[ADDR]], %swift.type* %T, i32 -1, i32 3) +// CHECK: call void @swift_rt_swift_storeEnumTagSinglePayload(%swift.opaque* [[ADDR]], %swift.type* %T, i32 -1, i32 3) sil @dynamic_single_payload_inject_x : $ (@in T) -> @out DynamicSinglePayload { entry(%r : $*DynamicSinglePayload, %t : $*T): inject_enum_addr %r : $*DynamicSinglePayload, #DynamicSinglePayload.x!enumelt.1 @@ -1252,7 +1252,7 @@ entry(%r : $*DynamicSinglePayload, %t : $*T): // CHECK: define{{( protected)?}} void @dynamic_single_payload_inject_y(%O4enum20DynamicSinglePayload* noalias nocapture sret, %swift.type* %T) {{.*}} { // CHECK: [[ADDR:%.*]] = bitcast %O4enum20DynamicSinglePayload* %0 to %swift.opaque* -// CHECK: call void @rt_swift_storeEnumTagSinglePayload(%swift.opaque* [[ADDR]], %swift.type* %T, i32 0, i32 3) +// CHECK: call void @swift_rt_swift_storeEnumTagSinglePayload(%swift.opaque* [[ADDR]], %swift.type* %T, i32 0, i32 3) sil @dynamic_single_payload_inject_y : $ () -> @out DynamicSinglePayload { entry(%r : $*DynamicSinglePayload): inject_enum_addr %r : $*DynamicSinglePayload, #DynamicSinglePayload.y!enumelt diff --git a/test/IRGen/enum_dynamic_multi_payload.sil b/test/IRGen/enum_dynamic_multi_payload.sil index 508e68f25daab..e381bd45de9c3 100644 --- a/test/IRGen/enum_dynamic_multi_payload.sil +++ b/test/IRGen/enum_dynamic_multi_payload.sil @@ -380,7 +380,7 @@ entry(%a : $*EitherOr, %b : $*EitherOr): // CHECK: call void %destroy(%swift.opaque* {{%.*}}, %swift.type* %T) // CHECK: br label %[[NOOP]] // CHECK: