[llvm] [DeadStoreElimination] Use SmallSetVector (NFC) (PR #79410)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 24 22:46:12 PST 2024
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/79410
The use of SmallSetVector saves 0.58% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, the final size of ToCheck
was 8 or less 88% of the time.
>From 945bd6cc5cae7b65277b168e42a182839aec36ba Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Wed, 24 Jan 2024 12:10:25 -0800
Subject: [PATCH] [DeadStoreElimination] Use SmallSetVector (NFC)
The use of SmallSetVector saves 0.58% of heap allocations during the
compilation of a large preprocessed file, namely X86ISelLowering.cpp,
for the X86 target. During the experiment, the final size of ToCheck
was 8 or less 88% of the time.
---
llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
index 11a91bfbe5baff..663c06ebafb5f4 100644
--- a/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
+++ b/llvm/lib/Transforms/Scalar/DeadStoreElimination.cpp
@@ -2096,7 +2096,7 @@ static bool eliminateDeadStores(Function &F, AliasAnalysis &AA, MemorySSA &MSSA,
unsigned WalkerStepLimit = MemorySSAUpwardsStepLimit;
unsigned PartialLimit = MemorySSAPartialStoreLimit;
// Worklist of MemoryAccesses that may be killed by KillingDef.
- SetVector<MemoryAccess *> ToCheck;
+ SmallSetVector<MemoryAccess *, 8> ToCheck;
ToCheck.insert(KillingDef->getDefiningAccess());
bool Shortend = false;
More information about the llvm-commits
mailing list