On 05/02/2016 09:12 AM, Eric Botcazou wrote:
The pointer comparison is not stable for VALUEs when cselib is used (this is the business of canonical cselib values). I tried rtx_equal_for_cselib_p here but this doesn't work because there are dangling VALUEs during scheduling (VALUEs whose associated cselib value has been reclaimed but still referenced as addresses of MEMs on lists).
Dangling as in it has a null VAL_PTR because it was decided it's useless?
2016-05-02 Eric Botcazou <ebotca...@adacore.com> PR rtl-optimization/70886 * sched-deps.c (estimate_dep_weak): Canonicalize cselib values. * cselib.h (rtx_equal_for_cselib_1): Declare. (rtx_equal_for_cselib_p: New inline function. * cselib.c (rtx_equal_for_cselib_p): Delete. (rtx_equal_for_cselib_1): Make public.
I think this is OK. Bernd