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: