Hi, In cprop_hardreg pass, function find_oldest_value_reg checks if oldest_regno is in same register class as original one by calling in_hard_reg_set_p. Won't this be too conservative, considering the rewriting of rtx is guarded by validate_change? For example on Thumb1, r12 <-- r0 r1 <-- r1 + r12 The r12/r0 have different register classes (HI_REG/LO_REG), thus prevents r12 in the addition from being propagated by r0.
Any suggestions? Thanks very much. -- Best Regards.