diff options
author | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-07-12 19:16:02 +0000 |
---|---|---|
committer | Arnold Schwaighofer <aschwaighofer@apple.com> | 2013-07-12 19:16:02 +0000 |
commit | 9da9a43af893f9a18f8b69b1b7fa465d6ea6e4c4 (patch) | |
tree | 00c03749a8a3431468c4f215930e7951ee1981e9 /llvm/lib/Analysis/TargetTransformInfo.cpp | |
parent | c5acd1ca8471c86a49ccdbaafc415ddfd36ea7ad (diff) | |
download | bcm5719-llvm-9da9a43af893f9a18f8b69b1b7fa465d6ea6e4c4.tar.gz bcm5719-llvm-9da9a43af893f9a18f8b69b1b7fa465d6ea6e4c4.zip |
TargetTransformInfo: address calculation parameter for gather/scather
Address calculation for gather/scather in vectorized code can incur a
significant cost making vectorization unbeneficial. Add infrastructure to add
cost.
Tests and cost model for targets will be in follow-up commits.
radar://14351991
llvm-svn: 186187
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r-- | llvm/lib/Analysis/TargetTransformInfo.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp index 35ce794c7f1..4b2bf3c770b 100644 --- a/llvm/lib/Analysis/TargetTransformInfo.cpp +++ b/llvm/lib/Analysis/TargetTransformInfo.cpp @@ -206,8 +206,9 @@ unsigned TargetTransformInfo::getNumberOfParts(Type *Tp) const { return PrevTTI->getNumberOfParts(Tp); } -unsigned TargetTransformInfo::getAddressComputationCost(Type *Tp) const { - return PrevTTI->getAddressComputationCost(Tp); +unsigned TargetTransformInfo::getAddressComputationCost(Type *Tp, + bool IsComplex) const { + return PrevTTI->getAddressComputationCost(Tp, IsComplex); } namespace { @@ -559,7 +560,7 @@ struct NoTTI : ImmutablePass, TargetTransformInfo { return 0; } - unsigned getAddressComputationCost(Type *Tp) const { + unsigned getAddressComputationCost(Type *Tp, bool) const { return 0; } }; |