[llvm] Adding Matching and Inference Functionality to Propeller-Patch 1 (PR #140886)

via llvm-commits llvm-commits at lists.llvm.org
Wed May 21 20:09:57 PDT 2025


================
@@ -0,0 +1,104 @@
+#include "llvm/CodeGen/MachineBlockHashInfo.h"
+#include "llvm/CodeGen/Passes.h"
+#include "llvm/Target/TargetMachine.h"
+#include "llvm/InitializePasses.h"
+
+using namespace llvm;
+
+using OperandHashFuncTy = function_ref<uint64_t(uint64_t &, const MachineOperand &)>;
+
+uint64_t hashBlock(const MachineBasicBlock &MBB, OperandHashFuncTy OperandHashFunc) {
+  uint64_t Hash = 0;
+  for (const MachineInstr &MI : MBB) {
+    if (MI.isPseudo())
----------------
wdx727 wrote:

Thanks. Here, we want to hash all instructions that are actually executed by the machine, so I think using isPseudo is fine.

https://github.com/llvm/llvm-project/pull/140886


More information about the llvm-commits mailing list