aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-scalar-evolution.c
diff options
context:
space:
mode:
authorAlan Lawrence <alan.lawrence@arm.com>2016-01-18 12:29:02 +0000
committerAlan Lawrence <alalaw01@gcc.gnu.org>2016-01-18 12:29:02 +0000
commit88bed19634d9419cb95ca0062e6a03405cfbaf98 (patch)
tree7851c3d73521e5ceff55c173e0ff37a942ce966a /gcc/tree-scalar-evolution.c
parent13092f619889805136f945718288a3c17c6beae1 (diff)
downloadgcc-88bed19634d9419cb95ca0062e6a03405cfbaf98.zip
gcc-88bed19634d9419cb95ca0062e6a03405cfbaf98.tar.gz
gcc-88bed19634d9419cb95ca0062e6a03405cfbaf98.tar.bz2
Make SRA scalarize constant-pool loads
PR target/63679 gcc/ChangeLog: * tree-sra.c (disqualified_constants, constant_decl_p): New. (sra_initialize): Allocate disqualified_constants. (sra_deinitialize): Free disqualified_constants. (disqualify_candidate): Update disqualified_constants when appropriate. (create_access): Scan for constant-pool entries as we go along. (scalarizable_type_p): Add check against type_contains_placeholder_p. (maybe_add_sra_candidate): Allow constant-pool entries. (load_assign_lhs_subreplacements): Bind debug for constant pool vars. (initialize_constant_pool_replacements): New. (sra_modify_assign): Avoid mangling assignments created by previous, and don't generate writes into constant pool. (sra_modify_function_body): Call initialize_constant_pool_replacements. gcc/testsuite/: * gcc.dg/tree-ssa/sra-17.c: New. * gcc.dg/tree-ssa/sra-18.c: New. From-SVN: r232506
Diffstat (limited to 'gcc/tree-scalar-evolution.c')
0 files changed, 0 insertions, 0 deletions