Skip to content

Re-apply thunk generic signature optimization #4913

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

Conversation

slavapestov
Copy link
Contributor

@slavapestov slavapestov commented Sep 22, 2016

Tests are still WIP.

@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please benchmark

@slavapestov
Copy link
Contributor Author

@swiftix and @eeckstein, do the optimizer fixes look reasonable?

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - b94debde338180c5ad2c0ac6942ea53eaf1a140c
Test requested by - @slavapestov

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test Linux Platform
Git Commit - b94debde338180c5ad2c0ac6942ea53eaf1a140c
Test requested by - @slavapestov

@swift-ci
Copy link
Contributor

Build comment file:


slavapestov and others added 3 commits September 21, 2016 23:25
We weren't clearing the worklist flags if returning true here. Oops!

This would manifest as alias analysis returning different results
for the same operands over time, which confused ARC code motion
into dropping release instructions.
…phole

- We were bailing out if the partial_apply's substitutions
  contained archetypes, but there was no inherent reason
  to do this. After fixing an issue with opened existential
  tracking, this started to work.

- We were also bailing out if the callee was not a static
  function_ref. Again, there's no reason to do this, because
  we also emit partial_apply to form closures from
  class_method and witness_method calls.

- There was a bug in the code for extending lifetimes of
  @in parameters. Even if a parameter was an input parameter
  to the method and not an alloc_stack, we have to copy
  it into a new alloc_stack, because there might be
  multiple invocations of an apply for a single partial_apply.

- There was also a bug where we would proceed to apply the
  peephole to @unowned_inner_pointer functions, which is wrong.
  IRGen's lowering of partial_apply has special handling there
  and the resulting function type has an @owned result.
…ric signature if necessary"

The commit was reverted because of a regression in the
Prototypes/CollectionTransformers test. I believe the root
cause was an escape analysis bug, which is fixed in my
previous commit.
@slavapestov slavapestov force-pushed the reapply-thunk-generic-signature branch from b94debd to c65c1b5 Compare September 22, 2016 06:42
@slavapestov
Copy link
Contributor Author

@swift-ci Please test

@slavapestov
Copy link
Contributor Author

@swift-ci Please benchmark

@swift-ci
Copy link
Contributor

Build comment file:

Optimized (O)

Regression (0)

Improvement (3)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
AnyHashableWithAClass 66759 62432 -6.5% 1.07x
ObjectiveCBridgeStubToNSDateRef 3472 3242 -6.6% 1.07x
Calculator 37 34 -8.1% 1.09x

