[PATCH] D137010: [libunwind][LoongArch] Add 64-bit LoongArch support
    Jinyang He via Phabricator via llvm-commits 
    llvm-commits at lists.llvm.org
       
    Thu Nov  3 23:58:18 PDT 2022
    
    
  
MQ-mengqing added inline comments.
================
Comment at: libunwind/src/Registers.hpp:5109
+  if (regNum == UNW_LOONGARCH_R0)
+    return 0;
+  if (regNum > 0 && regNum < 32)
----------------
It is not appreciated to return 0 directly. Generally we don't get dwarf NO.0 because $zero always is 0. As that it allows the user to use NO.0 as magic to do things like '.cfi_return_column $zero'.
================
Comment at: libunwind/src/Registers.hpp:5122
+    // $r0 is hardwired to zero.
+    return;
+  else if (regNum > 0 && regNum < 32)
----------------
Same as ::getRegister, though it seems not change anything...
================
Comment at: libunwind/src/UnwindRegistersRestore.S:1337
+
+  // $r0 is zero
+  ld.d    $r1, $a0, (8 * 1)
----------------
Neither uwn_setcontext nor uwn_getcontext use the 0 position. Besides, is there no needed to save or restore the fscr and the fcc?
Repository:
  rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D137010/new/
https://reviews.llvm.org/D137010
    
    
More information about the llvm-commits
mailing list