[llvm] [AArch64][SME] Use reportFatalUsageError rather than assert (NFC) (PR #145491)
Benjamin Maxwell via llvm-commits
llvm-commits at lists.llvm.org
Tue Jun 24 03:25:04 PDT 2025
https://github.com/MacDue updated https://github.com/llvm/llvm-project/pull/145491
>From 30d0f848facd652a3052a88107267e147b65b80c Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: Tue, 24 Jun 2025 10:07:36 +0000
Subject: [PATCH 1/3] [AArch64][SME] Use reportFatalUsageError rather than
assert (NFC)
Fixes #144351
---
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
index 8150e91c8ba52..65c3417cbb69f 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -481,7 +481,8 @@ AArch64TargetMachine::getSubtargetImpl(const Function &F) const {
MaxSVEVectorSize, IsStreaming, IsStreamingCompatible, HasMinSize);
}
- assert((!IsStreaming || I->hasSME()) && "Expected SME to be available");
+ if (IsStreaming && !I->hasSME())
+ reportFatalUsageError("Streaming SVE functions require SME");
return I.get();
}
>From 98b05042d334e841068f297b23097d3c23d3db25 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: Tue, 24 Jun 2025 10:23:06 +0000
Subject: [PATCH 2/3] Fixup
---
llvm/lib/Target/AArch64/AArch64TargetMachine.cpp | 2 +-
llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll | 7 +++++++
2 files changed, 8 insertions(+), 1 deletion(-)
create mode 100644 llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
diff --git a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
index 65c3417cbb69f..281a1457fe57e 100644
--- a/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
+++ b/llvm/lib/Target/AArch64/AArch64TargetMachine.cpp
@@ -482,7 +482,7 @@ AArch64TargetMachine::getSubtargetImpl(const Function &F) const {
}
if (IsStreaming && !I->hasSME())
- reportFatalUsageError("Streaming SVE functions require SME");
+ reportFatalUsageError("streaming SVE functions require SME");
return I.get();
}
diff --git a/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll b/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
new file mode 100644
index 0000000000000..13f18c10655f3
--- /dev/null
+++ b/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
@@ -0,0 +1,7 @@
+; RUN: not llc -mtriple aarch64-none-linux-gnu %s 2>&1 | FileCheck %s
+
+; CHECK: LLVM ERROR: streaming SVE functions require SME
+define void @streaming(i64 noundef %n) "aarch64_pstate_sm_enabled" nounwind {
+entry:
+ ret void
+}
\ No newline at end of file
>From e408dbb50cafc79d9a354864f915050fc8e22bf4 Mon Sep 17 00:00:00 2001
From: Benjamin Maxwell <benjamin.maxwell at arm.com>
Date: Tue, 24 Jun 2025 10:24:53 +0000
Subject: [PATCH 3/3] newline
---
llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll b/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
index 13f18c10655f3..968adcb7cc21b 100644
--- a/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
+++ b/llvm/test/CodeGen/AArch64/streaming-func-no-sme.ll
@@ -4,4 +4,4 @@
define void @streaming(i64 noundef %n) "aarch64_pstate_sm_enabled" nounwind {
entry:
ret void
-}
\ No newline at end of file
+}
More information about the llvm-commits
mailing list