https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63839
--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> --- Ok, so inlining introduces __builtin_unreachable () during inlining of a noreturn call. Then at some point somebody folds that statement (forwprop) and ubsan instrumentation triggers via fold_builtin_0. Now - BUILT_IN_UBSAN_HANDLE_BUILTIN_UNREACHABLE requires virtual operands but BUILT_IN_UNREACHABLE is const. Thus this folding breaks virtual SSA form - which folding may not do. And kaboom, simplify_builtin_call doesn't expect broken virtual SSA form. It seems that this "randomly" instrumenting late introduced __builtin_unreachable()s is broken. Instrumenting via folding is anyway IMHO.