Add AccessedStorage::Tail access kind and remove more exclusivity checks.#33017
Add AccessedStorage::Tail access kind and remove more exclusivity checks.#33017atrick merged 2 commits intoswiftlang:masterfrom
Conversation
atrick
commented
Jul 20, 2020
37f7d65 to
d3705db
Compare
|
@swift-ci test |
|
@swift-ci test source compatibility |
|
@swift-ci benchmark |
Rename the existing pass to AccessedStorageAnalysisDumper. AccessedStorage is useful on its own as a utility without the analysis. We need a way to test the utility itself. Add test cases for the previous commit that introduced FindPhiStorageVisitor.
Distinguish ref_tail_addr storage from the other storage classes. We didn't have this originally because be don't expect a begin_access to directly operate on tail storage. It could occur after inlining, at least with static access markers. More importantly it helps ditinguish regular formal accesses from other unidentified access, so we probably should have always had this. At any rate, it's particularly important when AccessedStorage is generalized to arbitrary memory access. The immediate motivation is to add an AccessPath utility, which will need to distinguish tail storage. In the process, rewrite AccessedStorage::isDistinct. This could have a large positive impact on exclusivity performance.
d3705db to
6ecbeef
Compare
|
@swift-ci test |
|
@swift-ci benchmark |
|
@swift-ci test source compatibility |
|
Build failed |
|
Build failed |
Performance: -O
Code size: -OPerformance: -Osize
Code size: -OsizePerformance: -Onone
Code size: -swiftlibsHow to read the dataThe 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 Noise: Sometimes the performance results (not code size!) contain false Hardware Overview |
|
@swift-ci test macOS |
|
Build failed |
|
@swift-ci test macOS |
|
Build failed |
|
This PR repeatedly fails with |
|
@swift-ci test macOS |