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

Ferran Pallarès Roca via Phabricator via Openmp-commits openmp-commits at lists.llvm.org
Thu Mar 28 03:39:00 PDT 2019

fpallares added a comment.

Thanks for the quick review @Hahnfeld, I've just replied to your inline comments and updated the patch!

Comment at: runtime/test/ompt/callback.h:170
+// 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
Hahnfeld wrote:
> Should this also handle the case that the `nop` is uncompressed (this should be 4 bytes)?
As Linux requires riscv64gc we assumed compressed instructions would be enabled, but certainly it is not necessarily the case (riscv64g should be supported). Good catch!

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) \
Hahnfeld wrote:
> 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?
The unnecessary jump to the immediate successor block is removed by FastIsel in the targets that enable it. For now RISCV64 does not.

  rOMP OpenMP



More information about the Openmp-commits mailing list