------- Comment #1 from jakub at gcc dot gnu dot org 2010-02-26 14:07 ------- The initial question is whether to implement these for easily reversible insns in vt_initialize, or when a VALUE becomes dead because nothing uses it. Implementing it in vt_initialize (add_stores and count_uses) would have an advantage that rtx garbage wouldn't be created during processing, when seeing a set like (set (%rbx) (plus (%rdi) (const_int N))) we'd add a MO_VAL_USE after MO_VAL_SET that would say that the value %rdi has now lives also in (plus (%rbx) -1) (well, instead of %rbx a VALUE it has). As REGs/MEMs/VALUEs are preferred over other expressions in locations, they'd be used only as last resort.
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43177