[NFCI] VectorCombine: add statistic for bitcast(shuf()) -> shuf(bitcast()) xform
authorRoman Lebedev <lebedev.ri@gmail.com>
Fri, 12 Jun 2020 17:49:38 +0000 (20:49 +0300)
committerRoman Lebedev <lebedev.ri@gmail.com>
Fri, 12 Jun 2020 20:10:53 +0000 (23:10 +0300)
llvm/lib/Transforms/Vectorize/VectorCombine.cpp

index 0140363..d78a4e4 100644 (file)
@@ -35,6 +35,7 @@ using namespace llvm::PatternMatch;
 #define DEBUG_TYPE "vector-combine"
 STATISTIC(NumVecCmp, "Number of vector compares formed");
 STATISTIC(NumVecBO, "Number of vector binops formed");
+STATISTIC(NumShufOfBitcast, "Number of shuffles moved after bitcast");
 STATISTIC(NumScalarBO, "Number of scalar binops formed");
 
 static cl::opt<bool> DisableVectorCombine(
@@ -302,6 +303,7 @@ static bool foldBitcastShuf(Instruction &I, const TargetTransformInfo &TTI) {
       return false;
   }
   // bitcast (shuf V, MaskC) --> shuf (bitcast V), MaskC'
+  ++NumShufOfBitcast;
   IRBuilder<> Builder(&I);
   Value *CastV = Builder.CreateBitCast(V, DestTy);
   Value *Shuf =