[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 22 16:06:37 PST 2017


mkuper added a comment.

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

> > 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.
>
> The key is that we need some coverage for this fix; without a test, if indirectbr handling breaks somehow in the future, we won't know until someone complains about a huge performance regression a year later.


I understand, I'm just not sure what you're suggesting. Would you like me to commit a synthetic test for this into the test-suite, to serve as a performance regression test?

> Patch looks fine, but I'd like to see perf numbers from the testsuite showing an improvement before we merge this.

As I said above, this code-path only gets hit in exactly one source file in the testsuite, and that file doesn't belong to anything that can be used as a performance test: http://llvm.org/svn/llvm-project/test-suite/trunk/SingleSource/Regression/C/2004-03-15-IndirectGoto.c
So there are really no meaningful testsuite numbers to provide. I'm pretty sure computed gotos are really not common except when implementing interpreters, emulators, etc.

I can see whether it gets hit in SPEC, maybe perlbench...


https://reviews.llvm.org/D29916





More information about the llvm-commits mailing list