[all-commits] [llvm/llvm-project] 6c742f: [Attributor] Deduce dereferenceable based on acces...

Hideto Ueno via All-commits all-commits at lists.llvm.org
Thu Nov 28 22:59:26 PST 2019


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 6c742fdbf48ee3ae9afb2ab1568397a3b89276e5
      https://github.com/llvm/llvm-project/commit/6c742fdbf48ee3ae9afb2ab1568397a3b89276e5
  Author: Hideto Ueno <uenoku.tokotoko at gmail.com>
  Date:   2019-11-29 (Fri, 29 Nov 2019)

  Changed paths:
    M llvm/include/llvm/Transforms/IPO/Attributor.h
    M llvm/lib/Transforms/IPO/Attributor.cpp
    M llvm/test/Transforms/InferFunctionAttrs/dereferenceable.ll

  Log Message:
  -----------
  [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




More information about the All-commits mailing list