[PATCH] D76961: [BranchFolder] don't remove MBB's that have their address taken

Eli Friedman via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Mar 30 14:44:20 PDT 2020


efriedma added a comment.

> Ok, so I don't think this is generally the case, as we could have a MachineOperand to the INLINEASM_BR that is a blockaddress, yet is not a successor

Even if there isn't any way to tell the difference from the INLINEASM_BR instruction at the moment, we could change that.

> I honestly don't like blockaddresses and wonder if we could make these all just have BasicBlocks or MachineBasicBlocks as operands?

In general, blockaddress can refer to a block in a different function.  So for various reasons reasons, it makes sense to represent that as a "blockaddress".  It can't be an MBB because in general the MBB doesn't exist in memory.  That really only applies for indirectbr, though.

For INLINEASM_BR, we could use MachineBasicBlock operands to represent the succesors.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76961





More information about the llvm-commits mailing list