[llvm] AArch64: Fix asserting on unexpected triples (PR #147880)
Matt Arsenault via llvm-commits
llvm-commits at lists.llvm.org
Wed Jul 9 21:08:18 PDT 2025
https://github.com/arsenm updated https://github.com/llvm/llvm-project/pull/147880
>From 5d16133c4f04cd05d1cca5c9c6ffb43281556401 Mon Sep 17 00:00:00 2001
From: Matt Arsenault <Matthew.Arsenault at amd.com>
Date: Thu, 10 Jul 2025 09:11:27 +0900
Subject: [PATCH] AArch64: Fix asserting on unexpected triples
---
.../AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp | 2 +-
.../CodeGen/AArch64/unsupported-object-format-err.ll | 10 ++++++++++
2 files changed, 11 insertions(+), 1 deletion(-)
create mode 100644 llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
diff --git a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
index f918e3cbc7b80..5c8f57664a2cc 100644
--- a/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
+++ b/llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
@@ -356,7 +356,7 @@ static MCAsmInfo *createAArch64MCAsmInfo(const MCRegisterInfo &MRI,
else if (TheTriple.isOSBinFormatCOFF())
MAI = new AArch64MCAsmInfoGNUCOFF();
else
- llvm_unreachable("Invalid target"); // FIXME: This is not unreachable
+ reportFatalUsageError("unsupported object format");
// Initial state of the frame pointer is SP.
unsigned Reg = MRI.getDwarfRegNum(AArch64::SP, true);
diff --git a/llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll b/llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
new file mode 100644
index 0000000000000..740bde5e43c15
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
@@ -0,0 +1,10 @@
+; RUN: not llc -mtriple=aarch64-pc-unknown-xcoff -filetype=null %s 2>&1 | FileCheck %s
+; RUN: not llc -mtriple=aarch64-pc-unknown-goff -filetype=null %s 2>&1 | FileCheck %s
+
+; Make sure there is no crash or assert with unexpected object
+; formats.
+
+; CHECK: LLVM ERROR: unsupported object format
+define void @foo() {
+ ret void
+}
More information about the llvm-commits
mailing list