- User Since
- Mar 6 2020, 7:42 PM (66 w, 5 d)
Tue, Jun 8
Execute without a body doesn't make much sense, maybe check it in verifier? Currently it will also fail because of op.body() access
Thu, Jun 3
Thu, May 27
Wed, May 26
Tue, May 25
Fix verifier error
Update is_error op definition to reject async.group operands
May 12 2021
Add top level names scope to named context
May 5 2021
May 3 2021
Apr 29 2021
Apr 26 2021
Can the problem be in calculation of the value storage size? (https://github.com/llvm/llvm-project/blob/d480f968ad8b56d3ee4a6b6df5532d485b0ad01e/mlir/lib/Conversion/AsyncToLLVM/AsyncToLLVM.cpp#L518-L542) I'd check what the value of size passed in here: https://github.com/llvm/llvm-project/blob/main/mlir/lib/ExecutionEngine/AsyncRuntime.cpp#L205-L208
Apr 21 2021
Do not forward memrefs to outputs when do bufferization
Apr 20 2021
Apr 13 2021
Apr 12 2021
Return after signaling pass failure
Apr 11 2021
Traverse only blocks where the ref counted value has users
Apr 10 2021
Do not lookup in the hash map twice.
Update reference counting pass documentation
Apr 7 2021
@mehdi_amini will you have time to take a look at this change? Diffs looks large, but really no new ideas here. I plan to get back to working on async stuff next week, and need this to land first.
Apr 5 2021
Apr 3 2021
It’s impossible to statically dispatch to the correct lambda with such API
(or at least a very difficult exercise). std::visit takes a single visitor
and multiple variants, not the other way around. Stitching lambdas together
is just one way of constructing a visitor type, it can be a plain old class
with overloaded operator() set.
Apr 2 2021
std::forward with inheritance does not remove a need to invoke a copy constructors, I managed to implement overloaded using a struct member and super ugly SFINAE that does properly captures lambdas by reference when lambda is a lvalue, however it still does need to copy when lambda is rvalue: https://godbolt.org/z/dqshPW6h1 (top most example, I just count the number of HeavyStuff::HeavyStuff(HeavyStuff const&) copy constructor calls in the generated code). But it does look much worse than inheritance.
Mar 30 2021
True llvm::visit API similar to std::visit requires visited type to be a std::variant (llvm::variant?) and implementng it is a lot of code (e.g. implementation in absl). Given that it's unlikely that PointerUnion at any point will become std::variant, I'd say that it will always be a separate API. And for this usability improvement the change is not that large.
Mar 25 2021
Mar 18 2021
Mar 16 2021
Mar 15 2021
Mar 12 2021
Mar 11 2021
They are actually used but only inside assert, is it a release build when it is a warning?