diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-14 13:33:36 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2019-06-14 13:33:36 +0000 |
commit | 5a86dbcf303681d3b10de496fbacb41dec933e6a (patch) | |
tree | 1d52387a6206b7384db07c4d286c8876bce8ee44 /llvm/lib | |
parent | 0c28a8f6282f09b1003ebbbb9ce07c8e12d79c46 (diff) | |
download | bcm5719-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.cpp | 7 |
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); |