https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120938
--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> --- This is even smaller testcase #include <stdio.h> volatile int variablev; static void inc(int a) { variablev++; } inline int inline_me (int l) { for (int i = 0; i < 100000000; i++) {inc(1);inc(1);} return 1; } static int zero = 0; int main () { inline_me (0); inline_me (0); return 0; } it is important that inline_me is called twice, which is odd...