aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Support/VirtualFileSystem.cpp
diff options
context:
space:
mode:
authorJakub Kuderski <kubak@google.com>2019-12-18 13:48:54 -0500
committerJakub Kuderski <kubak@google.com>2019-12-18 13:48:54 -0500
commit406b6019cd2bd50924be11c634b058c01053fbd3 (patch)
tree4d74b0b31b2b0278055dd877600b2c56c0b1fb12 /llvm/lib/Support/VirtualFileSystem.cpp
parentb6e90a1a1093210784ed3614b51ebcc31c2a1dcf (diff)
downloadllvm-406b6019cd2bd50924be11c634b058c01053fbd3.zip
llvm-406b6019cd2bd50924be11c634b058c01053fbd3.tar.gz
llvm-406b6019cd2bd50924be11c634b058c01053fbd3.tar.bz2
[InstCombine] Allow to limit the max number of iterations
Summary: This patch teaches InstCombine to accept a new parameter: maximum number of iterations over functions. InstCombine tries to simplify instructions by iterating over the whole function until the function stops changing. As a consequence, the last iteration before reaching a fixpoint visits all instructions in the worklist and never performs any rewrites. Bounding the number of iterations can have 2 benefits: * In case the users of the pass can make a good guess about the number of required iterations, we can save the time normally spent on the last iteration that doesn't change anything. * When the wants to use InstCombine as a cleanup pass, it may be enough to run just a few iterations and stop even before reaching a fixpoint. This can be also useful for implementing a lightweight pass pipeline (think `-O1`). This patch does not change the behavior of opt or Clang -- limiting the number of iterations is entirely opt-in. Reviewers: fhahn, davide, spatel, foad, nlopes, grosser, lebedev.ri, nikic, xbolva00 Reviewed By: spatel Subscribers: craig.topper, hiraditya, llvm-commits Tags: #llvm Differential Revision: https://reviews.llvm.org/D71145
Diffstat (limited to 'llvm/lib/Support/VirtualFileSystem.cpp')
0 files changed, 0 insertions, 0 deletions