[PATCH] D41330: [X86] Reduce Store Forward Block issues in HW

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 2 09:33:24 PST 2018


craig.topper added inline comments.


================
Comment at: lib/Target/X86/X86FixupSFB.cpp:254
+  int AddrOffset = getAddrOffset(MI);
+  Base = &(MI->getOperand(AddrOffset + X86::AddrBaseReg));
+  Disp = &(MI->getOperand(AddrOffset + X86::AddrDisp));
----------------
craig.topper wrote:
> Why can't these be MachineOperand references? Why are they assigned to nullptr and then immediately overwritten?
I don't think this was addressed. Why aren't these references instead of pointers?


================
Comment at: lib/Target/X86/X86FixupSFB.cpp:127
+
+std::map<unsigned, std::vector<unsigned>> PotentialBlockedMemCpy{
+    {X86::MOVUPSrm, {X86::MOVUPSmr, X86::MOVAPSmr}},
----------------
Should these be DenseMaps? @RKSimon, what do you think?

Can you use a std::array or std::pair instead of std::vector for the second type since the size is fixed. Each std::vector will be a separate heap allocation.


https://reviews.llvm.org/D41330





More information about the llvm-commits mailing list