diff options
author | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-30 23:30:29 +0000 |
---|---|---|
committer | Matt Arsenault <Matthew.Arsenault@amd.com> | 2016-06-30 23:30:29 +0000 |
commit | 2cbe52b9904ea93bc4d984279542fc10c8bdad28 (patch) | |
tree | 879af8a2df806aa7732f8c6fc29f466ddc98fc57 /llvm | |
parent | 9129873a93d6e0174f493e8e422f71c4a2b88b08 (diff) | |
download | bcm5719-llvm-2cbe52b9904ea93bc4d984279542fc10c8bdad28.tar.gz bcm5719-llvm-2cbe52b9904ea93bc4d984279542fc10c8bdad28.zip |
LoadStoreVectorizer: Skip optnone functions
llvm-svn: 274296
Diffstat (limited to 'llvm')
-rw-r--r-- | llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp | 2 | ||||
-rw-r--r-- | llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll | 12 |
2 files changed, 13 insertions, 1 deletions
diff --git a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp index 2908caa9c6a..880be650ef3 100644 --- a/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp @@ -159,7 +159,7 @@ bool LoadStoreVectorizer::runOnFunction(Function &F) { ScalarEvolution &SE = getAnalysis<ScalarEvolutionWrapperPass>().getSE(); // Don't vectorize when the attribute NoImplicitFloat is used. - if (F.hasFnAttribute(Attribute::NoImplicitFloat)) + if (F.hasFnAttribute(Attribute::NoImplicitFloat) || skipFunction(F)) return false; Vectorizer V(F, AA, DT, SE, VecRegSize); diff --git a/llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll b/llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll new file mode 100644 index 00000000000..42166f9986b --- /dev/null +++ b/llvm/test/Transforms/LoadStoreVectorizer/AMDGPU/optnone.ll @@ -0,0 +1,12 @@ +; RUN: opt -mtriple=amdgcn-amd-amdhsa -load-store-vectorizer -S -o - %s | FileCheck %s + +; CHECK-LABEL: @optnone( +; CHECK: store i32 +; CHECK: store i32 +define void @optnone(i32 addrspace(1)* %out) noinline optnone { + %out.gep.1 = getelementptr i32, i32 addrspace(1)* %out, i32 1 + + store i32 123, i32 addrspace(1)* %out.gep.1 + store i32 456, i32 addrspace(1)* %out + ret void +} |