- User Since
- Jan 8 2020, 4:20 AM (130 w, 2 h)
Tue, Jun 14
May 17 2022
Apr 1 2022
I provide an environment setup document to show how to build the toolchain and perform the integration tests.
Mar 31 2022
- Add integration test (test-riscvv-arithmetic, test-riscvv-memory, test-riscvv-stripmining).
- Add ConvertPolicyOperandOpToLLVMPattern and ConvertPassthruOperandOpToLLVMPattern for mask/tail policy in the RISC-V LLVM IR intrinsics.
Jan 11 2022
Use the LLVM_AnyPointer constraints in LLVMOpBase.td instead of a local one.
Jan 10 2022
- Some RISC-V + JIT progress (needed by integration test)
- Sync to the vector type with scalable dimensions.
- Set the vta as an attribute.
- Add setvl operation.
Oct 5 2021
Sep 28 2021
Sep 14 2021
- Naming (RVV -> RISCVV)
- Scalable Vector Type (Common Scalable Vector Type + Separate RISC-V Scalable Vector Type)
- Lift Scalable Vector Type to Vector Dialect
- Define RVV LMUL Type, RVV Mask Type, and RVV Vector Type
- Implement Type Mapping Process
Aug 31 2021
For the next step, I will try to give better semantics to the type of RVV:
- let the vector type directly map LMUL and SEW.
- add a type conversion when lower the RVV operation to RVV intrinsic operation.
- Fix typo.
- Lift the scalable vector type to vector dialect. The SVE and RVV can share the definition now.
Aug 27 2021
As for the integration test, I currently encounter some problems, and I will continue to find some solutions. At the same time, I will try to move the scalable vector type into the vector dialect in the next step.
- Add more background about RVV and introduction to operations in this dialect.
- Add CHECK-LABELs for the round trip test.
- Fix some format issues.
Aug 23 2021
FYI - I wrote the RFC in the LLVM discourse.
Jan 25 2021
Jan 12 2021
Dec 30 2020
Dec 29 2020
Dec 14 2020
Dec 1 2020
I can't figure out why checking the numpy can fail the LLVM codegen test?
Nov 30 2020
Add NumPy as a required component.
Nov 29 2020
Check numpy in find_package by adding OPTIONAL_COMPONENTS NumPy.
Nov 24 2020
I'm so sorry for the late reply because of the time zone difference, and thanks for your help and review!
Nov 23 2020
Nov 20 2020
I'm wondering can we use the MLIRDetectPythonEnv.cmake or names like this (detect all the required Python environments), instead of MLIRDetectPybind11.cmake (only responsible for checking pybind11). In this case, we can define all the detecting functions (like mlir_detect_numpy_install) in one cmake file to avoid fragmentation.
Nov 18 2020
Nov 17 2020
- Use static_cast and add a comment.
- Set the buffer to read-only.
- Add note to Python binding doc to note that pybind11 v2.6.0 is required.
- Use llvm::SmallVector instead of std::vector.
Nov 12 2020
This patch implements array property for dense elements attribute to get array. There is also a buffer protocol method in D91021.
Let's compare and choose one.
According to Stella's suggestion, there are two methods to get the array from dense elements attribute:
Add unit tests for mlirDenseElementsAttrGetRawData C API.
Nov 11 2020
Nov 9 2020
- Remove the mlirElementsAttrGetType C API.
- Modify checking conditions and unify the use of braces of the if and if else in accessBuffer function.
- Unify the type into intptr_t in bufferInfo function.
Nov 8 2020
- Add mlirDenseElementsAttrGetRawData C API.
- Use the raw data to avoid the allocated array in the buffer protocol.
Nov 7 2020
Nov 3 2020
Nov 2 2020
Nov 1 2020
Oct 23 2020
Use the typeid/isa scheme, expose IsA and Get methods for each affine binary operation expression.
Oct 21 2020
Oct 17 2020
Oct 14 2020
Oct 10 2020
This should work:
cmake --build . --target install-MLIRBindingsPythonSources install-MLIRBindingsPythonExtension
Oct 9 2020
LGTM, I use the following commands in the build directory:
cmake --build . --target check-mlir cmake --build . --target install
I have a question that if I only want to install MLIRBindingsPythonExtension and MLIRBindingsPythonSources (without installing llvm, llvm-c, mlir, mlir-c, etc.), what should I do?
Oct 2 2020
- Modify the comment for mlirFloatAttrDoubleGetChecked.
- Drop the _typed suffix for FloatAttr and IntegerAttr get methods.
- Change the parameter type of BoolAttr.get method to bool.
- Add get_f32 and get_f64 methods to FloatAttr.
Oct 1 2020
Sep 29 2020
Sep 28 2020
Sep 21 2020
Sep 20 2020
Sep 18 2020
Sep 17 2020
Sep 16 2020
Hi @ftynse - After pushing this patch, I received en email said that:
- Use intptr_t * for the `resultPos parameter in mlirAffineMapGetSubMap function.
- Use a vector to cast the element of resultPos from intptr_t to unsigned.
Sep 15 2020
- unsigned -> intptr_t
- Place all the affine map C API back to AffineMap.h/.cpp
- Add Utils.h and move CallbackOstream to Utils.h to make sure it is available to mlirAffineMapPrint.
- Modify name of mlirAffineMap***Get functions.
- Use intptr_t for parameters related to sizes.
- Add details for the comments of the mlirAffineMapPermutationMapGet.
Sep 14 2020
Sep 7 2020
Sep 6 2020
Thanks for extending the PyConcreteType!
There are redundant init implementations for PyRankedTensorType and PyUnrankedTensorType (see inline comments).
- Add a helper method requireHasRank().
- Change comments and self arguments.
- Add TODO for location and swithing back to bindDerived.