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.

Reply via email to