[clang] [AArch64] Add option -msve-streaming-vector-bits= . (PR #144611)

Eli Friedman via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 19 09:23:58 PDT 2025


================
@@ -1034,9 +1034,16 @@ class TargetInfo : public TransferrableTargetInfo,
   /// set of primary and secondary targets.
   virtual llvm::SmallVector<Builtin::InfosShard> getTargetBuiltins() const = 0;
 
+  enum class ArmStreamingKind {
+    NotStreaming,
+    StreamingCompatible,
+    Streaming,
+  };
+
   /// Returns target-specific min and max values VScale_Range.
   virtual std::optional<std::pair<unsigned, unsigned>>
-  getVScaleRange(const LangOptions &LangOpts, bool IsArmStreamingFunction,
+  getVScaleRange(const LangOptions &LangOpts,
+                 ArmStreamingKind IsArmStreamingFunction,
----------------
efriedma-quic wrote:

LangOpts is global.  IsArmStreamingFunction is context-dependent: it depends on whether we're currently analyzing a function marked __arm_streaming/etc.

We could reorganize the code, maybe... like, move some bits of the implementation into AST.  But I'm not sure that really helps.

https://github.com/llvm/llvm-project/pull/144611


More information about the cfe-commits mailing list