+2005-07-04 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-ssa-structalias.c: Don't include expr.h.
+
+2005-07-04 Diego Novillo <dnovillo@redhat.com>
+
+ * tree-iterator.h (TSI_NEW_STMT, TSI_SAME_STMT): Fix
+ comments.
+
+2005-07-04 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/22279
+
+ * tree-ssa-structalias.c (offset_overlaps_with_access): Use
+ correct operator.
+
+2005-07-04 J"orn Rennecke <joern.rennecke@st.com>
+
+ * sh.c (output_ieee_ccmpeq): Replace "\\;" with "\n\t".
+
+2005-07-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * bb-reorder.c, c-pch.c, c-pragma.c, c.opt, cfghooks.c, cfgloop.c,
+ cfgrtl.c, cgraphunit.c, config/c4x/c4x.c, config/cris/cris.c,
+ config/frv/frv.c, config/host-darwin.c, config/iq2000/iq2000.c,
+ config/lynx.h, config/m68k/m68k.c, config/pa/pa.c, config/sh/sh.h,
+ config/stormy16/stormy16.c, config/v850/v850.c,
+ config/vax/netbsd-elf.h, coverage.c, dwarf2out.c, emit-rtl.c,
+ except.c, gcc.c, tree-cfg.c, tree-eh.c, tree-ssa.c, xcoffout.c:
+ Avoid "." or "\n" at end of diagnostics and capital letters at
+ start of diagnostics.
+ * combine.c, cse.c: Don't translate dump file output.
+ * toplev.c (print_version): Only translate output if going to
+ stderr.
+
+2005-07-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * c-decl.c, tree-object-size.c, tree-vectorizer.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h: Fix comment
+ typos.
+
+2005-07-03 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ * pa.c (fix_range): Fix typo in comment.
+
+2005-07-03 Kazu Hirata <kazu@codesourcery.com>
+
+ * tree-vrp.c (extract_range_from_assert): Replace
+ fold (build (...)) with fold_build2.
+
+2005-07-03 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
+
+ * c-format.c (gcc_gfc_format_type, gcc_gfc_flag_pairs,
+ gcc_gfc_char_table, init_dynamic_gfc_info): New.
+ (format_types_orig, handle_format_attribute): Add support for
+ format "gcc_gfc".
+
+2005-07-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * varasm.c (assemble_variable): Fix format specifier thinko.
+
+2005-07-03 Ira Rosen <irar@il.ibm.com>
+
+ PR tree-optimization/22029 (and 22135)
+ * tree-pretty-print.c (dump_generic_node): Check that the node is not
+ a phi node before calling dump_vops.
+
+2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ * tree-dump.h (dump_string_field): Declare.
+ * tree-dump.c: Use it instead of dump_string.
+ (dump_string_field): Make non-static.
+
+2005-07-03 Kaz Kojima <kkojima@gcc.gnu.org>
+
+ * config/sh/sh.c (sh_output_mi_thunk): Initialize and clean
+ up the minimal CFG stuff always when optimize > 0. Call
+ split_all_insns_noflow in PIC case if needed.
+
+2005-07-02 Gabriel Dos Reis <gdr@integrable-solutions.net>
+ Christian Ehrhardt <ehrhardt@mathematik.uni-ulm.de>
+
+ PR c++/18279
+ * c-decl.c (c_write_global_declarations): Dump contents of
+ external scope to.
+ * tree-dump.c (dequeue_and_dump): Dump abstract origin of a decl.
+ <TRY_FINALLY_EXPR>, <RETURN_EXPR>, <CASE_LABEL_EXPR>, <LABEL_EXPR>,
+ <GOTO_EXPR>, <SWITCH_EXPR>: Add.
+ (dump_enabled_p): Return TRUE if PHASE is TDI_all and any dump
+ is enabled.
+
+2005-07-03 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-common.h (GCC_DIAG_STYLE): Define.
+ * c-tree.h (GCC_DIAG_STYLE): Do not define. Change minimum GCC
+ version for format checking to 4.1.
+ * c-format.c: Include toplev.h after c-common.h.
+ (enum format_type): Add gcc_tdiag_format_type.
+ (gcc_tdiag_length_specs, gcc_tdiag_flag_pairs,
+ gcc_tdiag_flag_specs, gcc_tdiag_char_table): New.
+ (format_types_orig): Add gcc_tdiag.
+ (init_dynamic_diag_info): Support gcc_tdiag formats.
+ (handle_format_attribute): Likewise.
+ * toplev.h (NO_FRONT_END_DIAG, ATTRIBUTE_GCC_FE_DIAG): Remove.
+ (GCC_DIAG_STYLE): Default to __gcc_tdiag__. Change minimum GCC
+ version for format checking to 4.1.
+ (warning0, warning, error, pedwarn, sorry): Use
+ ATTRIBUTE_GCC_DIAG.
+ * config/rs6000/rs6000.c (altivec_expand_builtin), varasm.c
+ (finish_aliases_1): Do not use %qE.
+ * config/arm/arm.c, config/i386/i386.c, config/mmix/mmix.c,
+ config/pdp11/pdp11.c, stor-layout.c, tree-eh.c, tree-ssa.c:
+ Correct format bugs.
+ * config/v850/v850-protos.h (v850_output_aligned_bss): Change size
+ parameter to unsigned HOST_WIDE_INT.
+ * config/v850/v850.c (v850_output_aligned_bss): Likewise.
+
+2005-07-02 David Edelsohn <edelsohn@gnu.org>
+
+ PR middle-end/21742
+ * expr.c (write_complex_part): Use adjust_address for MEM.
+ (read_complex_part): Same.
+
+2005-07-02 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/22280
+
+ * tree-sra.c (generate_element_init): Remove useless loop.
+
+2005-07-02 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.c (alpha_legitimize_address): Check for
+ TLS_MODEL_NONE.
+ (alpha_stdarg_optimize_hook): Use DECL_UID with va_list_vars.
+
+2005-07-02 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR middle-end/14490
+ * fold-const.c (fold_binary): Handle the return value of
+ fold_to_nonsharp_ineq_using_bound if we get back the same operand back.
+ Implement "X +- C1 CMP C2" folding to "X CMP C2 -+ C1".
+
+2005-07-02 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (find_equivalent_equality_comparison): Do not
+ a eliminate type conversion which feeds an equality comparison
+ if the original type or either operand in the comparison is a
+ function pointer.
+
+2005-07-02 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c.opt, common.opt, config/bfin/bfin.opt, config/pa/pa.opt,
+ config/rs6000/rs6000.opt, params.def: Remove "." from end of help
+ texts.
+ * config/avr/avr.c: Do not use '`' as left quote.
+ * config/rs6000/rs6000.c, config/s390/s390.c, opts.c, tree.c:
+ Remove "." from end of diagnostics. Make diagnostics start with
+ lowercase letter.
+
+2005-07-02 Zack Weinberg <zack@codesourcery.com>
+ Joseph S. Myers <joseph@codesourcery.com>
+
+ * toplev.c (default_tree_printer): Handle setting location with
+ '+' flag.
+ * c-objc.common.c (c_tree_printer): Likewise.
+ * c-format.c (gcc_diag_flag_specs): Add '+'.
+ (gcc_cdiag_char_table): Allow '+' flag for tree formats.
+ (format_types_orig): Allow '+' flag for gcc_diag and gcc_cdiag
+ formats.
+ * c-common.c, c-decl.c, c-objc-common.c, c-pragma.c,
+ config/arm/pe.c, config/i386/winnt.c, config/ia64/ia64.c,
+ config/mcore/mcore.c, config/sh/symbian.c, config/sol2.c,
+ config/v850/v850.c, function.c, stor-layout.c, toplev.c,
+ tree-inline.c, tree-optimize.c, tree.c, varasm.c: Use '+' flag
+ instead of %J or %H. Use 'q' flag for quoting. Avoid '.' at end
+ of diagnostics. Use %q+D not %s for a decl. Do not pass excess
+ format arguments where %J is used without %D.
+
+2005-07-02 Jakub Jelinek <jakub@redhat.com>
+
+ * gcc.c (LINK_SSP_SPEC): Define.
+ (link_ssp_spec): New variable.
+ (LINK_COMMAND_SPEC): Add %(link_ssp).
+ (static_specs): Add link_ssp_spec.
+ * configure.ac (TARGET_LIBC_PROVIDES_SSP): New test.
+ * configure: Rebuilt.
+ * config.in: Rebuilt.
+
+ * config/rs6000/linux.h (TARGET_THREAD_SSP_OFFSET): Define.
+ * config/rs6000/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
+ * config/i386/linux.h (TARGET_THREAD_SSP_OFFSET): Likewise.
+ * config/i386/linux64.h (TARGET_THREAD_SSP_OFFSET): Likewise.
+ * config/rs6000/rs6000.md (stack_protect_set, stack_protect_test):
+ If TARGET_THREAD_SSP_OFFSET is defined, use -0x7010(13) resp.
+ -0x7008(2) instead of reading __stack_chk_guard variable.
+ * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): Change
+ number.
+ (UNSPEC_SP_TLS_SET, UNSPEC_SP_TLS_TEST): New constants.
+ (stack_protect_set, stack_protect_test): Use *_tls* patterns
+ if TARGET_THREAD_SSP_OFFSET is defined.
+ (stack_tls_protect_set_si, stack_tls_protect_set_di,
+ stack_tls_protect_test_si, stack_tls_protect_test_di): New insns.
+
+ Revert:
+ 2005-06-27 Richard Henderson <rth@redhat.com>
+ * libgcc-std.ver (GCC_4.1.0): New.
+ * libgcc.h (__stack_chk_guard): Declare.
+ (__stack_chk_fail, __stack_chk_fail_local): Declare.
+ * libgcc2.c (L_stack_chk, L_stack_chk_local): New.
+ * mklibgcc.in (lib2funcs): Add them.
+
+2005-07-01 Richard Henderson <rth@redhat.com>
+
+ * config/i386/linux-unwind.h (x86_64_fallback_frame_state): Cast to
+ void * before struct sigcontext *.
+ (x86_fallback_frame_state): Likewise.
+
+2005-07-01 James E. Wilson <wilson@specifixinc.com>
+
+ * doc/invoke.texi (-funit-at-a-time): Correct grammar in second bullet.
+
+2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/22269
+ * tree-ssa-reassoc.c (should_transpose): Fix which operand
+ we check for SSA_NAME for.
+
+2005-06-29 Daniel Berlin <dberlin@dberlin.org>
+
+ Fix PR tree-optimization/22071
+
+ * tree-ssa-structalias.c (offset_overlaps_with_access): New
+ function.
+ (get_constraint_for_component_ref): Use it.
+
+2005-07-01 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR other/22264
+ * diagnostic.c (diagnostic_report_current_module): Use pp_newline to
+ print out the last new line.
+
+2005-07-01 Hans-Peter Nilsson <hp@axis.se>
+
+ * config/cris/cris.md (CRIS_CC0_REGNUM): New constant.
+ Swap numbers for CRIS_AP_REGNUM and CRIS_MOF_REGNUM.
+ * config/cris/cris.c (cris_conditional_register_usage): Adjust
+ reg_names[CRIS_CC0_REGNUM] for early CRIS versions.
+ (cris_print_operand) <case REG>: Handle CRIS_CC0_REGNUM.
+ (cris_md_asm_clobbers): Clobber CRIS_CC0_REGNUM for all asms.
+ * config/cris/cris.h (CRIS_CANONICAL_CC0_REGNUM): New macro.
+ (enum reg_class): New member CC0_REGS.
+ (REG_CLASS_FROM_LETTER): Add 'c' for CC0_REGS.
+ (FIRST_PSEUDO_REGISTER, CALL_USED_REGISTERS, REG_ALLOC_ORDER)
+ (HARD_REGNO_MODE_OK, MODES_TIEABLE_P, REG_CLASS_NAMES)
+ (CRIS_SPECIAL_REGS_CONTENTS, REG_CLASS_CONTENTS, REGNO_REG_CLASS)
+ (PREFERRED_RELOAD_CLASS, REGISTER_NAMES, DBX_REGISTER_NUMBER):
+ Adjust for register now described.
+
+2005-07-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR target/22262
+ * config/i386/i386.md (stack_protect_test_si,
+ stack_protect_test_di): Add earlyclobber for scratch 3.
+ * config/rs6000/rs6000.md (stack_protect_testsi,
+ stack_protect_testdi): Add earlyclobber for scratch 3,
+ remove earlyclobber from scratch 4.
+
+2005-06-30 Diego Novillo <dnovillo@redhat.com>
+
+ PR 21584
+ PR 22219
+ * tree-ssa-alias.c (create_name_tags): Also process
+ non-dereferenced pointers.
+ Remove argument 'ai'. Update all callers.
+
+2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/darwin.h (STARTING_FRAME_OFFSET):
+ Set to 0 for FRAME_GROWS_DOWNWARD.
+ (REGISTER_NAMES): Add sfp.
+
+2005-07-01 Kelley Cook <kcook@gcc.gnu.org>
+
+ * config/arm/libunwind.S, config/arm/pr-support.c,
+ config/arm/unwind-arm.c, config/arm/unwind-arm.h,
+ config/c4x/predicates.md, tree-object-size.c: Update FSF address.
+
+2005-06-30 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/22260
+ * config/sparc/sparc.c (emit_and_preserve): Add 2nd register.
+ Preserve the 2nd register too, if present.
+ (sparc_output_mi_thunk) <PIC case>: Preserve the PIC register too.
+ Adjust call to emit_and_preserve.
+
+2005-06-30 Zack Weinberg <zack@codesourcery.com>
+ Jakub Jelinek <jakub@redhat.com>
+
+ * pretty-print.h (PP_NL_ARGMAX): New.
+ (text_info): Add locus.
+ (struct chunk_info): New.
+ (output_buffer): Add formatted_obstack, chunk_obstack, and
+ cur_chunk_array. Change obstack to a pointer.
+ (pp_wrapping_mode_t, pp_wrapping_mode, pp_set_verbatim_wrapping): New.
+ (struct pretty_print_info): Replace ideal_maximum_length and
+ prefixing_rule with wrapping.
+ (pp_line_cutoff, pp_prefixing_rule): Update to match.
+ Update prototypes and wrapper macros throughout.
+ * pretty-print.c (pp_formatted_text_data, pp_append_r)
+ (pp_base_clear_output_area, pp_construct, pp_base_formatted_text)
+ (pp_base_last_position_in_text, pp_base_newline, pp_base_character):
+ Update for changes to pp structure.
+ (pp_base_prepare_to_format, pp_base_format_text): Delete.
+ (pp_base_format, pp_base_output_formatted_text): New functions.
+ (pp_base_format_verbatim): Use pp_set_verbatim_wrapping.
+ (pp_verbatim): Clear text.locus.
+ (pp_printf): Likewise. Use pp_format and pp_output_formatted_text.
+ * c-objc-common.c (c_tree_printer): Update function signature.
+ * diagnostic.c (diagnostic_initialize): Update for changes to
+ pp structure.
+ (diagnostic_report_diagnostic): Call pp_format and then
+ pp_output_formatted_text.
+ (verbatim): Clear text.locus.
+ * diagnostic.h (diagnostic_prefixing_rule, diagnostic_line_cutoff):
+ Update for changes to pp structure.
+
+ * c-lang.c: No need to include c-pretty-print.h.
+ * Makefile.in: Remove bogus line containing only a tab.
+ (c-lang.o): Update dependencies.
+ * toplev.c (announce_function): Don't use verbatim.
+ (default_tree_printer): Update signature.
+
+ * objc/objc-lang.c: No need to include c-pretty-print.h.
+ * objc/Make-lang.in: Update dependencies.
+
+2005-06-29 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-complex.c (complex_variable_components): Now a hashtable.
+ (cvc_lookup): Ditto.
+ (cvc_insert): Ditto.
+ (create_components): Use referenced var iterator.
+ Initialize hashtable. Use cvc_insert/lookup.
+ (extract_components): Use cvc_insert/lookup.
+ (update_complex_components): Ditto.
+ (update_complex_components_on_edge): Ditto.
+ * tree-dfa.c (referenced_vars): Now a hashtable.
+ (dump_referenced_vars): Use iterator.
+ (referenced_var_lookup): New function.
+ (referenced_var_insert): Ditto.
+ (add_referenced_var): Use referenced_var_insert.
+ (mark_new_vars_to_rename): Use DECL_UID.
+ * tree-flow-inline.h (first_htab_element): New function.
+ (end_htab_p): Ditto.
+ (next_htab_element): Ditto.
+ (first_referenced_var): Ditto.
+ (end_referenced_vars_p): Ditto.
+ (next_referenced_var): Ditto.
+ (is_call_clobbered): Use DECL_UID.
+ (mark_call_clobbered): Ditto.
+ (clear_call_clobbered): Ditto.
+ (mark_non_addressable): Ditto.
+ * tree-flow.h (htab_iterator): New struct.
+ (FOR_EACH_HTAB_ELEMENT): New macro.
+ (struct int_tree_map): New struct.
+ (int_tree_map_hash): Prototype.
+ (int_tree_map_eq): Ditto.
+ (referenced_var_iterator): Ditto.
+ (FOR_EACH_REFERENCED_VAR): New macro.
+ (referenced_vars): Now a hashtable.
+ * tree-into-ssa.c (symbol_marked_for_renaming): Use DECL_UID.
+ (add_new_name_mapping): Ditto.
+ (mark_def_sites): Ditto.
+ (insert_phi_nodes): Use referenced_var iterator.
+ (mark_def_site_blocks): Ditto.
+ (mark_sym_for_renaming): Use DECL_UID.
+ * tree-sra.c (is_sra_candidate_decl): Use DECL_UID.
+ (lookup_element): Ditto.
+ (find_candidates_for_sra): Use referenced_vars iterator.
+ Use DECL_UID.
+ * tree-ssa-alias.c (NUM_REFERENCES): New macro.
+ (NUM_REFERENCES_CLEAR): Ditto.
+ (NUM_REFERENCES_INC): Ditto.
+ (NUM_REFERENCES_SET): Ditto.
+ (alias_obstack): New bitmap obstack.
+ (struct alias_map_d): Use bitmap, not sbitmap.
+ (struct alias_info): Remove num_references.
+ (init_alias_info): Use referenced_var iterator.
+ Initialize bitmap obstack.
+ (delete_alias_info): Use referenced_var iterator.
+ Free bitmap obstack.
+ (compute_points_to_and_addr_escape): Use DECL_UID.
+ Use new NUM_REFERENCES macros.
+ (compute_flow_sensitive_aliasing): may_aliases is now a bitmap.
+ Use new NUM_REFERENCES macros.
+ (group_aliases_into): Update prototype to use bitmap.
+ (setup_pointers_and_addressables): Use referenced_vars iterator.
+ Use DECL_UID. Use new NUM_REFERENCES macros.
+ (add_pointed_to_var): Use DECL_UID.
+ (dump_alias_info): Use referenced_var iterator.
+ (add_type_alias): Ditto.
+ (used_portions): Now a hashtable.
+ (used_part_map_eq): New function.
+ (used_part_map_hash): Ditto.
+ (free_used_part_map): Ditto.
+ (up_lookup): Ditto.
+ (up_insert): Ditto.
+ (get_or_create_used_part_for): Use up_lookup.
+ (create_overlap_variables_for): Ditto.
+ (find_used_portions): Use up_insert.
+ Use DECL_UID.
+ (create_structure_vars): Init used_portions hashtable, use
+ referenced_vars iterator.
+ * tree-ssa-live.c (create_ssa_var_map): sbitmaps became bitmaps.
+ Use DECL_UID.
+ * tree-ssa-loop-im.c (gather_mem_refs_stmt): Use DECL_UID.
+ * tree-ssa-operands.c (get_asm_expr_operands): Ditto.
+ (note_addressable): Ditto.
+ * tree-ssa-structalias.c (set_uids_in_ptset): Ditto.
+ * tree-ssa.c (verify_flow_insensitive_alias_info): Use
+ referenced_var iterator.
+ Use DECL_UID.
+ (delete_tree_ssa): Ditto.
+ (int_tree_map_eq): New function.
+ (int_tree_map_hash): Ditto.
+ * tree-stdarg.c (find_va_list_reference): Use DECL_UID.
+ (va_list_ptr_read): Ditto.
+ (va_list_counter_struct_op): Ditto.
+ (va_list_ptr_write): Ditto.
+ (check_va_list_escapes): Ditto.
+ (check_all_va_list_escapes): Ditto.
+ (execute_optimize_stdarg): Ditto.
+ * tree-tailcall.c (suitable_for_tail_opt_p): Used referenced_var
+ iterator.
+
+2005-06-30 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * config/rs6000/darwin.h (FRAME_POINTER_REGNUM): Rename to ...
+ (HARD_FRAME_POINTER_REGNUM): this.
+
+2005-06-30 Jan Hubicka <jh@suse.cz>
+
+ * ipa-inline.c (cgraph_clone_inlined_nodes): Revert previous patch.
+
+2005-06-30 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR middle-end/22247
+ * tree-ssa-structalias.c (build_constraint_graph, scc_visit,
+ process_unification_queue, init_topo_info, topo_visit,
+ init_scc_info, free_scc_info, perform_var_substitution,
+ solve_graph): Use unsigned instead of uint.
+
+2005-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * function.c (gen_stack_protect_test): Add third argument.
+
+2005-06-30 J. D. Johnston <jjohnst@us.ibm.com>
+
+ * gthr-tpf.h (CE2THRCPTR): Change field offset to 16.
+
+2005-06-30 Kazu Hirata <kazu@codesourcery.com>
+
+ * config/c4x/c4x-protos.h: Remove the prototypes for those
+ functions removed from c4x.c. Add prototypes for those
+ functions exported in c4x.c.
+ * config/c4x/c4x.c (any_operand, fp_zero_operand,
+ const_operand, stik_const_operand, not_const_operand,
+ reg_operand, r0r1_reg_operand, r2r3_reg_operand,
+ ext_low_reg_operand, ext_reg_operand, std_reg_operand,
+ std_or_reg_operand, addr_reg_operand, index_reg_operand,
+ dp_reg_operand, sp_reg_operand, st_reg_operand,
+ rc_reg_operand, call_address_operand,
+ symbolic_address_operand, dst_operand, src_operand,
+ src_hi_operand, lsrc_operand, tsrc_operand,
+ nonimmediate_src_operand, nonimmediate_lsrc_operand,
+ reg_or_const_operand, par_ind_operand, parallel_operand):
+ Remove.
+ (c4x_immed_float_p, c4x_a_register, c4x_x_register,
+ c4x_K_constant, c4x_N_constant, c4x_O_constant,
+ c4x_S_indirect): Export.
+ * config/c4x/c4x.h (PREDICATE_CODES): Remove.
+ * config/c4x/c4x.md: Include predicates.md.
+ * config/c4x/predicates.md: New.
+
+2005-06-30 Jakub Jelinek <jakub@redhat.com>
+
+ * function.c (stack_protect_epilogue): Pass label to
+ stack_protect_test, assume it emitted also the conditional
+ branch.
+ * doc/md.texi (stack_protect_test): Adjust documentation.
+ * config/i386/i386.md (stack_protect_test): Add third argument,
+ emit beq with operands[2].
+ * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Define to
+ flag_stack_protect != 0.
+ * config/rs6000/rs6000.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New
+ constants.
+ (stack_protect_set, stack_protect_test): New expanders.
+ (stack_protect_setsi, stack_protect_setdi, stack_protect_testsi,
+ stack_protect_testdi): New insns.
+ * config/rs6000/rs6000.c (rs6000_stack_protect_fail): New function.
+ (TARGET_STACK_PROTECT_FAIL): Define.
+ (rs6000_generate_compare): Handle UNSPEC_SP_TEST.
+
+ * config/rs6000/rs6000.h (FIRST_PSEUDO_REGISTER): Increment.
+ (DWARF_FRAME_REGISTERS, DWARF_REG_TO_UNWIND_COLUMN): Adjust, so
+ that addition of sfp doesn't change these.
+ (FIXED_REGISTERS, CALL_USED_REGISTERS, CALL_REALLY_USED_REGISTERS,
+ REG_ALLOC_ORDER): Add sfp.
+ (INT_REGNO_P): Include FRAME_POINTER_REGNUM.
+ (FRAME_POINTER_REGNUM): Define to 113.
+ (HARD_FRAME_POINTER_REGNUM): Define to 31.
+ (REG_CLASS_CONTENTS, REGNO_REG_CLASS): Add sfp.
+ (STARTING_FRAME_OFFSET): Set to 0 for FRAME_GROWS_DOWNWARD.
+ (ELIMINABLE_REGS): Never eliminate to
+ FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+ instead. Add eliminations from FRAME_POINTER_REGNUM.
+ (REGNO_OK_FOR_INDEX_P, REGNO_OK_FOR_BASE_P, INT_REG_OK_FOR_INDEX_P):
+ Include FRAME_POINTER_REGNUM.
+ (REGISTER_NAMES): Add sfp.
+ * config/rs6000/rs6000.c (rs6000_reg_names): Add sfp.
+ (alt_reg_names): Likewise.
+ (rs6000_stack_info): Handle FRAME_GROWS_DOWNWARD.
+ (rs6000_emit_prologue): Use HARD_FRAME_POINTER_REGNUM
+ instead of FRAME_POINTER_REGNUM.
+ (rs6000_initial_elimination_offset): Never eliminate to
+ FRAME_POINTER_REGNUM, but HARD_FRAME_POINTER_REGNUM
+ instead. Add elimination offsets from FRAME_POINTER_REGNUM.
+
+ * config/rs6000/sysv4.h (RS6000_VARARGS_AREA): Only return non-zero
+ if DEFAULT_ABI == ABI_V4.
+
+2005-06-30 Steven Bosscher <stevenb@suse.de>
+
+ * coretypes.h (tls_model): Add TLS_MODEL_NONE as 0.
+ * tree.h (struct tree_decl): New field `tls_model'.
+ (DECL_TLS_MODEL): New.
+ (DECL_THREAD_LOCAL_P): Rename from DECL_THREAD_LOCAL, make it
+ a predicate.
+ * rtl.h (decl_default_tls_model): Add prototype for it.
+ * varasm.c (decl_tls_model): Rewritten and renamed to ...
+ (decl_default_tls_model): ... this.
+ (default_encode_section_info): Use DECL_TLS_MODEL instead of
+ decl_tls_model.
+ (assemble_variable): Replace DECL_THREAD_LOCAL with
+ DECL_THREAD_LOCAL_P.
+ (default_section_type_flags_1): Likewise.
+ (categorize_decl_for_section): Likewise.
+ * tree.c (staticp): Likewise.
+ (recompute_tree_invarant_for_addr_expr): Likewise.
+ * drawf2out (loc_descriptor_from_tree_1): Likewise.
+ * c-decl.c (diagnose_mismatched_decls): Likewise.
+ with DECL_THREAD_LOCAL_P.
+ (start_decl): Likewise.
+ * print-tree.c (print_node): Likewise. Print the TLS model.
+ (grokdeclarator): Set the default DECL_TLS_MODEL here.
+ * c-common.c (handle_tls_model_attribute): Rewrite to set the
+ TLS model up based on the attribute. Never add the attribute
+ to the decl's attributes list.
+ * config/sparc/sol2.h (ASM_DECLARE_OBJECT_NAME): Replace
+ DECL_THREAD_LOCAL with DECL_THREAD_LOCAL_P.
+
+2005-06-30 Zdenek Dvorak <dvorakz@suse.cz>
+
+ PR testsuite/21967
+ * tree-ssa-live.c (mark_all_vars_used_1): Ignore variables in
+ TMR_ORIGINAL.
+
+2005-06-30 Bernd Schmidt <bernd.schmidt@analog.com>
+
+ * config/bfin/bfin.md (addv2hi3, subv2hi3, sminv2hi3, smaxv2hi3,
+ mulv2hi3, negv2hi2, absv2hi2): Pattern names fixed by appending the
+ necessary digit.
+
+2005-06-29 David Edelsohn <edelsohn@gnu.org>
+
+ * config/rs6000/rs6000.c (rs6000_file_start): Use PPC405_ERRATUM77.
+
+2005-06-29 Diego Novillo <dnovillo@redhat.com>
+
+ PR 22234
+ * tree-ssa-copy.c (fini_copy_prop): Do not overwrite copy_of
+ when following copy-of chains.
+
+2005-06-30 Jan Hubicka <jh@suse.cz>
+
+ * function.h (struct function): Add saved blocks/unexpanded var list.
+ * gimple-low.c (record_vars): Insert only VAR_DECLs.
+ * tree-inline.c (add_lexical_block): Declare; do not clear sublocks.
+ (remap_decl): Do not declare vars.
+ (remap_block): Do not care inserting blocks.
+ (remap_blocks): New function.
+ (copy_body_r): Update debug info.
+ (expand_call_inline): Duplicate callee block tree into caller;
+ copy all the unexpanded_var_list.
+ (save_body): Save unexpanded_var_list and blocks.
+ * tree-optimize.c (tree_rest_of_optimization): Restore
+ blocks/unexpanded_var_list.
+
+2005-06-29 Richard Henderson <rth@redhat.com>
+
+ * config/ia64/ia64.c (ia64_expand_vecint_minmax): Use us_minus and
+ plus for V4HImode UMAX.
+
+2005-06-29 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-tree.h (default_function_array_conversion): Take and return
+ struct c_expr.
+ * c-typeck.c (default_function_array_conversion): Split into
+ array_to_pointer_conversion and function_to_pointer_conversion.
+ Take and return struct c_expr.
+ (array_to_pointer_conversion): Do not handle type qualifiers or
+ COMPOUND_EXPRs specially.
+ (build_function_call): Call function_to_pointer_conversion for
+ function designators.
+ (build_unary_op): Call array_to_pointer_conversion, not
+ default_function_array_conversion.
+ (digest_init, output_init_element): Likewise.
+ * c-parser.c: All callers of default_function_array_conversion
+ changed.
+
+2005-06-29 Ziemowit Laski <zlaski@apple.com>
+
+ * config/darwin.c (machopic_select_section): constant ObjC string
+ objects now always have type "__builtin_ObjCString".
+
+2005-06-29 Richard Henderson <rth@redhat.com>
+
+ * config/alpha/alpha.md (vec_shl_<VEC>, vec_shr_<VEC>): New.
+
+2005-06-29 Richard Henderson <rth@redhat.com>
+
+ * tree-vect-transform.c (vect_min_worthwhile_factor): Declare.
+ (vect_create_epilog_for_reduction): Don't use vec_shr if the
+ operation is emulated.
+ (vectorizable_reduction): Duplicate vect_min_worthwhile_factor
+ tests from vectorizable_operation.
+
+2005-06-29 Caroline Tice <ctice@apple.com>
+
+ Fix PR 21956
+ * varasm.c (assemble_start_function): Add "L" to beginning of
+ local labels, so assembler & linker treat them as local.
+
+2005-06-29 Richard Henderson <rth@redhat.com>
+
+ * config/i386/i386.c (ix86_expand_int_vcond): Remove unsignedp
+ argument. Simplify canonicalization of condition. Use unsigned
+ saturating subtraction for QI and HImode unsigned compares. Use
+ bit arithmetic tricks for SImode unsigned compares.
+ * config/i386/i386-protos.h (ix86_expand_int_vcond): Update decl.
+ * config/i386/sse.md (SSEMODE14): New.
+ (umaxv8hi3): Use us_minus+plus to avoid vcond.
+ (umaxv4si3): New.
+ (smax<SSEMODE14>3): Rename from smaxv16qi3 and macroize.
+ (smin<SSEMODE14>3): Similarly with sminv16qi3.
+ (umin<SSEMODE24>3): Similarly with uminv8hi3.
+
+2005-06-29 Ian Lance Taylor <ian@airs.com>
+
+ * dwarf2out.c (expand_builtin_init_dwarf_reg_sizes): Change
+ GEN_INT to gen_int_for_mode when storing register size to memory.
+
+2005-06-29 Stuart Hastings <stuart@apple.com>
+
+ * gcc/config/i386/mmintrin.h: Mark vector intrinsics always_inline.
+ * gcc/config/i386/emmintrin.h: Likewise.
+ * gcc/config/i386/pmmintrin.h: Likewise.
+ * gcc/config/i386/xmmintrin.h: Likewise.
+
2005-06-29 Steve Ellcey <sje@cup.hp.com>
PR middle-end/21969
config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
2005-06-20 Roger Sayle <roger@eyesopen.com>
-2005-06-20 Fariborz Jahanian <fjahanian@apple.com>
+ Fariborz Jahanian <fjahanian@apple.com>
* combine.c (simplify_set): Simplify setting of CC register
by removing redundant compare with 0 on RHS.