[llvm] Reapply "[GVN] MemorySSA for GVN: add optional AllowMemorySSA" (PR #122482)
Alina Sbirlea via llvm-commits
llvm-commits at lists.llvm.org
Fri Jan 10 15:33:27 PST 2025
================
@@ -3293,16 +3303,18 @@ class llvm::gvn::GVNLegacyPass : public FunctionPass {
public:
static char ID; // Pass identification, replacement for typeid
- explicit GVNLegacyPass(bool NoMemDepAnalysis = !GVNEnableMemDep)
- : FunctionPass(ID), Impl(GVNOptions().setMemDep(!NoMemDepAnalysis)) {
+ explicit GVNLegacyPass(bool MemDepAnalysis = GVNEnableMemDep,
+ bool MemSSAAnalysis = GVNEnableMemorySSA)
+ : FunctionPass(ID), Impl(GVNOptions()
+ .setMemDep(MemDepAnalysis)
+ .setMemorySSA(MemSSAAnalysis)) {
initializeGVNLegacyPassPass(*PassRegistry::getPassRegistry());
}
bool runOnFunction(Function &F) override {
if (skipFunction(F))
return false;
- auto *MSSAWP = getAnalysisIfAvailable<MemorySSAWrapperPass>();
----------------
alinas wrote:
(legacy pass, but..) Keep getAnalysisIfAvailable here; if it's not already available and isMemorySSAEnabled(), then getAnalysis.
https://github.com/llvm/llvm-project/pull/122482
More information about the llvm-commits
mailing list