[clang] [llvm] [ARM, AArch64] Don't put BTI at asm goto branch targets (PR #141562)
Matt Arsenault via cfe-commits
cfe-commits at lists.llvm.org
Wed May 28 08:17:30 PDT 2025
================
@@ -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
More information about the cfe-commits
mailing list