summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorMatt Arsenault <Matthew.Arsenault@amd.com>2019-06-14 13:33:36 +0000
committerMatt Arsenault <Matthew.Arsenault@amd.com>2019-06-14 13:33:36 +0000
commit5a86dbcf303681d3b10de496fbacb41dec933e6a (patch)
tree1d52387a6206b7384db07c4d286c8876bce8ee44 /llvm/lib
parent0c28a8f6282f09b1003ebbbb9ce07c8e12d79c46 (diff)
downloadbcm5719-llvm-5a86dbcf303681d3b10de496fbacb41dec933e6a.tar.gz
bcm5719-llvm-5a86dbcf303681d3b10de496fbacb41dec933e6a.zip
AMDGPU: Fix input chain when gluing copies to m0
I don't think this was causing any observable issues, but was making reading the DAG dump confusing. llvm-svn: 363389
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
index 60bf9537185..3d692bcf915 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
@@ -501,13 +501,16 @@ SDNode *AMDGPUDAGToDAGISel::glueCopyToM0(SDNode *N, SDValue Val) const {
// Write max value to m0 before each load operation
- SDValue M0 = Lowering.copyToM0(*CurDAG, CurDAG->getEntryNode(), SDLoc(N),
+ assert(N->getOperand(0).getValueType() == MVT::Other && "Expected chain");
+
+ SDValue M0 = Lowering.copyToM0(*CurDAG, N->getOperand(0), SDLoc(N),
Val);
SDValue Glue = M0.getValue(1);
SmallVector <SDValue, 8> Ops;
- for (unsigned i = 0, e = N->getNumOperands(); i != e; ++i)
+ Ops.push_back(M0); // Replace the chain.
+ for (unsigned i = 1, e = N->getNumOperands(); i != e; ++i)
Ops.push_back(N->getOperand(i));
Ops.push_back(Glue);
OpenPOWER on IntegriCloud