[llvm] [IR] Avoid visited set for simple isScalableTy queries (NFC) (PR #221743)
Cullen Rhodes via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 7 07:03:23 PDT 2026
https://github.com/c-rhodes created https://github.com/llvm/llvm-project/pull/221743
Small -0.06% geomean improvement on CTMark aarch64-O0-g.
https://llvm-compile-time-tracker.com/compare.php?from=97cbc1e404b980edc58bfbcabb6f1c61793b624b&to=da2a983fe049d3cd22f63fd3d1ece52aa0823a69&stat=instructions:u
Assisted-by: codex
>From da2a983fe049d3cd22f63fd3d1ece52aa0823a69 Mon Sep 17 00:00:00 2001
From: Cullen Rhodes <cullen.rhodes at arm.com>
Date: Sun, 3 May 2026 21:44:36 +0000
Subject: [PATCH] [IR] Avoid visited set for simple isScalableTy queries (NFC)
Assisted-by: codex
---
llvm/lib/IR/Type.cpp | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/llvm/lib/IR/Type.cpp b/llvm/lib/IR/Type.cpp
index 869409e6979f3..7dd536eff2cea 100644
--- a/llvm/lib/IR/Type.cpp
+++ b/llvm/lib/IR/Type.cpp
@@ -67,6 +67,18 @@ bool Type::isScalableTy(SmallPtrSetImpl<const Type *> &Visited) const {
}
bool Type::isScalableTy() const {
+ switch (getTypeID()) {
+ case ScalableVectorTyID:
+ return true;
+ case TargetExtTyID:
+ return isScalableTargetExtTy();
+ case ArrayTyID:
+ case StructTyID:
+ break;
+ default:
+ return false;
+ }
+
SmallPtrSet<const Type *, 4> Visited;
return isScalableTy(Visited);
}
More information about the llvm-commits
mailing list