[llvm] 21a6890 - [Vectorize] Clean up Transforms/Vectorize.h

Bjorn Pettersson via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 17 04:54:55 PDT 2023


Author: Bjorn Pettersson
Date: 2023-04-17T13:54:19+02:00
New Revision: 21a689085635e850f2c05369aef67f62f6f31269

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

LOG: [Vectorize] Clean up Transforms/Vectorize.h

Removed definitions of vectorizeBasicBlock and VectorizeConfig
(possibly a remnant from the BBVectorize pass that was removed
way back in 2017).

Also reduced amount of include dependencies to Transforms/Vectorize.h.

Added: 
    

Modified: 
    llvm/include/llvm/Transforms/Vectorize.h
    llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
    llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
    llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
    llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
    llvm/lib/Transforms/Vectorize/Vectorize.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/Transforms/Vectorize.h b/llvm/include/llvm/Transforms/Vectorize.h
index b77ebbc55e7de..1db501e0aeb0e 100644
--- a/llvm/include/llvm/Transforms/Vectorize.h
+++ b/llvm/include/llvm/Transforms/Vectorize.h
@@ -15,108 +15,8 @@
 #define LLVM_TRANSFORMS_VECTORIZE_H
 
 namespace llvm {
-class BasicBlock;
 class Pass;
 
-//===----------------------------------------------------------------------===//
-/// Vectorize configuration.
-struct VectorizeConfig {
-  //===--------------------------------------------------------------------===//
-  // Target architecture related parameters
-
-  /// The size of the native vector registers.
-  unsigned VectorBits;
-
-  /// Vectorize boolean values.
-  bool VectorizeBools;
-
-  /// Vectorize integer values.
-  bool VectorizeInts;
-
-  /// Vectorize floating-point values.
-  bool VectorizeFloats;
-
-  /// Vectorize pointer values.
-  bool VectorizePointers;
-
-  /// Vectorize casting (conversion) operations.
-  bool VectorizeCasts;
-
-  /// Vectorize floating-point math intrinsics.
-  bool VectorizeMath;
-
-  /// Vectorize bit intrinsics.
-  bool VectorizeBitManipulations;
-
-  /// Vectorize the fused-multiply-add intrinsic.
-  bool VectorizeFMA;
-
-  /// Vectorize select instructions.
-  bool VectorizeSelect;
-
-  /// Vectorize comparison instructions.
-  bool VectorizeCmp;
-
-  /// Vectorize getelementptr instructions.
-  bool VectorizeGEP;
-
-  /// Vectorize loads and stores.
-  bool VectorizeMemOps;
-
-  /// Only generate aligned loads and stores.
-  bool AlignedOnly;
-
-  //===--------------------------------------------------------------------===//
-  // Misc parameters
-
-  /// The required chain depth for vectorization.
-  unsigned ReqChainDepth;
-
-  /// The maximum search distance for instruction pairs.
-  unsigned SearchLimit;
-
-  /// The maximum number of candidate pairs with which to use a full
-  ///        cycle check.
-  unsigned MaxCandPairsForCycleCheck;
-
-  /// Replicating one element to a pair breaks the chain.
-  bool SplatBreaksChain;
-
-  /// The maximum number of pairable instructions per group.
-  unsigned MaxInsts;
-
-  /// The maximum number of candidate instruction pairs per group.
-  unsigned MaxPairs;
-
-  /// The maximum number of pairing iterations.
-  unsigned MaxIter;
-
-  /// Don't try to form odd-length vectors.
-  bool Pow2LenOnly;
-
-  /// Don't boost the chain-depth contribution of loads and stores.
-  bool NoMemOpBoost;
-
-  /// Use a fast instruction dependency analysis.
-  bool FastDep;
-
-  /// Initialize the VectorizeConfig from command line options.
-  VectorizeConfig();
-};
-
-//===----------------------------------------------------------------------===//
-/// Vectorize the BasicBlock.
-///
-/// @param BB The BasicBlock to be vectorized
-/// @param P  The current running pass, should require AliasAnalysis and
-///           ScalarEvolution. After the vectorization, AliasAnalysis,
-///           ScalarEvolution and CFG are preserved.
-///
-/// @return True if the BB is changed, false otherwise.
-///
-bool vectorizeBasicBlock(Pass *P, BasicBlock &BB,
-                         const VectorizeConfig &C = VectorizeConfig());
-
 //===----------------------------------------------------------------------===//
 //
 // LoadStoreVectorizer - Create vector loads and stores, but leave scalar

diff  --git a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
index 2a6afd8fda048..410cd4e803b28 100644
--- a/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
+++ b/llvm/lib/Target/AMDGPU/AMDGPUTargetMachine.cpp
@@ -59,7 +59,7 @@
 #include "llvm/Transforms/Scalar/InferAddressSpaces.h"
 #include "llvm/Transforms/Utils.h"
 #include "llvm/Transforms/Utils/SimplifyLibCalls.h"
-#include "llvm/Transforms/Vectorize.h"
+#include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
 #include <optional>
 
 using namespace llvm;

diff  --git a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
index 3d1e4fcde90aa..1c35740104add 100644
--- a/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
+++ b/llvm/lib/Target/NVPTX/NVPTXTargetMachine.cpp
@@ -34,7 +34,7 @@
 #include "llvm/TargetParser/Triple.h"
 #include "llvm/Transforms/Scalar.h"
 #include "llvm/Transforms/Scalar/GVN.h"
-#include "llvm/Transforms/Vectorize.h"
+#include "llvm/Transforms/Vectorize/LoadStoreVectorizer.h"
 #include <cassert>
 #include <optional>
 #include <string>

diff  --git a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
index afa954f3f9933..6d8fbd1c2e2cd 100644
--- a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp
@@ -78,7 +78,6 @@
 #include "llvm/Support/MathExtras.h"
 #include "llvm/Support/raw_ostream.h"
 #include "llvm/Transforms/Utils/Local.h"
-#include "llvm/Transforms/Vectorize.h"
 #include <algorithm>
 #include <cassert>
 #include <cstdlib>

diff  --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 068180c138145..a1fabec2a8d7c 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -87,7 +87,6 @@
 #include "llvm/Transforms/Utils/InjectTLIMappings.h"
 #include "llvm/Transforms/Utils/Local.h"
 #include "llvm/Transforms/Utils/LoopUtils.h"
-#include "llvm/Transforms/Vectorize.h"
 #include <algorithm>
 #include <cassert>
 #include <cstdint>

diff  --git a/llvm/lib/Transforms/Vectorize/Vectorize.cpp b/llvm/lib/Transforms/Vectorize/Vectorize.cpp
index 3853bf1e080dd..2f5048d2a6643 100644
--- a/llvm/lib/Transforms/Vectorize/Vectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/Vectorize.cpp
@@ -12,7 +12,6 @@
 //
 //===----------------------------------------------------------------------===//
 
-#include "llvm/Transforms/Vectorize.h"
 #include "llvm/InitializePasses.h"
 #include "llvm/PassRegistry.h"
 


        


More information about the llvm-commits mailing list