[PATCH] D61409: [SimplifyCFG] Added condition assumption for unreachable blocks

Roman Lebedev via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu May 2 01:12:50 PDT 2019


lebedev.ri added a comment.

In D61409#1487375 <https://reviews.llvm.org/D61409#1487375>, @nikic wrote:

> In D61409#1487372 <https://reviews.llvm.org/D61409#1487372>, @lebedev.ri wrote:
>
> > In D61409#1487366 <https://reviews.llvm.org/D61409#1487366>, @nikic wrote:
> >
> > > This is a good idea in theory, but I'm somewhat concerned that this will backfire in practice because assumes often pessimize optimization. For example LLVM has a really bad offender where it inserts assumes for alignment annotations during inlining -- thankfully there's an option to disable it, because it's a major perf regression otherwise.
> >
> >
> > Pessimization of the final produced code, or of the llvm itself?
>
>
> Of the final produced code. I think it's mainly because assumes cause one-use checks to fail.


Oh, good point. It would make sense to not count `@llvm.assume()` during use-checking,
but then this isn't just about the `call void @llvm.assume()`,  but about all the instructions
that would be dropped when the call is dropped during back-end lowering...


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

https://reviews.llvm.org/D61409





More information about the llvm-commits mailing list