Fix for [Bug 16146] gdb.base__call-ar-st.exp fails after pre-RA-sched=source fixes

Evan Cheng evan.cheng at apple.com
Wed May 29 13:23:15 PDT 2013


LGTM

Evan
On May 29, 2013, at 1:14 PM, "Guo, Xiaoyi" <Xiaoyi.Guo at amd.com> wrote:

> Attached please find the fix for Bug 16146.
>  
> The failure was because CALLSEQ_START and CALLSEQ_END are not ordered. But they are glued with CALL nodes. So the CALL nodes are not scheduled according to IR order.
>  
> It was okay before because when DAG builder assigned ordering to nodes, it assigned the current ordering recursively to the current node and all its direct and indirect operands. So the ordering was assigned to even nodes whose DebugLoc was not tracked, such as CALLSEQ_START/CALLSEQ_END, or constants.
>  
> I fixed it by passing ordering to getCALLSEQ_START and getCALLSEQ_END. Now the new generated segment looks the same as before.
>  
>         .loc    2 1215 0                # ../../../src/gdb/testsuite/gdb.base/cll-ar-st.c:1215:0
>         leaq    main.char_array(%rip), %rax
>         movq    %rax, %rdi
>         movq    %rax, -808(%rbp)        # 8-byte Spill
>         callq   print_char_array at PLT
>         .loc    2 1216 0                # ../../../src/gdb/testsuite/gdb.base/cll-ar-st.c:1216:0
>         leaq    main.double_array(%rip), %rax
>         movq    %rax, %rdi
>         movq    %rax, -816(%rbp)        # 8-byte Spill
>         callq   print_double_array at PLT
>         .loc    2 1217 0                # ../../../src/gdb/testsuite/gdb.base/cll-ar-st.c:1217:0
>         leaq    main.float_array(%rip), %rax
>         movq    %rax, %rdi
>         movq    %rax, -824(%rbp)        # 8-byte Spill
>         callq   print_float_array at PLT
>  
> Thanks,
> Xiaoyi
>  
> <PR16146.diff>_______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20130529/39af9f37/attachment.html>


More information about the llvm-commits mailing list