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:

Reply via email to