[llvm] 4113d79 - [NFC][CodeGen] Optimize hash table lookups in MachineBlockHashInfo (#192823)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Apr 18 22:30:31 PDT 2026
Author: Vitaly Buka
Date: 2026-04-18T22:30:27-07:00
New Revision: 4113d79a20253cd34820d8ff2031c7e0307b9e66
URL: https://github.com/llvm/llvm-project/commit/4113d79a20253cd34820d8ff2031c7e0307b9e66
DIFF: https://github.com/llvm/llvm-project/commit/4113d79a20253cd34820d8ff2031c7e0307b9e66.diff
LOG: [NFC][CodeGen] Optimize hash table lookups in MachineBlockHashInfo (#192823)
Added:
Modified:
llvm/lib/CodeGen/MachineBlockHashInfo.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/MachineBlockHashInfo.cpp b/llvm/lib/CodeGen/MachineBlockHashInfo.cpp
index 73dfc7c62a95c..f2f73f63bcc0c 100644
--- a/llvm/lib/CodeGen/MachineBlockHashInfo.cpp
+++ b/llvm/lib/CodeGen/MachineBlockHashInfo.cpp
@@ -66,18 +66,19 @@ bool MachineBlockHashInfo::runOnMachineFunction(MachineFunction &F) {
uint16_t Offset = 0;
// Initialize hash components
for (const MachineBasicBlock &MBB : F) {
+ auto &HashInfo = HashInfos[&MBB];
// offset of the machine basic block
- HashInfos[&MBB].Offset = Offset;
- Offset += MBB.size();
+ HashInfo.Offset = Offset + MBB.size();
// Hashing opcodes
- HashInfos[&MBB].OpcodeHash = hashBlock(MBB, /*HashOperands=*/false);
+ HashInfo.OpcodeHash = hashBlock(MBB, /*HashOperands=*/false);
// Hash complete instructions
- HashInfos[&MBB].InstrHash = hashBlock(MBB, /*HashOperands=*/true);
+ HashInfo.InstrHash = hashBlock(MBB, /*HashOperands=*/true);
}
// Initialize neighbor hash
for (const MachineBasicBlock &MBB : F) {
- uint64_t Hash = HashInfos[&MBB].OpcodeHash;
+ auto &HashInfo = HashInfos[&MBB];
+ uint64_t Hash = HashInfo.OpcodeHash;
// Append hashes of successors
for (const MachineBasicBlock *SuccMBB : MBB.successors()) {
uint64_t SuccHash = HashInfos[SuccMBB].OpcodeHash;
@@ -88,7 +89,7 @@ bool MachineBlockHashInfo::runOnMachineFunction(MachineFunction &F) {
uint64_t PredHash = HashInfos[PredMBB].OpcodeHash;
Hash = hashing::detail::hash_16_bytes(Hash, PredHash);
}
- HashInfos[&MBB].NeighborHash = Hash;
+ HashInfo.NeighborHash = Hash;
}
// Assign hashes
More information about the llvm-commits
mailing list