summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/TargetTransformInfo.cpp
diff options
context:
space:
mode:
authorArtem Belevich <tra@google.com>2017-10-24 20:31:44 +0000
committerArtem Belevich <tra@google.com>2017-10-24 20:31:44 +0000
commitcb8f6328dc6e81b2f572e15f9d28be5c8c233655 (patch)
tree87c1f37cb7356879b25ee51f7395af324cc5eb0c /llvm/lib/Analysis/TargetTransformInfo.cpp
parentd20442d3830c8d668f035d77e766dee843e8107e (diff)
downloadbcm5719-llvm-cb8f6328dc6e81b2f572e15f9d28be5c8c233655.tar.gz
bcm5719-llvm-cb8f6328dc6e81b2f572e15f9d28be5c8c233655.zip
[NVPTX] allow address space inference for volatile loads/stores.
If particular target supports volatile memory access operations, we can avoid AS casting to generic AS. Currently it's only enabled in NVPTX for loads and stores that access global & shared AS. Differential Revision: https://reviews.llvm.org/D39026 llvm-svn: 316495
Diffstat (limited to 'llvm/lib/Analysis/TargetTransformInfo.cpp')
-rw-r--r--llvm/lib/Analysis/TargetTransformInfo.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Analysis/TargetTransformInfo.cpp b/llvm/lib/Analysis/TargetTransformInfo.cpp
index fad918dabb5..c3185bf2bbd 100644
--- a/llvm/lib/Analysis/TargetTransformInfo.cpp
+++ b/llvm/lib/Analysis/TargetTransformInfo.cpp
@@ -180,6 +180,11 @@ bool TargetTransformInfo::hasDivRemOp(Type *DataType, bool IsSigned) const {
return TTIImpl->hasDivRemOp(DataType, IsSigned);
}
+bool TargetTransformInfo::hasVolatileVariant(Instruction *I,
+ unsigned AddrSpace) const {
+ return TTIImpl->hasVolatileVariant(I, AddrSpace);
+}
+
bool TargetTransformInfo::prefersVectorizedAddressing() const {
return TTIImpl->prefersVectorizedAddressing();
}
OpenPOWER on IntegriCloud