Commit Graph

6 Commits

Author SHA1 Message Date
Stefan Stipanovic
ffa5500e3a [Attributor] Deducing existing nounwind attribute.
Adding nounwind deduction in new attributor framework.

Reviewers: jdoerfert, uenoku

Subscribers: hiraditya, llvm-commits

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@364521 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-27 11:27:54 +00:00
Johannes Doerfert
b8b2e16c53 [Attributor] Disable the Attributor by default and fix a comment
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@363408 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-14 14:53:41 +00:00
Stefan Stipanovic
226232fec0 test-commit
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362802 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-07 14:18:02 +00:00
Simon Pilgrim
7e97c400ef [IPO] Disabled 'default only' switch statements to fix MSVC warnings.
@jdoerfert Looks like these are placeholders for incoming abstract attributes patches so I've just commented the code out, even though this is usually frowned upon.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362592 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-05 10:04:05 +00:00
Michael Liao
5d5e129235 Suppress false-positive GCC -Wreturn-type warning.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362582 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-05 04:18:12 +00:00
Johannes Doerfert
f64487e26f [Attributor] Pass infrastructure and fixpoint framework
NOTE: Note that no attributes are derived yet. This patch will not go in
      alone but only with others that derive attributes. The framework is
      split for review purposes.

This commit introduces the Attributor pass infrastructure and fixpoint
iteration framework. Further patches will introduce abstract attributes
into this framework.

In a nutshell, the Attributor will update instances of abstract
arguments until a fixpoint, or a "timeout", is reached. Communication
between the Attributor and the abstract attributes that are derived is
restricted to the AbstractState and AbstractAttribute interfaces.

Please see the file comment in Attributor.h for detailed information
including design decisions and typical use case. Also consider the class
documentation for Attributor, AbstractState, and AbstractAttribute.

Reviewers: chandlerc, homerdin, hfinkel, fedor.sergeev, sanjoy, spatel, nlopes, nicholas, reames

Subscribers: mehdi_amini, mgorny, hiraditya, bollu, steven_wu, dexonsmith, dang, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@362578 91177308-0d34-0410-b5e6-96231b3b80d8
2019-06-05 03:02:24 +00:00