[ADT] Implement the Waymarking as an independent utility
authorEhud Katz <ehudkatz@gmail.com>
Sat, 21 Mar 2020 12:30:32 +0000 (14:30 +0200)
committerEhud Katz <ehudkatz@gmail.com>
Sat, 21 Mar 2020 12:30:32 +0000 (14:30 +0200)
commit73cf8abbe695aede9aac804f960513bb7355004a
treec354b8a8cb049ca30fb4de43c1d82d38c6b05abb
parentf424d51c3e195de786204a93a9ccf6367bb26c8e
[ADT] Implement the Waymarking as an independent utility

This is the Waymarking algorithm implemented as an independent utility.
The utility is operating on a range of sequential elements.
First we "tag" the elements, by calling `fillWaymarks`.
Then we can "follow" the tags from every element inside the tagged
range, and reach the "head" (the first element), by calling
`followWaymarks`.

Differential Revision: https://reviews.llvm.org/D74415
llvm/include/llvm/ADT/Waymarking.h [new file with mode: 0644]
llvm/unittests/ADT/CMakeLists.txt
llvm/unittests/ADT/WaymarkingTest.cpp [new file with mode: 0644]