summaryrefslogtreecommitdiffstats
path: root/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
diff options
context:
space:
mode:
authorJustin Bogner <mail@justinbogner.com>2017-01-20 00:30:17 +0000
committerJustin Bogner <mail@justinbogner.com>2017-01-20 00:30:17 +0000
commite094cc4372bfe378f2e455879e501a7f890b8eba (patch)
tree64d66d417d36939f6b36baef6eae781c4ba1de75 /llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
parent19252ac6f0748447b1862ca6533c42b29d4710a3 (diff)
downloadbcm5719-llvm-e094cc4372bfe378f2e455879e501a7f890b8eba.tar.gz
bcm5719-llvm-e094cc4372bfe378f2e455879e501a7f890b8eba.zip
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. llvm-svn: 292553
Diffstat (limited to 'llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp')
-rw-r--r--llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
index 0f23c2f0358..5f23d253f56 100644
--- a/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
+++ b/llvm/lib/CodeGen/GlobalISel/LegalizerHelper.cpp
@@ -177,6 +177,8 @@ LegalizerHelper::LegalizeResult LegalizerHelper::narrowScalar(MachineInstr &MI,
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 LegalizerHelper::narrowScalar(MachineInstr &MI,
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();
OpenPOWER on IntegriCloud