This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug debug/86455] var-tracking mishandled pre_dec


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86455

--- Comment #1 from Tom de Vries <vries at gcc dot gnu.org> ---
Created attachment 44373
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=44373&action=edit
Tentative patch

Using this tentative patch, I get the correct updated insn 132:
...
(insn/f 132 4 133 2 (parallel [
            (set (mem:DI (plus:DI (reg/f:DI 16 argp)
                        (const_int -16 [0xfffffffffffffff0])) [0  S8 A8])
                (reg:DI 44 r15))
            (set (reg/f:DI 7 sp)
                (plus:DI (reg/f:DI 16 argp)
                    (const_int -16 [0xfffffffffffffff0])))
        ])
"/home/vries/gcc_versions/devel/src/gcc/testsuite/gcc.dg/guality/csttest.c":10
61 {*pushdi2_rex64}
     (expr_list:REG_DEAD (reg:DI 44 r15)
        (nil)))
...

and the location for p is ok now:
...
        imulq   %rax, %rcx
        movq    %rcx, -8(%rsp)
.LVL20:
        # DEBUG p => cx
        # csttest.c:25:3
        .loc 1 25 3 is_stmt 1
        # csttest.c:25:22
        .loc 1 25 22 is_stmt 0
        movabsq $-4252017623040, %rcx
.LVL21:
        # DEBUG p => [argp-0x40]
...
[ The location argp-0x40 is an 8 times 8 byte offset: one for
INCOMING_FRAME_SP_OFFSET, 6 for pushing callee-save regs, and one for
'-8(%rsp)'. ]

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]