[PATCH] D146872: [1/11][IR] Permit load/store/alloca for struct of the same scalable vector type
Nikita Popov via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Thu Apr 13 01:12:06 PDT 2023
nikic added inline comments.
================
Comment at: llvm/docs/LangRef.rst:745
+<vscale x 2 x i32>} contains the same type while {<vscale x 2 x i32>,
+<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
----------------
The types should probably be wrapped in double backticks.
================
Comment at: llvm/include/llvm/IR/DerivedTypes.h:223
+ SCDB_ContainScalableVector = 16,
+ SCDB_NotConatinScalableVector = 32
};
----------------
NotContain
================
Comment at: llvm/include/llvm/IR/DerivedTypes.h:292
+ /// Returns true if this struct contains homogeneous scalable vector types.
+ /// Note that the definition homogeneous scalable vector type is not recursive
+ /// here. That means the following structure will return a false when calling
----------------
definition of
================
Comment at: llvm/lib/CodeGen/SelectionDAG/FunctionLoweringInfo.cpp:160
+ (isa<StructType>(Ty) &&
+ cast<StructType>(Ty)->containsScalableVectorType())) {
MF->getFrameInfo().setStackID(FrameIndex,
----------------
Use `isScalableTy()`?
================
Comment at: llvm/lib/IR/DataLayout.cpp:62
// Add padding if necessary to align the data element properly.
- if (!isAligned(TyAlign, StructSize)) {
+ // Currently the only structure with scalable size will be the be the
+ // homogeneous scalable vector types. Homogeneous scalable vector types
----------------
double "be the"
================
Comment at: llvm/lib/Transforms/Utils/ScalarEvolutionExpander.cpp:527
+ if (STy->containsScalableVectorType())
+ break;
if (const SCEVConstant *C = dyn_cast<SCEVConstant>(Ops[0]))
----------------
Can this be an assertion? As this is related to GEP handling.
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