]> granicus.if.org Git - llvm/commit
[Attributor] Use structured deduction for AANonNull
authorJohannes Doerfert <jdoerfert@anl.gov>
Tue, 20 Aug 2019 06:02:39 +0000 (06:02 +0000)
committerJohannes Doerfert <jdoerfert@anl.gov>
Tue, 20 Aug 2019 06:02:39 +0000 (06:02 +0000)
commite931b74a9d1bc2ef9b22caa7c9d67fe60dd8219b
treeabfe45c82d9a64d3f33f8991d7f8235720d74791
parent365fcdb0fa957d092b508b22135e8fa7593f79f9
[Attributor] Use structured deduction for AANonNull

Summary:
What D66126 did for AAAlign, this patch does for AANonNull. Agian, the
logic becomes more concise and localized. Again, returned poiners are
not annotated properly but that will not be an issue if this lands with
the "on-demand" generation of attributes. First improvements due to the
genericValueTraversal are already visible.

Reviewers: sstefan1, uenoku

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D66128

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369328 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/Attributor.cpp
test/Transforms/FunctionAttrs/align.ll
test/Transforms/FunctionAttrs/dereferenceable.ll
test/Transforms/FunctionAttrs/noalias_returned.ll
test/Transforms/FunctionAttrs/nonnull.ll
test/Transforms/FunctionAttrs/noreturn_async.ll
test/Transforms/FunctionAttrs/noreturn_sync.ll
test/Transforms/FunctionAttrs/nosync.ll