https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120987
--- Comment #26 from Tom de Vries <vries at gcc dot gnu.org> --- Eventually, a-test-2.c.121t.retslot has: ... <bb 9> [count: 0]: <L0>: _3 = MEM[(struct __shared_count *)&file_exception + 8B]._M_pi; if (_3 != 0B) ... and then the following a-test-2.c.122t.fre3 introduces the wrong code: ... <bb 7> [count: 0]: <L0>: if (_15 != 0B) ... where _15 is the initial nonnull value of file_exception.message._M_refcount._M_pi, and we need the actual value as updated by throw_exception, which is null.