aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2007-04-05 18:50:34 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2007-04-05 18:50:34 +0000
commitdc808df68ad8864d5d9e9ff7df501d8277e6da8b (patch)
treef71b3ed74f78953c54cfd297e8eaa10395a94836 /gcc/builtins.c
parent21f7aaa4967a82493d5be7878469d2ab3dba2212 (diff)
downloadgcc-dc808df68ad8864d5d9e9ff7df501d8277e6da8b.zip
gcc-dc808df68ad8864d5d9e9ff7df501d8277e6da8b.tar.gz
gcc-dc808df68ad8864d5d9e9ff7df501d8277e6da8b.tar.bz2
re PR middle-end/22156 (bit-field copying regressed)
PR middle-end/22156 * tree-sra.c (struct sra_elt): Add in_bitfld_block. Remove all_no_warning. (struct sra_walk_fns): Remove use_all parameter from use. (sra_hash_tree): Handle BIT_FIELD_REFs. (sra_elt_hash): Don't hash bitfld blocks. (sra_elt_eq): Skip them in parent compares as well. Handle BIT_FIELD_REFs. (sra_walk_expr): Don't maintain or pass down use_all_p. (scan_use): Remove use_all parameter. (scalarize_use): Likewise. Re-expand assignment to BIT_FIELD_REF of gimple_reg. De-scalarize before input or output, and re-scalarize after output. Don't mark anything for no warning. (scalarize_ldst): Adjust. (scalarize_walk_gimple_modify_statement): Likewise. (build_element_name_1): Handle BIT_FIELD_REFs. (instantiate_element): Don't warn for any element whose parent is used as a whole. (instantiate_missing_elements_1): Return the sra_elt. (canon_type_for_field): New. (try_instantiate_multiple_fields): New. (instantiate_missing_elemnts): Use them. (mark_no_warning): Removed. (generate_one_element_ref): Handle BIT_FIELD_REFs. (REPLDUP, sra_build_elt_assignment): New. (generate_copy_inout): Use them. (generate_element_copy): Likewise. Handle bitfld differences. (generate_element_zero): Don't recurse for blocks. Use sra_build_elt_assignment. (generate_one_element_int): Take elt instead of var. Use sra_build_elt_assignment. (generate_element_init_1): Adjust. (scalarize_use, scalarize_copy): Use REPLDUP. (scalarize_ldst): Move assert before dereference. (dump_sra_elt_name): Handle BIT_FIELD_REFs. From-SVN: r123524
Diffstat (limited to 'gcc/builtins.c')
0 files changed, 0 insertions, 0 deletions