[PATCH] D69868: Allow "callbr" to return non-void values
Bill Wendling via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Jan 29 17:54:27 PST 2020
void added a comment.
In D69868#1848327 <https://reviews.llvm.org/D69868#1848327>, @MaskRay wrote:
> @rnk Thoughts on passing live-in formation (a bit similar to WinEH catchpad) to `callbr` at the SelectionDAG stage?
To help with the review, here are some of the assumptions I'm making about the `INLINEASM_BR` and the copy block this patch creates:
1. The two blocks (CallBrBB and CopyBB) are "tightly coupled". I.e., you can't split the edge between them (not that you should want to).
2. The CopyBB block will *always* be the fall-through block. This implies that `INLINEASM_BR` is the only terminator in CallBrBB.
3. If one block moves, then both must move.
I would be happy to add code in the machine instruction verifier to ensure that these assumptions are met if you think it's necessary.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D69868/new/
https://reviews.llvm.org/D69868
More information about the llvm-commits
mailing list