SuccessChanges

Changes from Git (git http://labmaster3.local/git/llvm-project.git)

Summary

  1. [Attributor] Deduce dereferenceable based on accessed bytes map (details)
Commit 6c742fdbf48ee3ae9afb2ab1568397a3b89276e5 by uenoku.tokotoko
[Attributor] Deduce dereferenceable based on accessed bytes map
Summary: This patch introduces the deduction based on load/store
instructions whose pointer operand is a non-inbounds GEP instruction.
For example if we have,
``` void f(int *u){
u[0] = 0;
u[1] = 1;
u[2] = 2;
}
``` then u must be dereferenceable(12).
This patch is inspired by D64258
Reviewers: jdoerfert, spatel, hfinkel, RKSimon, sstefan1, xbolva00,
dtemirbulatov
Reviewed By: jdoerfert
Subscribers: jfb, lebedev.ri, xbolva00, hiraditya, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D70714
The file was modifiedllvm/lib/Transforms/IPO/Attributor.cpp
The file was modifiedllvm/test/Transforms/InferFunctionAttrs/dereferenceable.ll
The file was modifiedllvm/include/llvm/Transforms/IPO/Attributor.h