diff options
author | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-16 11:21:20 +0000 |
---|---|---|
committer | jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4> | 2012-10-16 11:21:20 +0000 |
commit | bb75e83fb13edfef8d99262b7c7745a6438ba8bb (patch) | |
tree | 9ba40d70d5d1df4a70c9881287bb8ea4ea5c49b6 /gcc/rtl.h | |
parent | 1197cde62086c7211152a2793a31fa9026ac9aec (diff) | |
download | gcc-bb75e83fb13edfef8d99262b7c7745a6438ba8bb.tar.gz |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192494 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/rtl.h')
-rw-r--r-- | gcc/rtl.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/gcc/rtl.h b/gcc/rtl.h index cd5d4352b86..a38924d2537 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -267,7 +267,8 @@ struct GTY((chain_next ("RTX_NEXT (&%h)"), 1 in a CALL_INSN if it is a sibling call. 1 in a SET that is for a return. In a CODE_LABEL, part of the two-bit alternate entry field. - 1 in a CONCAT is VAL_EXPR_IS_COPIED in var-tracking.c. */ + 1 in a CONCAT is VAL_EXPR_IS_COPIED in var-tracking.c. + 1 in a VALUE is SP_BASED_VALUE_P in cselib.c. */ unsigned int jump : 1; /* In a CODE_LABEL, part of the two-bit alternate entry field. 1 in a MEM if it cannot trap. |