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.
