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

David Blaikie dblaikie at gmail.com
Wed May 29 16:02:39 PDT 2013


Thanks all - unxfailed the test in r182891

On Wed, May 29, 2013 at 3:09 PM, Andrew Trick <atrick at apple.com> wrote:
> Committed r182885.
> -Andy
>
>
> On May 29, 2013, at 1:23 PM, Evan Cheng <evan.cheng at apple.com> wrote:
>
> 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
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>



More information about the llvm-commits mailing list