On 10/20/2016 01:49 AM, David Malcolm wrote:
(b) for all codes for which rtx_equal_p requires pointer equality, add some kind of extra ID to the dump, allowing the loader to reconstruct the graph. This could be the pointer itself: (scratch:DI [0x7ffff19ee150]) (scratch:DI [ptr:0x7ffff19ee150]) or somesuch, but it would perhaps be better to use some kind of more human-friendly ID e.g. (scratch:DI [ptr-idx: 42]) or similar, rather than subject ourselves to raw hex values. Probably need an extra flag to print-rtl.c, to avoid making the dumps more verbose for everyone who doesn't want this (if so, does "compact" mode need renaming...) Or just do this for SCRATCH, maybe?
Recognizing by SCRATCH wouldn't catch everything, I believe. You should be able to check n_dups and dup_loc in recog_data to identify cases where you need to ensure something is restored with pointer equality.
I'd hope you already have pointer equality for all instances of each pseudo register.
Bernd