OSDN Git Service

[noalias.decl] Look through llvm.experimental.noalias.scope.decl
authorJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Tue, 19 Jan 2021 19:04:52 +0000 (20:04 +0100)
committerJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Tue, 19 Jan 2021 19:09:42 +0000 (20:09 +0100)
commit121cac01e8f8afe6ed2bb0b8ffe92f323776a716
tree0d73dd4fb101b859accb06dd0ada061956c7cd95
parent987760b463c1303121fff8197c4ebc66b61f0616
[noalias.decl] Look through llvm.experimental.noalias.scope.decl

Just like llvm.assume, there are a lot of cases where we can just ignore llvm.experimental.noalias.scope.decl.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D93042
18 files changed:
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
llvm/include/llvm/Analysis/VectorUtils.h
llvm/lib/Analysis/AliasSetTracker.cpp
llvm/lib/Analysis/MemorySSA.cpp
llvm/lib/Analysis/ValueTracking.cpp
llvm/lib/Analysis/VectorUtils.cpp
llvm/lib/CodeGen/Analysis.cpp
llvm/lib/Transforms/Scalar/EarlyCSE.cpp
llvm/lib/Transforms/Vectorize/LoopVectorizationLegality.cpp
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
llvm/test/Analysis/AliasSet/intrinsics.ll
llvm/test/Analysis/BasicAA/noalias-scope-decl.ll [new file with mode: 0644]
llvm/test/Analysis/CostModel/X86/free-intrinsics.ll
llvm/test/Analysis/CostModel/free-intrinsics-datalayout.ll
llvm/test/Analysis/CostModel/free-intrinsics-no_info.ll
llvm/test/Analysis/MemorySSA/noalias-scope-decl.ll [new file with mode: 0644]
llvm/test/Transforms/EarlyCSE/noalias-scope-decl.ll [new file with mode: 0644]
llvm/test/Transforms/LoopVectorize/noalias-scope-decl.ll [new file with mode: 0644]