[llvm] de6f7eb - [x86] don't create an unused constant vector

Sanjay Patel via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 7 09:08:50 PST 2020


Author: Sanjay Patel
Date: 2020-02-07T12:05:02-05:00
New Revision: de6f7eb47e9994ddb2cd906337331a6ceff27390

URL: https://github.com/llvm/llvm-project/commit/de6f7eb47e9994ddb2cd906337331a6ceff27390
DIFF: https://github.com/llvm/llvm-project/commit/de6f7eb47e9994ddb2cd906337331a6ceff27390.diff

LOG: [x86] don't create an unused constant vector

Noticed while scanning through debug spew. Creating unused
nodes is inefficient and makes following the debug output harder.

Added: 
    

Modified: 
    llvm/lib/Target/X86/X86ISelLowering.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/X86/X86ISelLowering.cpp b/llvm/lib/Target/X86/X86ISelLowering.cpp
index c53639e98cf2..469a21cd2fc8 100644
--- a/llvm/lib/Target/X86/X86ISelLowering.cpp
+++ b/llvm/lib/Target/X86/X86ISelLowering.cpp
@@ -16100,13 +16100,14 @@ static SDValue lowerV8F32Shuffle(const SDLoc &DL, ArrayRef<int> Mask,
   // If we have a single input shuffle with 
diff erent shuffle patterns in the
   // two 128-bit lanes use the variable mask to VPERMILPS.
   if (V2.isUndef()) {
-    SDValue VPermMask = getConstVector(Mask, MVT::v8i32, DAG, DL, true);
-    if (!is128BitLaneCrossingShuffleMask(MVT::v8f32, Mask))
+    if (!is128BitLaneCrossingShuffleMask(MVT::v8f32, Mask)) {
+      SDValue VPermMask = getConstVector(Mask, MVT::v8i32, DAG, DL, true);
       return DAG.getNode(X86ISD::VPERMILPV, DL, MVT::v8f32, V1, VPermMask);
-
-    if (Subtarget.hasAVX2())
+    }
+    if (Subtarget.hasAVX2()) {
+      SDValue VPermMask = getConstVector(Mask, MVT::v8i32, DAG, DL, true);
       return DAG.getNode(X86ISD::VPERMV, DL, MVT::v8f32, VPermMask, V1);
-
+    }
     // Otherwise, fall back.
     return lowerShuffleAsLanePermuteAndShuffle(DL, MVT::v8f32, V1, V2, Mask,
                                                DAG, Subtarget);


        


More information about the llvm-commits mailing list