[PATCH] D124697: Distinguish between different forms of "address-taken" MachineBasicBlocks
Eli Friedman via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Mon May 9 14:15:05 PDT 2022
efriedma added a comment.
In D124697#3498401 <https://reviews.llvm.org/D124697#3498401>, @tentzen wrote:
> How about AddressTaken_Internal and AddressTaken_External?
>
> the _Internal is used for blockAddress-constant, jump table, etc where it's targeted by IR internal user code domain.
> the latter indicates that the address is taken and can be targeted externally by Runtime (EH case), OS or even HW (like the retpoline case).
>
> Or AddressTaken_User and AddressTaken_System that refer to user mode and system mode.
This isn't really the distinction I'm trying making here. The distinction here is between LLVM IR uses of blockaddress (for indirectbr), and MachineFunction uses of MachineBasicBlock labels (for retpoline etc.). Jump tables would fall into the latter category, except that we have explicit code to update jump tables in the places where it would matter.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D124697/new/
https://reviews.llvm.org/D124697
More information about the llvm-commits
mailing list