Devirtualize calls to protocol composition type methods #28043
Implement devirtualization calls to composition type protocols
d9b95a02
Clean up implementation and remove debug
bfb3dd72
Add a test
287bbd4d
Cleanup and fix spacing (again)
f3ac3bd0
atrick
requested changes
on 2019-11-04
Remove assertion all together and use getAddressOfStackInit instead o…
f1c75f6d
atrick
requested changes
on 2019-11-04
Fix based on review and add more tests
4b36f3fd
Fix tests
f1c15d26
Ensure that only correct patterns are optimized
6c48a8d3
Update comment
01a452f0
Remove redundant protocols
17894bb6
Merge branch 'master' into fix/substitution-map-composition
febbb702
Merge branch 'master' into fix/substitution-map-composition
3ab158ef
Check dominance order and add .sil test
2913dbc4
Remove .dump in unrelated file
331a6af2
Move relevant part of sil test to the top of the file
d032de63
Rename test
644689dc
atrick
requested changes
on 2019-12-12
Merge branch 'master' into fix/substitution-map-composition
6fcf437f
Update getAddressOfStackInit and getStackInitInst to support store in…
758f1f32
Formatting
f4e3ca99
Cleanup tests
a52fe572
atrick
commented
on 2020-01-22
Inline/remove getAddressOfStackInit and update tests to make them mor…
33987c53
Abort if not address type
0992e482
Support store instructions in createApplyWithConcreteType
ae647198
Add comments, remove commented code, and other general cleanup
e93919b7
Update devirtualize_(...)_two_stores RUN to use sil-opt
2ac715c2
atrick
requested changes
on 2020-01-24
Stash debugging changes
e38da06f
Remove debug code and update check for successful conversion of
809f569b
Re-add support for try_apply instruction and update tests.
ddeef648
Stash optimization debugging
ac4fa332
Update how createApplyWithConcreteType checks if it can update Apply
4d2c3426
Format
a0fb1392
Add a `madeUpdate` check to `createApplyWithConcreteType` to prevent
65e8d37b
Manually check if types are the same when checking for change and update
37c0eb2a
Format
727cd962
Add benchmark for devirtualization performance measurements
dbadd99b
Update added tests to require objec interop
bdd9480c
Use blackHole to make sure benchmark isn't optimized away
ea821b1a
atrick
commented
on 2020-02-04
atrick
approved these changes
on 2020-02-05
Merge branch 'master' into fix/substitution-map-composition
13479294
Break argument checking out of a lambda and add comments
209bfd08
Update benchmark to be more similar to other devirtualization benchmarks
464b585c
atrick
merged
14862908
into master 5 years ago
Assignees
No one assigned
Login to write a write a comment.
Login via GitHub