OSDN Git Service

PR/14362
authorzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Mar 2004 08:05:14 +0000 (08:05 +0000)
committerzlomek <zlomek@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 11 Mar 2004 08:05:14 +0000 (08:05 +0000)
commit85bbdb3f23b548c1b3d911646b528afe5c885b57
tree8ce1eecafee1cf882113fbad7789e4dd621695cf
parent6175885e8a1e9e972eac8b32b93f3ea9b236092d
PR/14362
* var-tracking.c (struct variable_def): Added field refcount.
(variable_htab_free): Decrease the refcount and delete variable
only if there are no more references.
(unshare_variable): New function.
(vars_copy_1): Increase refcount instead of copying the variable.
(variable_union): Share the variables where possible, unshare
the variables if needed.
(variable_different_p): Return false if var1 and var2 are
the same structure.
(variable_was_changed): Init the refcount of new variable.
(set_frame_base_location): Unshare variable if needed.
(set_variable_part): Init the refcount of new variable.
Unshare the variables if needed.
(delete_variable_part): Unshare the variables if needed.
(emit_notes_for_differences_1): Init the refcount of new variable.
(vt_add_function_parameters): Do not add function parameters to
IN set of ENTRY_BLOCK_PTR because it is unused anyway.
(vt_initialize): Do not add frame_base_decl to IN set of
ENTRY_BLOCK_PTR because it is unused anyway.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79307 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/var-tracking.c