On 12/01/2011 01:42 AM, Torvald Riegel wrote: > The ABI defines the pr_hasNoFloatUpdate and pr_hasNoVectorUpdate flags > for _ITM_beginTransaction but we don't handle these currently. I guess > we should do the save/restore unless those flags are set? > > How difficult would it be to set these flags if there is no float/vector > update (I guess inter-procedural analysis could be sufficient as a first > step).
It's actually quite difficult. We'd need to mark a region so that the register allocator doesn't attempt to allocate call-saved fp/vector registers within that region. Which is much stricter than seeing that there's no fp/vector operation, since fp/vector registers can be used for other things, such as memcpy. r~