SILOptimizer: Replace [].append(contentsOf:) with [].append(element:)

This commit is contained in:
Ben Ng
2016-12-01 21:32:28 -05:00
parent 8be4df4bae
commit 1b10c18b3e
9 changed files with 303 additions and 34 deletions

View File

@@ -489,6 +489,8 @@ static bool isNonMutatingArraySemanticCall(SILInstruction *Inst) {
case ArrayCallKind::kWithUnsafeMutableBufferPointer:
case ArrayCallKind::kArrayInit:
case ArrayCallKind::kArrayUninitialized:
case ArrayCallKind::kAppendContentsOf:
case ArrayCallKind::kAppendElement:
return false;
}
}
@@ -823,6 +825,8 @@ static bool mayChangeArrayValueToNonUniqueState(ArraySemanticsCall &Call) {
case ArrayCallKind::kWithUnsafeMutableBufferPointer:
case ArrayCallKind::kArrayInit:
case ArrayCallKind::kArrayUninitialized:
case ArrayCallKind::kAppendContentsOf:
case ArrayCallKind::kAppendElement:
return true;
}
}