http://llvm.org/bugs/show_bug.cgi?id=2794

           Summary: ISD::SIGN_EXTEND_INREG added during Legalization and not
                    Legalized
           Product: new-bugs
           Version: unspecified
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


LegalizeDAG.cpp adds a ISD::SIGN_EXTEND_INREG node during promotion but doesn't
make sure to verify that the resulting DAG is legal for the target.

The fix is:

Index: LegalizeDAG.cpp
===================================================================
--- LegalizeDAG.cpp     (revision 56194)
+++ LegalizeDAG.cpp     (working copy)
@@ -4670,6 +4670,8 @@
                            DAG.getValueType(VT));
         Tmp2 = DAG.getNode(ISD::SIGN_EXTEND_INREG, NVT, Tmp2,
                            DAG.getValueType(VT));
+        Tmp1 = LegalizeOp(Tmp1);
+        Tmp2 = LegalizeOp(Tmp2);
         break;
       }
     }


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to