[llvm] [SandboxVec][LoadStoreVec] Support constant vectors of mixed types (PR #224890)

Vasileios Porpodas via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 21 14:51:30 PDT 2026


================
@@ -61,9 +62,17 @@ class LLVM_ABI LoadStoreVec final : public RegionPass {
   /// or nullptr if \p Loads are not a vectorizable.
   LoadInst *createVectorLoad(BndlRef<Instruction *> Loads);
 
-  /// Builds a ConstantVector from per-lane constant store operands in \p
-  /// Constants. \returns the packed ConstantVector.
-  Value *createConstantVector(BndlRef<Value *> Constants);
+  /// Returns a constant with the same bits as \p C, but with type \p DestTy.
+  /// \p DestTy must have the same size as \p C. \returns nullptr if a
+  /// non-integral pointer is involved.
+  Constant *createEquivalentConstantWithType(Constant *C, Type *DestTy);
+
+  /// Builds a ConstantVector with \p LaneTy elements from the constant store
+  /// operands in \p Constants. Constants of other types are converted to
----------------
vporpo wrote:

Maybe we should mention that LaneTy should not be larger (in bits) than any element in Constants?

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


More information about the llvm-commits mailing list