Commit Graph

5 Commits

Author SHA1 Message Date
Michael Gottesman
273c357599 Add the ability to customize AddressWalker to visit a transitive use as an end point use. 2023-08-10 12:58:51 -07:00
Michael Gottesman
29350907fc Convert TransitiveAddressWalker to use CRTP instead of virtual functions. 2023-08-10 12:58:50 -07:00
Michael Gottesman
308a6fed58 Move AddressWalker::walk into the header and eliminate AddressWalker.cpp. 2023-08-10 12:58:50 -07:00
Michael Gottesman
62fb241a8d Remove dead code. 2023-08-10 12:58:50 -07:00
Michael Gottesman
c577055100 [move-only] Instead of using AccessUseVisitor to visit addresses use TransitiveAddressVisitor.
This makes it so that the move address checker is not dependent on starting the
traversal at a base object. I also included verifier checks that the API can
visit all address uses for:

1. project_box.
2. alloc_stack.
3. ref_element_addr.
4. ref_tail_addr.
5. global_addr_inst.

this is because this visitor is now apart of the SIL API definition as being
able to enumerate /all/ addresses derived from a specific chosen address value.

This is a refactoring NFCI change.

rdar://108510644
2023-04-25 10:51:03 -07:00