Looks good to me! Sorry for the delay, as I was on vacation yesterday.
Mon, Jul 12
Thu, Jul 8
Wed, Jun 30
Undoes the temporary change in https://reviews.llvm.org/rG05cadc6f71555319882ccabf631d2e6410e3fea4 and moves to 3D tensors now that consuming legalizations have been updated.
Fri, Jun 25
Jun 21 2021
Jun 9 2021
Thanks for the explanation!
Jun 8 2021
Looks good, I am just checking why the windows build failed (and whether its unrelated).
Temporarily support 2D and 3D tensor types as valid.
Legalizations and tests across multiple repositories must be updated to emit 3D type.
Change to supporting just Tosa_Tensor3D once everything is updated.
Something appears to be wrong with your patch as its based on a revision not in the LLVM tree. Could you verify your diff history or resubmit based on head?
Jun 7 2021
May 24 2021
I have this same thing locally and was planning to push this out, so I'm not going to stop you here :-)
May 23 2021
Ah, you were using the web interface. The docs have extra flags that must be included for full context: https://llvm.org/docs/Phabricator.html#id5
I always use arc diff.
Ok now it seems to look a lot better ? If this is alright, please land it on my behalf - it doesn't seem I can do so myself.
Trying using arc diff --update from commandline.
Can you upload patches with full context please? Right now I can't see which ops are modified here.
I had a similar question but was able to infer based on eliminating the entire classes of restrictions that had been lifted from the spec.
I don't know phab well enough to know why it can't show context (or how to recommend uploading differently) -- Mehdi, do you know?
May 21 2021
May 19 2021
Thank you once again for these changes!
Thank you for adding this!
May 12 2021
May 6 2021
The implementation looks good however the description needs work. Be more specific than a TOSA version and preface with [mlir][tosa]. It helps contributors to note if this is a CL they should be interested with. Description should be along the lines of "Added tosa.div op and remove tosa.placeholder". For the LLVM repo the summary should focus on what is specifically changing.
May 5 2021
Apr 22 2021
This seems to look fine functionally, modulo the inline aesthetic comments.
Mar 31 2021
Mar 30 2021
Mar 25 2021
Thanks for the review! I'm not sure how to land this myself, or if I can at all.
Jan 11 2021
Dec 14 2020
At this point the best option appear to be to defer this change. Let's revisit this when the SCF dialect has corresponding tests for this interface. Right now, we aren't able to effectively exercise it, and lack access to precedent material on this interface that we can effectively utilize to construct tests, and don't have familiarity with this domain of MLIR. Thank you for your feedback!
Bringing this up again. May I proceed with this ?
Dec 9 2020
I've attempted to reconstruct the tests with insights from the sccp tests. While doing so, I restricted this interface to cond_if() alone to simplify this effort. I've also changed the conditional of the op to just a boolean I1 rather than an unnecessary I1Tensor, allowing the check in getSuccessorRegions() to work without modification.
Dec 7 2020
Dec 3 2020
Incorporated rriddle's feedback and added tests .
Nov 24 2020
Nov 7 2020
Thank you for these cleanup additions!
To suit the flavor of the season, we need a recount here - there was more than 204 since some appear to have disappeared along with deleted files :-)
Removed TosaTraits and TosaTypes headers. Will add when implemented.
Nov 6 2020
Removed extra path in test/Dialect/Tosa .
Updates to feedback from rriddle
Fixed typo in inlining test. Reran check-mlir to confirm.
stellaraccident: Removed extraneous tests as suggested
mehdi_amini: added test decorators.
Incorporates feedback from stellaraccident, rriddle, mehdi_amini
- Cleanup nits and mechanicals
- Removed extraneous tests
- Quantization Builders in C++ now
- Aligned pass invocation with current approach
- 80-col alignment
Nov 5 2020
We'll work on these nits and upload a new patch soon. Since we're new to this, if the next patch looks ok, then please do land it on our behalf as an act of approval.
- Aesthetic cleanups, usage of better MLIR constructs
- Unit tests
- WIP rationale document
Oct 30 2020
Missed one file update in prior commit
Updated to incorporate comments from mehdi_amini and stellaraccident.
Oct 29 2020
Sure, but can you point out exactly where is it tested in this patch? My basic mental model is: if I change the behavior of any line of code, will it fails when running ninja check-mlir?
Again: the benefit of splitting this is that we can land patches more incrementally, and individual important pieces, like moveOutOfLoop and the LoopLikeOpInterface can be tested in isolation with the patch that land them.
These are both good questions. It seems they could both be resolved if we add tests to exercise these in mlir/test/Dialect/Tosa . If so, could we please do that as a follow on effort ?
I'm happy to review the code right now, but I'd also like the tests to get in with the code and not as a follow-up. In general we don't land patches without tests as far as I know.
In the context of this patch, I just randomly sampled some functions involved here and couldn't find an obvious caller? For example buildQTypeAttrFromMinMax or all the computeMultiplierAndShift*
Updates to incorporate feedback from bondhugula and mehdi_amini .
- Comment formatting
- camelCase vars
- Removed extraneous computeMultiplierAndShift* functions
Thanks, really nice!
Can you split out some pieces so we can focus on the dialect itself mostly?
I'm thinking about the QuantUtils parts (which aren't used/tested in this patch anyway) and a few things like the TosaMakeBroadcastable pass, or the TosaOpInterface or the moveOutOfLoop() method and similarly things which aren't clearly needed right now.