[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