llvm-project/llvm/test/Transforms/ArgumentPromotion
Florian Hahn 1e392fc445 [ArgPromotion] Replace all md uses of promoted values with undef.
Currently, ArgPromotion may leave metadata uses of promoted values,
which will end up in the wrong function, creating invalid IR.

PR33641 fixed this for dead arguments, but it can be also be triggered
arguments with users that are promoted (see the updated test case).

We also have to drop uses to them after promoting them. We need to do
this after dealing with the non-metadata uses, so I also moved the empty
use case to the loop that deals with updating the arguments of the new
function.

Reviewed By: aprantl

Differential Revision: https://reviews.llvm.org/D85127
2020-08-03 19:31:53 +01:00
..
X86 [X86][ArgumentPromotion] Allow Argument Promotion if caller and callee disagree on 512-bit vectors support if the arguments are scalar. 2020-04-24 15:47:02 -07:00
2008-02-01-ReturnAttrs.ll
2008-07-02-array-indexing.ll
2008-09-07-CGUpdate.ll
2008-09-08-CGUpdateSelfEdge.ll
aggregate-promote.ll
attrs.ll AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
basictest.ll [BasicAA] Rename deprecated -basicaa to -basic-aa 2020-06-26 20:41:37 -07:00
byval-2.ll AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
byval.ll AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
chained.ll
control-flow.ll
control-flow2.ll
crash.ll
dbg.ll AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
fp80.ll
inalloca.ll
invalidation.ll
musttail.ll
naked_functions.ll
nonzero-address-spaces.ll
pr27568.ll
pr32917.ll
pr33641_remove_arg_dbgvalue.ll [ArgPromotion] Replace all md uses of promoted values with undef. 2020-08-03 19:31:53 +01:00
profile.ll
reserve-tbaa.ll
sret.ll
tail.ll AllocaInst should store Align instead of MaybeAlign. 2020-05-16 14:53:16 -07:00
variadic.ll