[llvm] r363389 - AMDGPU: Fix input chain when gluing copies to m0

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Jun 14 06:33:36 PDT 2019


Author: arsenm
Date: Fri Jun 14 06:33:36 2019
New Revision: 363389

URL: http://llvm.org/viewvc/llvm-project?rev=363389&view=rev
Log:
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.

Modified:
    llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp

Modified: llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp?rev=363389&r1=363388&r2=363389&view=diff
==============================================================================
--- llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/AMDGPU/AMDGPUISelDAGToDAG.cpp Fri Jun 14 06:33:36 2019
@@ -501,13 +501,16 @@ SDNode *AMDGPUDAGToDAGISel::glueCopyToM0
 
   // 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);




More information about the llvm-commits mailing list