[PATCH] D142572: [AArch64] fix bug #55005 handle DW_CFA_GNU_window_save

Rafael Auler via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 30 10:54:56 PST 2023


rafauler added inline comments.


================
Comment at: bolt/lib/Core/Exceptions.cpp:629
     case DW_CFA_GNU_window_save:
+      Function.addCFIInstruction(
+          Offset, MCCFIInstruction::createNegateRAState(nullptr));
----------------
Can you add a comment here explaining why you're calling createNegateRAState? Something like

"DW_CFA_GNU_window_save and DW_CFA_GNU_NegateRAState just use the same id but mean different things. The latter is used in AArch64".

Also, guard this code under AArch64 (from what I understand, this is an AArch64-only thing)

   if (Function.getBinaryContext().isAArch64) 


================
Comment at: bolt/test/AArch64/dw_cfa_gnu_window_save.cc:1
+// RUN: %clang %cflags -O2 -Wl,-q  %s -o %t.exe
+// RUN: llvm-bolt %t.exe -o %t.bolt 2>&1 | FileCheck %s
----------------
I guess we can drop this test? Since you already added the yaml file and another test


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

https://reviews.llvm.org/D142572



More information about the llvm-commits mailing list