[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