]> gcc.gnu.org Git - gcc.git/commit
libgcc: Specialize execute_cfa_program in DWARF unwinder for alignments
authorFlorian Weimer <fweimer@redhat.com>
Mon, 2 Jan 2023 15:18:02 +0000 (16:18 +0100)
committerFlorian Weimer <fweimer@redhat.com>
Mon, 2 Jan 2023 15:18:02 +0000 (16:18 +0100)
commitcb775ecd6e437de8fdba9a3f173f3787e90e98f2
tree667155a53bc5352e990027c5062b06391afec27d
parent97bbdb726aba76ead550e25061029cf0aa78671b
libgcc: Specialize execute_cfa_program in DWARF unwinder for alignments

The parameters fs->data_align and fs->code_align always have fixed
values for a particular target in GCC-generated code.  Specialize
execute_cfa_program for these values, to avoid multiplications.

gcc/c-family/

* c-cppbuiltin.cc (c_cpp_builtins): Define
__LIBGCC_DWARF_CIE_DATA_ALIGNMENT__.

libgcc/

* unwind-dw2-execute_cfa.h: New file.  Extracted from
the execute_cfa_program function in unwind-dw2.c.
* unwind-dw2.c (execute_cfa_program_generic): New function.
(execute_cfa_program_specialized): Likewise.
(execute_cfa_program): Call execute_cfa_program_specialized
or execute_cfa_program_generic, as appropriate.
gcc/c-family/c-cppbuiltin.cc
libgcc/unwind-dw2-execute_cfa.h [new file with mode: 0644]
libgcc/unwind-dw2.c
This page took 0.05961 seconds and 5 git commands to generate.