[llvm] 25b00c0 - AArch64: Fix asserting on unexpected triples (#147880)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Jul 14 20:47:58 PDT 2025
Author: Matt Arsenault
Date: 2025-07-15T12:47:55+09:00
New Revision: 25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
URL: https://github.com/llvm/llvm-project/commit/25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61
DIFF: https://github.com/llvm/llvm-project/commit/25b00c033c3cdd1a5c67ecc32b1dd13e3cd2df61.diff
LOG: AArch64: Fix asserting on unexpected triples (#147880)
Added:
llvm/test/CodeGen/AArch64/unsupported-object-format-err.ll
Modified:
llvm/lib/Target/AArch64/MCTargetDesc/AArch64MCTargetDesc.cpp
Removed:
################################################################################
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