[x] Add a CMake check to check for Clang 14 and above
[x] Rename perfflow_weave.hpp/cpp to perfflow_weave_legacy_pass.hpp/cpp
[x] Add an example similar to the InjectFuncPass in the perfflow_weave_new_pass.hpp/cpp
[x] Test the simple example
[x] Migrate the functionality from the legacy pass to the new pass .If applicable, also migrate common functionality across both passes (parsing, insertBefore/insertAfter) to its own header that can be shared if no other changes are needed.
[x] Test on Lassen with clang10 and clang14.05 (legacy and new pass)
[x] Split perfflow_weave_common.hpp into .hpp/.cpp
[ ] Cleanup the modifyAnnotatedFunctions() method, make it easier to read/explain
[x] Clean up commented code
[ ] Test with various clang versions on different systems
[x] Format code
Testing:
[ ] Ruby : clang versions 14
[x] Corona: clang versions 14
[x] Turing: clang versions 14
[ ] Turing: clang versions 15
[ ] Turing: clang versions 17
[x] Lassen: clang versions 10
[x] Lassen: clang versions 14, -gcc module
[x] Lassen: clang versions 16, -gcc module
[ ] Lassen: clang versions 15, non-gcc module (several C++ errors that I have been unable to resolve. Note: we don't have a clang-<>gcc-<> style module for clang15 on lassen. These have nothing to do with our code, but some incompatibility with libstdc++)
[ ] Lassen: clang versions 17, non-gcc module (Similar errors to clang15, note that here too we don't have the clang-<>gcc-<> style module for clang17 on lassen.)
Note: Adiak related testing that builds on top of this PR has been moved to a separate branch, see #172.
WIP. Fixes #162. Fixes #176.
perfflow_weave.hpp/cpp
toperfflow_weave_legacy_pass.hpp/cpp
perfflow_weave_new_pass.hpp/cpp
perfflow_weave_common.hpp
into.hpp/.cpp
modifyAnnotatedFunctions()
method, make it easier to read/explainTesting:
-gcc
module-gcc
modulelibstdc++
)Note: Adiak related testing that builds on top of this PR has been moved to a separate branch, see #172.