These instructions map to SVE-specific instrinsics that accept a
predicate operand to support control flow in vector code.
Details
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
LGTM with comments addressed.
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
387 | Shouldn't this be commutative? | |
468 | Nit: we can have type constraints stricter than AnyVector here | |
mlir/lib/Dialect/ArmSVE/IR/ArmSVEDialect.cpp | ||
69 | Nit: please add doc comment | |
74 | I'd rather return null or assert here. We don't use NoneType to denote error state. |
Address comments
mlir/include/mlir/Dialect/ArmSVE/ArmSVE.td | ||
---|---|---|
468 | Since the LLVM Dialect already supports Scalable Vectors, this quick fix could go directly into LLVM dialect. To keep the patch contained within ArmSVE, and given that nobody else is using this yet, I think it's better to leave it here for now. Once the scalable vector has a more defined shape outside of ArmSVE, I myself will take care of adapting and moving these LLVM checks to where they belong. Alternatively, if this is not acceptable, I can create a different patch for LLVM dialect adding the extra type constraint, and make this patch depend on that one. That way, LLVM dialect changes don't get mixed up with hw-specific dialect changes. |
You can follow this https://llvm.org/docs/DeveloperPolicy.html#obtaining-commit-access to get commit access for yourself.
Shouldn't this be commutative?