Skip to content

AllocBoxToStack: Improve alloc_stack/dealloc_stack scoping #8411

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 2 commits into from
Mar 30, 2017

Conversation

eeckstein
Copy link
Contributor

Instead of inserting all alloc_stack/dealloc_stack instructions at the begin/end of the function, insert them at the actual lifetime boundaries.

rdar://problem/16723128

@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test

@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke benchmark

@gottesmm
Copy link
Contributor

gottesmm commented Mar 29, 2017 via email

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (11)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
CStringLongAscii 8046 15386 +91.2% 0.52x
StringWithCString 211942 342318 +61.5% 0.62x
CStringLongNonAscii 2900 4398 +51.7% 0.66x
CStringShortAscii 5146 6311 +22.6% 0.82x
ExistentialTestArrayShift_IntValueBuffer2 3334 3884 +16.5% 0.86x
ExistentialTestArrayShift_ClassValueBuffer2 3336 3884 +16.4% 0.86x
StrToInt 5615 6280 +11.8% 0.89x
MapReduce 311 342 +10.0% 0.91x
MapReduceAnyCollection 303 331 +9.2% 0.92x
MapReduceSequence 533 566 +6.2% 0.94x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 76841 81862 +6.5% 0.94x
Improvement (4)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ClassArrayGetter 14 13 -7.1% 1.08x
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 16000 14643 -8.5% 1.09x
PopFrontArray 1256 1117 -11.1% 1.12x
PopFrontArrayGeneric 1255 1114 -11.2% 1.13x
No Changes (276)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ArrayAppendLazyMap 958 921 -3.9% 1.04x
ExistentialTestTwoMethodCalls_IntValueBuffer4 37386 35783 -4.3% 1.04x
ObjectiveCBridgeFromNSDictionaryAnyObject 122316 118629 -3.0% 1.03x(?)
Array2D 2121 2062 -2.8% 1.03x
StringHasSuffix 711 688 -3.2% 1.03x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 221260 216701 -2.1% 1.02x
ObjectiveCBridgeToNSString 1276 1254 -1.7% 1.02x
StackPromo 23237 22772 -2.0% 1.02x
Prims 784 768 -2.0% 1.02x(?)
Dictionary3 610 598 -2.0% 1.02x(?)
AnyHashableWithAClass 69373 67879 -2.1% 1.02x
ExistentialTestTwoMethodCalls_IntValueBuffer1 29255 28793 -1.6% 1.02x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 7812 7672 -1.8% 1.02x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 38602 37910 -1.8% 1.02x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 7629 7499 -1.7% 1.02x
DeadArray 184 181 -1.6% 1.02x
ObjectiveCBridgeStubNSDataAppend 2303 2258 -1.9% 1.02x
StringUTF16Builder 2214 2202 -0.5% 1.01x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 204360 203191 -0.6% 1.01x(?)
SortLettersInPlace 1151 1145 -0.5% 1.01x
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 35620 35426 -0.5% 1.01x
StringInterpolation 9512 9450 -0.7% 1.01x(?)
AngryPhonebook 2913 2890 -0.8% 1.01x
DictionarySwapOfObjects 6987 6950 -0.5% 1.01x(?)
ObjectiveCBridgeStubURLAppendPathRef 232489 229455 -1.3% 1.01x(?)
StringBuilderLong 948 939 -0.9% 1.01x(?)
ObjectiveCBridgeStubToNSDateRef 3425 3390 -1.0% 1.01x(?)
StringEqualPointerComparison 7354 7274 -1.1% 1.01x(?)
ArrayAppendOptionals 1249 1233 -1.3% 1.01x(?)
MapReduceShort 1948 1924 -1.2% 1.01x
ObjectiveCBridgeStubURLAppendPath 231497 229819 -0.7% 1.01x(?)
Join 493 489 -0.8% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 390888 385304 -1.4% 1.01x(?)
ProtocolDispatch2 169 167 -1.2% 1.01x
SetIntersect 334 332 -0.6% 1.01x
StringBuilder 1364 1354 -0.7% 1.01x
CaptureProp 4583 4556 -0.6% 1.01x(?)
DictionaryRemove 3154 3122 -1.0% 1.01x
ObjectiveCBridgeStubFromNSStringRef 175 174 -0.6% 1.01x
ExistentialTestTwoMethodCalls_ClassValueBuffer2 34231 33861 -1.1% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5017 4980 -0.7% 1.01x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 4241 4214 -0.6% 1.01x(?)
ObserverForwarderStruct 1130 1121 -0.8% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 41996 41419 -1.4% 1.01x
DropLastSequence 4633 4633 +0.0% 1.00x
SetExclusiveOr_OfObjects 8073 8063 -0.1% 1.00x(?)
MonteCarloPi 44882 44879 -0.0% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer3 30310 30308 -0.0% 1.00x
RecursiveOwnedParameter 2326 2321 -0.2% 1.00x
Integrate 262 262 +0.0% 1.00x
ExistentialTestArrayShift_IntValueBuffer4 3312 3312 +0.0% 1.00x
ExistentialTestArrayShift_IntValueBuffer3 3762 3762 +0.0% 1.00x
ExistentialTestArrayShift_IntValueBuffer1 3312 3312 +0.0% 1.00x
StringAdder 0 0 +0.0% 1.00x
Histogram 242 242 +0.0% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 16232 16197 -0.2% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 17158 17160 +0.0% 1.00x
ExistentialTestMutating_ClassValueBuffer3 18192 18201 +0.1% 1.00x(?)
StringEdits 518127 518044 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer4 14369 14367 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer0 5532 5528 -0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer1 5527 5528 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 4556 4569 +0.3% 1.00x(?)
DictionarySwap 371 371 +0.0% 1.00x
ReversedDictionary 131 131 +0.0% 1.00x
ArrayAppendToFromGeneric 596 596 +0.0% 1.00x
ArrayAppendReserved 534 534 +0.0% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 15988 15936 -0.3% 1.00x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 7666 7631 -0.5% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 142455 142453 -0.0% 1.00x(?)
Dictionary3OfObjects 1051 1052 +0.1% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer0 30694 30715 +0.1% 1.00x
ExistentialTestArrayConditionalShift_ClassValueBuffer4 61769 61665 -0.2% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer2 31646 31566 -0.2% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer4 60548 60393 -0.3% 1.00x
MapReduceLazyCollectionShort 45 45 +0.0% 1.00x
StringHasPrefix 608 609 +0.2% 1.00x(?)
ByteSwap 0 0 +0.0% 1.00x
ObjectiveCBridgeStubFromNSDateRef 3642 3626 -0.4% 1.00x(?)
ArrayPlusEqualFiveElementCollection 51995 51789 -0.4% 1.00x(?)
XorLoop 353 353 +0.0% 1.00x
ObserverClosure 2226 2223 -0.1% 1.00x(?)
SetIntersect_OfObjects 1710 1709 -0.1% 1.00x(?)
CharacterLiteralsSmall 805 804 -0.1% 1.00x
LazilyFilteredRange 7277 7275 -0.0% 1.00x(?)
MapReduceLazySequence 90 90 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 49596 49647 +0.1% 1.00x(?)
ArrayAppendStrings 13661 13623 -0.3% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer0 15154 15157 +0.0% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer1 15155 15154 -0.0% 1.00x(?)
ExistentialTestOneMethodCall_IntValueBuffer2 15154 15157 +0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_IntValueBuffer3 32588 32558 -0.1% 1.00x
ExistentialTestOneMethodCall_IntValueBuffer4 16670 16670 +0.0% 1.00x
ObjectiveCBridgeStubFromNSString 947 951 +0.4% 1.00x(?)
StaticArray 150 150 +0.0% 1.00x
ProtocolDispatch 2728 2727 -0.0% 1.00x(?)
ObjectAllocation 180 180 +0.0% 1.00x
ObserverUnappliedMethod 2715 2710 -0.2% 1.00x(?)
StringHasSuffixUnicode 61434 61527 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 102377 102377 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObject 64735 64446 -0.5% 1.00x(?)
ArrayAppendLatin1 45120 44959 -0.4% 1.00x(?)
CharacterLiteralsLarge 12395 12391 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer1 60828 60808 -0.0% 1.00x
ExistentialTestArrayShift_IntValueBuffer0 3312 3312 +0.0% 1.00x
StrComplexWalk 2887 2894 +0.2% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer2 14181 14187 +0.0% 1.00x
ExistentialTestArrayMutating_ClassValueBuffer3 15300 15281 -0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer1 14180 14190 +0.1% 1.00x
ErrorHandling 2930 2920 -0.3% 1.00x(?)
ArrayOfRef 3891 3889 -0.1% 1.00x(?)
ExistentialTestArrayMutating_ClassValueBuffer4 16916 16915 -0.0% 1.00x(?)
ObjectiveCBridgeToNSSet 37450 37585 +0.4% 1.00x(?)
ObjectiveCBridgeStubDateMutation 272 272 +0.0% 1.00x
DropLastArray 30 30 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 121250 121232 -0.0% 1.00x(?)
NSError 352 352 +0.0% 1.00x
HashTest 1741 1735 -0.3% 1.00x(?)
DictionaryOfObjects 2555 2561 +0.2% 1.00x(?)
PopFrontUnsafePointer 9105 9091 -0.1% 1.00x
ExistentialTestMutating_IntValueBuffer3 21331 21342 +0.1% 1.00x(?)
ExistentialTestMutating_IntValueBuffer2 18427 18425 -0.0% 1.00x(?)
ExistentialTestMutating_IntValueBuffer1 16641 16643 +0.0% 1.00x(?)
MapReduceAnyCollectionShort 2169 2173 +0.2% 1.00x(?)
RC4 157 157 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 110 110 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 43949 43947 -0.0% 1.00x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 45462 45479 +0.0% 1.00x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 224272 224295 +0.0% 1.00x(?)
ObjectiveCBridgeToNSArray 28675 28803 +0.5% 1.00x
IterateData 2699 2703 +0.1% 1.00x
DictionaryLiteral 1473 1473 +0.0% 1.00x
OpenClose 48 48 +0.0% 1.00x
DictionaryRemoveOfObjects 22400 22333 -0.3% 1.00x(?)
UTF8Decode 280 280 +0.0% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 250098 250176 +0.0% 1.00x(?)
LazilyFilteredArrays 71284 71357 +0.1% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 244066 243986 -0.0% 1.00x(?)
ArrayPlusEqualArrayOfInt 596 596 +0.0% 1.00x
ExistentialTestArrayShift_ClassValueBuffer4 3313 3313 +0.0% 1.00x
SetUnion_OfObjects 6473 6457 -0.2% 1.00x(?)
SetIsSubsetOf 288 288 +0.0% 1.00x
ExistentialTestArrayShift_ClassValueBuffer1 3312 3313 +0.0% 1.00x
NopDeinit 21405 21404 -0.0% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 28099 28179 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 23908 23951 +0.2% 1.00x(?)
ObjectiveCBridgeStubDataAppend 3749 3758 +0.2% 1.00x(?)
ExistentialTestMutating_IntValueBuffer0 13643 13641 -0.0% 1.00x
ExistentialTestMutating_ClassValueBuffer2 18251 18271 +0.1% 1.00x(?)
ExistentialTestMutating_ClassValueBuffer4 40633 40725 +0.2% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 318 318 +0.0% 1.00x
ArrayOfGenericPOD 219 219 +0.0% 1.00x
ArrayOfGenericRef 4004 3986 -0.5% 1.00x(?)
ObjectiveCBridgeFromNSString 1471 1476 +0.3% 1.00x(?)
PolymorphicCalls 22 22 +0.0% 1.00x
ExistentialTestTwoMethodCalls_IntValueBuffer2 30309 30311 +0.0% 1.00x(?)
ExistentialTestTwoMethodCalls_IntValueBuffer3 30317 30309 -0.0% 1.00x
ExistentialTestTwoMethodCalls_IntValueBuffer0 31655 31744 +0.3% 1.00x
MapReduceClassShort 4573 4569 -0.1% 1.00x(?)
ArrayAppendRepeatCol 838 838 +0.0% 1.00x
MapReduceShortString 18 18 +0.0% 1.00x
ExistentialTestTwoMethodCalls_ClassValueBuffer1 30308 30313 +0.0% 1.00x(?)
ObjectiveCBridgeToNSDictionary 60426 60151 -0.5% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 14622 14604 -0.1% 1.00x
ArrayAppendAscii 19923 19936 +0.1% 1.00x(?)
MonteCarloE 10538 10574 +0.3% 1.00x
ExistentialTestArrayMutating_IntValueBuffer4 18269 18278 +0.1% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer3 14768 14786 +0.1% 1.00x(?)
ExistentialTestArrayMutating_IntValueBuffer2 14187 14187 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer1 14753 14753 +0.0% 1.00x
ExistentialTestArrayMutating_IntValueBuffer0 14566 14566 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
ArrayAppendToGeneric 596 596 +0.0% 1.00x
Walsh 356 356 +0.0% 1.00x
SetIsSubsetOf_OfObjects 359 359 +0.0% 1.00x
HashQuadratic 6338114 6331540 -0.1% 1.00x(?)
ArrayAppend 775 775 +0.0% 1.00x
NSDictionaryCastToSwift 5296 5321 +0.5% 1.00x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 155550 155811 +0.2% 1.00x
LinkedList 7111 7108 -0.0% 1.00x(?)
ArrayAppendFromGeneric 596 597 +0.2% 1.00x
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 48497 48496 -0.0% 1.00x(?)
ReversedBidirectional 50206 50025 -0.4% 1.00x(?)
RGBHistogramOfObjects 23873 23881 +0.0% 1.00x(?)
ObjectiveCBridgeStubToNSString 1514 1515 +0.1% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 105989 106056 +0.1% 1.00x(?)
MapReduceLazyCollection 15 15 +0.0% 1.00x
ArrayAppendArrayOfInt 596 596 +0.0% 1.00x
ExistentialTestOneMethodCall_IntValueBuffer3 15154 15155 +0.0% 1.00x(?)
SetUnion 2146 2144 -0.1% 1.00x(?)
Chars 1462 1463 +0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 365876 365745 -0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 224057 225168 +0.5% 1.00x(?)
RGBHistogram 2645 2658 +0.5% 1.00x(?)
BitCount 1 1 +0.0% 1.00x
ExistentialTestOneMethodCall_ClassValueBuffer4 18187 18188 +0.0% 1.00x(?)
SevenBoom 1517 1519 +0.1% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer1 15158 15155 -0.0% 1.00x
ExistentialTestOneMethodCall_ClassValueBuffer3 15155 15154 -0.0% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer2 16670 16670 +0.0% 1.00x
DropLastCountableRange 28 28 +0.0% 1.00x
SuffixSequence 4961 4961 +0.0% 1.00x
ArrayOfPOD 166 166 +0.0% 1.00x
StringWalk 5834 5835 +0.0% 1.00x
ArrayValueProp 6 6 +0.0% 1.00x
ObjectiveCBridgeStubFromArrayOfNSString 31920 32040 +0.4% 1.00x(?)
SuffixArray 31 31 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 73240 73095 -0.2% 1.00x(?)
MapReduceClass 3102 3097 -0.2% 1.00x
Memset 234 234 +0.0% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 105151 105446 +0.3% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 102281 102438 +0.1% 1.00x(?)
Dictionary2OfObjects 3646 3647 +0.0% 1.00x(?)
ArrayValueProp4 6 6 +0.0% 1.00x
ObjectiveCBridgeStubDateAccess 181 181 +0.0% 1.00x
ArrayValueProp2 6 6 +0.0% 1.00x
ArrayValueProp3 6 6 +0.0% 1.00x
Sim2DArray 276 276 +0.0% 1.00x
ObserverPartiallyAppliedMethod 3792 3791 -0.0% 1.00x(?)
ArrayAppendUTF16 41607 41657 +0.1% 1.00x
ArraySubscript 1533 1545 +0.8% 0.99x(?)
DictionaryBridge 2647 2685 +1.4% 0.99x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer3 5562 5607 +0.8% 0.99x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 280256 283403 +1.1% 0.99x
ExistentialTestArrayConditionalShift_ClassValueBuffer3 121244 121952 +0.6% 0.99x(?)
ArrayAppendGenericStructs 1231 1245 +1.1% 0.99x
SuffixAnySequence 6477 6568 +1.4% 0.99x
ExistentialTestArrayConditionalShift_IntValueBuffer1 30825 31053 +0.7% 0.99x
Dictionary2 2127 2142 +0.7% 0.99x(?)
ExistentialTestMutating_IntValueBuffer4 51536 51988 +0.9% 0.99x(?)
StringMatch 37119 37476 +1.0% 0.99x
290 16492182 16737763 +1.5% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 548694 556378 +1.4% 0.99x
ExistentialTestArrayShift_ClassValueBuffer3 3739 3765 +0.7% 0.99x(?)
Dictionary 795 806 +1.4% 0.99x
SetExclusiveOr 2607 2638 +1.2% 0.99x
ExistentialTestMutating_ClassValueBuffer1 18206 18362 +0.9% 0.99x(?)
Phonebook 7436 7516 +1.1% 0.99x
StringHasPrefixUnicode 13941 14067 +0.9% 0.99x
ArrayLiteral 1190 1198 +0.7% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 248612 251619 +1.2% 0.99x(?)
TwoSum 1251 1270 +1.5% 0.99x(?)
DropLastAnySequence 6463 6589 +1.9% 0.98x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 36420 37167 +2.0% 0.98x(?)
RangeAssignment 310 317 +2.3% 0.98x
SuperChars 251665 255661 +1.6% 0.98x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 76852 78430 +2.0% 0.98x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 77296 79076 +2.3% 0.98x
Hanoi 3400 3462 +1.8% 0.98x
ArrayAppendSequence 978 997 +1.9% 0.98x(?)
ReversedArray 50 51 +2.0% 0.98x(?)
ObjectiveCBridgeStubNSDateMutationRef 12904 13191 +2.2% 0.98x(?)
ObjectiveCBridgeStubFromNSDate 3639 3710 +1.9% 0.98x
ObjectiveCBridgeFromNSArrayAnyObjectToString 45039 46296 +2.8% 0.97x(?)
SortStrings 1671 1719 +2.9% 0.97x
MapReduceString 73 75 +2.7% 0.97x
ObjectiveCBridgeFromNSStringForced 2370 2436 +2.8% 0.97x
ObjectiveCBridgeStubToNSDate 15633 16126 +3.1% 0.97x(?)
SortSortedStrings 845 868 +2.7% 0.97x
Calculator 34 35 +2.9% 0.97x
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 46978 48498 +3.2% 0.97x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 77527 79656 +2.8% 0.97x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 102149 105419 +3.2% 0.97x(?)
ArrayInClass 62 64 +3.2% 0.97x(?)
SuffixCountableRange 28 29 +3.6% 0.97x
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 525917 544364 +3.5% 0.97x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 105995 108921 +2.8% 0.97x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 7722 8054 +4.3% 0.96x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 26692 27821 +4.2% 0.96x(?)
NSStringConversion 740 768 +3.8% 0.96x
ExistentialTestArrayOneMethodCall_IntValueBuffer2 5635 5910 +4.9% 0.95x
ExistentialTestArrayConditionalShift_ClassValueBuffer2 90649 95069 +4.9% 0.95x
SortStringsUnicode 7234 7606 +5.1% 0.95x
ObjectiveCBridgeFromNSSetAnyObjectToString 81595 85964 +5.3% 0.95x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 24919 26267 +5.4% 0.95x
**Unoptimized (Onone)**
Regression (18)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ExistentialTestMutating_IntValueBuffer0 37902 43599 +15.0% 0.87x
ExistentialTestOneMethodCall_IntValueBuffer2 37892 42433 +12.0% 0.89x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer0 121956 136869 +12.2% 0.89x
ExistentialTestArrayMutating_IntValueBuffer1 106603 120121 +12.7% 0.89x(?)
ExistentialTestOneMethodCall_IntValueBuffer0 39410 43594 +10.6% 0.90x
ExistentialTestArrayMutating_ClassValueBuffer1 123568 137035 +10.9% 0.90x(?)
PopFrontUnsafePointer 160555 177052 +10.3% 0.91x
ExistentialTestOneMethodCall_IntValueBuffer3 39403 43151 +9.5% 0.91x
OpenClose 424 462 +9.0% 0.92x
ExistentialTestOneMethodCall_IntValueBuffer1 37890 40921 +8.0% 0.93x
ExistentialTestOneMethodCall_IntValueBuffer4 42444 45404 +7.0% 0.93x
StringHasPrefix 1510 1627 +7.8% 0.93x
ExistentialTestArrayShift_IntValueBuffer1 178914 189528 +5.9% 0.94x(?)
ArrayAppend 3680 3907 +6.2% 0.94x
ObjectiveCBridgeStubDateMutation 485 515 +6.2% 0.94x
StringAdder 48 51 +6.2% 0.94x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer1 185766 197225 +6.2% 0.94x
StringHasSuffix 1627 1728 +6.2% 0.94x
Improvement (0)
No Changes (273)
TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
SuffixAnySequence 6728 6471 -3.8% 1.04x
ExistentialTestTwoMethodCalls_IntValueBuffer0 78536 75481 -3.9% 1.04x
TypeFlood 170 164 -3.5% 1.04x(?)
DropLastAnySequence 6711 6467 -3.6% 1.04x
ExistentialTestTwoMethodCalls_IntValueBuffer3 95308 92464 -3.0% 1.03x
ExistentialTestArrayConditionalShift_ClassValueBuffer3 438910 424327 -3.3% 1.03x
ArrayOfPOD 1892 1833 -3.1% 1.03x
ExistentialTestArrayOneMethodCall_IntValueBuffer1 132316 127955 -3.3% 1.03x
StackPromo 99518 97480 -2.0% 1.02x(?)
Histogram 8645 8482 -1.9% 1.02x(?)
MonteCarloE 88029 86500 -1.7% 1.02x
LazilyFilteredRange 1278435 1258995 -1.5% 1.02x
SortSortedStrings 1434 1409 -1.7% 1.02x
StringBuilderLong 1143 1124 -1.7% 1.02x(?)
ExistentialTestMutating_IntValueBuffer3 233235 228736 -1.9% 1.02x
ExistentialTestMutating_ClassValueBuffer2 220432 216787 -1.6% 1.02x
ArrayOfGenericRef 9975 9803 -1.7% 1.02x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer4 135487 133463 -1.5% 1.02x
HashQuadratic 50082545 49296710 -1.6% 1.02x
ObjectiveCBridgeToNSSet 38181 37357 -2.2% 1.02x(?)
MapReduceAnyCollection 37108 36448 -1.8% 1.02x(?)
Chars 8064 7917 -1.8% 1.02x
ObjectiveCBridgeStubNSDateMutationRef 15432 15194 -1.5% 1.02x(?)
ObjectiveCBridgeStubDateAccess 1020 1003 -1.7% 1.02x
DropLastSequence 42546 42212 -0.8% 1.01x
ObjectiveCBridgeToNSString 1309 1300 -0.7% 1.01x(?)
ExistentialTestArrayShift_IntValueBuffer0 178551 177614 -0.5% 1.01x
ObjectiveCBridgeFromNSDictionaryAnyObject 122879 122081 -0.7% 1.01x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer4 144009 142248 -1.2% 1.01x
DictionarySwap 5352 5310 -0.8% 1.01x
ExistentialTestArrayTwoMethodCalls_IntValueBuffer3 134755 133804 -0.7% 1.01x(?)
StringUTF16Builder 3752 3709 -1.1% 1.01x(?)
ExistentialTestArrayMutating_IntValueBuffer4 131549 129893 -1.3% 1.01x(?)
ExistentialTestArrayMutating_ClassValueBuffer3 122551 121307 -1.0% 1.01x
ErrorHandling 3915 3895 -0.5% 1.01x(?)
RangeAssignment 5521 5488 -0.6% 1.01x
ObjectiveCBridgeStubFromNSString 1008 995 -1.3% 1.01x
ExistentialTestArrayMutating_ClassValueBuffer4 124146 122903 -1.0% 1.01x
ObjectiveCBridgeFromNSSetAnyObject 67881 67016 -1.3% 1.01x
ExistentialTestArrayMutating_ClassValueBuffer2 122682 121593 -0.9% 1.01x
ArrayOfRef 8909 8780 -1.4% 1.01x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 42956 42649 -0.7% 1.01x(?)
DictionaryOfObjects 4856 4829 -0.6% 1.01x(?)
RC4 7812 7703 -1.4% 1.01x(?)
ExistentialTestMutating_IntValueBuffer4 326291 324549 -0.5% 1.01x
ArrayAppendUTF16 103194 102645 -0.5% 1.01x
ObjectiveCBridgeStubURLAppendPath 239380 236970 -1.0% 1.01x(?)
SetIntersect 10730 10643 -0.8% 1.01x
ExistentialTestTwoMethodCalls_IntValueBuffer1 73424 72786 -0.9% 1.01x
ObjectiveCBridgeToNSDictionary 61464 60926 -0.9% 1.01x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer3 199361 197937 -0.7% 1.01x(?)
ExistentialTestArrayMutating_IntValueBuffer3 118095 117118 -0.8% 1.01x
ExistentialTestArrayMutating_IntValueBuffer0 116783 115817 -0.8% 1.01x
NSDictionaryCastToSwift 6460 6422 -0.6% 1.01x(?)
SuffixCountableRange 144 143 -0.7% 1.01x(?)
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer3 243098 239669 -1.4% 1.01x
MapReduceLazySequence 27852 27538 -1.1% 1.01x
ObjectiveCBridgeStubFromNSStringRef 206 204 -1.0% 1.01x(?)
ExistentialTestArrayMutating_IntValueBuffer2 111062 109762 -1.2% 1.01x
ObjectiveCBridgeStubFromArrayOfNSString 31959 31787 -0.5% 1.01x(?)
MapReduceClass 41970 41533 -1.0% 1.01x
ExistentialTestTwoMethodCalls_IntValueBuffer4 110330 109467 -0.8% 1.01x
ExistentialTestTwoMethodCalls_IntValueBuffer2 83652 82685 -1.2% 1.01x
ArraySubscript 4221 4224 +0.1% 1.00x(?)
SetExclusiveOr_OfObjects 41190 41223 +0.1% 1.00x
DictionarySwapOfObjects 19627 19584 -0.2% 1.00x(?)
MapReduceShortString 237 236 -0.4% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer3 855997 859947 +0.5% 1.00x
RecursiveOwnedParameter 9429 9414 -0.2% 1.00x
Integrate 395 395 +0.0% 1.00x
ExistentialTestArrayShift_IntValueBuffer4 176850 176203 -0.4% 1.00x(?)
ExistentialTestArrayShift_IntValueBuffer2 178361 178161 -0.1% 1.00x(?)
ClassArrayGetter 1028 1031 +0.3% 1.00x
Array2D 605311 605127 -0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer4 237112 238045 +0.4% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer3 262900 262678 -0.1% 1.00x
SortStrings 2653 2652 -0.0% 1.00x(?)
DictionaryBridge 2751 2740 -0.4% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer3 806066 806310 +0.0% 1.00x(?)
ArrayAppendAscii 83104 83356 +0.3% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer0 127787 127605 -0.1% 1.00x(?)
ExistentialTestArrayOneMethodCall_IntValueBuffer2 128174 128086 -0.1% 1.00x
ExistentialTestArrayOneMethodCall_IntValueBuffer3 128448 128502 +0.0% 1.00x(?)
StringWithCString 343345 343497 +0.0% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectForced 8260 8224 -0.4% 1.00x(?)
Prims 8898 8884 -0.2% 1.00x(?)
ArrayAppendToFromGeneric 655 655 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_ClassValueBuffer2 647396 647466 +0.0% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer1 504758 504726 -0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer2 133428 133170 -0.2% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer0 132761 132783 +0.0% 1.00x(?)
ExistentialTestArrayTwoMethodCalls_IntValueBuffer1 133136 133042 -0.1% 1.00x(?)
Dictionary3OfObjects 2301 2295 -0.3% 1.00x
ExistentialTestArrayConditionalShift_ClassValueBuffer2 384296 383202 -0.3% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer0 288415 288299 -0.0% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer4 359356 358428 -0.3% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer2 288957 288766 -0.1% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer3 289945 289678 -0.1% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer4 315787 315283 -0.2% 1.00x(?)
MapReduceLazyCollectionShort 43084 43086 +0.0% 1.00x(?)
ByteSwap 10 10 +0.0% 1.00x
ArrayAppendLazyMap 222962 223558 +0.3% 1.00x
ArrayPlusEqualFiveElementCollection 268094 268122 +0.0% 1.00x(?)
XorLoop 22807 22808 +0.0% 1.00x(?)
ObserverClosure 6664 6647 -0.3% 1.00x
CharacterLiteralsSmall 1030 1030 +0.0% 1.00x
ExistentialTestArrayConditionalShift_IntValueBuffer1 290141 289915 -0.1% 1.00x(?)
ObjectiveCBridgeStubToNSString 1543 1543 +0.0% 1.00x
ArrayPlusEqualSingleElementCollection 263891 265027 +0.4% 1.00x(?)
ArrayAppendStrings 13741 13795 +0.4% 1.00x(?)
Walsh 11893 11948 +0.5% 1.00x
StaticArray 4558 4557 -0.0% 1.00x(?)
ObjectAllocation 634 631 -0.5% 1.00x
StringHasSuffixUnicode 63349 63100 -0.4% 1.00x
ExistentialTestArrayShift_IntValueBuffer3 179599 179295 -0.2% 1.00x
AngryPhonebook 3086 3084 -0.1% 1.00x(?)
ArrayAppendLatin1 103664 103152 -0.5% 1.00x
CStringLongAscii 17028 17043 +0.1% 1.00x(?)
ExistentialTestArrayConditionalShift_ClassValueBuffer1 344434 343850 -0.2% 1.00x(?)
Dictionary3 1445 1440 -0.3% 1.00x(?)
Dictionary2 3820 3839 +0.5% 1.00x(?)
SetIntersect_OfObjects 11205 11154 -0.5% 1.00x
Join 1328 1332 +0.3% 1.00x(?)
ObserverUnappliedMethod 8450 8462 +0.1% 1.00x(?)
ObjectiveCBridgeToNSArray 29362 29380 +0.1% 1.00x(?)
SetIsSubsetOf 1627 1625 -0.1% 1.00x
ObjectiveCBridgeStubToNSDateRef 3428 3429 +0.0% 1.00x(?)
PopFrontArrayGeneric 8175 8157 -0.2% 1.00x
ExistentialTestMutating_IntValueBuffer2 161653 161152 -0.3% 1.00x
MapReduceAnyCollectionShort 46811 46999 +0.4% 1.00x(?)
ObjectiveCBridgeStubToNSStringRef 149 149 +0.0% 1.00x
ExistentialTestMutatingAndNonMutating_IntValueBuffer1 143778 143985 +0.1% 1.00x
290 94151316 93771090 -0.4% 1.00x
MapReduceSequence 41028 41184 +0.4% 1.00x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer4 256529 256566 +0.0% 1.00x(?)
IterateData 11091 11126 +0.3% 1.00x
ArrayOfGenericPOD 3074 3069 -0.2% 1.00x(?)
DictionaryRemoveOfObjects 52834 52743 -0.2% 1.00x(?)
UTF8Decode 37021 36996 -0.1% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer1 1321876 1322667 +0.1% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer3 2227444 2227624 +0.0% 1.00x(?)
LazilyFilteredArrays 2713336 2719183 +0.2% 1.00x(?)
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer4 1959364 1968062 +0.4% 1.00x
ArrayPlusEqualArrayOfInt 654 654 +0.0% 1.00x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 101141 100722 -0.4% 1.00x(?)
SetUnion_OfObjects 29875 29874 -0.0% 1.00x(?)
ExistentialTestArrayShift_ClassValueBuffer2 178283 178109 -0.1% 1.00x
ExistentialTestArrayShift_ClassValueBuffer3 179637 179379 -0.1% 1.00x
ExistentialTestArrayShift_ClassValueBuffer1 189691 189756 +0.0% 1.00x(?)
ObjectiveCBridgeStubToArrayOfNSString 28211 28229 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObject 26125 26197 +0.3% 1.00x(?)
ProtocolDispatch2 492 493 +0.2% 1.00x
ExistentialTestMutating_ClassValueBuffer4 248829 249991 +0.5% 1.00x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer2 232189 232344 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectToString 86697 86487 -0.2% 1.00x(?)
ObjectiveCBridgeStubNSDateRefAccess 1205 1207 +0.2% 1.00x(?)
ArrayInClass 4551 4559 +0.2% 1.00x(?)
ObjectiveCBridgeFromNSString 4061 4075 +0.3% 1.00x(?)
PolymorphicCalls 788 788 +0.0% 1.00x
Sim2DArray 29619 29627 +0.0% 1.00x
MapReduceClassShort 51107 51097 -0.0% 1.00x(?)
ExistentialTestTwoMethodCalls_ClassValueBuffer1 553865 553710 -0.0% 1.00x(?)
MonteCarloPi 53640 53699 +0.1% 1.00x
ExistentialTestArrayOneMethodCall_ClassValueBuffer4 176396 176436 +0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer1 159064 159043 -0.0% 1.00x(?)
ExistentialTestArrayOneMethodCall_ClassValueBuffer2 177518 177542 +0.0% 1.00x(?)
ExistentialTestMutatingAndNonMutating_ClassValueBuffer4 673701 674641 +0.1% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
ArrayAppendToGeneric 657 657 +0.0% 1.00x
SetIsSubsetOf_OfObjects 1591 1595 +0.2% 1.00x
DictionaryRemove 18888 18843 -0.2% 1.00x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer3 287755 288368 +0.2% 1.00x
LinkedList 33240 33229 -0.0% 1.00x
ArrayAppendFromGeneric 656 658 +0.3% 1.00x
StringMatch 87585 87802 +0.2% 1.00x(?)
RGBHistogramOfObjects 85826 85838 +0.0% 1.00x(?)
ArrayLiteral 1472 1473 +0.1% 1.00x
NSStringConversion 1335 1336 +0.1% 1.00x(?)
ObjectiveCBridgeFromNSSetAnyObjectForced 7254 7227 -0.4% 1.00x
ArrayAppendArrayOfInt 656 655 -0.1% 1.00x
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer4 983293 983043 -0.0% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer3 1260714 1259406 -0.1% 1.00x(?)
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer2 1002489 999580 -0.3% 1.00x
ExistentialTestPassExistentialOneMethodCall_ClassValueBuffer1 697053 694530 -0.4% 1.00x
MapReduceLazyCollection 32644 32623 -0.1% 1.00x(?)
StringBuilder 2861 2854 -0.2% 1.00x(?)
CStringLongNonAscii 4492 4509 +0.4% 1.00x(?)
DeadArray 123683 124196 +0.4% 1.00x(?)
ArrayValueProp2 3628 3622 -0.2% 1.00x(?)
SevenBoom 1598 1601 +0.2% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer1 220097 220088 -0.0% 1.00x(?)
SetExclusiveOr 20764 20859 +0.5% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer3 375583 375804 +0.1% 1.00x(?)
ExistentialTestOneMethodCall_ClassValueBuffer2 300051 300102 +0.0% 1.00x(?)
DropLastCountableRange 143 143 +0.0% 1.00x
SuffixSequence 40859 40676 -0.5% 1.00x
ArrayValueProp4 3308 3309 +0.0% 1.00x(?)
StringWalk 21360 21254 -0.5% 1.00x(?)
ArrayValueProp 3005 3006 +0.0% 1.00x(?)
Memset 44516 44566 +0.1% 1.00x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer2 219781 218822 -0.4% 1.00x
ArrayValueProp3 3396 3391 -0.1% 1.00x(?)
ObserverPartiallyAppliedMethod 8102 8123 +0.3% 1.00x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 46990 47332 +0.7% 0.99x(?)
StringEdits 866291 877014 +1.2% 0.99x(?)
ObjectiveCBridgeStubFromNSDateRef 3967 3990 +0.6% 0.99x
ObjectiveCBridgeFromNSStringForced 2794 2826 +1.1% 0.99x(?)
SortLettersInPlace 2707 2721 +0.5% 0.99x
ReversedDictionary 25259 25472 +0.8% 0.99x
ArrayAppendGenericStructs 1305 1321 +1.2% 0.99x(?)
SuperChars 282367 284780 +0.8% 0.99x
StringInterpolation 14793 14928 +0.9% 0.99x
ProtocolDispatch 6944 7019 +1.1% 0.99x
CharacterLiteralsLarge 13884 14084 +1.4% 0.99x
StrComplexWalk 8567 8613 +0.5% 0.99x
ObjectiveCBridgeStubURLAppendPathRef 231185 233116 +0.8% 0.99x(?)
ArrayAppendOptionals 1298 1306 +0.6% 0.99x
NSError 716 722 +0.8% 0.99x(?)
StringEqualPointerComparison 9638 9728 +0.9% 0.99x(?)
ExistentialTestMutatingAndNonMutating_IntValueBuffer2 214125 215956 +0.9% 0.99x
MapReduce 36545 36864 +0.9% 0.99x(?)
MapReduceShort 47261 47860 +1.3% 0.99x(?)
Hanoi 16776 16883 +0.6% 0.99x
SortStringsUnicode 8786 8860 +0.8% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_ClassValueBuffer2 1752025 1761213 +0.5% 0.99x
Dictionary 1850 1862 +0.7% 0.99x
CStringShortAscii 9067 9123 +0.6% 0.99x(?)
ArrayAppendRepeatCol 204187 205480 +0.6% 0.99x
ExistentialTestTwoMethodCalls_ClassValueBuffer4 862535 867190 +0.5% 0.99x
HashTest 6018 6056 +0.6% 0.99x
ReversedBidirectional 143166 143958 +0.6% 0.99x(?)
RGBHistogram 31632 31890 +0.8% 0.99x(?)
SetUnion 11681 11752 +0.6% 0.99x
AnyHashableWithAClass 84524 84966 +0.5% 0.99x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer4 382546 386108 +0.9% 0.99x
Dictionary2OfObjects 6203 6237 +0.6% 0.99x(?)
TwoSum 4671 4724 +1.1% 0.99x
ObjectiveCBridgeStubFromNSDate 3930 3972 +1.1% 0.99x(?)
PopFrontArray 10847 11025 +1.6% 0.98x
ExistentialTestArrayTwoMethodCalls_ClassValueBuffer1 202183 205762 +1.8% 0.98x(?)
MapReduceString 2268 2313 +2.0% 0.98x(?)
ExistentialTestMutating_IntValueBuffer1 97079 98835 +1.8% 0.98x
ExistentialTestMutatingAndNonMutating_IntValueBuffer4 413919 420854 +1.7% 0.98x
ExistentialTestMutatingAndNonMutating_IntValueBuffer0 86380 88311 +2.2% 0.98x
DictionaryLiteral 13453 13752 +2.2% 0.98x(?)
NopDeinit 46728 47714 +2.1% 0.98x
ExistentialTestMutating_ClassValueBuffer3 217310 220715 +1.6% 0.98x
ExistentialTestMutating_ClassValueBuffer1 215832 220374 +2.1% 0.98x
Phonebook 21894 22427 +2.4% 0.98x
ExistentialTestTwoMethodCalls_ClassValueBuffer2 695403 708417 +1.9% 0.98x
Calculator 1086 1108 +2.0% 0.98x
StringHasPrefixUnicode 15374 15763 +2.5% 0.98x
ReversedArray 591 602 +1.9% 0.98x
ObserverForwarderStruct 4721 4810 +1.9% 0.98x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7262 7484 +3.1% 0.97x(?)
DropLastArray 2106 2165 +2.8% 0.97x
ObjectiveCBridgeStubDataAppend 3863 3970 +2.8% 0.97x(?)
StrToInt 7402 7617 +2.9% 0.97x
CaptureProp 98923 101900 +3.0% 0.97x
BitCount 99 102 +3.0% 0.97x
ExistentialTestOneMethodCall_ClassValueBuffer4 358041 368558 +2.9% 0.97x
SuffixArray 2103 2178 +3.6% 0.97x
ObjectiveCBridgeStubNSDataAppend 2646 2723 +2.9% 0.97x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 104439 108991 +4.4% 0.96x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 77022 80467 +4.5% 0.96x(?)
ObjectiveCBridgeStubToNSDate 14898 15601 +4.7% 0.95x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer2 125957 132840 +5.5% 0.95x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer3 129834 136541 +5.2% 0.95x
ExistentialTestPassExistentialOneMethodCall_IntValueBuffer1 129276 136727 +5.8% 0.95x
ExistentialTestArrayShift_ClassValueBuffer4 176852 187143 +5.8% 0.95x(?)
ArrayAppendSequence 71740 75503 +5.2% 0.95x
ExistentialTestPassExistentialTwoMethodCalls_IntValueBuffer0 190402 201159 +5.7% 0.95x
ArrayAppendReserved 3350 3542 +5.7% 0.95x(?)
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i5 Processor Speed: 2.8 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 3 MB Memory: 16 GB

…nstructions in SIL.

This is useful for optimizations (like AllocBoxToStack) which create (de-)alloc_stack instructions.
They can just insert the new instructions anywhere without worrying about nesting and correct the nesting afterwards.
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

Instead of inserting all alloc_stack/dealloc_stack instructions at the begin/end of the function, insert them at the actual lifetime boundaries.

rdar://problem/16723128
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

1 similar comment
@eeckstein
Copy link
Contributor Author

@swift-ci Please smoke test and merge

@swift-ci swift-ci merged commit 18c711a into swiftlang:master Mar 30, 2017
@eeckstein eeckstein deleted the box2stack branch March 30, 2017 16:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants