[llvm-commits] [llvm] r78884 - /llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Bob Wilson bob.wilson at apple.com
Wed Aug 12 19:13:04 PDT 2009


Author: bwilson
Date: Wed Aug 12 21:13:04 2009
New Revision: 78884

URL: http://llvm.org/viewvc/llvm-project?rev=78884&view=rev
Log:
Add a comment to describe why vector shuffles are legalized to custom DAG nodes.

Modified:
    llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp

Modified: llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp?rev=78884&r1=78883&r2=78884&view=diff

==============================================================================
--- llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp (original)
+++ llvm/trunk/lib/Target/ARM/ARMISelLowering.cpp Wed Aug 12 21:13:04 2009
@@ -2439,6 +2439,10 @@
   DebugLoc dl = Op.getDebugLoc();
   EVT VT = Op.getValueType();
 
+  // Convert shuffles that are directly supported on NEON to target-specific
+  // DAG nodes, instead of keeping them as shuffles and matching them again
+  // during code selection.  This is more efficient and avoids the possibility
+  // of inconsistencies between legalization and selection.
   if (SVN->isSplat() && SVN->getSplatIndex() == 0)
     return DAG.getNode(ARMISD::VSPLAT0, dl, VT, SVN->getOperand(0));
   if (isVREVMask(SVN, 64))





More information about the llvm-commits mailing list