https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88714
--- Comment #5 from Mikael Pettersson <mikpelinux at gmail dot com> --- With -da -fdump-tree-all, stage1 and stage2 output starts to differ in 043t.profile_estimate and then more visibly in 130t.pre: diff -ru stage1/sort.i.043t.profile_estimate stage2/sort.i.043t.profile_estimate --- stage1/sort.i.043t.profile_estimate 2019-01-09 19:39:25.973607372 +0100 +++ stage2/sort.i.043t.profile_estimate 2019-01-09 19:39:40.893537693 +0100 @@ -252,5 +252,5 @@ -;; Combiner totals: 55 attempts, 49 substitutions (22 requiring new space), +;; Combiner totals: 56 attempts, 49 substitutions (21 requiring new space), ;; 4 successes. diff -ru stage1/sort.i.130t.pre stage2/sort.i.130t.pre --- stage1/sort.i.130t.pre 2019-01-09 19:39:24.673613443 +0100 +++ stage2/sort.i.130t.pre 2019-01-09 19:39:39.993541897 +0100 @@ -226,13 +226,12 @@ size_t j; size_t i; unsigned int count[256]; - unsigned int prephitmp_1; - unsigned int pretmp_2; unsigned int _5; unsigned char _6; int _7; unsigned int _8; unsigned int _9; + unsigned int _11; unsigned int _12; sizetype _13; sizetype _14; @@ -244,13 +243,11 @@ unsigned int _20; void * * _21; void * _22; - unsigned int prephitmp_36; unsigned int _53; - unsigned int pretmp_58; - unsigned int pretmp_84; - unsigned int prephitmp_85; - unsigned int pretmp_86; - unsigned int prephitmp_87; + unsigned int prephitmp_71; + unsigned int pretmp_72; + unsigned int prephitmp_76; + unsigned int pretmp_77; <bb 2> [local count: 2684354]: _5 = n_41(D) * 4; @@ -284,18 +281,16 @@ goto <bb 5>; [11.00%] <bb 5> [local count: 9556302]: - pretmp_58 = MEM[(unsigned int *)&count + 4B]; - pretmp_2 = MEM[(unsigned int *)&count]; + pretmp_77 = MEM[(unsigned int *)&count + 4B]; <bb 6> [local count: 10737418]: - # prephitmp_1 = PHI <pretmp_58(5), 0(3)> - # prephitmp_36 = PHI <pretmp_2(5), 0(3)> + # prephitmp_76 = PHI <pretmp_77(5), 0(3)> <bb 7> [local count: 1063004406]: # countp_30 = PHI <&MEM[(void *)&count + 4B](6), countp_46(8)> - # prephitmp_85 = PHI <prephitmp_1(6), pretmp_84(8)> - # prephitmp_87 = PHI <prephitmp_36(6), pretmp_86(8)> - _12 = prephitmp_85 + prephitmp_87; + # prephitmp_71 = PHI <prephitmp_76(6), pretmp_72(8)> + _11 = MEM[(unsigned int *)countp_30 + 4294967292B]; + _12 = _11 + prephitmp_71; *countp_30 = _12; countp_46 = countp_30 + 4; if (&MEM[(void *)&count + 1024B] > countp_46) @@ -304,8 +299,7 @@ goto <bb 9>; [1.01%] <bb 8> [local count: 1052266993]: - pretmp_84 = MEM[(unsigned int *)countp_30 + 4B]; - pretmp_86 = *countp_30; + pretmp_72 = MEM[(unsigned int *)countp_30 + 4B]; goto <bb 7>; [100.00%] <bb 9> [local count: 10737418]: Subsequent dump files also differ, but seem to mirror the above diffs. Meanwhile I did a bootstrap without specifying --enable-checking=release, and that one succeeded.