llvm-project/llvm/test/Transforms/DeadArgElim
Florian Hahn 5913d77056
[Globals] Treat nobuiltin fns as maybe-derefined.
Callsites could be marked as `builtin` while calling `nobuiltin`
functions. This can lead to problems, if local optimizations apply
transformations based on the semantics of the builtin, but then IPO
treats the function as `nobuiltin` and applies a transform that breaks
builtin semantics (assumed earlier).

To avoid this, mark such functions as maybey-derefined, to avoid IPO
transforms on them that may break assumptions of earlier calls.

Fixes #57075
Fixes #48366

Reviewed By: ychen

Differential Revision: https://reviews.llvm.org/D97735
2022-08-23 13:45:10 +01:00
..
2006-06-27-struct-ret.ll
2007-02-07-FuncRename.ll
2007-10-18-VarargsReturn.ll
2007-12-20-ParamAttrs.ll
2008-01-16-VarargsParamAttrs.ll
2008-06-23-DeadAfterLive.ll
2009-03-17-MRE-Invoke.ll
2010-04-30-DbgInfo.ll [llvm] Add DW_CC_nocall to function debug metadata when either return values or arguments are removed 2022-06-15 03:30:15 +05:30
2013-05-17-VarargsAndBlockAddress.ll
NoundefAttrs.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
aggregates.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
allocsize.ll
basictest.ll
byref.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
call_profile.ll
canon.ll
comdat.ll
dbginfo-preserve-dbgloc.ll
dbginfo-update-dbgval-local.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
dbginfo-update-dbgval.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
dbginfo.ll
dead_vaargs.ll
deadexternal.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
deadretval.ll
deadretval2.ll
fct_ptr.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
func_metadata.ll
funclet.ll
keepalive.ll
linkage.ll
multdeadretval.ll
musttail-caller.ll
naked_functions.ll
nonzero-address-spaces.ll
opaque-ptr.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00
operandbundle.ll
pr49022-builtin-nobuiltin.ll [Globals] Treat nobuiltin fns as maybe-derefined. 2022-08-23 13:45:10 +01:00
preserve-used-ret.ll
returned.ll
variadic_safety.ll [DeadArgElim] Use poison instead of undef as placeholder for dead arguments 2022-05-19 18:00:24 +01:00