alexfh added a comment.

In D93688#2525947 <https://reviews.llvm.org/D93688#2525947>, @alexfh wrote:

> This patch causes practically infinite traversal times on code that contains 
> deeply nested lambdas. I'll try to get a suitable repro, but could you maybe 
> revert this in the meantime?

Actually, there's a very simple test case:

  void f() {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    [] {
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
    }();
  }

It looks like each lambda traversal triggers multiple traversals of the same 
AST fragment causing exponential growth of the traversal time.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D93688/new/

https://reviews.llvm.org/D93688

_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to