]> git.ipfire.org Git - thirdparty/gcc.git/commit
re PR debug/54796 (Non-addressable stack parameter debug quality regression)
authorJakub Jelinek <jakub@redhat.com>
Tue, 16 Oct 2012 11:21:20 +0000 (13:21 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Tue, 16 Oct 2012 11:21:20 +0000 (13:21 +0200)
commit0fe03ac31859b5cdc6760e605dc17ffbccfe1860
tree9ba40d70d5d1df4a70c9881287bb8ea4ea5c49b6
parentcded4e9ed7d9f793d31303def53d999890a0f5a5
re PR debug/54796 (Non-addressable stack parameter debug quality regression)

PR debug/54796
* rtl.h: Document jump flag on VALUE.
* cselib.h (cselib_set_value_sp_based,
cselib_sp_based_value_p): New prototypes.
* alias.c (find_base_term): For cselib_sp_based_value_p
return static_reg_base_value[STACK_POINTER_REGNUM].
* cselib.c (SP_BASED_VALUE_P): Define.
(cselib_set_value_sp_based, cselib_sp_based_value_p): New functions.
* var-tracking.c (add_stores): Call cselib_set_value_sp_based
for not yet preserved VALUEs of sp on sp assignments if
hard_frame_pointer_adjustment != -1.
(vt_initialize): When setting hard_frame_pointer_adjustment,
disassociate sp from its previous value and call
cselib_set_value_sp_based on a new VALUE created for sp.

* gcc.dg/guality/pr54796.c: New test.

From-SVN: r192494
gcc/ChangeLog
gcc/alias.c
gcc/cselib.c
gcc/cselib.h
gcc/rtl.h
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/guality/pr54796.c [new file with mode: 0644]
gcc/var-tracking.c