https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96404
--- Comment #13 from David Edelsohn <dje at gcc dot gnu.org> ---
The symptom I see on AIX is that the labels for DWARF variable locations differ
between stage2 and stage3 for some files. The difference started with the
recent change to the var-tracking pass. Once the labels diverge, the addresses
no longer match and the object file differ.
The var-tracking dump files are over 1GB with lots of address differences, but
it doesn't contain any differences in the BB dump output for vt_find_locations,
which is the function that was changed.
The assembly file differences give the appearance of an unstable sort. The
beginning of the difference for an assembly file looks like:
--- tree-vrp.S 2020-08-01 19:42:00.000000000 -0400
+++ ../gcc/tree-vrp.S 2020-08-01 19:43:33.000000000 -0400
@@ -38428,8 +38428,8 @@
LM..7111:
addi 19,1,792
li 20,1
-L..2070:
LVL..2903:
+L..2070:
LBE..22006:
LBE..22005:
LBE..22004:
@@ -38466,6 +38466,7 @@
LM..7114:
cmpwi 0,31,0
beq 0,L..2043
+LVL..2904:
LBB..22481:
LM..7115:
LM..7116:
@@ -38475,12 +38476,12 @@
mr 30,31
bl .memcpy
nop
-LVL..2904:
+LVL..2905:
LM..7117:
LM..7118:
LM..7119:
lwz 27,8(31)
-LVL..2905:
+LVL..2906:
LM..7120:
LM..7121:
lwz 9,4(27)
@@ -38489,7 +38490,7 @@
beq 0,L..2348
L..2044:
LM..7123:
-LVL..2906:
+LVL..2907:
LBE..22481:
LBE..22508:
LBE..22535: