[llvm] [SLP][NFC] Use static_assert to confirm SupportedOps is sorted (PR #181397)
Ryan Buchner via llvm-commits
llvm-commits at lists.llvm.org
Fri Feb 13 10:40:18 PST 2026
- Previous message: [llvm] [RISCV] Combine ADDD(lo, hi, x, 0) -> WADDAU(lo, hi, x, 0). Combine WADDAU (WADDAU lo, hi, x, 0), y, 0 -> WADDAU lo, hi, x, y (PR #181396)
- Next message: [llvm] [SLP][NFC] Use static_assert to confirm SupportedOps is sorted (PR #181397)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
https://github.com/bababuck created https://github.com/llvm/llvm-project/pull/181397
Can be checked at compile time.
>From 5219f4949e211335370c9bdafd183042f5ed6a2e Mon Sep 17 00:00:00 2001
From: bababuck <buchner.ryan at gmail.com>
Date: Thu, 12 Feb 2026 10:12:45 -0800
Subject: [PATCH] [SLP] Use static_assert for confirming SupportedOps is sorted
Can be checked at compile time.
---
llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index 4197c8f64d8eb..a74205c385e9b 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -954,6 +954,8 @@ class BinOpSameOpcodeHelper {
constexpr static std::initializer_list<unsigned> SupportedOp = {
Instruction::Add, Instruction::Sub, Instruction::Mul, Instruction::Shl,
Instruction::AShr, Instruction::And, Instruction::Or, Instruction::Xor};
+ static_assert(llvm::is_sorted_constexpr(SupportedOp) &&
+ "SupportedOp is not sorted.");
enum : MaskType {
ShlBIT = 0b1,
AShrBIT = 0b10,
@@ -1158,9 +1160,7 @@ class BinOpSameOpcodeHelper {
public:
BinOpSameOpcodeHelper(const Instruction *MainOp,
const Instruction *AltOp = nullptr)
- : MainOp(MainOp), AltOp(AltOp) {
- assert(is_sorted(SupportedOp) && "SupportedOp is not sorted.");
- }
+ : MainOp(MainOp), AltOp(AltOp) {}
bool add(const Instruction *I) {
assert(isa<BinaryOperator>(I) &&
"BinOpSameOpcodeHelper only accepts BinaryOperator.");
- Previous message: [llvm] [RISCV] Combine ADDD(lo, hi, x, 0) -> WADDAU(lo, hi, x, 0). Combine WADDAU (WADDAU lo, hi, x, 0), y, 0 -> WADDAU lo, hi, x, y (PR #181396)
- Next message: [llvm] [SLP][NFC] Use static_assert to confirm SupportedOps is sorted (PR #181397)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the llvm-commits
mailing list