[Attributor][FIX] Do not use cyclic arguments for `nonnull`
authorJohannes Doerfert <johannes@jdoerfert.de>
Tue, 18 Aug 2020 15:01:37 +0000 (10:01 -0500)
committerJohannes Doerfert <johannes@jdoerfert.de>
Thu, 20 Aug 2020 06:44:58 +0000 (01:44 -0500)
commitd01ad217baf34550550e53c6578c1a2a58c75829
tree04abee26533fd3259d54e93f98c9712883fffc2a
parenta49dae0e38b61aff294a70829eba0b4ef47f7bb5
[Attributor][FIX] Do not use cyclic arguments for `nonnull`

`AADereferenceable::getAssumedDereferenceableBytes()` is actually
deducing `dereferenceable_or_null`. We should not use that information
to deduce `nonnull`, since it doesn't imply `nonnull`.
llvm/lib/Transforms/IPO/AttributorAttributes.cpp
llvm/test/Transforms/Attributor/ArgumentPromotion/2008-07-02-array-indexing.ll
llvm/test/Transforms/Attributor/ArgumentPromotion/crash.ll
llvm/test/Transforms/Attributor/dereferenceable-1.ll
llvm/test/Transforms/Attributor/nocapture-2.ll
llvm/test/Transforms/Attributor/nonnull.ll
llvm/test/Transforms/Attributor/nounwind.ll