[llvm-commits] [llvm] r97485 - /llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp

Chris Lattner sabre at nondot.org
Mon Mar 1 11:38:53 PST 2010


Author: lattner
Date: Mon Mar  1 13:38:53 2010
New Revision: 97485

URL: http://llvm.org/viewvc/llvm-project?rev=97485&view=rev
Log:
stop using generated sdnodexforms.

Modified:
    llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp

Modified: llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp?rev=97485&r1=97484&r2=97485&view=diff
==============================================================================
--- llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp (original)
+++ llvm/trunk/lib/Target/XCore/XCoreISelDAGToDAG.cpp Mon Mar  1 13:38:53 2010
@@ -164,7 +164,11 @@
       default: break;
       case ISD::Constant: {
         if (Predicate_immMskBitp(N)) {
-          SDValue MskSize = Transform_msksize_xform(N);
+          // Transformation function: get the size of a mask
+          int64_t MaskVal = cast<ConstantSDNode>(N)->getZExtValue();
+          assert(isMask_32(MaskVal));
+          // Look for the first non-zero bit
+          SDValue MskSize = getI32Imm(32 - CountLeadingZeros_32(MaskVal));
           return CurDAG->getMachineNode(XCore::MKMSK_rus, dl,
                                         MVT::i32, MskSize);
         }





More information about the llvm-commits mailing list