[LLVMdev] LiveInterval Questions
Evan Cheng
evan.cheng at apple.com
Thu Jan 17 11:04:13 PST 2008
On Jan 16, 2008, at 11:19 PM, Christopher Lamb wrote:
> On Jan 16, 2008, at 11:49 AM, David Greene wrote:
>
>> I had been assuming that give a LiveRange a, a.valno->def, if
>> valid, would be the same as a.start. But this is apparently not
>> always the case. For example:
>>
>> Predecessors according to CFG: 0x839d130 (#3) 0x8462780 (#35)
>> 308 %reg1051 = MOV64rr %reg1227<kill>
>> 312 %reg1052 = MOV64rr %reg1228<kill>
>> 316 %reg1053 = MOV64rr %reg1229<kill>
>> 320 %reg1054 = MOV64rr %reg1230<kill>
>> 324 %reg1055<dead> = LEA64r %reg1047, 1, %reg1053, 0
>> 328 %reg1135 = MOVSX64rr32 %reg1025
>> 332 %reg1136 = MOV64rr %reg1135<kill>
>> 336 %reg1136 = ADD64ri32 %reg1136, -4, %EFLAGS<imp-def,dead>
>> 340 TEST64rr %reg1136<kill>, %reg1136, %EFLAGS<imp-def>
>> 344 JNS mbb<file solve.f, line 23, in loop at depth 1,
>> bb16,0x83a2c70>,
>> %EFLAGS<imp-use,kill>
>
> David, could you post the live ins/outs for the block? My thinking
> is that %reg1055 may be live through the block.
Probably not the case. reg1055 is marked dead so its live range should
end right there. My guess is this is a coalescing bug. But I need a
test case.
Evan
> --
> Christopher Lamb
>
>
>
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list