[PATCH] D29428: [SimplifyCFG] Merge similar fatal error blocks ending in unreachable

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 2 17:24:31 PDT 2017


rnk added a comment.

To evaluate this patch, I compiled clang with assertions enabled on Linux. It fires often there, and in interesting ways because after inlining there are many different assertions from many different files and lines in the same function.

It looks like I didn't save or paste the results for it anywhere. I remember they were disappointingly negative, both in code size and performance, so I never came back to re-evaluate this. In isolation, this patch should **reduce** code size, but I suspect that because simplifycfg runs before inlining, it affects inline cost analysis and we over-inline.

It's hard to get excited about pursuing this further because this pass is a bit redundant with MI-level tail merging, which has a better cost model and doesn't impact inlining.


https://reviews.llvm.org/D29428





More information about the llvm-commits mailing list