diff options
author | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-02-15 08:08:48 +0000 |
---|---|---|
committer | Elena Demikhovsky <elena.demikhovsky@intel.com> | 2015-02-15 08:08:48 +0000 |
commit | 6f5a859633867af4040bb7d9fe3d647f1c074b45 (patch) | |
tree | d6b8b15a72da5d6d32ad901ccea2a0de77f0e208 | |
parent | c3cd8564eb6e8582d73749358345988a960ca2cf (diff) | |
download | bcm5719-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.cpp | 6 |
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, |