================ @@ -121,14 +121,21 @@ bool IsValidCloning(const MachineFunction &MF, } if (PathBB->isMachineBlockAddressTaken()) { // Avoid cloning blocks which have their address taken since we can't - // rewire branches to those blocks as easily (e.g., branches within - // inline assembly). + // rewire branches to those blocks as easily. WithColor::warning() << "block #" << BBID << " has its machine block address taken in function " << MF.getName() << "\n"; return false; } + if (PathBB->isInlineAsmBrIndirectTarget()) { + // Similarly for branches to the block within an asm goto. + WithColor::warning() + << "block #" << BBID + << " is a branch target of an 'asm goto' in function " + << MF.getName() << "\n"; ---------------- arsenm wrote:
This won't handle anonymous functions correctly, in this context probably should use the mangled name https://github.com/llvm/llvm-project/pull/141562 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits