[InstCombine] Remove unused llvm.experimental.noalias.scope.decl
authorJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Sun, 24 Jan 2021 12:55:50 +0000 (13:55 +0100)
committerJeroen Dobbelaere <jeroen.dobbelaere@synopsys.com>
Sun, 24 Jan 2021 12:55:50 +0000 (13:55 +0100)
commitdcc7706fcf2438b92d6f619e63c5db4880042ed2
tree4233b2d932569b5342a1627b7a71c11f43af0d06
parent659c7bcde62e96c84f157b1d4ac4f320c56089a1
[InstCombine] Remove unused llvm.experimental.noalias.scope.decl

A @llvm.experimental.noalias.scope.decl is only useful if there is !alias.scope and !noalias metadata that uses the declared scope.
When that is not the case for at least one of the two, the intrinsic call can as well be removed.

Reviewed By: nikic

Differential Revision: https://reviews.llvm.org/D95141
llvm/lib/Transforms/InstCombine/InstructionCombining.cpp
llvm/test/Transforms/Coroutines/coro-retcon-resume-values.ll
llvm/test/Transforms/Coroutines/coro-retcon-value.ll
llvm/test/Transforms/Coroutines/coro-retcon.ll
llvm/test/Transforms/Coroutines/ex2.ll
llvm/test/Transforms/Coroutines/ex3.ll
llvm/test/Transforms/Coroutines/ex4.ll
llvm/test/Transforms/InstCombine/noalias-scope-decl.ll [new file with mode: 0644]
llvm/test/Transforms/PhaseOrdering/inlining-alignment-assumptions.ll
llvm/test/Transforms/PhaseOrdering/instcombine-sroa-inttoptr.ll