[PATCH] D139565: [IR] add new callbrpad instruction

Nick Desaulniers via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Dec 7 16:24:26 PST 2022


nickdesaulniers added a comment.

In D139565#3979936 <https://reviews.llvm.org/D139565#3979936>, @jyknight wrote:

> I haven't fully caught up here, but, riffing on efriedma's comments --
>
> Are there IR-level optimizations that will cause a problem without there being separate SSA values here?

I can't recall any.

> Or would it work to have a codegen pipeline pre-isel lowering that adds the callbrpad instructions as necessary? That is, make this an internal implementation detail of the IR->ISel lowering -- even though we'd actually be adding at the IR level first, for internal implementability reasons.

Would this be part of SelectionDAGIsel, or a distinct pass that's part of codgen (` TargetPassConfig::addISelPasses`)? (That might be a nice place to do critical edge splitting, if necessary (see also: D138078 <https://reviews.llvm.org/D138078>)) Would we produce `callbrpad` instructions there, or not?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139565



More information about the llvm-commits mailing list