[llvm-commits] [llvm] r96750 - /llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h

Chris Lattner sabre at nondot.org
Sun Feb 21 11:35:07 PST 2010


Author: lattner
Date: Sun Feb 21 13:35:07 2010
New Revision: 96750

URL: http://llvm.org/viewvc/llvm-project?rev=96750&view=rev
Log:
Relax an assertion a bit.  We allow replacing things like
<4 x i32> with <4 x float> values if they end up the same
register class.  This gets us up to 231 passes on the ppc
tests (only 7 fails).

Modified:
    llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h

Modified: llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h?rev=96750&r1=96749&r2=96750&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h (original)
+++ llvm/trunk/include/llvm/CodeGen/DAGISelHeader.h Sun Feb 21 13:35:07 2010
@@ -716,7 +716,9 @@
         unsigned ResSlot = MatcherTable[MatcherIndex++];
         assert(ResSlot < RecordedNodes.size() && "Invalid CheckSame");
         SDValue Res = RecordedNodes[ResSlot];
-        assert(NodeToMatch->getValueType(i) == Res.getValueType() &&
+        assert((NodeToMatch->getValueType(i) == Res.getValueType() ||
+                NodeToMatch->getValueType(i).getSizeInBits() ==
+                    Res.getValueType().getSizeInBits()) &&
                "invalid replacement");
         ReplaceUses(SDValue(NodeToMatch, i), Res);
       }





More information about the llvm-commits mailing list