https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116600
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
See Also|https://gcc.gnu.org/bugzill |
|a/show_bug.cgi?id=97954 |
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
The problem is here:
```
(jump_insn 25 24 68 4 (asm_operands/v ("") ("") 0 []
[]
[
(label_ref:DI 29)
] /app/example.cpp:10) "/app/example.cpp":10:5 -1
(nil)
-> 29)
(note 68 25 67 5 [bb 5] NOTE_INSN_BASIC_BLOCK)
(insn/f 67 68 69 5 (set (reg:DI 19 x19)
(mem/c:DI (plus:DI (reg/f:DI 31 sp)
(const_int 16 [0x10])) [2 S8 A8])) -1
(expr_list:REG_CFA_RESTORE (reg:DI 19 x19)
(nil)))
(jump_insn 69 67 70 5 (set (pc)
(label_ref 29)) -1
(nil)
-> 29)
```
That CFA restore is in the wrong location.
This is shrink wrapping related. Workaround is `-fno-shrink-wrap` .