diff options
author | Xianmiao Qu <cooper.qu@linux.alibaba.com> | 2023-10-09 07:24:39 -0600 |
---|---|---|
committer | Jeff Law <jlaw@ventanamicro.com> | 2023-10-09 07:24:39 -0600 |
commit | 578aa2f80056175b902671b30cc77e38945e3ba4 (patch) | |
tree | 68d5bd210e75202c03366e1535280540003a7080 /gcc/tree-stdarg.cc | |
parent | 11b8cf1685bb40af5b86653e492e350983025957 (diff) | |
download | gcc-578aa2f80056175b902671b30cc77e38945e3ba4.zip gcc-578aa2f80056175b902671b30cc77e38945e3ba4.tar.gz gcc-578aa2f80056175b902671b30cc77e38945e3ba4.tar.bz2 |
THead: Fix missing CFI directives for th.sdd in prologue.
When generating CFI directives for the store-pair instruction,
if we add two parallel REG_FRAME_RELATED_EXPR expr_lists like
(expr_list:REG_FRAME_RELATED_EXPR (set (mem/c:DI (plus:DI (reg/f:DI 2 sp)
(const_int 8 [0x8])) [1 S8 A64])
(reg:DI 1 ra))
(expr_list:REG_FRAME_RELATED_EXPR (set (mem/c:DI (reg/f:DI 2 sp) [1 S8 A64])
(reg:DI 8 s0))
only the first expr_list will be recognized by dwarf2out_frame_debug
funciton. So, here we generate a SEQUENCE expression of REG_FRAME_RELATED_EXPR,
which includes two sub-expressions of RTX_FRAME_RELATED_P. Then the
dwarf2out_frame_debug_expr function will iterate through all the sub-expressions
and generate the corresponding CFI directives.
gcc/
* config/riscv/thead.cc (th_mempair_save_regs): Fix missing CFI
directives for store-pair instruction.
gcc/testsuite/
* gcc.target/riscv/xtheadmempair-4.c: New test.
Diffstat (limited to 'gcc/tree-stdarg.cc')
0 files changed, 0 insertions, 0 deletions