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

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Thu May 22 01:39: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())
----------------
arsenm wrote:

It's not fine, isPseudo is essentially a backend implementation detail flag that very little code should ever need to consider. It will most likely eventually expand to some real machine sequence

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


More information about the llvm-commits mailing list