On 01/10/2012 05:39 PM, Richard Henderson wrote:
Also outstanding is that the return value setup for beginTransaction
needs to be adjusted into the new block. I.e. we current generate
(set (reg eax) (call _ITM_beginTransaction))
(set (reg psuedo) (reg eax))
.Lrestart:
// rest of tm block
This must be
(set (reg eax) (call _ITM_beginTransaction))
.Lrestart:
(set (reg psuedo) (reg eax))
// rest of tm block
lest the register allocator do the wrong thing.
Yep good point. It means moving the insn from one BB to the next BB but
I have no idea how to do it and where it should be done.
Thanks.
--
Patrick.