[PATCH] D114895: [SelectionDagBuilder] improve CallBrInst BlockAddress constraint handling
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 1 11:42:18 PST 2021
efriedma added a comment.
> But that doesn't really matter; CallBrInst can have a BlockAddress parameter that's not necessarily in the formal indirect destination list; so just process all BlockAddress parameters to a CallBrInst the same way.
I'm a little skeptical of this. The normal lowering for a random blockaddress constant would produce an ISD::BlockAddress node; this produces an ISD::TargetBlockAddress. I don't think we treat those the same way, in general; I suspect this patch breaks passing a blockaddress as a register input.
I'd be much happier if we actually did the computation properly to figure out whether an operand is actually an input, an output, or a destination. We have to do that computation at some point anyway, right?
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D114895/new/
https://reviews.llvm.org/D114895
More information about the llvm-commits
mailing list