[PATCH] D58260: [INLINER] allow inlining of blockaddresses if sole uses are callbrs

Bill Wendling via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Apr 26 12:30:52 PDT 2019


void added a comment.

In D58260#1474884 <https://reviews.llvm.org/D58260#1474884>, @efriedma wrote:

> > that's a case I don't think can be done in C even with GNU C extensions
>
> It can't be written explicitly in C, sure... but optimizations like IPSCCP can propagate blockaddress constants to other functions.


But should it? Here's what `indirectbr` has to say:

> This implies that jumps to labels defined in other functions have undefined behavior as well.

That implies that a `blockaddress` that's propagated to other functions aren't used by anything other than arithmetic and comparison instructions.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D58260





More information about the llvm-commits mailing list