2010-01-21 Martin Jambor <mjambor@suse.cz>
authorjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 16:18:06 +0000 (16:18 +0000)
committerjamborm <jamborm@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 21 Jan 2010 16:18:06 +0000 (16:18 +0000)
commit27490d009867631fd7b2f726272ea9edc3035c0a
treefa2d12ef06cc05f01ca96b1c3650c9f2837cca38
parent00bba8d6e417b2a2a86dc65acb05aa05417bb649
2010-01-21  Martin Jambor  <mjambor@suse.cz>

PR tree-optimization/42585
* tree-sra.c (struct access): New field grp_total_scalarization.
(dump_access): Dump the new field.
(should_scalarize_away_bitmap): New variable.
(cannot_scalarize_away_bitmap): Likewise.
(sra_initialize): Allocate new bitmaps.
(sra_deinitialize): Free new bitmaps.
(create_access_1): New function.
(create_access): Parts moved to create_access_1.
(type_consists_of_records_p): New function.
(completely_scalarize_record): Likewise.
(build_access_from_expr): Set bit in cannot_scalarize_away_bitmap.
(build_accesses_from_assign): Set bits in should_scalarize_away_bitmap.
(sort_and_splice_var_accesses): Hint groups with a total_scalarization
access.
(analyze_all_variable_accesses): Completely scalarize small eligible
records.

* testsuite/gcc.dg/tree-ssa/pr42585.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156156 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/tree-ssa/pr42585.c [new file with mode: 0644]
gcc/tree-sra.c