Skip to content

ISD::SIGN_EXTEND_INREG added during Legalization and not Legalized #3166

@llvmbot

Description

@llvmbot
Bugzilla Link 2794
Resolution FIXED
Resolved on Oct 13, 2008 13:46
Version unspecified
OS All
Reporter LLVM Bugzilla Contributor

Extended Description

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;
     }
    
    }

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugzillaIssues migrated from bugzilla

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions