summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorElena Demikhovsky <elena.demikhovsky@intel.com>2015-01-25 08:44:46 +0000
committerElena Demikhovsky <elena.demikhovsky@intel.com>2015-01-25 08:44:46 +0000
commita3232f764e07050a8b40f408c29eaa2f220bd5dc (patch)
tree4c28f1436b0b88534239ff30d04fcc50ba3a2c54 /llvm/lib/Analysis/TargetTransformInfo.cpp
parent4e340b75b2a20198c7891c5c7adb96da0bb96408 (diff)
downloadbcm5719-llvm-a3232f764e07050a8b40f408c29eaa2f220bd5dc.tar.gz
bcm5719-llvm-a3232f764e07050a8b40f408c29eaa2f220bd5dc.zip
Implemented cost model for masked load/store operations.
llvm-svn: 227035
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r--llvm/lib/Analysis/TargetTransformInfo.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
index e3317851714..9184842052b 100644
--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
+++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
@@ -221,6 +221,13 @@ unsigned TargetTransformInfo::getMemoryOpCost(unsigned Opcode, Type *Src,
return PrevTTI->getMemoryOpCost(Opcode, Src, Alignment, AddressSpace);
}
+unsigned
+TargetTransformInfo::getMaskedMemoryOpCost(unsigned Opcode, Type *Src,
+ unsigned Alignment,
+ unsigned AddressSpace) const {
+ return PrevTTI->getMaskedMemoryOpCost(Opcode, Src, Alignment, AddressSpace);
+}
+
unsigned
TargetTransformInfo::getIntrinsicInstrCost(Intrinsic::ID ID,
Type *RetTy,
@@ -623,6 +630,11 @@ struct NoTTI final : ImmutablePass, TargetTransformInfo {
return 1;
}
+ unsigned getMaskedMemoryOpCost(unsigned Opcode, Type *Src, unsigned Alignment,
+ unsigned AddressSpace) const override {
+ return 1;
+ }
+
unsigned getIntrinsicInstrCost(Intrinsic::ID ID, Type *RetTy,
ArrayRef<Type*> Tys) const override {
return 1;
OpenPOWER on IntegriCloud