| |||||||||||||||||||||||||||||
|
> But I don't think that's enough, with the current loop it would strip the > subreg of a multiword subreg and there is some logic in df_ref_record, > which wouldn't see it. An alternative might be: > > while (GET_CODE (dst) == STRICT_LOW_PART > || GET_CODE (dst) == ZERO_EXTRACT) > { > flags |= DF_REF_READ_WRITE | DF_REF_PARTIAL; > loc = &XEXP (dst, 0); > dst = *loc; > } > > if (df_read_modify_subreg_p (dst)) > flags |= DF_REF_READ_WRITE | DF_REF_PARTIAL; > > That would only leave singleword subreg and paradoxical subreg, if they > should require anything. This seems also correct, if you want to test it. > One could also restrict STRICT_LOW_PART to subregs, as after reload the > subreg part is usually gone. No, a strict_low_part of a reg is also a partial set. Paolo
| ||||||||||||||||||||||||||||
© 2004-2008 readlist.com