]> granicus.if.org Git - llvm/commit
[Attributor] Deal with shrinking dereferenceability in a loop
authorJohannes Doerfert <jdoerfert@anl.gov>
Fri, 23 Aug 2019 17:29:23 +0000 (17:29 +0000)
committerJohannes Doerfert <jdoerfert@anl.gov>
Fri, 23 Aug 2019 17:29:23 +0000 (17:29 +0000)
commita8af4b8fe09ab9eb6672a4dc7fec131b652be830
treeccf66e4f39e462f341fda65cb55d9381e21c210f
parentc738adf0b79d7ca67ed18ba5fb1b5e68c8e7acdf
[Attributor] Deal with shrinking dereferenceability in a loop

Summary:
If we have a loop in which the dereferenceability of a pointer decreases
we did slowly decrease it iteration by iteration, leading to a timeout.
With this patch we detect such circular reasoning and indicate a
fixpoint early.

Reviewers: uenoku, sstefan1

Subscribers: hiraditya, bollu, llvm-commits

Tags: #llvm

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@369784 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Transforms/IPO/Attributor.cpp
test/Transforms/FunctionAttrs/dereferenceable.ll