[X86] Add flag result VT to a MOV32r0 created in X86DAGToDAGISel::Select
authorCraig Topper <craig.topper@gmail.com>
Sun, 9 Feb 2020 20:31:21 +0000 (12:31 -0800)
committerCraig Topper <craig.topper@gmail.com>
Sun, 9 Feb 2020 21:19:21 +0000 (13:19 -0800)
The flag isn't used, but I believe this matches the MOV32r0 that
would be created by the table emitter. This should allow this node
to be CSEed with any others created by the table.

llvm/lib/Target/X86/X86ISelDAGToDAG.cpp

index 98a1b04..9789ffc 100644 (file)
@@ -4946,8 +4946,9 @@ void X86DAGToDAGISel::Select(SDNode *Node) {
           SDValue(CurDAG->getMachineNode(SExtOpcode, dl, MVT::Glue, InFlag),0);
       } else {
         // Zero out the high part, effectively zero extending the input.
+        SDVTList VTs = CurDAG->getVTList(MVT::i32, MVT::i32);
         SDValue ClrNode =
-            SDValue(CurDAG->getMachineNode(X86::MOV32r0, dl, MVT::i32), 0);
+            SDValue(CurDAG->getMachineNode(X86::MOV32r0, dl, VTs, None), 0);
         switch (NVT.SimpleTy) {
         case MVT::i16:
           ClrNode =