https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102587
qinzhao at gcc dot gnu.org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |qinzhao at gcc dot gnu.org --- Comment #6 from qinzhao at gcc dot gnu.org --- with the committed patch, this testing case still failed but in a later rtl stage: qinzhao@gcc116:~/Bugs/102587$ sh t /home/qinzhao/Install/latest/bin/gcc -ftrivial-auto-var-init=zero t.c -S during RTL pass: pro_and_epilogue t.c: In function ‘foo’: t.c:1:33: internal compiler error: Segmentation fault 1 | void foo() { __SVFloat64_t f64; } | ^ 0xe18fab crash_signal ../../latest_gcc_git/gcc/toplev.c:331 0x122ed20 aarch64_add_offset ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:5042 0x123044f aarch64_sub_sp ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:5225 0x123044f aarch64_allocate_and_probe_stack_space ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:8502 0x1230cfb aarch64_expand_prologue() ../../latest_gcc_git/gcc/config/aarch64/aarch64.c:8841 0x169fb63 gen_prologue() ../../latest_gcc_git/gcc/config/aarch64/aarch64.md:853 0x1226d17 target_gen_prologue ../../latest_gcc_git/gcc/config/aarch64/aarch64.md:7448 0xa9495f make_prologue_seq ../../latest_gcc_git/gcc/function.c:5825 0xa94b8b thread_prologue_and_epilogue_insns() ../../latest_gcc_git/gcc/function.c:6043 0xa95293 rest_of_handle_thread_prologue_and_epilogue ../../latest_gcc_git/gcc/function.c:6534 0xa95293 execute ../../latest_gcc_git/gcc/function.c:6610 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions. I think the reason is that the call to .DEFERRED_INIT (POLY_INI_CST[16,16], 2, 0) was not expanded at all during RTL expanding phase. I feel the committed patch is not correct: 1. if we want to avoid auto initializing such auto variable, we should not add call to .DEFERRED_INIT in gimplification phase at all. 2. not sure what does "POLY_INT_CST[16,16]" mean? is it a constant?