On 07/15/2017 02:47 PM, Alexander Monakov wrote: > The reload_pseudo_compare_func comparator, when used from assign_by_spills, > can be non-transitive, indicating A < B < C < A if both A and C satisfy > !bitmap_bit_p (&non_reload_pseudos, rAC), but B does not. > > This function was originally a proper comparator, and the problematic > clause was added to fix PR 57878: > https://gcc.gnu.org/ml/gcc-patches/2013-07/msg00732.html > > That the comparator is invalid implies that that PR, if it still exists, > can reappear (but probably under more complicated circumstances). > > This looks like a sensitive area, so disabling checking is the only > obvious approach. > > * lra-assigns.c (reload_pseudo_compare_func): Add a FIXME. > (assign_by_spills): Use non-checking qsort. This is OK once the final comparator consistency checking patch is approved.
jeff