- User Since
- May 18 2016, 6:13 AM (393 w, 5 d)
Mon, Nov 6
Oct 30 2023
Oct 4 2023
Rebase. Reviving this as it's apparently come up again when adding a new register class.
Sep 21 2023
Sep 20 2023
Sorry about that. My main goal with this patch was about having the representation working at vector level (and adjust all the impacted tests, which were a lot at the beginning) but not so much about adding support for the new value-based functionality end to end. I just added support for 1-D cases to the LLVM conversion to demonstrate that it works but there are quite a few TODOs, esp. wrt canonicalizations. Hopefully that makes sense!
Sep 19 2023
Thanks for this work Diego! this will useful for ArmSME. We have ops to load/store slices of a tile (2-D scalable vector) and this support should enable us to lower vector.insert / vector.extract to these ops. #66691 adds support to lower vector.print to ArmSME, this could be done generically in VectorToSCF once this lands, after which we could add our target specific lowerings :) Also be useful for places where we can't fully unroll.
Sep 8 2023
LGTM barring Diego's comment, cheers
Aug 31 2023
Aug 30 2023
this has also broke my workflow, I use lit -a and copy/paste the command to shell to see the output or add different flags, it seems like a fundamental feature and I can't understand why this has been removed?
Aug 29 2023
I think this op is a bit clunky and could be simplified by returning the element type of the tile rather than an int representing the bitwidth, or perhaps just the 2-D scalable vector type this is extracted from, but that's a slightly move involved refactor.
Aug 24 2023
Rebase (vector_to_tile_slice renamed to move_vector_to_tile_slice)
Rename vector_to_tile_slice to move_vector_to_tile_slice
Aug 23 2023
Aug 22 2023
Update descriptions for op and type constraint.
- Address most comments.
- Add type constraint to VectorToTileSliceOp that verifies 1-D vector type matches element type of 2-D vector type (tile).
- Rename VectorToTileSliceOp::getVectorType() -> VectorToTileSliceOp::getTileType() to prevent confusion with vector operand.
Aug 21 2023
I've left a few minor comments but otherwise LGTM, thanks Ben!
Aug 3 2023
Aug 2 2023
Aug 1 2023
failing top of tree (991855ea8a7ff070ca0e22ccba0ff2e96dcdf65b)
this broke my build with:
ld.lld-12: error: undefined symbol: llvm::GenericCycle<llvm::GenericSSAContext<llvm::Function> >::contains(llvm::BasicBlock const*) const >>> referenced by UniformityAnalysis.cpp:72 (/home/culrho01/llvm-project/llvm/lib/Analysis/UniformityAnalysis.cpp:72) >>> lib/Analysis/CMakeFiles/LLVMAnalysis.dir/UniformityAnalysis.cpp.o:(llvm::GenericUniformityAnalysisImpl<llvm::GenericSSAContext<llvm::Function> >::usesValueFromCycle(llvm::Instruction const&, llvm::GenericCycle<llvm::GenericSSAContext<llvm::Function> > const&) const)
please could you look into it?
Jul 31 2023
Remove unnecessary cast_vector_to_tile op at the end of tile_load conversion.
Thanks Andrzej this is a nice refactor, I haven't reviewed every single test as there's a fair amount of churn but generally LGTM.
Thanks for patch the Ben, this will improve tests like the one added in D155839 and mlir/test/Integration/Dialect/Vector/CPU/ArmSME/vector-load-store.mlir that print scalable vectors. I've left a few minor comments but otherwise LGTM, aside from the test failure @kuhar mentioned. Please allow time for others to review.