[PATCH] D146872: [1/11][IR] Permit load/store/alloca for struct of the same scalable vector type

Craig Topper via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 13 19:53:18 PDT 2023


craig.topper added inline comments.


================
Comment at: llvm/docs/LangRef.rst:746
+<vscale x 2 x i64>}`` doesn't). These kind of structs (we may call them
+homogeneous scalable vector structs) are considered sized and can used in
+loads, stores, allocas, but not GEPs.
----------------
"can used" -> "can be used"


================
Comment at: llvm/lib/IR/Type.cpp:466
+
   for (Type *Ty : elements()) {
+    if (isa<ScalableVectorType>(Ty)) {
----------------
If this structure is opaque, `elements` will be empty and we would set the SCDB_NotContainScalableVector flag. That seems wrong since it could gain scalable vector types if it becomes non-opaque.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D146872/new/

https://reviews.llvm.org/D146872



More information about the llvm-commits mailing list