[Openmp-commits] [PATCH] D59880: [WIP] RISCV64 port

Jonas Hahnfeld via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Wed Mar 27 08:22:02 PDT 2019


Hahnfeld added a comment.

Most of the changes look pretty straight forward to me, but I currently don't have time to read through the assembly implementation of `__kmp_invoke_microtask`. I left two comments inline to discuss compressed vs uncompressed encodings for testing OMPT.



================
Comment at: runtime/test/ompt/callback.h:170
+#elif KMP_ARCH_RISCV64
+// On RV64C the C.NOP instruction is 2 byte long. In addition, the compiler
+// inserts a data-movement instruction for non-void runtime functions which
----------------
Should this also handle the case that the `nop` is uncompressed (this should be 4 bytes)?


================
Comment at: runtime/test/ompt/callback.h:172-173
+// inserts a data-movement instruction for non-void runtime functions which
+// accounts for another 2 or 4 bytes. Finally, a C.J instruction may appear
+// (adding 2 more bytes).
+#define print_possible_return_addresses(addr) \
----------------
Did you try to find out why the compiler inserts a jump?
And, as above, should be also allow the instruction to be 4 bytes long?


Repository:
  rOMP OpenMP

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59880/new/

https://reviews.llvm.org/D59880





More information about the Openmp-commits mailing list