4 Commits

Author SHA1 Message Date
Sameer Sahasrabuddhe
0cb6d2f643 [LLVM][Convergence] further refactor convergence verifier
This is in preparation for using the same convergence verifier for both LLVM IR
and Machine IR.

Reviewed By: yassingh

Differential Revision: https://reviews.llvm.org/D158394
2023-08-23 12:02:30 +05:30
Sameer Sahasrabuddhe
bd7a4d7b27 Restore "[LLVM] move verification of convergence control to a class template""
The refactored template can now be used with MachineVerifier.

Resubmitted after fixing build errors:

- Shared libraries build failed with undefined references due to "extern
  template" declarations.
- Modules build failed due to a cycle dependence between llvm/ADT and llvm/IR.
  The Generic*Impl.h files should be in llvm/IR to prevent this.

Differential Revision: https://reviews.llvm.org/D156522

This restores commit 93a3706711fd46d4d487640d91b16c2eec747c9e.
Originally reverted in 466bd9981150906552a1f2308e3c9065bfcb6741.
2023-08-03 10:36:57 +05:30
Sameer Sahasrabuddhe
466bd99811 Revert "[LLVM] move verification of convergence control to a class template"
This reverts commit 93a3706711fd46d4d487640d91b16c2eec747c9e.

The "extern template" declaration of CycleInfo caused problems in a shared build
when CycleInfo was removed from Verifier.cpp. There needs to be an explicit
instantiation corresponding to an extern template in every SO.
2023-08-01 17:00:39 +05:30
Sameer Sahasrabuddhe
93a3706711 [LLVM] move verification of convergence control to a class template
The refactored template can now be used with MachineVerifier.

Reviewed By: arsenm

Differential Revision: https://reviews.llvm.org/D156522
2023-08-01 11:21:48 +05:30