MTCTR needs to be glued to BCTR so that CTR is not marked dead in MTCTR (another...
authorHal Finkel <hfinkel@anl.gov>
Thu, 8 Dec 2011 04:36:44 +0000 (04:36 +0000)
committerHal Finkel <hfinkel@anl.gov>
Thu, 8 Dec 2011 04:36:44 +0000 (04:36 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146137 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/PowerPC/PPCISelDAGToDAG.cpp

index 038cecade57318b33293c38fda92ce6866e8af52..4a509a3875970a0e8d12581b60c0ee21d91c34c5 100644 (file)
@@ -1066,7 +1066,7 @@ SDNode *PPCDAGToDAGISel::Select(SDNode *N) {
     SDValue Target = N->getOperand(1);
     unsigned Opc = Target.getValueType() == MVT::i32 ? PPC::MTCTR : PPC::MTCTR8;
     unsigned Reg = Target.getValueType() == MVT::i32 ? PPC::BCTR : PPC::BCTR8;
-    Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Other, Target,
+    Chain = SDValue(CurDAG->getMachineNode(Opc, dl, MVT::Glue, Target,
                                            Chain), 0);
     return CurDAG->SelectNodeTo(N, Reg, MVT::Other, Chain);
   }