https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77966
--- Comment #2 from Denis Vlasenko <vda.linux at googlemail dot com> --- Without -fsanitize-coverage=trace-pc, the second, redundant check "snic->wq_count<=1?" is not generated. This eliminates the hanging "impossible" code path: <snic_log_q_error>: 0: 8b 07 mov (%rdi),%eax 2: 85 c0 test %eax,%eax 4: 74 09 je f 6: 48 8b 7f 08 mov 0x8(%rdi),%rdi a: e9 00 00 00 00 jmpq ioread32 f: c3 retq