No Changes (133)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSArrayAnyObjectToString 127910 121532 -5.0% 1.05x(?)
ObjectiveCBridgeStubFromNSString 832 794 -4.6% 1.05x
ObjectiveCBridgeFromNSArrayAnyObject 79223 75644 -4.5% 1.05x(?)
ObjectiveCBridgeStubFromArrayOfNSString 60741 57786 -4.9% 1.05x
ObjectiveCBridgeFromNSStringForced 2773 2661 -4.0% 1.04x(?)
StrToInt 5340 5132 -3.9% 1.04x
StackPromo 21514 20967 -2.5% 1.03x(?)
Histogram 655 636 -2.9% 1.03x(?)
SortStrings 1850 1793 -3.1% 1.03x
ObjectiveCBridgeFromNSArrayAnyObjectForced 6274 6088 -3.0% 1.03x(?)
ObjectiveCBridgeStubFromNSStringRef 138 134 -2.9% 1.03x
HashTest 1752 1707 -2.6% 1.03x(?)
Dictionary2 2092 2025 -3.2% 1.03x
DictionaryRemoveOfObjects 19692 19122 -2.9% 1.03x
ObjectiveCBridgeStubURLAppendPath 238155 232093 -2.5% 1.03x
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 140581 135847 -3.4% 1.03x(?)
DictionaryRemove 4696 4546 -3.2% 1.03x(?)
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 111662 108591 -2.8% 1.03x(?)
SevenBoom 1352 1317 -2.6% 1.03x
TwoSum 1600 1554 -2.9% 1.03x
135 3068448 2995158 -2.4% 1.02x
DictionaryBridge 3958 3871 -2.2% 1.02x(?)
Join 457 448 -2.0% 1.02x
ObjectiveCBridgeFromNSSetAnyObject 271507 267426 -1.5% 1.02x(?)
ArrayLiteral 1174 1150 -2.0% 1.02x(?)
ObjectiveCBridgeStubDateMutation 273 268 -1.8% 1.02x
OpenClose 54 53 -1.9% 1.02x
SortStringsUnicode 8443 8290 -1.8% 1.02x
ArrayOfGenericRef 3634 3565 -1.9% 1.02x
SetUnion_OfObjects 6322 6213 -1.7% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectForced 4643 4552 -2.0% 1.02x
Chars 641 629 -1.9% 1.02x
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 95382 93071 -2.4% 1.02x(?)
ObjectiveCBridgeFromNSDictionaryAnyObject 207302 205315 -1.0% 1.01x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 5226 5164 -1.2% 1.01x(?)
ObjectiveCBridgeStubFromNSDateRef 3708 3684 -0.7% 1.01x
PopFrontArray 1104 1092 -1.1% 1.01x(?)
StrComplexWalk 2888 2857 -1.1% 1.01x(?)
StringInterpolation 11254 11157 -0.9% 1.01x(?)
StringHasSuffix 766 760 -0.8% 1.01x(?)
ProtocolDispatch 3046 3030 -0.5% 1.01x(?)
ArrayOfRef 3549 3523 -0.7% 1.01x(?)
ObjectiveCBridgeToNSSet 16335 16181 -0.9% 1.01x(?)
NSError 315 313 -0.6% 1.01x(?)
PopFrontArrayGeneric 1111 1101 -0.9% 1.01x
PopFrontUnsafePointer 8876 8827 -0.6% 1.01x
CaptureProp 4558 4530 -0.6% 1.01x
MapReduce 344 342 -0.6% 1.01x(?)
ArrayOfGenericPOD 213 211 -0.9% 1.01x
Dictionary 761 752 -1.2% 1.01x(?)
ObjectiveCBridgeStubToArrayOfNSString 30247 29926 -1.1% 1.01x(?)
NSDictionaryCastToSwift 6925 6861 -0.9% 1.01x(?)
Phonebook 7559 7464 -1.3% 1.01x
Sim2DArray 281 277 -1.4% 1.01x
SetExclusiveOr_OfObjects 7730 7645 -1.1% 1.01x
ObjectiveCBridgeFromNSSetAnyObjectToString 150703 149639 -0.7% 1.01x(?)
SetUnion 2894 2858 -1.2% 1.01x
DeadArray 192 190 -1.0% 1.01x
ObjectiveCBridgeStubNSDataAppend 2463 2444 -0.8% 1.01x(?)
ObjectiveCBridgeToNSString 1072 1067 -0.5% 1.00x
ObjectiveCBridgeStubToNSString 1250 1249 -0.1% 1.00x(?)
ClassArrayGetter 13 13 +0.0% 1.00x
MonteCarloPi 42500 42522 +0.1% 1.00x(?)
StringWithCString 142301 142505 +0.1% 1.00x(?)
Prims 701 698 -0.4% 1.00x(?)
SortLettersInPlace 971 971 +0.0% 1.00x
DictionarySwap 611 610 -0.2% 1.00x(?)
Dictionary3OfObjects 858 854 -0.5% 1.00x(?)
RangeAssignment 284 285 +0.3% 1.00x(?)
ByteSwap 0 0 +0.0% 1.00x
SuperChars 200355 200410 +0.0% 1.00x(?)
Integrate 240 240 +0.0% 1.00x
TypeFlood 0 0 +0.0% 1.00x
ProtocolDispatch2 162 162 +0.0% 1.00x
Dictionary3 508 510 +0.4% 1.00x(?)
StringHasPrefix 608 608 +0.0% 1.00x
ErrorHandling 2966 2956 -0.3% 1.00x(?)
ObjectiveCBridgeStubURLAppendPathRef 243073 243005 -0.0% 1.00x(?)
DictionaryOfObjects 2288 2290 +0.1% 1.00x(?)
StringEqualPointerComparison 7366 7393 +0.4% 1.00x
PolymorphicCalls 21 21 +0.0% 1.00x
RC4 165 165 +0.0% 1.00x
ObjectiveCBridgeStubToNSStringRef 119 119 +0.0% 1.00x
DictionaryLiteral 2745 2744 -0.0% 1.00x(?)
Hanoi 3596 3600 +0.1% 1.00x(?)
UTF8Decode 281 281 +0.0% 1.00x
SetIsSubsetOf 476 476 +0.0% 1.00x
SetIntersect 1040 1039 -0.1% 1.00x(?)
ObjectiveCBridgeStubDataAppend 2997 3001 +0.1% 1.00x(?)
SetExclusiveOr 2551 2557 +0.2% 1.00x(?)
RGBHistogramOfObjects 21341 21424 +0.4% 1.00x(?)
StringBuilder 1318 1321 +0.2% 1.00x
ObjectiveCBridgeStubDateAccess 182 182 +0.0% 1.00x
MonteCarloE 9966 9975 +0.1% 1.00x(?)
StringHasSuffixUnicode 62907 63003 +0.1% 1.00x(?)
SetIsSubsetOf_OfObjects 486 486 +0.0% 1.00x
ArrayAppend 749 749 +0.0% 1.00x
LinkedList 6828 6812 -0.2% 1.00x(?)
NSStringConversion 809 806 -0.4% 1.00x(?)
RGBHistogram 2809 2806 -0.1% 1.00x(?)
ArrayAppendReserved 523 521 -0.4% 1.00x(?)
ArrayOfPOD 176 176 +0.0% 1.00x
BitCount 1 1 +0.0% 1.00x
AngryPhonebook 2883 2888 +0.2% 1.00x(?)
StringWalk 5617 5614 -0.1% 1.00x(?)
ArrayValueProp 5 5 +0.0% 1.00x
GlobalClass 0 0 +0.0% 1.00x
Memset 222 223 +0.5% 1.00x
ArrayValueProp4 5 5 +0.0% 1.00x
ArrayValueProp2 5 5 +0.0% 1.00x
ArrayValueProp3 5 5 +0.0% 1.00x
ArraySubscript 1372 1392 +1.5% 0.99x
RecursiveOwnedParameter 1878 1889 +0.6% 0.99x(?)
Array2D 2081 2095 +0.7% 0.99x(?)
StaticArray 2749 2768 +0.7% 0.99x(?)
ObjectAllocation 151 152 +0.7% 0.99x(?)
SetIntersect_OfObjects 2039 2058 +0.9% 0.99x(?)
ObjectiveCBridgeStubNSDateRefAccess 339 341 +0.6% 0.99x(?)
StringHasPrefixUnicode 13587 13766 +1.3% 0.99x(?)
ObjectiveCBridgeStubNSDateMutationRef 12030 12091 +0.5% 0.99x(?)
Dictionary2OfObjects 3417 3445 +0.8% 0.99x
DictionarySwapOfObjects 6548 6690 +2.2% 0.98x(?)
IterateData 2472 2524 +2.1% 0.98x(?)
Walsh 312 320 +2.6% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 213667 221077 +3.5% 0.97x(?)
XorLoop 369 380 +3.0% 0.97x
ObjectiveCBridgeToNSArray 30760 31865 +3.6% 0.97x
NopDeinit 36792 37952 +3.1% 0.97x
ArrayInClass 65 67 +3.1% 0.97x
ObjectiveCBridgeToNSDictionary 16314 16787 +2.9% 0.97x(?)
ObjectiveCBridgeStubToNSDate 13094 13639 +4.2% 0.96x(?)
ObjectiveCBridgeStubFromNSDate 3591 3725 +3.7% 0.96x
ObjectiveCBridgeFromNSString 1792 1883 +5.1% 0.95x
**Unoptimized (Onone)**

