]> granicus.if.org Git - llvm/commit
[Attributor] Deduce "dereferenceable" attribute
authorHideto Ueno <uenoku.tokotoko@gmail.com>
Tue, 23 Jul 2019 08:16:17 +0000 (08:16 +0000)
committerHideto Ueno <uenoku.tokotoko@gmail.com>
Tue, 23 Jul 2019 08:16:17 +0000 (08:16 +0000)
commitee56bd56a3c222a54f78142428f45efc1f931333
tree81f3f36622ab4d3b1e7715ca0675b45aff9913f5
parentd414567b4022d1247101d5462e5c230a79014c40
[Attributor] Deduce "dereferenceable" attribute

Summary:
Deduce dereferenceable attribute in Attributor.

These will be added in a later patch.
* dereferenceable(_or_null)_globally (D61652)
* Deduction based on load instruction (similar to D64258)

Reviewers: jdoerfert, sstefan1

Reviewed By: jdoerfert

Subscribers: hiraditya, jfb, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@366788 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Transforms/IPO/Attributor.h
lib/Transforms/IPO/Attributor.cpp
test/Transforms/FunctionAttrs/arg_nocapture.ll
test/Transforms/FunctionAttrs/dereferenceable.ll [new file with mode: 0644]
test/Transforms/FunctionAttrs/noalias_returned.ll
test/Transforms/FunctionAttrs/nonnull.ll