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.

Reply via email to