Regression (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
StringHasSuffix 1520 1775 +16.8% 0.86x
ArrayOfPOD 2324 2509 +8.0% 0.93x
StackPromo 126170 133930 +6.2% 0.94x(?)
ArrayAppend 3341 3555 +6.4% 0.94x

Improvement (4)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ArrayInClass 3952 3736 -5.5% 1.06x
ProtocolDispatch 6049 5566 -8.0% 1.09x
ObjectiveCBridgeStubDateMutation 523 469 -10.3% 1.12x
TypeFlood 219 173 -21.0% 1.27x(?)

No Changes (128)

TEST OLD_MIN NEW_MIN DELTA (%) SPEEDUP
ObjectiveCBridgeFromNSString 5339 5109 -4.3% 1.05x
Chars 5420 5182 -4.4% 1.05x
Array2D 811217 787232 -3.0% 1.03x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 7860 7615 -3.1% 1.03x(?)
ObjectiveCBridgeStubToNSDate 14582 14136 -3.1% 1.03x(?)
Join 1457 1417 -2.8% 1.03x
ObjectiveCBridgeFromNSSetAnyObjectForced 7589 7374 -2.8% 1.03x(?)
ObjectiveCBridgeStubFromNSDate 3884 3786 -2.5% 1.03x
ClassArrayGetter 1289 1264 -1.9% 1.02x
Dictionary3 1602 1572 -1.9% 1.02x(?)
StringHasPrefix 1721 1681 -2.3% 1.02x(?)
StringInterpolation 15890 15636 -1.6% 1.02x(?)
HashTest 5333 5252 -1.5% 1.02x(?)
DictionarySwapOfObjects 21457 21025 -2.0% 1.02x
MonteCarloE 104922 102778 -2.0% 1.02x
DictionaryRemove 17517 17126 -2.2% 1.02x
ObjectiveCBridgeFromNSSetAnyObjectToStringForced 120845 118281 -2.1% 1.02x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToStringForced 95958 93655 -2.4% 1.02x(?)
RecursiveOwnedParameter 10419 10289 -1.2% 1.01x(?)
ArrayOfGenericPOD 3559 3519 -1.1% 1.01x
ObjectiveCBridgeFromNSStringForced 3115 3097 -0.6% 1.01x(?)
PopFrontArray 24309 24175 -0.6% 1.01x(?)
Dictionary3OfObjects 2203 2189 -0.6% 1.01x(?)
ErrorHandling 3864 3819 -1.2% 1.01x(?)
NSError 676 670 -0.9% 1.01x(?)
MapReduce 43797 43450 -0.8% 1.01x
IterateData 10610 10525 -0.8% 1.01x
DictionaryLiteral 16826 16671 -0.9% 1.01x
ObjectiveCBridgeFromNSArrayAnyObject 81067 80077 -1.2% 1.01x(?)
ObjectiveCBridgeStubDataAppend 3465 3447 -0.5% 1.01x(?)
ObjectiveCBridgeStubNSDateRefAccess 1277 1259 -1.4% 1.01x
Phonebook 63723 63317 -0.6% 1.01x(?)
ArrayLiteral 1229 1215 -1.1% 1.01x(?)
NSStringConversion 2996 2976 -0.7% 1.01x(?)
ObjectiveCBridgeStubNSDateMutationRef 14785 14624 -1.1% 1.01x(?)
ObjectiveCBridgeToNSString 1099 1103 +0.4% 1.00x(?)
MonteCarloPi 50521 50631 +0.2% 1.00x(?)
Integrate 366 366 +0.0% 1.00x
SortStrings 2756 2753 -0.1% 1.00x(?)
Prims 13160 13134 -0.2% 1.00x(?)
RangeAssignment 26913 26867 -0.2% 1.00x(?)
ByteSwap 9 9 +0.0% 1.00x
SuperChars 254105 255195 +0.4% 1.00x(?)
XorLoop 18884 18893 +0.1% 1.00x(?)
ObjectAllocation 581 579 -0.3% 1.00x(?)
StringHasSuffixUnicode 64663 64808 +0.2% 1.00x(?)
ProtocolDispatch2 441 443 +0.5% 1.00x
Dictionary2 4444 4439 -0.1% 1.00x(?)
ArrayOfRef 9372 9412 +0.4% 1.00x
Hanoi 19636 19631 -0.0% 1.00x(?)
DictionaryRemoveOfObjects 45780 45864 +0.2% 1.00x(?)
UTF8Decode 41028 41219 +0.5% 1.00x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToStringForced 140384 140293 -0.1% 1.00x(?)
Dictionary 2143 2134 -0.4% 1.00x
SetExclusiveOr 29235 29282 +0.2% 1.00x(?)
SetExclusiveOr_OfObjects 45174 45277 +0.2% 1.00x(?)
SetUnion_OfObjects 33451 33367 -0.2% 1.00x
LinkedList 26375 26469 +0.4% 1.00x(?)
ArrayValueProp4 3002 3005 +0.1% 1.00x
SetUnion 17866 17821 -0.2% 1.00x(?)
DeadArray 121721 121676 -0.0% 1.00x(?)
ArrayValueProp2 3134 3143 +0.3% 1.00x(?)
AngryPhonebook 2988 2997 +0.3% 1.00x(?)
SevenBoom 1475 1470 -0.3% 1.00x(?)
ArrayValueProp 2544 2535 -0.3% 1.00x(?)
GlobalClass 0 0 +0.0% 1.00x
Memset 19805 19816 +0.1% 1.00x
Dictionary2OfObjects 6254 6239 -0.2% 1.00x(?)
ArrayValueProp3 3068 3058 -0.3% 1.00x
ArraySubscript 5546 5624 +1.4% 0.99x
135 5571598 5613267 +0.8% 0.99x
ObjectiveCBridgeStubFromNSDateRef 4136 4193 +1.4% 0.99x(?)
SortLettersInPlace 2490 2503 +0.5% 0.99x(?)
ObjectiveCBridgeStubFromNSStringRef 170 172 +1.2% 0.99x
StaticArray 35315 35550 +0.7% 0.99x(?)
AnyHashableWithAClass 76466 77323 +1.1% 0.99x
StrComplexWalk 7524 7609 +1.1% 0.99x
SetIntersect_OfObjects 13925 14107 +1.3% 0.99x
ObjectiveCBridgeStubURLAppendPathRef 242326 244387 +0.8% 0.99x(?)
PopFrontArrayGeneric 9575 9627 +0.5% 0.99x(?)
StringEqualPointerComparison 9505 9572 +0.7% 0.99x(?)
CaptureProp 118518 119727 +1.0% 0.99x(?)
PolymorphicCalls 1163 1170 +0.6% 0.99x
Calculator 905 910 +0.6% 0.99x(?)
ObjectiveCBridgeStubURLAppendPath 234868 237726 +1.2% 0.99x(?)
SortStringsUnicode 9294 9392 +1.1% 0.99x
ObjectiveCBridgeStubToArrayOfNSString 29387 29551 +0.6% 0.99x(?)
SetIntersect 14725 14810 +0.6% 0.99x(?)
NSDictionaryCastToSwift 8061 8137 +0.9% 0.99x(?)
RGBHistogramOfObjects 90913 91690 +0.8% 0.99x(?)
StringBuilder 2796 2820 +0.9% 0.99x(?)
ArrayOfGenericRef 9993 10068 +0.8% 0.99x(?)
Sim2DArray 14482 14582 +0.7% 0.99x(?)
RC4 9321 9376 +0.6% 0.99x(?)
SetIsSubsetOf_OfObjects 2157 2185 +1.3% 0.99x(?)
StringHasPrefixUnicode 15302 15429 +0.8% 0.99x(?)
RGBHistogram 42980 43309 +0.8% 0.99x(?)
StrToInt 5268 5331 +1.2% 0.99x
TwoSum 6388 6461 +1.1% 0.99x(?)
ObjectiveCBridgeStubNSDataAppend 2874 2909 +1.2% 0.99x(?)
ObjectiveCBridgeFromNSDictionaryAnyObjectToString 219818 224682 +2.2% 0.98x(?)
Histogram 11495 11732 +2.1% 0.98x(?)
StringWithCString 151316 154610 +2.2% 0.98x(?)
DictionarySwap 7409 7587 +2.4% 0.98x(?)
ObjectiveCBridgeStubFromNSString 814 834 +2.5% 0.98x(?)
ObjectiveCBridgeStubToNSDateRef 3271 3334 +1.9% 0.98x
PopFrontUnsafePointer 252139 258438 +2.5% 0.98x(?)
ObjectiveCBridgeStubToNSStringRef 161 164 +1.9% 0.98x
Walsh 12653 12856 +1.6% 0.98x
ObjectiveCBridgeFromNSDictionaryAnyObject 208019 214154 +3.0% 0.97x(?)
ObjectiveCBridgeFromNSArrayAnyObjectToString 124871 128145 +2.6% 0.97x(?)
DictionaryBridge 3890 4023 +3.4% 0.97x(?)
ObjectiveCBridgeStubToNSString 1292 1336 +3.4% 0.97x
ObjectiveCBridgeFromNSSetAnyObject 269826 278934 +3.4% 0.97x(?)
DictionaryOfObjects 4720 4887 +3.5% 0.97x
OpenClose 453 467 +3.1% 0.97x
SetIsSubsetOf 2383 2449 +2.8% 0.97x(?)
ObjectiveCBridgeStubDateAccess 1100 1130 +2.7% 0.97x
ObjectiveCBridgeToNSSet 16322 16811 +3.0% 0.97x
ObjectiveCBridgeFromNSSetAnyObjectToString 158493 163765 +3.3% 0.97x(?)
BitCount 96 99 +3.1% 0.97x
StringWalk 20804 21371 +2.7% 0.97x(?)
ObjectiveCBridgeToNSArray 29673 30917 +4.2% 0.96x(?)
ObjectiveCBridgeStubFromArrayOfNSString 59022 61477 +4.2% 0.96x(?)
ArrayAppendReserved 3196 3332 +4.3% 0.96x
ObjectiveCBridgeFromNSArrayAnyObjectForced 10422 10929 +4.9% 0.95x(?)
NopDeinit 59838 62986 +5.3% 0.95x
ObjectiveCBridgeToNSDictionary 16307 17159 +5.2% 0.95x
**Hardware Overview** Model Name: Mac mini Model Identifier: Macmini7,1 Processor Name: Intel Core i7 Processor Speed: 3 GHz Number of Processors: 1 Total Number of Cores: 2 L2 Cache (per Core): 256 KB L3 Cache: 4 MB Memory: 16 GB

@swift-ci
Copy link
Contributor

Build failed
Jenkins build - Swift Test OS X Platform
Git Commit - c65c1b5
Test requested by - @slavapestov

@slavapestov
Copy link
Contributor Author

Test failure looks like a simulator issue:

/Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/SDKs/AppleTVSimulator10.0.sdk simctl spawn 'Apple TV 1080p'  /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/validation-test-appletvsimulator-x86_64/stdlib/Prototypes/Output/PersistentVector.swift.gyb.tmp/a.out
01:47:50 --
01:47:50 Exit Code: 133
01:47:50 
01:47:50 Command Output (stdout):
01:47:50 --
01:47:50 dyld: bad rebase type 0 in /Users/buildnode/jenkins/workspace/swift-PR-osx/branch-master/buildbot_incremental/swift-macosx-x86_64/validation-test-appletvsimulator-x86_64/stdlib/Prototypes/Output/PersistentVector.swift.gyb.tmp/a.out
01:47:50 Child process terminated with signal 5: Trace/BPT trap

@slavapestov
Copy link
Contributor Author

@swift-ci Please smoke test macOS

@slavapestov slavapestov merged commit 7c2bdd8 into swiftlang:master Sep 22, 2016
@eeckstein
Copy link
Contributor

EscapeAnalysis: good catch! LGTM. Thanks for fixing this!

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