- User Since
- Mar 11 2015, 2:39 PM (327 w, 1 d)
Sun, Jun 6
Apr 15 2021
This LGTM, I've left a note on a potential comment update, but otherwise looks good
Jan 25 2021
Is there value in still having most of these tests without the pattern? Some of these now look like tests just of andn, and in others now that enabling b or zbs has no effect on code generation. I wonder if this change should instead just completely remove the edited tests. If future additions make them relevant again they could later be readded.
Jan 24 2021
Update for bitmanip 0.93
- Update to bitmanip 0.93
- Expand and support vector as per workaround in D95146
- Add negative testing (check __riscv_b not defined for just subextension)
Jan 22 2021
- Emit extensions in canonical order
- Update V tests to match current compiler support
- Add tests for canonical order/parsing multiletter with version numbers
- Fix parsing issue found by updated tests
Jan 21 2021
Jan 19 2021
Have 'b'/'v' features imply subfeatures
Add support to llvm/lib/Object/ELFObjectFile.cpp
Jan 18 2021
Rebase on D94930 to show updated version
Jan 13 2021
Jan 11 2021
Correct constant used in macros, 2.0 should be 2000000 not 20000000
Dec 18 2020
Nov 23 2020
Oct 1 2020
Thanks for reviewing. I'll rebase and add this shortly.
Aug 20 2020
Aug 4 2020
Thanks for looking at this @luismarques We had planned to put more effort into this patch, but time got in the way for quite a lot, but I'm glad it's working; thanks for the rebase I'll update this to match shortly. And it's good that it looks like it's mostly working. I'm curious about your backtrace showing one frame, is that something without debug information, since the example I was using when writing this did show a backtrace back to main? It would be good to understand why that disn't produce the expected output.
Jul 16 2020
Since this patch replaces 0.8 support with 0.9, it should include an update to the version check in clang/lib/Driver/ToolChains/Arch/RISCV.cpp to match.
Jul 15 2020
It's a shame this just missed the creation of the llvm 11.0 branch, do we think it's worth trying to get this backported since it only just missed?
I'm not familiar with the vector extension, but given the title of the patch, I have an integration question: It looks like this is enabled by use of the vector target feature, but the name 'Zvlsseg' suggests it's something optional/extra. If the intent to have this enabled unconditionally with 'v', or does it make sense to add features like what was done for bitmanip, where each 'Zb*' part can be enabled/disabled indepenently?
Jul 14 2020
Jun 18 2020
Thanks for this Ed. I've tried building a toolchain with it and noticed a couple of things:
May 21 2020
Apr 30 2020
Apr 23 2020
Apr 21 2020
This is looking good, overall the patch is nicely laid out which has made it easy to compare against the spec.
Apr 14 2020
Apr 13 2020
Looking at the structure this is looking good, it's probably worth renaming the codegen tests to match what I did with the MC patch before commiting ('Z'->'z') but other than a few formatting changes, this seems good. I haven't yet read through all the patterns, I'll add more comments as I go through it.
Apr 10 2020
Apr 9 2020
Apr 7 2020
Apr 6 2020
Resolve issue found by clang-tidy
Apr 1 2020
Rebase on updated MC patch
Mar 26 2020
Actually solve the underlying problem.
Mar 25 2020
Context for this patch: it's needed for CompressPats for bitmanip - since one of the compressed instructions should match against -1
Mar 19 2020
This is starting to look good. I've checked all the encodings, and other than c.zext.w having the wrong value all the encodings are right.
Mar 18 2020
Address own feedback on RISCV.td and cpp files
Mar 17 2020
Address review comments and clang-format changes
Rebase on new dependencies
- Update to match latest dependencies
- Handle adding "experimental-" to SubtargetFeatures for experimental features
Rebase on updated D65649
- Update patch now AssemblerPredicate update has landed
- Add "experimental-" to all bitmanip SubtargetFeatures
Mar 13 2020
Patch makes sense, and looking at the newly generated XRegisterBank.inc files, all LGTM
Feb 28 2020
Feb 27 2020
Feb 24 2020
Following feedback from @nhaehnle (http://lists.llvm.org/pipermail/llvm-dev/2020-February/139186.html) I have re-designed this to look more TableGen like (i.e. using DAGs instead of strings to describe the predicate). I have declared two operators any_of and all_of which I think read better than and and or in these cases when just looking at the target files.
Feb 13 2020
Add test for RISCV Instruction Compression, so now all uses of AssemblerCondString are covered by this patch.
Add AsmWriter test
Incorporate feedback, add test of disassembler and assembly matching test (asmwriter test is WIP)
Add floating point test, combine compress tests into single test file.