Skip to content

[mandatory-combine] Add a canonicalization impl and prepare to use mandatory-combine to test ownership RAUW code #34968

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

gottesmm
Copy link
Contributor

@gottesmm gottesmm commented Dec 4, 2020

This PR contains a few changes I need to make to mandatory combiner so I can use it to test my ownership RAUW code. Specifically:

  1. I added a canonicalize instruction run to Mandatory Combiner.
  2. I added support in Mandatory Combiner so that if we are running on a function with opts, we eliminate trivially dead instructions. The original design of Mandatory Combiner was thinking about -Onone where we are going to tear down the module right after we run Mandatory Combiner (so it doesn't make sense to spend time deleting instructions). At -O we don't have that issue so we should clean up the IR.
  3. I made it so that in OSSA we treat as trivially dead instructions destroy_value, end_borrow with operands that have OwnershipKind::None. This can happen during SILOptimizatios as a result of offsetting ARC operation insertion combined with non-payloaded or trivial payloaded cases of non-trivial enums.

@gottesmm gottesmm requested a review from meg-gupta December 4, 2020 20:30
@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 4, 2020

@swift-ci test

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 4, 2020

preset=buildbot,tools=RA,stdlib=RD,test=non_executable
@swift-ci Please test with preset macOS

@swift-ci
Copy link
Contributor

swift-ci commented Dec 4, 2020

Build failed
Swift Test Linux Platform
Git Sha - 915c7a29797e40fdadf9babc01e083a26254758d

@swift-ci
Copy link
Contributor

swift-ci commented Dec 4, 2020

Build failed
Swift Test OS X Platform
Git Sha - 915c7a29797e40fdadf9babc01e083a26254758d

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 4, 2020

@swift-ci benchmark

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 4, 2020

The failure of macOS platform non-executable is known: https://ci.swift.org/job/oss-swift_tools-RA_stdlib-DA_test-device-non_executable/289/console

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

@swift-ci benchmark

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

@swift-ci test OS X platform

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

Looked at the Linux runtime failures. What is happening here is that they are testing non-uniqueness by just creating a local variable and we are cleaning it up = p. I am going to change the test to store into a global. That will be preserved and ensure non-uniqueness.

…y when compiling with opts.

When originally made, the thought behind mandatory combine was that at -Onone,
we are at the end of the pipeline so we are going to be destroying our module
anyways, so there is no reason to delete dead instructions.

We are also running it at -O, -Osize, so why not eliminate these instructions
when we prepare for sil optimizations! So I put in some conditional code that
causes us to delete trivial instructions as we set up our worklist and if one
pops off the worklist during traversal.

The reason why I am doing this is that I realized that I do not want to use
SILGenCleanup to test InstSimplify code. In fact, I do not want any of my RAUW
code to be emitted by SILGenCleanup since I don't want to disturb the codegen of
the early passes so I don't have to update a bunch of tests = (. So instead, I
am going to use mandatory combine for this purpose and doing this cleans up the
tests a little bit. It also will just eliminate a bunch of early unnecessary
code as well.
…ipKind::None are trivially dead, so make isInstructionTriviallyDead return true for those cases!
@gottesmm gottesmm force-pushed the pr-50e8ac8f699f7e3ef7096b4b56510ffc897669e5 branch from 915c7a2 to c6525fd Compare December 5, 2020 00:47
@swift-ci
Copy link
Contributor

swift-ci commented Dec 5, 2020

Performance: -O

Regression OLD NEW DELTA RATIO
LessSubstringSubstring 38 42 +10.5% 0.90x (?)
EqualSubstringSubstring 38 42 +10.5% 0.90x
EqualStringSubstring 39 43 +10.3% 0.91x (?)
EqualSubstringSubstringGenericEquatable 39 43 +10.3% 0.91x
SubstringComparable 12 13 +8.3% 0.92x
ObjectiveCBridgeStubToNSStringRef 113 122 +8.0% 0.93x (?)
StringWalk 2560 2760 +7.8% 0.93x
FloatingPointPrinting_Float_description_uniform 5200 5600 +7.7% 0.93x (?)
EqualSubstringString 39 42 +7.7% 0.93x (?)
LessSubstringSubstringGenericComparable 39 42 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
Data.init.Sequence.64kB.Count.I 58 39 -32.8% 1.49x
Data.init.Sequence.64kB.Count 58 39 -32.8% 1.49x
Data.init.Sequence.2047B.Count.I 102 73 -28.4% 1.40x
Data.init.Sequence.2049B.Count.I 102 73 -28.4% 1.40x
Data.init.Sequence.809B.Count 95 73 -23.2% 1.30x
Data.init.Sequence.809B.Count.I 95 73 -23.2% 1.30x
Data.init.Sequence.511B.Count.I 112 88 -21.4% 1.27x (?)
Data.init.Sequence.513B.Count.I 112 91 -18.7% 1.23x
String.data.Medium 128 108 -15.6% 1.19x (?)
String.data.Small 48 43 -10.4% 1.12x (?)
String.data.LargeUnicode 128 116 -9.4% 1.10x (?)
String.data.Empty 44 41 -6.8% 1.07x (?)
CharIndexing_russian_unicodeScalars_Backwards 5480 5120 -6.6% 1.07x (?)

Code size: -O

Regression OLD NEW DELTA RATIO
SortStrings.o 24538 84416 +244.0% 0.29x
FloatingPointParsing.o 17986 32592 +81.2% 0.55x
SuperChars.o 1569 1985 +26.5% 0.79x
StringWalk.o 33975 39455 +16.1% 0.86x
StringMatch.o 4186 4554 +8.8% 0.92x
StringEdits.o 9985 10753 +7.7% 0.93x
StringReplaceSubrange.o 4843 5189 +7.1% 0.93x
CString.o 6327 6722 +6.2% 0.94x
UTF8Decode.o 23411 24737 +5.7% 0.95x
CharacterProperties.o 23323 24377 +4.5% 0.96x
WordCount.o 37169 38306 +3.1% 0.97x
Substring.o 18304 18709 +2.2% 0.98x
LuhnAlgoEager.o 12582 12805 +1.8% 0.98x
LuhnAlgoLazy.o 12582 12805 +1.8% 0.98x
RC4.o 3479 3535 +1.6% 0.98x
DiffingMyers.o 6725 6829 +1.5% 0.98x
Diffing.o 8379 8483 +1.2% 0.99x
Breadcrumbs.o 42591 43091 +1.2% 0.99x

Performance: -Osize

Regression OLD NEW DELTA RATIO
EqualSubstringSubstring 38 42 +10.5% 0.90x (?)
EqualStringSubstring 38 42 +10.5% 0.90x (?)
EqualSubstringSubstringGenericEquatable 38 42 +10.5% 0.90x
AngryPhonebook.Armenian.Small 807 875 +8.4% 0.92x (?)
ObjectiveCBridgeToNSDictionary 15000 16250 +8.3% 0.92x (?)
AngryPhonebook.Strasse.Small 948 1027 +8.3% 0.92x (?)
LessSubstringSubstring 39 42 +7.7% 0.93x (?)
EqualSubstringString 39 42 +7.7% 0.93x (?)
LessSubstringSubstringGenericComparable 39 42 +7.7% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
FlattenListLoop 2506 1628 -35.0% 1.54x (?)
CharIteration_tweet_unicodeScalars 7080 4960 -29.9% 1.43x
FlattenListFlatMap 6649 4956 -25.5% 1.34x (?)
CharIteration_ascii_unicodeScalars 3400 2600 -23.5% 1.31x
CharIteration_utf16_unicodeScalars 5320 4760 -10.5% 1.12x (?)
DataCreateSmall 3050 2750 -9.8% 1.11x (?)
CharIteration_punctuated_unicodeScalars 840 760 -9.5% 1.11x
CharIteration_chinese_unicodeScalars 3640 3360 -7.7% 1.08x (?)
StrComplexWalk 5410 5000 -7.6% 1.08x (?)
CharIteration_russian_unicodeScalars 4280 3960 -7.5% 1.08x (?)
StringMatch 7500 7000 -6.7% 1.07x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
SortStrings.o 27045 87467 +223.4% 0.31x
FloatingPointParsing.o 17088 32058 +87.6% 0.53x
SuperChars.o 1462 1857 +27.0% 0.79x
StringWalk.o 32900 38056 +15.7% 0.86x
StringMatch.o 4140 4492 +8.5% 0.92x
StringReplaceSubrange.o 4730 5055 +6.9% 0.94x
StringEdits.o 10048 10717 +6.7% 0.94x
CString.o 6042 6439 +6.6% 0.94x
UTF8Decode.o 22231 23401 +5.3% 0.95x
CharacterProperties.o 22495 23591 +4.9% 0.95x
WordCount.o 36001 37014 +2.8% 0.97x
DiffingMyers.o 6520 6652 +2.0% 0.98x
Substring.o 17673 18023 +2.0% 0.98x
LuhnAlgoEager.o 14913 15116 +1.4% 0.99x
LuhnAlgoLazy.o 14913 15116 +1.4% 0.99x
Breadcrumbs.o 35977 36449 +1.3% 0.99x
DataBenchmarks.o 50594 51176 +1.2% 0.99x

Performance: -Onone

Regression OLD NEW DELTA RATIO
NSError 853 936 +9.7% 0.91x (?)
DataCreateEmpty 1850 2000 +8.1% 0.93x (?)
ErrorHandling 4370 4710 +7.8% 0.93x (?)
DictionaryBridgeToObjC_Access 1089 1172 +7.6% 0.93x (?)
 
Improvement OLD NEW DELTA RATIO
ClassArrayGetter2 5080 4630 -8.9% 1.10x (?)
Integrate 4099 3771 -8.0% 1.09x (?)
StringComparison_abnormal 1060 980 -7.5% 1.08x (?)
ArrayOfPOD 1133 1049 -7.4% 1.08x (?)

Code size: -swiftlibs

How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

@swift-ci benchmark

@swift-ci
Copy link
Contributor

swift-ci commented Dec 5, 2020

Performance: -O

Regression OLD NEW DELTA RATIO
LessSubstringSubstring 34 38 +11.8% 0.89x (?)
EqualSubstringSubstring 34 38 +11.8% 0.89x
EqualStringSubstring 35 39 +11.4% 0.90x (?)
EqualSubstringSubstringGenericEquatable 35 39 +11.4% 0.90x
AngryPhonebook.Strasse.Small 868 946 +9.0% 0.92x (?)
StringWalk 2280 2480 +8.8% 0.92x
EqualSubstringString 35 38 +8.6% 0.92x
LessSubstringSubstringGenericComparable 35 38 +8.6% 0.92x
DictionaryBridgeToObjC_Access 741 799 +7.8% 0.93x (?)
CharIteration_punctuated_unicodeScalars_Backwards 1040 1120 +7.7% 0.93x
 
Improvement OLD NEW DELTA RATIO
Data.init.Sequence.64kB.Count.I 52 35 -32.7% 1.49x
Data.init.Sequence.64kB.Count 52 35 -32.7% 1.49x
Data.init.Sequence.2047B.Count.I 91 65 -28.6% 1.40x
Data.init.Sequence.2049B.Count.I 91 65 -28.6% 1.40x
Data.init.Sequence.809B.Count 86 65 -24.4% 1.32x
Data.init.Sequence.809B.Count.I 86 65 -24.4% 1.32x
Data.init.Sequence.511B.Count.I 99 79 -20.2% 1.25x (?)
Data.init.Sequence.513B.Count.I 101 81 -19.8% 1.25x (?)
String.data.Small 44 39 -11.4% 1.13x (?)
String.data.Empty 41 37 -9.8% 1.11x (?)
ParseFloat.Float.Exp 12 11 -8.3% 1.09x (?)
CharIndexing_punctuated_unicodeScalars_Backwards 1120 1040 -7.1% 1.08x (?)

Code size: -O

Regression OLD NEW DELTA RATIO
SortStrings.o 24538 84416 +244.0% 0.29x
FloatingPointParsing.o 17986 32592 +81.2% 0.55x
SuperChars.o 1569 1985 +26.5% 0.79x
StringWalk.o 33975 39455 +16.1% 0.86x
StringMatch.o 4186 4554 +8.8% 0.92x
StringEdits.o 9985 10753 +7.7% 0.93x
StringReplaceSubrange.o 4843 5189 +7.1% 0.93x
CString.o 6327 6722 +6.2% 0.94x
UTF8Decode.o 23411 24737 +5.7% 0.95x
CharacterProperties.o 23323 24377 +4.5% 0.96x
WordCount.o 37169 38306 +3.1% 0.97x
Substring.o 18304 18709 +2.2% 0.98x
LuhnAlgoEager.o 12582 12805 +1.8% 0.98x
LuhnAlgoLazy.o 12582 12805 +1.8% 0.98x
RC4.o 3479 3535 +1.6% 0.98x
DiffingMyers.o 6725 6829 +1.5% 0.98x
Diffing.o 8379 8483 +1.2% 0.99x
Breadcrumbs.o 42591 43091 +1.2% 0.99x

Performance: -Osize

Regression OLD NEW DELTA RATIO
EqualSubstringSubstring 34 38 +11.8% 0.89x (?)
EqualStringSubstring 34 38 +11.8% 0.89x (?)
EqualSubstringSubstringGenericEquatable 34 38 +11.8% 0.89x (?)
LessSubstringSubstring 35 38 +8.6% 0.92x (?)
EqualSubstringString 35 38 +8.6% 0.92x
LessSubstringSubstringGenericComparable 35 38 +8.6% 0.92x (?)
 
Improvement OLD NEW DELTA RATIO
CharIteration_tweet_unicodeScalars 6360 4440 -30.2% 1.43x
CharIteration_ascii_unicodeScalars 3040 2320 -23.7% 1.31x
String.data.LargeUnicode 123 102 -17.1% 1.21x (?)
CharIteration_utf16_unicodeScalars 4760 4240 -10.9% 1.12x (?)
CharIteration_punctuated_unicodeScalars 760 680 -10.5% 1.12x
ObjectiveCBridgeFromNSDictionaryAnyObjectForced 8850 7950 -10.2% 1.11x (?)
DataCreateSmall 2740 2470 -9.9% 1.11x (?)
String.data.Medium 110 101 -8.2% 1.09x (?)
CharIteration_chinese_unicodeScalars 3240 3000 -7.4% 1.08x (?)
CharIteration_russian_unicodeScalars 3840 3560 -7.3% 1.08x (?)
CharIteration_japanese_unicodeScalars 5480 5120 -6.6% 1.07x (?)

Code size: -Osize

Regression OLD NEW DELTA RATIO
SortStrings.o 27045 87467 +223.4% 0.31x
FloatingPointParsing.o 17088 32058 +87.6% 0.53x
SuperChars.o 1462 1857 +27.0% 0.79x
StringWalk.o 32900 38056 +15.7% 0.86x
StringMatch.o 4140 4492 +8.5% 0.92x
StringReplaceSubrange.o 4730 5055 +6.9% 0.94x
StringEdits.o 10048 10717 +6.7% 0.94x
CString.o 6042 6439 +6.6% 0.94x
UTF8Decode.o 22231 23401 +5.3% 0.95x
CharacterProperties.o 22495 23591 +4.9% 0.95x
WordCount.o 36001 37014 +2.8% 0.97x
DiffingMyers.o 6520 6652 +2.0% 0.98x
Substring.o 17673 18023 +2.0% 0.98x
LuhnAlgoEager.o 14913 15116 +1.4% 0.99x
LuhnAlgoLazy.o 14913 15116 +1.4% 0.99x
Breadcrumbs.o 35977 36449 +1.3% 0.99x
DataBenchmarks.o 50594 51176 +1.2% 0.99x

Performance: -Onone

Regression OLD NEW DELTA RATIO
UTF8Decode_InitFromBytes_ascii_as_ascii 419 488 +16.5% 0.86x (?)
DataCreateEmpty 1660 1790 +7.8% 0.93x
 
Improvement OLD NEW DELTA RATIO
StringToDataSmall 4200 3650 -13.1% 1.15x (?)
StringToDataEmpty 4050 3550 -12.3% 1.14x (?)
NSStringConversion.Mutable 3575 3210 -10.2% 1.11x (?)
ClassArrayGetter2 4590 4150 -9.6% 1.11x
StringComparison_abnormal 960 880 -8.3% 1.09x (?)
Integrate 3679 3381 -8.1% 1.09x (?)
UTF8Decode_InitFromCustom_contiguous_ascii_as_ascii 433 400 -7.6% 1.08x (?)
ArrayOfPOD 996 921 -7.5% 1.08x (?)

Code size: -swiftlibs

How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 8-Core Intel Xeon E5
  Processor Speed: 3 GHz
  Number of Processors: 1
  Total Number of Cores: 8
  L2 Cache (per Core): 256 KB
  L3 Cache: 25 MB
  Memory: 64 GB

@swift-ci
Copy link
Contributor

swift-ci commented Dec 5, 2020

Build failed
Swift Test OS X Platform
Git Sha - 915c7a29797e40fdadf9babc01e083a26254758d

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

@swift-ci test

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 5, 2020

If I can't figure out quickly where the divergence in these results are coming from, I am just going to enable this thing behind an option and then loop back around. I need this for testing purposes I don't care if in the short term this changes do not run in the pipeline.

@swift-ci
Copy link
Contributor

swift-ci commented Dec 5, 2020

Build failed
Swift Test Linux Platform
Git Sha - c6525fd

@swift-ci
Copy link
Contributor

swift-ci commented Dec 5, 2020

Build failed
Swift Test OS X Platform
Git Sha - c6525fd

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 6, 2020

Changed my mind. Going to do this behind a flag for now so I can do my testing and not change code-gen.

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 6, 2020

I am going to put this behind an option and use this for tests. In the future I am going to loop back around on this and see what is going on.

…g so I can use it for writing OSSA RAUW tests.

I am going to loop back around and enable this all the time, but this is seeming
to disturb codegen more than expected, so I am going to enable it everywhere
later (since it is not my primary goal).
@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 6, 2020

@swift-ci benchmark

@@ -156,6 +214,12 @@ void MandatoryCombiner::addReachableCodeToWorklist(SILFunction &function) {
++iterator;

if (isInstructionTriviallyDead(instruction)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We're already "doing the work" in Onone. We should either just erase the known-dead instruction, or not call isInstructionTriviallyDead at all (preferably the later).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to know to skip it. We are keeping the size of the worklist down.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough.

@@ -75,6 +75,12 @@ sil @myint_from_myint_and_proto : $@convention(thin) (MyInt, @guaranteed { var P

sil @myint_from_proto_and_myint : $@convention(thin) (@guaranteed { var Proto }, MyInt) -> MyInt

// Optional support
enum FakeOptional<T> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks like this declaration isn't actually used in the test...?

It would be good to test a Swift program that uses this type, though. That's where we've run into problems with this optimization in the past.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just misc boiler plate tests that I add in most tests. Its useful to have.

@@ -156,6 +214,12 @@ void MandatoryCombiner::addReachableCodeToWorklist(SILFunction &function) {
++iterator;

if (isInstructionTriviallyDead(instruction)) {
if (EnableCanonicalizationAndTrivialDCE) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could these be flattened into one if?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is something that is meant to be deleted soon. I think it is fine given that this is temporary. I need this for testing purposes for something else.

@zoecarver
Copy link
Contributor

@gottesmm just FYI I made a similar change to remove dead instructions in #30429. It was then reverted (in #31077) because of a bug with enums. I have a fix for that enum bug in #31779 and plan to re-land that patch once the enum thing is fixed. This is behind a flag so it should be fine, but maybe still good to run a full source compatibility test.

@swift-ci
Copy link
Contributor

swift-ci commented Dec 6, 2020

Performance: -O

Regression OLD NEW DELTA RATIO
Data.append.Sequence.809B.Count 92 102 +10.9% 0.90x (?)
 
Improvement OLD NEW DELTA RATIO
ObjectiveCBridgeStubToNSStringRef 122 114 -6.6% 1.07x (?)

Code size: -O

Performance: -Osize

Regression OLD NEW DELTA RATIO
FlattenListFlatMap 6044 6775 +12.1% 0.89x (?)

Code size: -Osize

Performance: -Onone

Improvement OLD NEW DELTA RATIO
DataCreateSmallArray 46150 38900 -15.7% 1.19x (?)

Code size: -swiftlibs

How to read the data The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.

If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.

Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 6, 2020

@zoecarver I think I may have fixed that issue with my ArgumentScope change.

@gottesmm
Copy link
Contributor Author

gottesmm commented Dec 6, 2020

@swift-ci smoke test

@zoecarver
Copy link
Contributor

@zoecarver I think I may have fixed that issue with my ArgumentScope change.

Thanks. I'll see if the tests pass on main.

@gottesmm gottesmm merged commit 27ece6f into swiftlang:main Dec 6, 2020
@gottesmm gottesmm deleted the pr-50e8ac8f699f7e3ef7096b4b56510ffc897669e5 branch December 6, 2020 22:43
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