[clang] [llvm] [LLVMABI] Implement the System V X86-64 ABI (PR #194718)
via llvm-commits
llvm-commits at lists.llvm.org
Mon May 11 13:51:31 PDT 2026
================
@@ -344,18 +344,49 @@ bool CodeGenModule::shouldUseLLVMABILowering() const {
return false;
// Only opt in for targets that have an LLVMABI implementation; others
// continue through the legacy ABIInfo path.
- return getTriple().isBPF();
+ const llvm::Triple &T = getTriple();
+ return T.isBPF() || (T.getArch() == llvm::Triple::x86_64 && T.isOSLinux());
----------------
adams381 wrote:
Suggested replacement that opens the new path to all SysV-x86_64 systems (Linux, FreeBSD, NetBSD, OpenBSD, DragonFly, Solaris, Haiku, Darwin) while still excluding Win64. Since `-fexperimental-abi-lowering` is opt-in, a permissive scope here is low-risk and gives reviewers more coverage to validate.
```suggestion
return T.isBPF() || (T.getArch() == llvm::Triple::x86_64 &&
!T.isOSWindows() && !T.isOSCygMing());
```
If you'd rather keep Darwin out for now (it has subtle SysV deviations), happy with `... && !T.isOSDarwin()` added — but I'd lean toward letting it in given the experimental flag.
https://github.com/llvm/llvm-project/pull/194718
More information about the llvm-commits
mailing list