https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82365
Andrew Pinski <pinskia at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|stack locations are not |stack locations are not |consolidated if noreturn |consolidated if (single) |function is on the path |noreturn function is on the | |path --- Comment #14 from Andrew Pinski <pinskia at gcc dot gnu.org> --- The problem here is we get: ``` ;; basic block 8, loop depth 0 ;; pred: 7 ;; 10 ;; 12 ;; 14 fortify_panic (); ;; succ: ``` we find this bb as being a duplicate which causes all the variables a live in the BB all at the same time. Even though non of the edges even can go through another. Note using ` -fno-tree-pre -fno-code-hoisting` works around the issue too. `asm volatile("");` works around the issue of finding that this is a duplicated bb.