llvm-project/llvm/test/Feature
Philip Reames 7b54de5fef [funcattrs] Fix a bug in recently introduced writeonly argument inference
This fixes a bug in 740057d.  There's two ways to describe the issue:
* One caller hasn't yet proven nocapture on the argument.  Given that, the inference routine is responsible for bailing out on a potential capture.
* Even if we know the argument is nocapture, the access inference needs to traverse the exact set of users the capture tracking would (or exit conservatively).  Even if capture tracking can prove a store is non-capturing (e.g. to a local alloc which doesn't escape), we still need to track the copy of the pointer to see if it's later reloaded and accessed again.

Note that all the test changes except the newly added ones appear to be false negatives.  That is, cases where we could prove writeonly, but the current code isn't strong enough.  That's why I didn't spot this originally.
2021-12-03 08:57:15 -08:00
..
OperandBundles [funcattrs] Fix a bug in recently introduced writeonly argument inference 2021-12-03 08:57:15 -08:00
NamedMDNode.ll
NamedMDNode2.ll
README.txt
alias2.ll
aliases.ll
alignment.ll
attributes.ll
basictest.ll
callingconventions.ll OpaquePtr: Bulk update tests to use typed sret 2020-11-20 17:58:26 -05:00
calltest.ll
casttest.ll
cfgstructures.ll
cold.ll
comdat.ll
const_pv.ll
constexpr.ll
constpointer.ll
elf-deplibs.ll
elf-linker-options.ll
escaped_label.ll
exception.ll
float.ll
fold-fpcast.ll
forwardreftest.ll
fp-intrinsics.ll This adds constrained intrinsics for the signed and unsigned conversions 2019-12-17 10:06:51 -05:00
global_pv.ll
global_section.ll
globalredefinition3.ll
globalvars.ll
indirectcall.ll
indirectcall2.ll
inlineasm.ll
instructions.ll
intrinsic-noduplicate.ll
intrinsics.ll [IR] Make nosync, nofree and willreturn default for intrinsics. 2020-10-20 11:57:19 +02:00
load_extension.ll [test][NewPM] Pin various tests to the legacy PM 2021-02-02 15:07:10 -08:00
md_on_instruction.ll StoreInst should store Align, not MaybeAlign 2020-05-15 12:26:58 -07:00
memorymarkers.ll
metadata.ll
minsize_attr.ll
newcasts.ll
optnone-llc.ll
optnone-opt.ll [NPM] Remove -enable-npm-optnone flag 2020-11-18 15:49:16 -08:00
optnone.ll
packed.ll
packed_struct.ll
paramattrs.ll
ppcld.ll
prefixdata.ll
prologuedata.ll
properties.ll
prototype.ll
recursivetype.ll
seh-nounwind.ll
simplecalltest.ll
small.ll
smallest.ll
sparcld.ll
strip_names.ll
terminators.ll
testalloca.ll
testconstants.ll
testlogical.ll
testtype.ll
testvarargs.ll
undefined.ll [IR] Keep a double break between functions when printing a module 2020-01-27 15:31:09 -08:00
unreachable.ll
varargs.ll
varargs_new.ll
vector-cast-constant-exprs.ll
weak_constant.ll [Feature][NFC]Improve test checks to avoid possible false postitive test 2021-11-12 06:28:44 -08:00
weirdnames.ll
x86ld.ll

README.txt

This directory contains test cases for individual source features of LLVM.
It is designed to make sure that the major components of LLVM support all of the
features of LLVM, for very small examples.  Entire programs should not go here.

Regression tests for individual bug fixes should go into the test/Regression dir.