Skip to content

Commit 74d1322

Browse files
authored
Merge pull request swiftlang#23119 from ravikandhadai/array-init-semantics
2 parents 9a1f96e + 6c662f7 commit 74d1322

File tree

4 files changed

+4
-3
lines changed

4 files changed

+4
-3
lines changed

lib/SILOptimizer/Analysis/ArraySemantic.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ ArrayCallKind swift::ArraySemanticsCall::getKind() const {
168168
llvm::StringSwitch<ArrayCallKind>(Attrs)
169169
.Case("array.props.isNativeTypeChecked",
170170
ArrayCallKind::kArrayPropsIsNativeTypeChecked)
171-
.Case("array.init", ArrayCallKind::kArrayInit)
171+
.StartsWith("array.init", ArrayCallKind::kArrayInit)
172172
.Case("array.uninitialized", ArrayCallKind::kArrayUninitialized)
173173
.Case("array.check_subscript", ArrayCallKind::kCheckSubscript)
174174
.Case("array.check_index", ArrayCallKind::kCheckIndex)

lib/SILOptimizer/Transforms/ArrayCountPropagation.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ bool ArrayAllocation::isInitializationWithKnownCount() {
102102
(ArrayValue = Uninitialized.getArrayValue()))
103103
return true;
104104

105-
ArraySemanticsCall Init(Alloc, "array.init");
105+
ArraySemanticsCall Init(Alloc, "array.init", /*matchPartialName*/true);
106106
if (Init &&
107107
(ArrayCount = Init.getInitializationCount()) &&
108108
(ArrayValue = Init.getArrayValue()))

stdlib/public/core/Array.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -802,7 +802,7 @@ extension Array: RangeReplaceableCollection {
802802
/// print(emptyArray.isEmpty)
803803
/// // Prints "true"
804804
@inlinable
805-
@_semantics("array.init")
805+
@_semantics("array.init.empty")
806806
public init() {
807807
_buffer = _Buffer()
808808
}

stdlib/public/core/ArrayShared.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public struct _DependenceToken {
2727
/// - Precondition: `storage` is `_ContiguousArrayStorage`.
2828
@inlinable // FIXME(inline-always)
2929
@inline(__always)
30+
@_semantics("array.uninitialized_intrinsic")
3031
public // COMPILER_INTRINSIC
3132
func _allocateUninitializedArray<Element>(_ builtinCount: Builtin.Word)
3233
-> (Array<Element>, Builtin.RawPointer) {

0 commit comments

Comments
 (0)