[clang] [llvm] [CGObjC] Allow clang.arc.attachedcall on -O0 (PR #164875)

John McCall via cfe-commits cfe-commits at lists.llvm.org
Tue Oct 28 11:52:23 PDT 2025


rjmccall wrote:

Okay, looking at the patch, I see what you're doing and what you're trying to say in the PR description: x86_64 GlobalISel still doesn't support this bundle, so you've just changed it to force the use of SelectionDAG when it sees such a bundle.

Now, I accept that the backend change is an improvement in the abstract — it's bad that one instruction selector just fails to compile IR that's valid for the other instruction selector, so if GlobalISel can't support these bundles, it should definitely kick over to SelectionDAG. However, the point of GlobalISel is to make -O0 builds faster, which means that Clang should not be emitting IR constructs for common ObjC code patterns that would force the use of SelectionDAG, because that means we'll necessarily regress -O0 build times. So either this needs to continue to not use the bundle on x86_64 at -O0, or you need to implement the bundle properly witout kicking over to SelectionDAG.

https://github.com/llvm/llvm-project/pull/164875


More information about the cfe-commits mailing list