https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108868
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Here is a testcase which shows the removal of ABNORMAL_DISPATCHER though I am not sure what is the best way to test if the removal makes a difference. ``` extern int vfork (void) __attribute__ ((__nothrow__ , __leaf__, __returns_twice__)); extern int fork (void) __attribute__ ((__nothrow__ , __leaf__, __returns_twice__)); void sink(int*) __attribute__((noipa)); void sink(int*) {} int f(int a, int b) __attribute__((noipa)); int f(int a, int b) { sink(&b); int ret = a ? vfork() : fork(); if (ret == 0) { sink(&b); b++; sink(&b); return 0; } if(b) __builtin_abort(); __builtin_exit(0); } ```