[PATCH] D29916: [CGP] Split some critical edges coming out of indirect branches

Michael Kuperstein via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 15 11:54:59 PST 2017


mkuper added a comment.

In https://reviews.llvm.org/D29916#677746, @efriedma wrote:

> Yes, this approach looks good.
>
> Can we add the Python interpreter loop in question to the testsuite so we don't regress this in the future?


I can try to craft a test that approximates the performance impact. I'm not sure it would make sense to add python itself to the test suite.

> Do we have any tests in the testsuite which use indirect goto which might be affected?  If not, what else might be affected?

I believe Eric saw this in the wild a while ago, I'm not entirely sure what the context is. But I think the main use-case of computed gotos is implementing interpreters. :-)

I haven't bothered with the test-suite, because I assumed this is rare enough not to appear. A cursory check shows we have one case that explicitly tests correctness of computed gotos (SingleSource/Regression/C/2004-03-15-IndirectGoto.c), but I doubt we have anything where this matters for performance. I'll check.


https://reviews.llvm.org/D29916





More information about the llvm-commits mailing list