[PATCH] D70479: [MIRVRegNamerUtils] Add additional hashing on MachineInstr flags.

Puyan Lotfi via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Nov 20 00:45:05 PST 2019


plotfi created this revision.
plotfi added reviewers: aditya_nandakumar, bogner.
Herald added subscribers: llvm-commits, hiraditya.
Herald added a project: LLVM.
plotfi edited the summary of this revision.

How does this idea sound? I'd also add the inline asm stuff, but I know that is not useful atm.

TODO: Will post test before any landing.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D70479

Files:
  llvm/lib/CodeGen/MIRVRegNamerUtils.cpp


Index: llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
===================================================================
--- llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
+++ llvm/lib/CodeGen/MIRVRegNamerUtils.cpp
@@ -93,6 +93,34 @@
   for (auto &Op : MI.uses()) {
     MIOperands.push_back(HashOperand(Op));
   }
+
+  if (MI.getFlag(MachineInstr::FrameSetup))
+    MIOperands.push_back(MachineInstr::FrameSetup);
+  if (MI.getFlag(MachineInstr::FrameDestroy))
+    MIOperands.push_back(MachineInstr::FrameDestroy);
+  if (MI.getFlag(MachineInstr::FmNoNans))
+    MIOperands.push_back(MachineInstr::FmNoNans);
+  if (MI.getFlag(MachineInstr::FmNoInfs))
+    MIOperands.push_back(MachineInstr::FmNoInfs);
+  if (MI.getFlag(MachineInstr::FmNsz))
+    MIOperands.push_back(MachineInstr::FmNsz);
+  if (MI.getFlag(MachineInstr::FmArcp))
+    MIOperands.push_back(MachineInstr::FmArcp);
+  if (MI.getFlag(MachineInstr::FmContract))
+    MIOperands.push_back(MachineInstr::FmContract);
+  if (MI.getFlag(MachineInstr::FmAfn))
+    MIOperands.push_back(MachineInstr::FmAfn);
+  if (MI.getFlag(MachineInstr::FmReassoc))
+    MIOperands.push_back(MachineInstr::FmReassoc);
+  if (MI.getFlag(MachineInstr::NoUWrap))
+    MIOperands.push_back(MachineInstr::NoUWrap);
+  if (MI.getFlag(MachineInstr::NoSWrap))
+    MIOperands.push_back(MachineInstr::NoSWrap);
+  if (MI.getFlag(MachineInstr::IsExact))
+    MIOperands.push_back(MachineInstr::IsExact);
+  if (MI.getFlag(MachineInstr::FPExcept))
+    MIOperands.push_back(MachineInstr::FPExcept);
+
   auto HashMI = hash_combine_range(MIOperands.begin(), MIOperands.end());
   return std::to_string(HashMI).substr(0, 5);
 }


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D70479.230203.patch
Type: text/x-patch
Size: 1647 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20191120/f0ac0243/attachment.bin>


More information about the llvm-commits mailing list