[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