[llvm] r292553 - GlobalISel: Add a note about how we're being a bit loose with memory operands

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Thu Jan 19 16:30:17 PST 2017


Author: bogner
Date: Thu Jan 19 18:30:17 2017
New Revision: 292553

URL: http://llvm.org/viewvc/llvm-project?rev=292553&view=rev
Log:
GlobalISel: Add a note about how we're being a bit loose with memory operands

The logic in r292461 is conservatively correct, but we should revisit
this later. Add a TODO so we don't forget.

Modified:
    llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp

Modified: llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp?rev=292553&r1=292552&r2=292553&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp (original)
+++ llvm/trunk/lib/CodeGen/GlobalISel/LegalizerHelper.cpp Thu Jan 19 18:30:17 2017
@@ -177,6 +177,8 @@ LegalizerHelper::LegalizeResult Legalize
 
       MIRBuilder.buildConstant(Offset, i * NarrowSize / 8);
       MIRBuilder.buildGEP(SrcReg, MI.getOperand(1).getReg(), Offset);
+      // TODO: This is conservatively correct, but we probably want to split the
+      // memory operands in the future.
       MIRBuilder.buildLoad(DstReg, SrcReg, **MI.memoperands_begin());
 
       DstRegs.push_back(DstReg);
@@ -202,6 +204,8 @@ LegalizerHelper::LegalizeResult Legalize
       unsigned Offset = MRI.createGenericVirtualRegister(LLT::scalar(64));
       MIRBuilder.buildConstant(Offset, i * NarrowSize / 8);
       MIRBuilder.buildGEP(DstReg, MI.getOperand(1).getReg(), Offset);
+      // TODO: This is conservatively correct, but we probably want to split the
+      // memory operands in the future.
       MIRBuilder.buildStore(SrcRegs[i], DstReg, **MI.memoperands_begin());
     }
     MI.eraseFromParent();




More information about the llvm-commits mailing list