[llvm-commits] [llvm] r154249 - in /llvm/trunk: include/llvm/Transforms/Vectorize.h lib/Transforms/Vectorize/BBVectorize.cpp
Hongbin Zheng
etherzhhb at gmail.com
Fri Apr 6 20:56:24 PDT 2012
Author: ether
Date: Fri Apr 6 22:56:23 2012
New Revision: 154249
URL: http://llvm.org/viewvc/llvm-project?rev=154249&view=rev
Log:
Refactor: Use positive field names in VectorizeConfig.
Modified:
llvm/trunk/include/llvm/Transforms/Vectorize.h
llvm/trunk/lib/Transforms/Vectorize/BBVectorize.cpp
Modified: llvm/trunk/include/llvm/Transforms/Vectorize.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Vectorize.h?rev=154249&r1=154248&r2=154249&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Transforms/Vectorize.h (original)
+++ llvm/trunk/include/llvm/Transforms/Vectorize.h Fri Apr 6 22:56:23 2012
@@ -28,23 +28,23 @@
/// @brief The size of the native vector registers.
unsigned VectorBits;
- /// @brief Don't try to vectorize integer values.
- bool NoInts;
+ /// @brief Vectorize integer values.
+ bool VectorizeInts;
- /// @brief Don't try to vectorize floating-point values.
- bool NoFloats;
+ /// @brief Vectorize floating-point values.
+ bool VectorizeFloats;
- /// @brief Don't try to vectorize casting (conversion) operations.
- bool NoCasts;
+ /// @brief Vectorize casting (conversion) operations.
+ bool VectorizeCasts;
- /// @brief Don't try to vectorize floating-point math intrinsics.
- bool NoMath;
+ /// @brief Vectorize floating-point math intrinsics.
+ bool VectorizeMath;
- /// @brief Don't try to vectorize the fused-multiply-add intrinsic.
- bool NoFMA;
+ /// @brief Vectorize the fused-multiply-add intrinsic.
+ bool VectorizeFMA;
- /// @brief Don't try to vectorize loads and stores.
- bool NoMemOps;
+ /// @brief Vectorize loads and stores.
+ bool VectorizeMemOps;
/// @brief Only generate aligned loads and stores.
bool AlignedOnly;
Modified: llvm/trunk/lib/Transforms/Vectorize/BBVectorize.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Vectorize/BBVectorize.cpp?rev=154249&r1=154248&r2=154249&view=diff
==============================================================================
--- llvm/trunk/lib/Transforms/Vectorize/BBVectorize.cpp (original)
+++ llvm/trunk/lib/Transforms/Vectorize/BBVectorize.cpp Fri Apr 6 22:56:23 2012
@@ -437,9 +437,9 @@
case Intrinsic::exp:
case Intrinsic::exp2:
case Intrinsic::pow:
- return !Config.NoMath;
+ return Config.VectorizeMath;
case Intrinsic::fma:
- return !Config.NoFMA;
+ return Config.VectorizeFMA;
}
}
@@ -533,16 +533,16 @@
} else if (LoadInst *L = dyn_cast<LoadInst>(I)) {
// Vectorize simple loads if possbile:
IsSimpleLoadStore = L->isSimple();
- if (!IsSimpleLoadStore || Config.NoMemOps)
+ if (!IsSimpleLoadStore || !Config.VectorizeMemOps)
return false;
} else if (StoreInst *S = dyn_cast<StoreInst>(I)) {
// Vectorize simple stores if possbile:
IsSimpleLoadStore = S->isSimple();
- if (!IsSimpleLoadStore || Config.NoMemOps)
+ if (!IsSimpleLoadStore || !Config.VectorizeMemOps)
return false;
} else if (CastInst *C = dyn_cast<CastInst>(I)) {
// We can vectorize casts, but not casts of pointer types, etc.
- if (Config.NoCasts)
+ if (!Config.VectorizeCasts)
return false;
Type *SrcTy = C->getSrcTy();
@@ -582,10 +582,12 @@
!(VectorType::isValidElementType(T2) || T2->isVectorTy()))
return false;
- if (Config.NoInts && (T1->isIntOrIntVectorTy() || T2->isIntOrIntVectorTy()))
+ if (!Config.VectorizeInts
+ && (T1->isIntOrIntVectorTy() || T2->isIntOrIntVectorTy()))
return false;
- if (Config.NoFloats && (T1->isFPOrFPVectorTy() || T2->isFPOrFPVectorTy()))
+ if (!Config.VectorizeFloats
+ && (T1->isFPOrFPVectorTy() || T2->isFPOrFPVectorTy()))
return false;
if (T1->getPrimitiveSizeInBits() > Config.VectorBits/2 ||
@@ -1887,12 +1889,12 @@
//===----------------------------------------------------------------------===//
VectorizeConfig::VectorizeConfig() {
VectorBits = ::VectorBits;
- NoInts = ::NoInts;
- NoFloats = ::NoFloats;
- NoCasts = ::NoCasts;
- NoMath = ::NoMath;
- NoFMA = ::NoFMA;
- NoMemOps = ::NoMemOps;
+ VectorizeInts = !::NoInts;
+ VectorizeFloats = !::NoFloats;
+ VectorizeCasts = !::NoCasts;
+ VectorizeMath = !::NoMath;
+ VectorizeFMA = !::NoFMA;
+ VectorizeMemOps = !::NoMemOps;
AlignedOnly = ::AlignedOnly;
ReqChainDepth= ::ReqChainDepth;
SearchLimit = ::SearchLimit;
More information about the llvm-commits
mailing list