LoadStoreVectorizer: Skip optnone functions

llvm-svn: 274296
This commit is contained in:
Matt Arsenault 2016-06-30 23:30:29 +00:00
parent 9129873a93
commit 2cbe52b990
2 changed files with 13 additions and 1 deletions

View File

@ -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);

View File

@ -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
}