diff options
author | Martin Jambor <mjambor@suse.cz> | 2010-01-21 17:18:06 +0100 |
---|---|---|
committer | Martin Jambor <jamborm@gcc.gnu.org> | 2010-01-21 17:18:06 +0100 |
commit | 7744b697eb20d316840182e2439503920e4ecc1d (patch) | |
tree | fa2d12ef06cc05f01ca96b1c3650c9f2837cca38 /gcc/tree-ssa-ifcombine.c | |
parent | fff08961d5f1bb5758b583948c096df864a451bf (diff) | |
download | gcc-7744b697eb20d316840182e2439503920e4ecc1d.zip gcc-7744b697eb20d316840182e2439503920e4ecc1d.tar.gz gcc-7744b697eb20d316840182e2439503920e4ecc1d.tar.bz2 |
re PR tree-optimization/42585 (SRA is not good for structure copies with one replacement any more)
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.
From-SVN: r156156
Diffstat (limited to 'gcc/tree-ssa-ifcombine.c')
0 files changed, 0 insertions, 0 deletions