summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2015-02-15 08:08:48 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2015-02-15 08:08:48 +0000
commit6f5a859633867af4040bb7d9fe3d647f1c074b45 (patch)
treed6b8b15a72da5d6d32ad901ccea2a0de77f0e208
parentc3cd8564eb6e8582d73749358345988a960ca2cf (diff)
downloadbcm5719-llvm-6f5a859633867af4040bb7d9fe3d647f1c074b45.tar.gz
bcm5719-llvm-6f5a859633867af4040bb7d9fe3d647f1c074b45.zip
Enabled cost calculation for masked memory operations.
We already have implementation for cost calculation for masked memory operations. I just call it from the loop vectorizer. llvm-svn: 229290
-rw-r--r--llvm/lib/Transforms/Vectorize/LoopVectorize.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index dd2beb34c6a..1db089b8d61 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -4912,7 +4912,11 @@ LoopVectorizationCostModel::getInstructionCost(Instruction *I, unsigned VF) {
// Wide load/stores.
unsigned Cost = TTI.getAddressComputationCost(VectorTy);
- Cost += TTI.getMemoryOpCost(I->getOpcode(), VectorTy, Alignment, AS);
+ if (Legal->isMaskRequired(I))
+ Cost += TTI.getMaskedMemoryOpCost(I->getOpcode(), VectorTy, Alignment,
+ AS);
+ else
+ Cost += TTI.getMemoryOpCost(I->getOpcode(), VectorTy, Alignment, AS);
if (Reverse)
Cost += TTI.getShuffleCost(TargetTransformInfo::SK_Reverse,
OpenPOWER on IntegriCloud