OSDN Git Service

* tree-ssa-structalias.c: Don't include expr.h.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index 0e44859..540f3e6 100644 (file)
@@ -1,3 +1,671 @@
+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.