User Details
- User Since
- Jan 17 2022, 6:33 AM (97 w, 5 d)
Sep 5 2023
Sorry for the delay in getting back to you. I've updated the NOP sled generation and tested it out, it now seems to work with compressed instructions - the patched sleds were identical to what I'd previously observed when compiling with march=rv64g. When I had originally written this in 2021/early 2022, some of the instructions were getting corrupted when they were being patched in - either this was a bug in my implementation that has been fixed over the course of the review process, or it might've been an issue with qemu or llvm at the time that has been fixed in the years since.
Aug 29 2023
Sorry - I missed adding updates with the last diff - I think I've addressed most of the comments. Just realized that the diff didn't include context, updated that as well.
Aug 24 2023
Aug 21 2023
Ok, I've tried to make the changes you've suggested @MaskRay , let me know if I've missed something.
Jun 25 2023
Feb 13 2022
Feb 11 2022
Feb 3 2022
Removed extra triples from the test.
Feb 2 2022
Updated the riscv64 sled function to fix the addition/shift operations and get rid of the superfluous slli and srli instructions. Cut out unnecessary comments in the ASM Printer.
Jan 28 2022
Jan 27 2022
Fixed another lint issue, they should all be done for now hopefully.
Jan 26 2022
Made changes to handle lint issues.
Jan 24 2022
Updated the diff, made the following changes:
- Merged the riscv files into xray_riscv.cpp and removed the if-else code for %hi()
- Cleaned up the issues related to indenting and comments in RISCVAsmPrinter.cpp
- Updated the test file to pass -verify-machineinstrs and remove unnecessary attributes as well as {{.*}}s
- Fixed riscv32 comments - it is now only commented out in cmake/Modules/AllSupportedArchDefs.cmake
Jan 22 2022
Thank you for your feedback! I could combine the riscv32 and 64 cpp files with some xlen conditions if that will work better, but that might take a bit of a hit in terms of readability (do I explain both sleds in the comments preceding the implementation). I have commented riscv32 out because I haven't managed to test it out yet, I've had some difficulty getting llvm set up for riscv 32 - I will leave riscv32 commented out only in the cmake file.