This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/42585] [4.5 Regression] SRA is not good for structure copies with one replacement any more
- From: "jamborm at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Jan 2010 16:18:22 -0000
- Subject: [Bug tree-optimization/42585] [4.5 Regression] SRA is not good for structure copies with one replacement any more
- References: <bug-42585-7834@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from jamborm at gcc dot gnu dot org 2010-01-21 16:18 -------
Subject: Bug 42585
Author: jamborm
Date: Thu Jan 21 16:18:06 2010
New Revision: 156156
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=156156
Log:
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.
Added:
trunk/gcc/testsuite/gcc.dg/tree-ssa/pr42585.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/testsuite/ChangeLog
trunk/gcc/tree-sra.c
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42585