[llvm] b42d245 - [GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)
via llvm-commits
llvm-commits at lists.llvm.org
Wed May 15 07:44:38 PDT 2024
Author: AdityaK
Date: 2024-05-15T07:44:34-07:00
New Revision: b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
URL: https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52
DIFF: https://github.com/llvm/llvm-project/commit/b42d245b77a83f8f6ca88c2dc441a96a5e8d5b52.diff
LOG: [GVNHoist] Replace combineKnownMetadata with combineMetadataForCSE (#92197)
There is no reason to call combineMetadata directly with a list of MD_
nodes. The combineMetadataForCSE function handles all the metadata
correctly
Partially fixes: #30866
Added:
Modified:
llvm/lib/Transforms/Scalar/GVNHoist.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Scalar/GVNHoist.cpp b/llvm/lib/Transforms/Scalar/GVNHoist.cpp
index 261c1259c9c96..b5333c532280c 100644
--- a/llvm/lib/Transforms/Scalar/GVNHoist.cpp
+++ b/llvm/lib/Transforms/Scalar/GVNHoist.cpp
@@ -238,18 +238,6 @@ class CallInfo {
const VNtoInsns &getStoreVNTable() const { return VNtoCallsStores; }
};
-static void combineKnownMetadata(Instruction *ReplInst, Instruction *I) {
- static const unsigned KnownIDs[] = {LLVMContext::MD_tbaa,
- LLVMContext::MD_alias_scope,
- LLVMContext::MD_noalias,
- LLVMContext::MD_range,
- LLVMContext::MD_fpmath,
- LLVMContext::MD_invariant_load,
- LLVMContext::MD_invariant_group,
- LLVMContext::MD_access_group};
- combineMetadata(ReplInst, I, KnownIDs, true);
-}
-
// This pass hoists common computations across branches sharing common
// dominator. The primary goal is to reduce the code size, and in some
// cases reduce critical path (by exposing more ILP).
@@ -996,8 +984,8 @@ unsigned GVNHoist::rauw(const SmallVecInsn &Candidates, Instruction *Repl,
MSSAUpdater->removeMemoryAccess(OldMA);
}
+ combineMetadataForCSE(Repl, I, true);
Repl->andIRFlags(I);
- combineKnownMetadata(Repl, I);
I->replaceAllUsesWith(Repl);
// Also invalidate the Alias Analysis cache.
MD->removeInstruction(I);
More information about the llvm-commits
mailing list