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.