This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
gcc/gcc ChangeLog.struct-reorg c-gimplify.c st ...
- From: ctice at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: 3 Jun 2005 23:41:54 -0000
- Subject: gcc/gcc ChangeLog.struct-reorg c-gimplify.c st ...
CVSROOT: /cvs/gcc
Module name: gcc
Branch: struct-reorg-branch
Changes by: ctice@gcc.gnu.org 2005-06-03 23:41:54
Modified files:
gcc : ChangeLog.struct-reorg c-gimplify.c
struct-reorg.c struct-reorg.h
Log message:
Make splitting work properly, and fix a few other bugs along the way.
2005-06-03 Caroline Tice <ctice@apple.com>
* c-gimplify.c (c_genericize): When writing out the dump, call
DECL_NAME rather than DECL_ASSEMBLER_NAME.
* struct-reorg.c (add_field_access_site): Remove code that was commented
out.
(get_stmt_accessed_fields_1): Force return if get_inner_reference on
op returned op itself.
(build_child_struct): Remove function (it was incorrect).
(create_and_assemble_new_type): Fix to correctly put references to
child fields as pointer fields in current struct (for splitting).
(replace_vars): Add code to update the types of functions and their
return values as well.
(collect_malloc_data): Initialize size_var;
(equivalent_type_p): New function.
(find_and_substitute_types_and_vars): Add code to deal with
pointer-to-record types being passed in.
(build_new_stmts): Remove assumption that component-ref must always be
pointer-to-something.
(update_field_accesses): Initialize prev_f_bit_pos correctly.
(reorder_fields): Update TYPE_MAIN_VARIANT if appropriate.
(contained_in_other_struct): New function.
(is_recursive_struct): New function.
(replace_all_types_1): New function.
(replace_all_types): New function.
(do_reorg): Remove unused variable; disable tree_sra optimization if
doing reorg_structs; correctly update condition tests for when to
do reordering vs. splitting vs. peeling.
(make_data_struct_node): Disable optimization if dealing with a
pre-initialized array; initialize reorder_only field.
* struct-reorg.h (struct data_structure): Add new field, reorder_only.
Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.struct-reorg.diff?cvsroot=gcc&only_with_tag=struct-reorg-branch&r1=1.1.2.36&r2=1.1.2.37
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/c-gimplify.c.diff?cvsroot=gcc&only_with_tag=struct-reorg-branch&r1=2.2.2.3.2.2&r2=2.2.2.3.2.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/struct-reorg.c.diff?cvsroot=gcc&only_with_tag=struct-reorg-branch&r1=1.1.2.25&r2=1.1.2.26
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/struct-reorg.h.diff?cvsroot=gcc&only_with_tag=struct-reorg-branch&r1=1.1.2.9&r2=1.1.2.10