User Details
- User Since
- Apr 8 2022, 3:54 AM (77 w, 17 h)
Wed, Sep 6
Add graalcc token for Graal calling convention, rename test files to graalcc.ll, report_fatal_error if Subtarget.isRVE(), test for riscv32 and use minimal -mtriple.
Aug 28 2023
Add tests for GraalVM calling conventions
Aug 22 2023
Aug 2 2023
Hello, sorry for the ping. Would it be possible to have a review for this patch? I am sadly not sure if I should assign a specific reviewer for this change, so if that is the case, please tell me.
Hello, sorry for the ping, but the revision has been accepted and the requested changes applied. Would it be possible to have it merged in the main branch?
May 26 2023
Rebase patch on main
Remove duplicate switch in RISCVAsmPrinter::emitInstruction
May 22 2023
Rebased the patch on main. For context, this patch has been used by the LLVM backend of GraalVM's Native Image project in production for around 4 months with no major issues.
Rebased the patch on main. For context, this patch has been used by the LLVM backend of GraalVM's Native Image project in production for around 4 months with no major issues.
Jul 27 2022
Remove dubious check in RISCVELFStreamer.cpp.
Jul 22 2022
Update rv64-patchpoint.ll test.
Jul 21 2022
Remove useless test and refactor generateInstSeq by adding generateMCInstSeq to avoid code duplication between PseudoLI and Stackmap.
Jul 18 2022
Fixed spaces issues in tests, added correct prefixes and merged duplicates.
Use 2-bytes NOPs when they are available. Fix tests that used FastISel or an incorrect checks generator.
Jul 16 2022
Jul 15 2022
Update tests that do not check data directive using update_llc_test_checks.py.
Update tests that do not check data directive using update_llc_test_checks.py.
Jul 14 2022
Remove Opers temporary variable to avoid compilation error in switch.
Use a switch instead of if else for getInstSizeInBytes and remove unused import.
Add case for STACKMAP, STATEPOINT and PATCHPOINT in getInstSizeInBytes.
Jul 13 2022
Hello, we are currently trying to implement an LLVM backend on RISC-V for the GraalVM Native Image project and we run into some issues that are solved by this patch. In summary, we produce LLVM bitcode from Java code and feed it to llc. The problem is that we cannot really control the size of the functions and it can cause branches to out of range locations. However, this issue seems stale and controversial. Is there any news to share?
May 4 2022
I removed the code related to the target resolution, to put it in another patch as suggested. I still took the comments into account and they will be applied in the other patch. I also used emitNops to avoid code duplication when emitting the Nops.
Apr 13 2022
Added requested changes on error when code is executed on RV32.
I replaced assert by report_fatal_error to indeed stop the execution when reaching this point. I did not include any code for when the intrinsics are run on RV32 as accordingly to the LLVM documentation, Stack map is a 64 bits feature. Thus I only implemented it for RV64. Should I do it for RV32 too?
Apr 12 2022
Sorry for the delay, it took me some time to run clang-format. I also added the context as asked. Finally, I added an assert to make sure STACKMAP, PATCHPOINT and STATEPOINT are only used with RV64.
I looked a bit deeper into a RV32 implementation, but in fact, according to this https://llvm.org/docs/StackMaps.html#stack-map-format, stackmap support is currently only implemented for 64-bit platforms. Thus it might require more work in the architecture independent part of stackmap, which I am not totally familiar with for now and I also imagine it would be better to start with the more common architectures instead of RV32.
Apr 11 2022
Removes unnecessary space on empty line.
Hello! I am happy to help! Since it is my first contribution, I am not yet familiar with everything, so it might be a little bit messy at the start, sorry in advance.
Adds a missing 0 IMM in a JALR instruction.
Removes RISCVMCInstLower.h which was not used.