2006-01-03 Jakub Jelinek Richard Henderson Merge from gomp-branch: * varasm.c (assemble_variable): Handle thread-local COMMON data. * defaults.h (ASM_OUTPUT_TLS_COMMON): Define. 2006-01-03 Paolo Bonzini PR rtl-optimization/25578 * combine.c (combine_simplify_rtx, force_to_mode): Don't pass a parameter to simplify_shift_const if changing ASHIFTRT to LSHIFTRT. 2006-01-03 Adrian Straetling * gcc/builtins.c (get_builtin_sync_mem): New function. (expand_builtin_sync_operation, expand_builtin_compare_and_swap, expand_builtin_lock_test_and_set, expand_builtin_lock_release): Call get_builtin_sync_mem to generate mem rtx. 2006-01-03 Richard Guenther PR c/25183 * stmt.c (add_case_node): Make sure to clear overflow flags from ranges. 2006-01-03 Jakub Jelinek Merge from gomp-branch. * config/sparc/sync.md: New file. * config/sparc/sparc.md (UNSPECV_MEMBAR, UNSPECV_CAS, UNSPECV_SWAP, UNSPECV_LDSTUB): New constants. * config/sparc/sparc.c (sparc_expand_compare_and_swap_12): New function. * config/sparc/predicates.md (memory_reg_operand): New predicate. * config/sparc/sparc-protos.h (sparc_expand_compare_and_swap_12): New prototype. 2006-01-03 Roger Sayle * combine.c (reg_subword_p): New predicate to test whether the destination of a set refers to a subword/piece of a register. (try_combine): Generalize the code to merge the setting of a pseudo to a constant followed by a set of a subword of that register to a constant. 2006-01-03 Kazu Hirata * basic-block.h (control_flow_graph): Change the type of x_label_to_block_map to VEC(basic_block,gc) *. * tree-cfg.c (init_empty_tree_cfg, label_to_block_fn, set_bb_for_stmt): Adjust the uses of x_label_to_block_map. * tree-ssa-propagate.c (cfg_blocks): Change the type to VEC(basic_block,heap) *. (cfg_blocks_add, cfg_blocks_get, ssa_prop_init, ssa_prop_fini): Adjust the uses of cfg_blocks. 2006-01-03 Steven Bosscher * fold-const.c (operand_equal_p): Accept a NULL operand 0 for COMPONENT_REFs. * emit-rtl.c (mem_attrs_htab_eq): Use iterative_hash_expr for hashing trees instead of a pointer hash. (mem_attrs_htab_eq): Do a deep compare instead of a pointer compare for MEM_EXPR. PR rtl-optimization/25130 * cse.c (exp_equiv_p): Compare MEM_ATTRS instead of MEM_ALIAS_SET when comparing MEMs for GCSE 2006-01-03 Ben Elliston * targhooks.h (default_decimal_float_supported_p): Declare. * targhooks.c (default_decimal_float_supported_p): Define. * target-def.h (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Redefine to `default_decimal_float_supported_p'. * doc/tm.texi (TARGET_DECIMAL_FLOAT_SUPPORTED_P): Update. 2006-01-02 Adam Nemet * combine.c (apply_distributive_law ): Check TRULY_NOOP_TRUNCATION. 2006-01-02 Geoffrey Keating * dwarf2out.c (have_switched_text_section): Delete. (have_multiple_function_sections): New. (have_location_lists): Make 'bool'. (add_AT_loc_list): Use 'true' not '1'. (dwarf2out_switch_text_section): Set have_multiple_function_sections. (output_loc_list): Use have_multiple_function_sections. (output_ranges): Likewise. (dwarf2out_begin_function): Set have_multiple_function_sections if necessary. (dwarf2out_source_line): Don't fake separate_line_info_table_in_use. Check function_section rather than DECL_SECTION_NAME. (dwarf2out_finish): Use have_multiple_function_sections. Don't clear have_location_lists. 2006-01-02 Eric Botcazou Jan Hubicka * cfglayout.c (fixup_reorder_chain): Remove kludge for the case of conditional jump jumping to the next instruction. * cfgrtl.c (force_nonfallthru_and_redirect): Accept all cases of conditional jump jumping to the next instruction. 2006-01-02 Jan Hubicka * i386.c (*_cost): Add COSTS_N_INSNS. (ix86_rtx_costs): Do not use COSTS_N_INSNS. 2006-01-02 Paolo Bonzini PR target/25259 * Makefile.in (DECNUMINC): Include libdecnumber's build directory. 2006-01-02 Volker Reichelt * config/arm/arm.c (all_fpus): Fix comment typo. * config/darwin.c: Likewise. * config/frv/frv.h (FRV_STRUCT_VALUE_REGNUM): Likewise. * config/h8300/h8300.md (extendqisi2_h8300hs): Likewise. * config/m68hc11/m68hc11.c (m68hc11_reload_operands): Likewise. 2006-01-01 David Edelsohn * config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): New. (rs6000_split_compare_and_swapqhi): New. * config/rs6000/sync.md (sync_compare_and_swap{hi,qi}): New. (sync_compare_and_swapqhi_internal): New. * config/rs6000/rs6000-protos.h: Declare.