[PATCH] D140727: [XRay] Add initial support for loongarch64

Fangrui Song via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 5 21:35:50 PDT 2023


MaskRay added inline comments.


================
Comment at: compiler-rt/lib/xray/xray_loongarch64.cpp:153
+                           const XRaySledEntry &Sled) XRAY_NEVER_INSTRUMENT {
+  // FIXME: In the future we'd need to distinguish between non-tail exits and
+  // tail exits for better information preservation.
----------------
I know you copy the pattern from other patterns, but we should use TODO here. An unimplemented minor feature is not FIXME.


================
Comment at: compiler-rt/lib/xray/xray_trampoline_loongarch64.S:27
+  .cfi_offset 1, -8
+  st.d    $a7, $sp, 120
+  st.d    $a6, $sp, 112
----------------
You can use `.irpc` to simplify this a bit. See libunwind/src/UnwindRegistersSave.S


================
Comment at: compiler-rt/test/xray/TestCases/Posix/arg1-arg0-logging.cpp:9
 // TODO: Support these in ARM and PPC
-// XFAIL: target={{(arm|aarch64|mips).*}}
+// XFAIL: target={{(arm|aarch64|loongarch64|mips).*}}
 // UNSUPPORTED: target=powerpc64le{{.*}}
----------------
I added aarch64 support. You may rebase and add loongarch64 on the `REQUIRES:` line.


================
Comment at: compiler-rt/test/xray/TestCases/Posix/basic-filtering.cpp:26
 //
-// REQUIRES: x86_64-target-arch
+// REQUIRES: x86_64-target-arch || loongarch64-target-arch
 // REQUIRES: built-in-llvm-tree
----------------
Most `REQUIRES: x86_64-target-arch` are unnecessarily constrained. I just removed them. You may rebase and avoid changes to these test files.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140727



More information about the cfe-commits mailing list