* tree-ssa-reassoc.c (should_transpose): Fix which operand
we check for SSA_NAME for.
-2005-06-29 Daniel Berlin <dberlin@dberlin.org>
+2005-07-01 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.
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
- * tree.h (TYPE_VECTOR_SUBPARTS): Change to shift expression.
- (SET_TYPE_VECTOR_SUBPARTS): New.
- * tree.c (make_vector_type): Replace TYPE_VECTOR_SUBPARTS with
- SET_TYPE_VECTOR_SUBPARTS.
- * tree-vect-transform.c (vect_transform_loop): Add cast.
-
-2005-06-29 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390/s390.c (s390_decompose_address): Accept invalid
- displacements for addresses containing frame_pointer_rtx or
- virtual_stack_vars_rtx.
- (s390_frame_info): Replaced use of STARTING_FRAME_OFFSET.
- (s390_initial_elimination_offset): New offset when eliminating the
- soft frame pointer.
- * config/s390/s390.h (FRAME_GROWS_DOWNWARD): Defined as 1.
- (STARTING_FRAME_OFFSET, STACK_DYNAMIC_OFFSET): Definitions changed.
-
-2006-06-28 Ziemowit Laski <zlaski@apple.com>
-
- * c-common.c (flag_next_runtime): Move...
- * toplev.c (flag_next_runtime): ... here.
- * c-common.h (flag_next_runtime): Move...
- * flags.h (flag_next_runtime): ... here.
- * config/darwin-c.c: Include flags.h.
- * config/t-darwin (darwin-c.o): Depend on flags.h.
-
-2005-06-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/linux-unwind.h (shmedia_fallback_frame_state):
- Disable aliasing warning with void * cast.
- (sh_fallback_frame_state): Likewise.
-
-2005-06-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * target.h (gcc_target): New field allocate_initial_value.
- * target-def.h (TARGET_ALLOCATE_INITIAL_VALUE): New macro.
- (TARGET_INITIALIZER): Include it.
- * integrate.c (allocate_initial_values): Use
- targetm.allocate_initial_value.
- * system.h: Poison ALLOCATE_INITIAL_VALUE.
- * config/sh/sh-protos.h (sh_pr_n_sets): Delete.
- * config/sh/sh.c (sh_pr_n_sets): Make it static.
- (sh_allocate_initila_value): New function.
- (TARGET_ALLOCATE_INITIAL_VALUE): Override default.
- * config/sh/sh.h (ALLOCATE_INITIAL_VALUE): Delete.
- * doc/tm.texi (TARGET_ALLOCATE_INITIAL_VALUE): Rename and
- update from ALLOCATE_INITIAL_VALUE.
-
-2005-06-28 Richard Henderson <rth@redhat.com>
-
- * tree-vectorizer.c (vect_is_simple_reduction): Compare types
- using TYPE_MAIN_VARIANT.
-
-2005-06-28 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_expand_vecint_compare): Decompose to EQ
- when using psubN.uuu.
-
-2005-06-29 Kelley Cook <kcook@gcc.gnu.org>
-
- * doc/gcc.texi: Update FSF address.
-
-2005-06-28 Eric Christopher <echristo@redhat.com>
-
- PR c/22052
- PR c/21975
- * c-decl.c (diagnose_mismatched_decls): Define DECL_EXTERN_INLINE.
- Use. Fix detection of invalid extern inline redefinition.
-
-2005-06-28 Diego Novillo <dnovillo@redhat.com>
-
- * tree-optimize.c (init_tree_optimization_passes): Fix typo.
-
-2005-06-28 Andrew Pinski <pinskia@physics.uc.edu>
-
- * config/rs6000/rs6000.md (setmemsi): s/operand/operands/.
-
-2005-06-28 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_expand_vecint_compare): Use unsigned
- saturating subtraction for QI and HImode unsigned compares. Use
- bit arithmetic tricks for SImode unsigned compares.
- (ia64_expand_vcondu_v2si): Remove.
- (ia64_expand_vecint_cmov): Don't call it.
-
-2005-06-28 Richard Henderson <rth@redhat.com>
-
- * rtlanal.c (nonzero_bits1): Use the mode of the value for
- determining integral-ness for comparisons.
-
-2005-06-28 Andrew Pinski <pinskia@physics.uc.edu>
-
- * config/rs6000/rs6000.md (setmemsi): Fix operand 2.
-
-2005-06-28 Joseph S. Myers <joseph@codesourcery.com>
-
- * target.h (invalid_conversion, invalid_unary_op,
- invalid_binary_op): New hooks.
- * target-def.h (TARGET_INVALID_CONVERSION,
- TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP,
- TARGET_INITIALIZER): Likewise.
- * hooks.h (hook_constcharptr_tree_tree_null,
- hook_constcharptr_int_tree_null,
- hook_constcharptr_int_tree_tree_null): New.
- * hooks.c (hook_constcharptr_tree_tree_null,
- hook_constcharptr_int_tree_null,
- hook_constcharptr_int_tree_tree_null): Likewise.
- * gcc/doc/tm.texi (TARGET_INVALID_CONVERSION,
- TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): Document.
- * c-convert.c (convert): Use invalid_conversion hook.
- * c-typeck.c (build_unary_op): Use invalid_unary_op hook.
- (build_binary_op): Use invalid_binary_op hook.
- * config/ia64/ia64-modes.def: Define RFmode.
- * config/ia64/ia64-protos.h (spill_xfmode_operand): Remove.
- (ia64_expand_movxf_movrf): New.
- * config/ia64/ia64.md (movxf): Move code to
- ia64_expand_movxf_movrf.
- (movrf, movrf_internal): New.
- * ia64.c (ia64_invalid_conversion, ia64_invalid_unary_op,
- ia64_invalid_binary_op, TARGET_INVALID_CONVERSION,
- TARGET_INVALID_UNARY_OP, TARGET_INVALID_BINARY_OP): New.
- (spill_xfmode_operand): Rename to spill_xfmode_rfmode_operand.
- Add mode parameter. Make static.
- (ia64_expand_movxf_movrf): New, moved from ia64.md. Handle RFmode
- as well as XFmode.
- (ia64_function_arg, ia64_function_value, ia64_register_move_cost,
- ia64_scalar_mode_supported_p): Handle RFmode as well as XFmode.
- (ia64_init_builtins): Set up __fpreg as RFmode.
- (ia64_mangle_fundamental_type): Mangle __fpreg as u7__fpreg.
-
-2006-06-28 Adrian Straetling <straetling@de.ibm.com>
-
- * builtins.c: (expand_builtin_memset): Rewrite to support
- 'set_storage_via_setmem'.
- * expr.c: (enum insn_code setmem_optab): Define.
- (enum insn_code clrmem_optab): Remove.
- (set_storage_via_setmem): New function.
- (clear_storage_via_setmem): Remove.
- (clear_storage): Replace call to "clear_storage_via_clrmem" with
- "set_storage_via_setmem".
- * expr.h: (set_storage_via_setmem): Declare.
- (CLEAR_RATIO): Redefine using HAVE_setmemM.
- * optabs.h: (enum insn_code setmem_optab): Declare.
- (enum insn_code clrmem_optab): Remove.
- * optabs.c: (init_optabs): Initialize setmem_optab.
- (enum insn_code clrmem_optab): Remove.
- * genopinit.c: (otabs): Likewise.
- * doc/md.texi: Document new standard pattern 'setmem'. Remove
- 'clrmem'.
- * config/alpha/alpha.c: (alpha_expand_block_clear): Adjust
- 'operands' ordering.
- * config/frv/frv.c: (frv_expand_block_clear): Likewise.
- * config/rs6000/rs6000.c: (expand_block_clear): Likewise.
- * config/alpha/alpha.md: ("clrmemqi", "clrmemdi"): Rename to "setmemM".
- FAIL on operands[2]!=const0_rtx. Adjust 'operands' ordering.
- * config/avr/avr.md: ("clrmemhi"): Likewise.
- * config/frv/frv.md: ("clrmemsi"): Likewise.
- * config/i386/i386.md: ("clrmemsi", "clrmemdi"): Likewise.
- * config/pa/pa.md: ("clrmemsi", "clrmemdi"): Likewise.
- * config/rs6000/rs6000.md: ("clrmemsi"): Likewise.
- * config/s390/s390.md: ("clrmem<mode>"): Likewise.
-
-2005-06-28 Paul Brook <paul@codesourcery.com>
-
- * Makefile.in: Set and use UNWIND_H. Install as unwind.h.
- * c-decl.c (finish_decl): Call default_init_unwind_resume_libfunc.
- * except.c (add_ehspec_entry): Generate arm eabi filter lists.
- (assign_filter_values): Ditto.
- (output_ttype): New function.
- (output_function_exception_table): Use output_ttype. Generate arm
- eabi filter lists.
- (default_init_unwind_resume_libfunc): New function.
- * except.h (default_init_unwind_resume_libfunc): Add prototype.
- * optabs.c (init_optabs): Don't set unwind_resume_libfunc.
- * opts.c (decode_options): Use targetm.unwind_tables_default.
- * target-def.h (TARGET_ASM_TTYPE): Provide and use definition.
- (TARGET_ARM_EABI_UNWINDER, TARGET_UNWIND_TABLES_DEFAULT): Ditto.
- * target.h (struct gcc_target): Add asm.ttype, unwind_tables_default
- and arm_eabi_unwinder.
- * unwind-c.c: Support Arm EABI unwinder.
- * unwind.h: Rename ...
- * unwind-generic.h: ... To this.
- * doc/tm.texi (TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER): Document.
- (TARGET_UNWID_TABLES_DEFAULT): Document.
-
- * config/arm/arm-protos.h (arm_output_fn_unwind): Add prototype.
- * config/arm/arm.c (arm_unwind_emit, arm_output_ttype): New functions.
- (TARGET_UNWIND_EMIT, TARGET_ASM_TTYPE, TARGET_ARM_EABI_UNWINDER):
- Define.
- (thumb_pushpop, thumb_output_function_prologue): Output unwinding
- directives.
- (arm_unwind_emit_stm, arm_unwind_emit_set): New functions.
- * config/arm/arm.h (MUST_USE_SJLJ_EXCEPTIONS): Only define when
- !TARGET_UNWIND_INFO.
- (ARM_OUTPUT_FN_UNWIND, ARM_EABI_UNWIND_TABLES): Define.
- * config/arm/bpabi.h (TARGET_UNWIND_INFO): Define.
- * config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME,
- ASM_DECLARE_FUNCTION_SIZE): Use ARM_OUTPUT_FN_UNWIND.
- * config/arm/lib1funcs.asm: Include libunwind.S.
- * config/arm/libgcc-bpabi.ver: Add unwinding routines.
- * config/arm/libunwind.S: New file.
- * config/arm/pr-support.c: New file.
- * config/arm/t-bpabi (LIB1ASMFUNCS): Add _unwind.
- (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
- * config/arm/t-symbian (UNWIND_H, LIB2ADDEH, LIB2ADDEHDEP): Set.
- * config/arm/unwind-arm.c: New file.
- * config/arm/unwind-arm.h: New file.
- * config/i386/t-netware (USER_H): Remove unwind.h.
- * config/ia64/ia64.h (TARGET_UNWIND_TABLES_DEFAULT): Define.
-
-2005-06-28 DJ Delorie <dj@redhat.com>
-
- * c-decl.c (pop_scope): Move warning control into warning call.
- (diagnose_mismatched_decls): Likewise.
- (pushdecl): Likewise.
- (start_decl): Likewise.
- (grokparms): Likewise.
- (start_function): Likewise.
- (store_parm_decls_newstyle): Likewise.
- (store_parm_decls_oldstyle): Likewise.
- (finish_function): Likewise.
- (declspecs_add_scspec): Likewise.
- * c-format.c (decode_format_attr): Likewise.
- (maybe_read_dollar_number): Likewise.
- (avoid_dollar_number): Likewise.
- (finish_dollar_format_checking): Likewise.
- (check_format_info): Likewise.
- (check_format_info_main): Likewise.
- (check_format_types): Likewise.
- (format_type_warning): Likewise.
- * c-typeck.c (function_types_compatible_p): Likewise.
- (build_array_ref): Likewise.
- (convert_arguments): Likewise.
- (build_c_cast): Likewise.
- (store_init_value): Likewise.
- (process_init_element): Likewise.
- (c_start_case): Likewise.
- * stor-layout.c (finalize_record_size): Likewise.
- * tree-cfg.c (execute_warn_function_noreturn): Likewise.
- * tree-inline.c (expand_call_inline): Likewise.
-
-2005-06-28 Uros Bizjak <uros@kss-loka.si>
-
- PR target/22134
- * config/i386/i386.md (fist<mode>2_with_temp splitter):
- Clobber memory operand, not scratch register.
-
-2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390/s390.c (machine_function): New field has_landing_pad_p.
- (s390_set_has_landing_pad_p, s390_reg_clobbered_rtx,
- s390_regs_ever_clobbered): New functions.
- (s390_return_addr_rtx): Use get_hard_reg_initial_value.
- (s390_register_info, s390_init_frame_layout, s390_update_frame_layout):
- Use s390_regs_ever_clobbered.
- (s390_emit_prologue): Don't use r14 as temp reg if its content is used
- for builtin_return_address.
- * config/s390/s390.md ("exception_receiver"): New expander.
- * config/s390/s390-protos.h (s390_set_has_landing_pad_p): Prototype
- added.
-
-2005-06-28 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * except.c (current_function_has_exception_handlers): Function
- description added and if statements merged.
-
-2005-06-28 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (smaxv16qi3): Fix buffer overflow.
- (sminv16qi3, umaxv8hi3, uminv8hi3): Likewise.
-
-2005-06-27 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_expand_vcondu_v2si): Generate proper
- comparison operations.
- (ia64_expand_vecint_minmax): Fix size of xops.
- * config/ia64/vect.md (umax<VECINT>3): Fix fallback pattern typo.
- (vec_shl_<VECINT>, vec_shr_<VECINT>): New.
-
-2005-06-27 Richard Henderson <rth@redhat.com>
-
- * tree-vect-transform.c (get_initial_def_for_reduction): Use correct
- type for DEF and INIT_VAL. Pretend MIN/MAX need epilogue adjustment.
-
-2005-06-27 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (vec_shl_<SSEMODEI>, vec_shr_<SSEMODEI>): New.
- (smaxv16qi3, umaxv8hi3, sminv16qi3, uminv8hi3): New.
-
-2005-06-27 Richard Henderson <rth@redhat.com>
-
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Remove
- duplicate little-endian adjustment.
-
-2005-06-28 Kelley Cook <kcook@gcc.gnu.org>
-
- * doc/include/texinfo.tex: Import from upstream CVS.
-
-2005-06-28 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_remove_node): Do not release function bodies until
- full cgraph is built.
- * cgraph.h (cgraph_decide_inlining_incrementally): Add early argument.
- * cgraphunit.c (cgraph_finalize_function): Update call of
- cgraph_decide_inlining_incrementally.
- (initialize_inline_failed): Break out of ...
- (cgraph_analyze_function): ... here.
- (rebuild_cgraph_edges): New function.
- (pass_rebuild_cgraph_edges): New pass.
- * common.opt (fearly-inlining): New flag.
- * ipa-inline.c: Include ggc.h
- (cgraph_clone_inlined_nodes): Avoid re-using of original copy
- when cgraph is not fully built.
- (cgraph_decide_inlining_incrementally): Add early mode.
- (cgraph_early_inlining): New function.
- (cgraph_gate_early_inlining): Likewise.
- (pass_early_ipa_inline): New pass.
- * ipa.c (cgraph_postorder): NULLify aux pointer.
- * tree-inline.c (expand_call_inline): Avoid warning early.
- * tree-optimize.c (pass_early_local_passes): New.
- (execute_cleanup_cfg_pre_ipa): New.
- (pass_cleanup_cfg): New.
- (register_dump_files): Fix handling subpasses of IPA pass.
- (init_tree_optimization_passes): Add early passes.
- (execute_ipa_pass_list): Fix handling of subpasses of IPA pass.
- * passes.h (pass_early_tree_profile, pass_rebuild_cgraph_edges,
- pass_early_ipa_inline): New passes.
- * tree-profile.c (do_early_tree_profiling, pass_early_tree_profile): New.
-
- * invoke.texi: Document early-inlining.
-
-2005-06-28 Kelley Cook <kcook@gcc.gnu.org>
-
- * doc/include/fdl.texi: Merge in changes from upstream.
- * doc/include/gpl.texi: Likewise.
-
-2005-06-27 Diego Novillo <dnovillo@redhat.com>
-
- PR 21959
- * tree-ssa-loop-niter.c (scev_probably_wraps_p): Handle type
- casts between unsigned and signed types with different size
- or precision.
-
-2005-06-28 Jan Hubicka <jh@suse.cz>
-
- * tree-optimize.c (exercute_free_datastructures):
- Do not disband implicit edges; do not attempt to build insn list;
- do not free cfg annotations.
- (execute_free_cfg_annotations); Disband implicit edges here;
- free cfg annotations here too.
- (pass_free_cfg_annotations); New pass.
- (init_tree_optimization_passes); Add pass_free_cfg_annotations.
- * tree-ssa-operands.c (free_ssa_operands); Recover; export.
- * tree-ssa-operands.h (free_ssa_operands); declare.
- * tree-ssa.c (delete_tree_ssa); Free SSA operand; mark stmt modified;
- kill PHI nodes.
- * tree-ssanames.c (release_defs): Kill addresses_taken.
-
- * basic-block.h (basic_block_def): Kill rbi.
- (reorder_block_def): Kill; Remove next field (replaced by aux);
- move other fields to ...
- (rtl_bb_info): ... here.
- * bb-reorder.c (find_traces, rotate_loop, find_traces_1_round,
- copy_bb, connect_traces, add_labels_and_missing_jumps
- fix_up_fall_thru_edges, fix_crossing_conditional_branches,
- duplicate_computed_gotos, partition_hot_cold_basic-blocks):
- Update to new fields.
- * cfg.c (initialize_bb_rbi): Kill.
- * cfglayout.c (record_effective_endpoints, fixup_reorder_chain,
- fixup_fallthru_exit_predecessor, cfg_layout_duplicate_bb): Update.
- * cfgrtl.c (cfg_layout_create_basic_block): Do not initialize rbi.
- (try_redirect_by_replacing_jump): Update rbi references.
- (cfg_layout_split_block): Likewise.
- (cfg_layout_delete_block): Likewise.
- (cfg_layout_merge_blocks): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- * passes.c (rest_of_handle_sms): Likewise.
- * tracer.c (seen, tail_duplicate, layout_superblocks): Likewise.
-
-2005-06-27 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_file_start): Note PPC405 erratum
- in verbose_asm output.
- * config/rs6000/rs6000.h (PPC405_ERRATUM77): Bracket with
- CONFIG_PPC405CR.
- * config.gcc (powerpc with_which): Define CONFIG_PPC405CR for
- 405cr.
-
-2005-06-27 Jakub Jelinek <jakub@redhat.com>
-
- * builtin-attrs.def (DEF_ATTR_FOR_INT): Add for 5 and 6.
- (DEF_LIST_INT_INT): Add for 4,0, 4,5, 5,0, 5,6.
- (ATTR_NOTHROW_NONNULL_4, ATTR_NOTHROW_NONNULL_5): Define.
- (ATTR_FORMAT_PRINTF_4_0, ATTR_FORMAT_PRINTF_4_5,
- ATTR_FORMAT_PRINTF_5_0, ATTR_FORMAT_PRINTF_5_6): Define.
- * builtins.c: Include tree-flow.h.
- (expand_builtin_mempcpy, expand_builtin_memmove): Comment fixes.
- (expand_builtin_object_size, expand_builtin_memory_chk,
- maybe_emit_chk_warning, maybe_emit_sprintf_chk_warning,
- compute_object_offset, compute_builtin_object_size,
- fold_builtin_object_size): New functions.
- (expand_builtin): Handle BUILT_IN_OBJECT_SIZE and BUILT_IN_*_CHK.
- (fold_builtin_1): Likewise. Handle BUILT_IN_{,V}{,F}PRINTF
- and BUILT_IN_{,F}PRINTF_UNLOCKED.
- (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
- fold_builtin_strncpy_chk, fold_builtin_strcat_chk,
- fold_builtin_strncat_chk, fold_builtin_sprintf_chk,
- fold_builtin_snprintf_chk, fold_builtin_printf, fold_builtin_fprintf):
- New functions.
- * builtins.def (BUILT_IN_OBJECT_SIZE, BUILT_IN_MEMCPY_CHK,
- BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK, BUILT_IN_MEMSET_CHK,
- BUILT_IN_STPCPY_CHK, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK,
- BUILT_IN_STRNCAT_CHK, BUILT_IN_STRNCPY_CHK, BUILT_IN_SNPRINTF_CHK,
- BUILT_IN_SPRINTF_CHK, BUILT_IN_VSNPRINTF_CHK, BUILT_IN_VSPRINTF_CHK,
- BUILT_IN_FPRINTF_CHK, BUILT_IN_PRINTF_CHK, BUILT_IN_VFPRINTF_CHK,
- BUILT_IN_VPRINTF_CHK): New builtins.
- * builtin-types.def (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_VAR_4):
- Document.
- (BT_FN_SIZE_CONST_PTR_INT, BT_FN_INT_INT_CONST_STRING_VALIST_ARG,
- BT_FN_PTR_PTR_CONST_PTR_SIZE_SIZE, BT_FN_PTR_PTR_INT_SIZE_SIZE,
- BT_FN_STRING_STRING_CONST_STRING_SIZE_SIZE,
- BT_FN_INT_FILEPTR_INT_CONST_STRING_VALIST_ARG,
- BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VALIST_ARG,
- BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VALIST_ARG,
- BT_FN_INT_INT_CONST_STRING_VAR, BT_FN_INT_FILEPTR_INT_CONST_STRING_VAR,
- BT_FN_INT_STRING_INT_SIZE_CONST_STRING_VAR,
- BT_FN_INT_STRING_SIZE_INT_SIZE_CONST_STRING_VAR): New types.
- * c-common.c (DEF_FUNCTION_TYPE_5, DEF_FUNCTION_TYPE_6,
- DEF_FUNCTION_TYPE_VAR_4, DEF_FUNCTION_TYPE_VAR_5): Define.
- * Makefile.in (OBJS-common): Add tree-object-size.o.
- (tree-object-size.o): Add dependencies.
- * tree-pass.h (pass_object_sizes): Add.
- * tree-optimize.c (init_tree_optimization_passes): Add
- pass_object_sizes.
- * tree-object-size.c: New file.
- * tree.h (fold_builtin_memory_chk, fold_builtin_stxcpy_chk,
- fold_builtin_strncpy_chk, fold_builtin_snprintf_chk,
- compute_builtin_object_size, init_object_sizes, fini_object_sizes):
- New prototypes.
- * tree-ssa-ccp.c (get_strlen): Rename to ...
- (get_maxval_strlen): ...this function. Handle also computing of maximum
- string length and maximum integral value.
- (ccp_fold_builtin): Handle BUILT_IN_*_CHK. Use get_maxval_strlen
- instead of get_strlen. Pass CALLEE and ARGLIST variables to the
- folding functions instead of computing them again.
- (execute_fold_all_builtins): Retry ccp_fold_builtin if a builtin changed
- into some other builtin.
- * doc/extend.texi (Object Size Checking): Document.
-
- * regrename.c (copy_value): Fix comment.
-
- * toplev.c (process_options): Use if (FRAME_GROWS_DOWNWARD)
- instead of preprocessor conditionals.
-
- * targhooks.c (default_hidden_stack_protect_fail): Fall back to
- default_external_stack_protect_fail if visibility is not supported
- or not flag_pic.
- * config/i386/i386.c (ix86_stack_protect_fail): New function.
- (TARGET_STACK_PROTECT_FAIL): Define.
- * config/i386/i386.md (stack_protect_si): Change CLOBBER into
- SET to zero.
- (stack_protect_di): Likewise. Use %k2 instead of %2 to avoid
- invalid instruction xorl %rax, %rax.
-
-2005-06-27 Richard Henderson <rth@redhat.com>
-
- * c-cppbuiltin.c (c_cpp_builtins): Add __SSP_ALL__ and __SSP__.
- * cfgexpand.c: Include params.h.
- (has_protected_decls, has_short_buffer): New.
- (expand_stack_vars): Take a predicate to determine what to expand.
- (defer_stack_allocation): True when flag_stack_protect on.
- (SPCT_HAS_LARGE_CHAR_ARRAY, SPCT_HAS_SMALL_CHAR_ARRAY): New.
- (SPCT_HAS_ARRAY, SPCT_HAS_AGGREGATE): New.
- (stack_protect_classify_type, stack_protect_decl_phase): New.
- (stack_protect_decl_phase_1, stack_protect_decl_phase_2): New.
- (add_stack_protection_conflicts, create_stack_guard): New.
- (expand_used_vars): Add stack protection logic.
- (tree_expand_cfg): Likewise.
- * common.opt (Wstack-protector): New.
- (fstack-protector, fstack-protector-all): New.
- * function.c: Include predict.h.
- (assign_parm_adjust_stack_rtl): Zap stack_parm when stack protect
- wants to copy the parameter into the stack frame.
- (stack_protect_prologue, stack_protect_epilogue): New.
- (expand_function_end): Call stack_protect_epilogue. Do
- sjlj_emit_function_exit_after after naked_return_label.
- * function.h (struct function): Add stack_protect_guard.
- * params.def (PARAM_SSP_BUFFER_SIZE): New.
- * toplev.c (process_options): Disable flag_stack_protect and/or
- warn_stack_protect based on FRAME_GROWS_DOWNWARD.
- * tree.h (stack_protect_prologue): Declare.
-
- * target-def.h (TARGET_STACK_PROTECT_GUARD): New.
- (TARGET_STACK_PROTECT_FAIL): New.
- (TARGET_INITIALIZER): Add them.
- * target.h (struct gcc_target): Add stack_protect_guard and
- stack_protect_fail.
- * targhooks.c: Include ggc.h, gty header.
- (stack_chk_guard_decl, default_stack_protect_guard): New.
- (stack_chk_fail_decl, default_external_stack_protect_fail): New.
- (default_hidden_stack_protect_fail): New.
- * targhooks.h (default_stack_protect_guard): Declare.
- (default_external_stack_protect_fail): Declare.
- (default_hidden_stack_protect_fail): Declare.
- * config/i386/i386.c (TARGET_STACK_PROTECT_FAIL): New.
- * config/i386/i386.md (UNSPEC_SP_SET, UNSPEC_SP_TEST): New.
- (trap): Use ud2.
- (conditional_trap, conditional_trap_1): Remove.
- (stack_protect_set, stack_protect_set_si, stack_protect_set_di): New.
- (stack_protect_test, stack_protect_test_si, stack_protect_test_di): New.
- * doc/md.texi (stack_protect_set, stack_protect_test): New.
- * doc/tm.texi (TARGET_STACK_PROTECT_GUARD): New.
- (TARGET_STACK_PROTECT_FAIL): New.
-
- * 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-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- PR c/21911
- * c-common.c (check_function_sentinel): Pass in named argument
- list, skip over named arguments before looking for a sentinel.
- (check_function_arguments): Pass in named argument list.
- * c-common.h (check_function_arguments): Likewise.
- * c-typeck.c (build_function_call): Likewise.
-
-2005-06-26 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * genautomata.c (decl_mode_check_failed,
- regexp_mode_check_failed): Add noreturn attribute.
-
-2005-06-26 Kazu Hirata <kazu@codesourcery.com>
-
- * cfg.c, tree-vect-transform.c, tree.def: Fix comment typos.
- * doc/invoke.texi: Fix typos.
-
- * builtins.c, c-common.c, c-convert.c, c-decl.c, c-typeck.c,
- convert.c, lambda-code.c, predict.c, tree-cfg.c,
- tree-complex.c, tree-data-ref.c, tree-if-conv.c,
- tree-mudflap.c, tree-scalar-evolution.c, tree-ssa-ccp.c,
- tree-ssa-loop-ivcanon.c, tree-ssa-loop-ivopts.c,
- tree-ssa-loop-manip.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
- tree-vect-analyze.c, tree-vect-transform.c, tree-vectorizer.c,
- tree.c: Use fold_buildN instead of fold (buildN (...)).
-
-2005-06-26 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Specific): Do not specify the concrete
- versions of GCC provided by Cygwin. Simplify the part on
- building on Cygwin.
-
-2005-06-26 Kazu Hirata <kazu@codesourcery.com>
-
- * config/arc/arc-protos.c: Remove the prototype for
- arc_finalize_pic.
- * config/arc/arc.c (arc_finalize_pic): Remove.
- * config/arc/arc.h (FINALIZE_PIC): Likewise.
- * config/bfin/bfin.h (FINALIZE_PIC): Likewise.
- * config/rs6000/rs6000.h (FINALIZE_PIC): Likewise.
-
-2005-06-26 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/17965
- * calls.c (expand_call, emit_library_call_value_1): Use xmalloc/free
- instead of alloca for really big argument sizes.
-
- PR middle-end/22028
- * gimplify.c (gimplify_type_sizes): Check for type == error_mark_node
- earlier in the function.
-
- * regrename.c (copy_value): Don't replace fixed or global
- regs with older regs.
-
- * defaults.h (FRAME_GROWS_DOWNWARD): Define to 0 if not defined.
- * function.c (get_func_frame_size): Use if (FRAME_GROWS_DOWNWARD)
- instead of preprocessor conditionals.
- (assign_stack_local_1, assign_stack_temp_for_type): Likewise.
- * cfgexpand.c (FRAME_GROWS_DOWNWARD): Don't redefine to 1 or 0
- depending on if it was or was not defined previously.
- * doc/rtl.texi (VIRTUAL_STACK_VARS_REGNUM): Mention that only non-zero
- definition of FRAME_GROWS_DOWNWARD means frame grows downward.
- * doc/tm.texi (FRAME_GROWS_DOWNWARD): Likewise.
- * config/m68hc11/m68hc11.h (FRAME_GROWS_DOWNWARD): Define to 0. Update
- comment.
- * config/pa/pa.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/rs6000/rs6000.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/stormy16/stormy16.h (FRAME_GROWS_DOWNWARD): Define to 0.
- * config/c4x/c4x.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/sh/sh.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/ia64/ia64.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/iq2000/iq2000.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/pdp11/pdp11.h (FRAME_GROWS_DOWNWARD): Define to 1. Update
- comment.
- * config/i860/i860.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/h8300/h8300.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/arc/arc.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/vax/vax.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/sparc/sparc.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/i386/i386.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/fr30/fr30.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/frv/frv.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/mn10300/mn10300.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/bfin/bfin.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/ns32k/ns32k.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/v850/v850.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/alpha/alpha.h (FRAME_GROWS_DOWNWARD): Update comment.
- * config/s390/s390.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/arm/arm.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/alpha/unicosmk.h (FRAME_GROWS_DOWNWARD): Define to 1.
- * config/cris/cris.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/m68k/m68k.h (FRAME_GROWS_DOWNWARD): Likewise.
- * config/mmix/mmix.h (FRAME_GROWS_DOWNWARD): Likewise.
-
-2005-06-26 Kazu Hirata <kazu@codesourcery.com>
-
- PR tree-optimization/22026
- * tree-vrp.c (extract_range_from_binary_expr): Drop to
- VR_VARYING if a binary expression involving VR_ANTI_RANGE is
- PLUS_EXPR, MINUS_EXPR, or unsigned MULT_EXPR.
-
-2005-06-26 Kazu Hirata <kazu@codesourcery.com>
-
- * Makefile.in (OBJS-common): Remove duplicate object file
- names.
-
-2005-06-25 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-phiopt.c (replace_phi_edge_with_variable): Update profile.
- * cfg.c (update_bb_profile_for_threading): Fix rescaling.
-
- * passes.c (rest_of_handle_branch_prob): Do not rebuild profiling info
- when not neecesary
- (rest_of_compilation): Fix conditional on branch prob pass.
- * predict.c (tree_estimate_probability): Enable strip_builtin_expect
- when not loop optimizing.
-
-2005-06-25 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.md (ror_one, rol_one, ashrdi3, ashldi3, lshrdi3):
- New patterns.
- (movbi): Add alternative to set CC to zero.
- (compare_eq, compare_ne, compare_le, compare_lt, compare_leu,
- compare_ltu): Now named patterns.
-
-2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * all files: Update FSF address in copyright headers.
-
-2005-06-25 Kelley Cook <kcook@gcc.gnu.org>
-
- * gengtype.c: Update FSF address in copyright header.
- (create_file): Update FSF in outputed copyright header.
-
-2005-06-24 Kazu Hirata <kazu@codesourcery.com>
-
- * cfglayout.c (block_locators_locs, line_locators_locs,
- line_locators_lines, file_locators_locs): Change the type to
- VEC(int,heap)*.
- (insn_locators_initialize, change_scope, insn_scope,
- locator_line, insn_line, locator_file): Use VEC instead of
- VARRAY.
-
-2005-06-24 Jason Merrill <jason@redhat.com>
-
- * tree-nrv.c (tree_nrv): Fix to check assignments to the
- RESULT_DECL rather than just RETURN_EXPRs.
- (finalize_nrv_r): Adjust.
-
-2005-06-24 Jan Hubicka <jh@suse.cz>
-
- * tree-optimize.c (init_tree_optimization_passes): Fix flags of
- all_passes and all_ipa_passes.
-
- * c-common.c: Include cgraph.h
- (handle_externally_visible_attribute): New function.
- (c_common_att): Add "externally_visible" attribute.
- * cgraph.c (decide_is_variable_needed): Obey externally
- visible flag.
- (cgraph_varpool_finalize_decl): Avoid redundant checking.
- * cgraph.h (struct cgraph_node): New flag externally_visible.
- (decide_is_function_needed): Obey externally visible flag.
- (cgraph_finalize_function): Avoid redundant checks.
- (cgraph_function_and_variable_visibility): Bring symbols local
- when asked for.
- * common.opt (fwhole-program): New flag.
-
- * doc/invoke.texi (-fwhole-program): Document.
-
-2005-06-24 Mark Mitchell <mark@codesourcery.com>
-
- PR 22171
- * tree-ssa-operands.c (get_expr_operands): Check s_ann for NULL
- before use.
-
-2005-06-23 Mark Mitchell <mark@codesourcery.com>
-
- PR 22000
- * tree-ssa-operands.c (get_expr_operands): Check the volatility of
- the FIELD_DECL and set s_ann->has_volatile_ops accordingly.
-
-2005-06-24 Jan Hubicka <jh@suse.cz>
-
- * opts.c (decode_options): Enable unit-at-a-time by default at -O1.
-
-2005-06-23 Jeff Law <law@redhat.com>
-
- * tree-optimize.c (init_tree_optimization_passes): Move
- copy prop pass to run just before VRP.
- * tree-vrp.c (remove_range_assertions): Remove copies created
- by ASSERT_EXPR removal.
-
-2005-06-23 Kazu Hirata <kazu@codesourcery.com>
-
- PR tree-optimization/22117
- * tree-vrp.c (extract_range_from_binary_expr): Compute a
- correct range when adding two pointers.
-
-2005-06-23 Jason Merrill <jason@redhat.com>
-
- PR c++/19317
- Leave the return slot target in the MODIFY_EXPR rather than making
- it an argument, but only use it if the CALL_EXPR has a flag set.
- * tree.h (CALL_EXPR_HAS_RETURN_SLOT_ADDR): Rename to
- CALL_EXPR_RETURN_SLOT_OPT.
- * calls.c (expand_call): Adjust.
- * tree-inline.c (expand_call_inline): Adjust.
- * tree-pretty-print.c (dump_generic_node): Adjust.
-
- And set the flag as appropriate.
- * gimplify.c (gimplify_modify_expr_rhs): Set
- CALL_EXPR_HAS_RETURN_SLOT_ADDR where the LHS is obviously safe.
- * tree-nrv.c (execute_return_slot_opt): Set
- CALL_EXPR_HAS_RETURN_SLOT_ADDR based on escape analysis.
- * tree-pass.h: Declare pass_return_slot.
- * tree-optimize.c (init_tree_optimization_passes): Add it.
-
-2005-06-23 David Edelsohn <edelsohn@gnu.org>
-
- PR target/21760
- * config/rs6000/rs6000.h (PPC405_ERRATUM77): New.
- * config/rs6000/rs6000.md: Move atomic instructions to ...
- * config/rs6000/sync.md: Here.
- Change sync_compare_and_swap<mode> to define_expand. All stwcx
- patterns test PPC405_ERRATUM77.
-
-2005-06-23 Jan Hubicka <jh@suse.cz>
-
- * tree-inline.c (copy_body_r): Remap labels correctly.
-
-2005-06-22 Alan Modra <amodra@bigpond.net.au>
-
- * config/rs6000/sysv4.h (TARGET_ASM_EXCEPTION_SECTION): Delete.
-
-2005-06-22 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
-
- PR middle-end/20593
- * varasm.c (compute_reloc_for_constant): Treat VIEW_CONVER_EXPR
- the same as the other cast operands.
- (output_addressed_constants): Likewise.
-
-2005-06-21 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (extract_range_from_unary_expr): Handle type
- conversions better.
-
-2005-06-21 Dorit Nuzman <dorit@il.ibm.com>
-
- * genopinit.c (vec_shl_optab, vec_shr_optab): Initialize new optabs.
- (reduc_plus_optab): Removed. Replcaed with...
- (reduc_splus_optab, reduc_uplus_optab): Initialize new optabs.
- * optabs.c (optab_for_tree_code): Return reduc_splus_optab or
- reduc_uplus_optab instead of reduc_plus_optab.
- (expand_vec_shift_expr): New function.
- (init_optabs): Initialize new optabs. Remove initialization of
- reduc_plus_optab.
- (optab_for_tree_code): Return vec_shl_optab/vec_shr_optab
- for VEC_LSHIFT_EXPR/VEC_RSHIFT_EXPR.
- * optabs.h (OTI_reduc_plus): Removed. Replaced with...
- (OTI_reduc_splus, OTI_reduc_uplus): New.
- (reduc_plus_optab): Removed. Replcaed with...
- (reduc_splus_optab, reduc_uplus_optab): New optabs.
- (vec_shl_optab, vec_shr_optab): New optabs.
- (expand_vec_shift_expr): New function declaration.
-
- * tree.def (VEC_LSHIFT_EXPR, VEC_RSHIFT_EXPR): New tree-codes.
- * tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
- * expr.c (expand_expr_real_1): Handle new tree-codes.
- * tree-pretty-print.c (dump_generic_node, op_symbol, op_prio): Likewise.
- * tree-vect-generic.c (expand_vector_operations_1): Add assert.
-
- * tree-vect-transform.c (vect_create_epilog_for_reduction): Add two
- alternatives for generating reduction epilog code.
- (vectorizable_reduction): Don't fail of direct reduction support is
- not available.
- (vectorizable_target_reduction_pattern): Likewise.
-
- * config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
- reduc_umax_v4si, reduc_smin_v4si, reduc_smin_v4sf, reduc_umin_v4si,
- reduc_plus_v4si, reduc_plus_v4sf): Removed.
- (vec_shl_<mode>, vec_shr_<mode>, altivec_vsumsws_nomode,
- reduc_splus_<mode>, reduc_uplus_v16qi): New.
-
-2005-06-20 Daniel Berlin <dberlin@dberlin.org>
-
- * c-typeck.c (build_function_call): Set fundecl = function again.
- * tree-ssa-alias.c (find_used_portions): Address taking causes the
- entire variable to be used.
- * tree-ssa-structalias.c (do_structure_copy): Fix handling of
- unknown size variables, and structure copies from addressof
- operations. Simplify how we do *a = *b type structure copies.
- (init_base_vars): Add ANYTHING = &ANYTHING constraint the right
- way. READONLY's address is not taken by default.
- INTEGER dereference should point to anything.
- (create_variable_info_for): It's okay for the first field to not start
- at 0.
-
-2005-06-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- config/sh/linux.h (FUNCTION_PROFILER): Constify a char*.
-
-2005-06-20 Roger Sayle <roger@eyesopen.com>
- Fariborz Jahanian <fjahanian@apple.com>
-
- * combine.c (simplify_set): Simplify setting of CC register
- by removing redundant compare with 0 on RHS.
-
-2005-06-20 Jan Beulich <jbeulich@novell.com>
-
- * config/i386/netware-libgcc.def: Update copyright.
- * config/i386/netware-libgcc.exp (__divdc3, __divsc3, __divxc3,
- __muldc3, __mulsc3, __mulxc3, __powidf2, __powisf2, __powixf2): Add.
- * config/i386/netware.c (gen_stdcall_decoration,
- gen_fastd_decoration): Merge into ...
- (gen_stdcall_or_fastcall_decoration): ... this. Adjust to match
- WinNT's changes.
- (gen_regparm_prefix): Adjust to match i386_nlm_encode_section_info.
- (i386_nlm_encode_section_info): Adjust to match WinNT's changes.
- * config/i386/t-nwld (SHLIB_LINK): Also create libgcc.imp alias of
- libgcc_s.imp. Use 'expr' rather than $(()) shell expressions.
- * gthr-nks.h (__gthread_objc_mutex_allocate): Kill another dubious
- use of NX_MUTEX_RECURSIVE.
-
-2005-06-19 Roger Sayle <roger@eyesopen.com>
-
- * fold-const.c (swap_tree_comparison): Add support for unordered
- floating point comparisons.
- * tree-vrp.c (opposite_comparison): Delete.
- (extract_range_from_assert): Replace calls to opposite_comparison
- with calls to swap_tree_comparison.
- (register_edge_assert_for): Likewise.
- (vrp_evaluate_conditional): Likewise.
-
-2005-06-20 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * integrate.c (allocate_initial_values): Update the references
- to global_live_at_start and global_live_at_end.
-
-2005-06-20 Jan Hubicka <jh@suse.cz>
-
- * cfgloop.h (DLTHE_RECORD_COPY_NUMBER): New flag.
- * cfgloopmanip.c (duplicate_loop_to_header_edge): Set aux flags only
- when asked for.
- * loop-unroll.c (peel_loop_completely, unroll_loop_constant_iterations,
- unroll_loop_runtime_iterations, peel_loop_simple, unroll_loop_stupid):
- Update call of duplicate_loop_to_header_edge.
- (apply_opt_in_copies): Clear out aux pointers.
-
-2005-06-19 Joseph S. Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
- (ix86_mangle_fundamental_type): New.
- * config/ia64/ia64.c (TARGET_MANGLE_FUNDAMENTAL_TYPE): Define.
- (ia64_mangle_fundamental_type): New.
-
-2005-06-19 Roger Sayle <roger@eyesopen.com>
-
- * c-decl.c (grokdeclarator): Only check TREE_OVERFLOW on
- INTEGER_CST nodes.
- * c-typeck.c (build_c_cast): Only preserve TREE_OVERFLOW on
- CONSTANT_CLASS_P nodes.
-
-2005-06-19 Richard Henderson <rth@redhat.com>
-
- * config/ia64/vect.md (vec_extractv2sf_1): Fix cut-and-paste error;
- the shift is always required.
-
-2005-06-19 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64-modes.def (V4SF): Add.
- * config/ia64/ia64.c (ia64_legitimate_constant_p): Handle CONST_VECTOR.
- * config/ia64/ia64.h (CANNOT_CHANGE_MODE_CLASS): Allow vector to
- integer mode changes in fp regs.
- * config/ia64/ia64.md (UNSPEC_VECT_EXTR): New.
- * config/ia64/vect.md (smaxv2sf3, sminv2sf3): Fix typos in names.
- (reduc_plus_v2sf, reduc_smax_v2sf, reduc_smin_v2sf): New.
- (vcondv2sf): Use gen_fpack
- (fpack): Remove * from name.
- (fswap, fmix_l, fmix_r, fmix_lr): New.
- (vec_setv2sf, vec_extractv2sf_0_le, vec_extractv2sf_0_be): New.
- (vec_extractv2sf_1, vec_extractv2sf): New.
-
-2005-06-19 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * combine.c (make_compound_operation): Use simplify_subreg. Delete
- a optimization already done by simplify_subreg.
-
-2005-06-19 Ulrich Weigand <uweigand@de.ibm.com>
-
- * loop.c (scan_loop): Do not consider insns setting the frame
- pointer to be candidates for hoisting.
-
-2005-06-19 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, cmpfp_0_xf):
- Remove instruction patterns.
- (*cmpfp_0): New instruction pattern. Set "unit" attribute to "i387".
- (*cmpfp_sf, *cmpfp_df, *cmpfp_xf, *cmpfp_u, *_cmpfp_<mode>):
- Set "unit" attribute to "i387".
- (*pushsf, *pushsf_rex64, *pushdf_nointeger, *pushdf_integer)
- (*pushxf_nointeger, *pushxf_integer): Set "unit" attribute to "i387"
- for alternative 0.
- (*truncdfsf_mixed, *truncdfsf_i387, *truncxfsf2_mixed)
- (*truncxfsf2_i387, *truncxfdf2_mixed, *truncxfdf2_i387): Set "unit"
- attribute to "i387" when "type" attribute equals "multi".
- (*floathisf2_i387, *floatsisf2_mixed, *floatsisf2_i387)
- (*floatdisf2_mixed, *floatdisf2_i387, *floathidf2_i387)
- (*floatsidf2_mixed, *floatsidf2_i387, *floatdidf2_mixed)
- (*floatdidf2_i387, floathixf2, floatsixf2, floatdixf2): Set "unit"
- attribute to "i387" when "type" attribute equals "multi".
- * config/i386/mmx.md (*mov<mode>_internal_rex64)
- (*mov<mode>_internal, *movv2sf_internal_rex64, *movv2sf_internal):
- Set "unit" attribute to "mmx" when "type" attribute equals "ssecvt".
- (mmx_pmovmskb): Correct wrong "type" and "mode" attributes.
- * config/i386/sse.md (sse_cvtps2pi, sse_cvttps2pi, sse_cvtpd2di)
- (sse_cvttpd2pi): Set "unit" attribute to "mmx".
- (sse2_cvtpi2pd): Split register constraints. Set "unit" attribute
- to "mmx" for "y" operand 1.
-
-2005-06-19 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.c (ix86_function_arg_regno_p): Add MMX_REGNO_P
- for TARGET_MMX. Use MMX_REGPARM_MAX and SSE_REGPARM_MAX for MMX
- and SSE registers to determine if regno is valid.
- (ix86_function_value_regno_p): Depend FIRST_FLOAT_REG on
- TARGET_FLOAT_RETURNS_IN_80387 also for TARGET_64BIT. Clean up.
-
-2005-06-18 Richard Henderson <rth@redhat.com>
-
- * tree-complex.c (init_dont_simulate_again): Clear DONT_SIMULATE_AGAIN
- for control-altering statements; set it again for returns.
- (complex_visit_stmt): Return SSA_PROP_VARYING for stmts that are
- not MODIFY_EXPR.
-
-2005-06-18 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/22116
- * tree-ssa-pre.c (create_expression_by_pieces): Set
- DECL_COMPLEX_GIMPLE_REG_P.
- (insert_into_preds_of_block): Likewise.
-
-2005-06-18 Steven Bosscher <stevenb@suse.de>
-
- * Makefile.in: Fix tree-cfgcleanup.c dependencies.
-
-2005-06-18 Richard Henderson <rth@redhat.com>
-
- * expr.c (store_constructor): Use store of 0 to indicate value
- death instead of a clobber.
-
- * config/i386/i386.c (ix86_expand_reduc_v4sf): New.
- * config/i386/i386-protos.h (ix86_expand_reduc_v4sf): Declare.
- * config/i386/sse.md (reduc_plus_v4sf): New.
- (reduc_smax_v4sf, reduc_smin_v4sf): New.
-
-2005-06-18 James A. Morrison <phython@gcc.gnu.org>
-
- * fold_const (fold_binary): Fold X % (2**N) to X & (2**N - 1) for
- nonnegative values of X.
-
-2005-06-18 Uros Bizjak <uros@kss-loka.si>
-
- * doc/md.texi (Standard Names): Change insn pattern name
- from truncM2 to btruncM2 for 'trunc' built-in description.
- Add rintM2 insn pattern description.
-
-2005-06-18 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * c-decl.c (locate_old_decl): Add format attribute.
- (implicit_decl_warning): Likewise.
-
- * diagnostic.h (verbatim): Move ...
- * toplev.h (verbatim): ... here. Add ATTRIBUTE_GCC_DIAG.
- * pretty-print.h (pp_verbatim): Add ATTRIBUTE_GCC_PPDIAG.
-
-2005-06-18 Roger Sayle <roger@eyesopen.com>
-
- PR target/22083
- * config/rs6000/aix51.h (TARGET_C99_FUNCTIONS): Remove definition.
-
-2005-06-18 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree.def (REDUC_MAX_EXPR, REDUC_MIN_EXPR, REDUC_PLUS_EXPR): New
- tree-codes.
- * optabs.h (OTI_reduc_smax, OTI_reduc_umax, OTI_reduc_smin,
- OTI_reduc_umin, OTI_reduc_plus): New optabs for reduction.
- (reduc_smax_optab, reduc_umax_optab, reduc_smin_optab, reduc_umin_optab,
- reduc_plus_optab): New optabs for reduction.
- * expr.c (expand_expr_real_1): Handle new tree-codes.
- * tree-inline.c (estimate_num_insns_1): Handle new tree-codes.
- * tree-pretty-print.c (dump_generic_node, op_prio, op_symbol): Handle
- new tree-codes.
- * optabs.c (optab_for_tree_code): Handle new tree-codes.
- (init_optabs): Initialize new optabs.
- * genopinit.c (optabs): Define handlers for new optabs.
-
- * tree-vect-analyze.c (vect_analyze_operations): Fail vectorization in
- case of a phi that is marked as relevant. Call vectorizable_reduction.
- (vect_mark_relevant): Phis may be marked as relevant.
- (vect_mark_stmts_to_be_vectorized): The use corresponding to the
- reduction variable in a reduction stmt does not mark its defining phi
- as relevant. Update documentation accordingly.
- (vect_can_advance_ivs_p): Skip reduction phis.
- * tree-vect-transform.c (vect_get_vec_def_for_operand): Takes
- additional argument. Handle reduction.
- (vect_create_destination_var): Update call to vect_get_new_vect_var.
- Handle non-vector argument.
- (get_initial_def_for_reduction): New function.
- (vect_create_epilog_for_reduction): New function.
- (vectorizable_reduction): New function.
- (vect_get_new_vect_var): Handle new vect_var_kind.
- (vectorizable_assignment, vectorizable_operation, vectorizable_store,
- vectorizable_condition): Update call to vect_get_new_vect_var.
- (vect_transform_stmt): Call vectorizable_reduction.
- (vect_update_ivs_after_vectorizer): Skip reduction phis.
- (vect_transform_loop): Skip if stmt is both not relevant and not live.
- * tree-vectorizer.c (reduction_code_for_scalar_code): New function.
- (vect_is_simple_reduction): Was empty - added implementation.
- * tree-vectorizer.h (vect_scalar_var): New enum vect_var_kind value.
- (reduc_vec_info_type): New enum vect_def_type value.
- * config/rs6000/altivec.md (reduc_smax_v4si, reduc_smax_v4sf,
- reduc_umax_v4si, reduc_smin_v4si, reduc_umin_v4sf, reduc_smin_v4sf,
- reduc_plus_v4si, reduc_plus_v4sf): New define_expands.
-
- * tree-vect-analyze.c (vect_determine_vectorization_factor): Remove
- ENABLE_CHECKING around gcc_assert.
- * tree-vect-transform.c (vect_do_peeling_for_loop_bound,
- (vect_do_peeling_for_alignment, vect_transform_loop,
- vect_get_vec_def_for_operand): Likewise.
-
-2005-06-18 Joseph S. Myers <joseph@codesourcery.com>
-
- * config/ia64/ia64.c (ia64_function_arg): Set up a PARALLEL for a
- big-endian unnamed __float80 value.
-
-2005-06-18 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/22103
- * tree-sra.c (generate_copy_inout): Handle SSA_NAME complex
- destinations.
-
-2005-06-17 Richard Henderson <rth@redhat.com>
-
- * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Use
- initialize_original_copy_tables and free_original_copy_tables.
- (vect_do_peeling_for_alignment): Likewise.
-
-2005-06-17 Pat Haugen <pthaugen@us.ibm.com>
-
- * bb-reorder.c (find_traces_1_round): Use succ block frequency
- instead of edge frequency for calls to better_edge_p.
-
-2005-06-17 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/22105
- * tree-ssa-loop-im.c (for_each_index): Handle COMPLEX_CST.
-
-2005-06-17 Steve Ellcey <sje@cup.hp.com>
-
- PR target/19889
- * config/ia64/hpux.h (FUNCTION_PROFILER): New (dummy).
- (PROFILE_HOOK): New.
- (PROFILE_BEFORE_PROLOGUE): Undef.
- (NO_PROFILE_COUNTERS): New.
- * config/ia64/ia64-protos.h (ia64_profile_hook): New.
- * config/ia64/ia64.c (ia64_compute_frame_size): Add ifdef.
- (gen_mcount_func_rtx): New.
- (ia64_profile_hook): New.
- * config/ia64/ia64.md (ip_value): New.
-
-2005-06-17 Devang Patel <dpatel@apple.com>
-
- * config/rs6000/predicates.md (s5bit_cint_operand,
- u5bit_cint_operand): New.
- * config/rs6000/altivec.md (altivec_vspltb, altivec_vsplth,
- altivec_vspltisw_v4sf): Use new 5 bit constant operand predicates.
- * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Fix signed
- 5 bit constant check.
-
-2005-06-17 Richard Henderson <rth@redhat.com>
-
- * local-alloc.c (update_equiv_regs): Update reg_equiv_init
- properly when moving an initialization insn.
-
-2005-06-17 Paolo Bonzini <bonzini@gnu.org>
-
- * aclocal.m4 (gcc_AC_CHECK_TOOL): Do not overwrite the
- passed variable.
- * configure.ac: Regenerate.
-
-2005-06-17 Jan Hubicka <jh@suse.cz>
-
- * tree-optimize.c (execute_ipa_pass_list): New.
- (ipa_passes): Use it.
-
-2005-06-16 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/22022
- * tree-complex.c (update_phi_components): Avoid no-op moves.
-
-2005-06-16 Joseph S. Myers <joseph@codesourcery.com>
-
- * Makefile.in (cc1-checksum.c): Use
- build/genchecksum$(build_exeext), not build/genchecksum$(exeext).
-
-2005-06-16 Geoffrey Keating <geoffk@apple.com>
-
- * gengtype.c (adjust_field_rtx_def): Don't add a skip to
- basic_block types.
-
- * config/t-slibgcc-darwin (SHLIB_SOVERSION): Rename from
- SHLIB_MINOR.
- (SHLIB_REVISION): Delete.
- (SHLIB_VERSTRING): Update to compensate.
- (SHLIB_SONAME): Just use one '.' in the name.
-
-2005-06-16 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR tree-optimization/22018
- * tree-vrp.c (vrp_int_const_binop): Overhaul handling of overflow.
-
-2005-06-16 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/22035
- * builtins.c (fold_builtin_complex_mul): Remove.
- (fold_builtin_complex_div): Remove.
- (fold_builtin_1): Don't call them.
- * fold-const.c (fold_complex_add, fold_complex_mult_parts,
- fold_complex_mult, fold_complex_div_parts, fold_complex_div): Remove.
- (fold_binary): Don't call them. Don't expand complex comparisons to
- elementary comparisons.
- * tree-complex.c (init_dont_simulate_again): Enhance search for
- stmts that require decomposition.
- (complex_visit_stmt): Handle RETURN_EXPR properly.
- (create_components): Handle no referenced variables properly.
- * tree.h (fold_complex_mult_parts): Remove.
- (fold_complex_div_parts): Remove.
-
-2005-06-16 Richard Guenther <rguenth@gcc.gnu.org>
-
- * doc/extend.texi: Document sseregparm target attribute.
- Clarify fastcall and regparm documentation.
- * config/i386/i386.h: Adjust float_in_sse documentation.
- * config/i386/i386.c: Add new target attribute sseregparm.
- (ix86_handle_cdecl_attribute, ix86_handle_regparm_attribute):
- Merge into ...
- (ix86_handle_cconv_attribute): ... here. Also handle
- sseregparm attribute.
- (ix86_comp_type_attributes): Compare sseregparm attributes.
- (ix86_function_sseregparm): New function, split out from ...
- (init_cumulative_args): ... here. Use to decide use
- of SSE registers and error in case of missing support.
- (ix86_value_regno): Likewise.
- (function_arg_advance): Do not bail out for DFmode if we need
- to pass doubles in registers.
- (function_arg): Likewise.
-
-2005-06-16 Paolo Bonzini <bonzini@gnu.org>
- Daniel Jacobowitz <dan@codesourcery.com>
- Alan Modra <amodra.bigpond.net.au>
-
- * configure.ac (gcc_version): Set near the beginning.
- (as, ld, nm): Do not link in-tree tools. Set gcc_cv_* if tools are
- found in the tree. Use gcc_AC_PROG to find the tools in the system.
- (objdump): Do not look for it.
- * Makefile.in (NM_FOR_TARGET): Point to ./nm
- (ORIGINAL_AS_FOR_TARGET, ORIGINAL_LD_FOR_TARGET,
- ORIGINAL_NM_FOR_TARGET): Substitute from autoconf.
- (as, ld, nm): New rules.
- (libgcc.mk): Depend on them.
- * aclocal.m4 (gcc_AC_TOOL_DIRS, gcc_AC_CHECK_TOOL,
- gcc_AC_BUILD_EXEEXT): New.
- (gcc_AC_CHECK_PROG_VER): Use gcc_AC_BUILD_EXEEXT.
- * configure: Regenerate.
-
-2005-06-16 Jan Hubicka <jh@suse.cz>
-
- * basic-block.h (rtl_bb_info): Break out head_, end_,
- global_live_at_start, global_live_at_end from ...
- (basic_block_def): ... here; update all references
- (BB_RTL): New flag.
- (init_rtl_bb_info): Declare.
- * cfgexpand.c (expand_gimple_basic_block): Init bb info, set BB_RTL
- flag.
- * cfgrtl.c: Include ggc.h
- (create_basic_block_structure): Init bb info.
- (rtl_verify_flow_info_1): Check BB_RTL flag and rtl_bb_info pointer.
- (init_rtl_bb_info): New function.
- (rtl_merge_block, cfglayout_merge_block): Copy global_live_at_end here.
- * cfghooks.c (merge_block): Do not copy global_live_at_end here.
- * cfg.c (clear_bb_flags): Skip BB_RTL flag.
- (dump_flow_info): Gueard global_live_* dumping.
-
- * Makefile.in (cfg.o): Add new dependencies.
- * basic-block.h (reorder_block_def): Kill
- original/copy/duplicated/copy_number fields.
- (BB_DUPLICATED): New flag.
- (initialize_original_copy_tables, free_original_copy_tables,
- set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New.
- * cfg.c: Include hashtab.h and alloc-pool.h
- (bb_original, bb_copy, original_copy_bb_pool): New static vars.
- (htab_bb_copy_original_entry): New struct.
- (bb_copy_original_hash, bb_copy_original_eq): New static functions.
- (initialize_original_copy_tables, free_original_copy_tables,
- set_bb_original, get_bb_original, set_bb_copy, get_bb_copy): New
- global functions.
- * cfghooks.c (duplicate_block): Update original/copy handling.
- * cfglayout.c (fixup_reorder_chain): Likewise.
- (cfg_layout_initialize): Initialize orignal_copy tables.
- (cfg_layout_finalize): FInalize original_copy tables.
- (can_copy_bbs_p): Use BB_DUPLICATED flag.
- (copy_bbs): Likewise.
- * cfgloopmanip.c (update-single_exits_after_duplication): Likewise.
- (duplicate_loop_to_header_edge): Likewise; update handling of
- copy_number.
- (loop_version): Likewise.
- * dominance.c (get_dominated_by_region): Use BB_DUPLICATED_FLAG.
- * except.c (expand_resx_expr): Check that reg->resume is not set.
- * loop-unroll.c (unroll_loop_constant_iterations,
- unroll_loop_runtime_iterations, apply_opt_in_copies): Update
- copy/original handling.
- * loop-unwitch.c (unswitch_loop): Likewise.
- * tree-cfg.c (create_bb): Do not initialize RBI.
- (disband_implicit_edges): Do not kill RBI.
- (add_phi_args_after_copy_bb): Use new original/copy mapping.
- (add_phi_args_after_copy): Use BB_DUPLICATED flag.
- (tree_duplicate_sese_region): Update original/copy handling.
- * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely): Likewise.
- * tree-ssa-loop-manip.c (copy_phi_node_args): Likewise.
- * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Likewise.
-
-2005-06-15 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/21923
- * tree-ssa.c (tree_ssa_useless_type_conversion_1): Conversions between
- integer types whos ranges are different are not useless.
-
-2005-06-15 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/22024
- * tree-ssa-reassoc.c (init_reassoc): Also give chain decl a distint
- rank.
-
-2005-06-15 Diego Novillo <dnovillo@redhat.com>
-
- * tree-ssa-structalias.c (dump_solution_for_var): Reformat
- output.
- (dump_sa_points_to_info): Make extern.
- (debug_sa_points_to_info): New.
- * tree-ssa-structalias.h (TREE_SSA_STRUCTALIAS_H): Rename from
- TREE_ALIAS_COMMON.
- (dump_sa_points_to_info): Declare.
- (debug_sa_points_to_info): Declare.
-
-2005-06-15 Joseph S. Myers <joseph@codesourcery.com>
-
- * c-tree.h (default_function_array_conversion): Declare.
- * c-typeck.c (default_function_array_conversion): Export. Correct
- comment.
- (default_conversion): Do not call
- default_function_array_conversion. Do not allow FUNCTION_TYPE.
- (build_function_call): Call default_function_array_conversion on
- the function.
- (convert_arguments): Do not call it on the function arguments.
- (build_unary_op): Do not allow ARRAY_TYPE or FUNCTION_TYPE for
- TRUTH_NOT_EXPR. Call default_function_array_conversion for taking
- address of ARRAY_REF.
- (build_compound_expr): Do not call
- default_function_array_conversion.
- (build_c_cast): Do not call default_function_array_conversion.
- (convert_for_assignment): Do not call default_conversion.
- (digest_init): Call default_function_array_conversion to convert
- string constants and compound literals to pointers, but not
- otherwise.
- (output_init_element): Likewise.
- (build_asm_expr): Do not call default_function_array_conversion.
- (c_process_expr_stmt): Likewise.
- (c_objc_common_truthvalue_conversion): Likewise. Do not allow
- FUNCTION_TYPE.
- * c-parser.c (c_parser_expression_conv): New.
- (c_parser_asm_operands, c_parser_expr_list): Add convert_p
- argument. All callers changed. Call
- default_function_array_conversion if convert_p.
- (c_parser_initializer, c_parser_initval): Call
- default_function_array_conversion except for string constants and
- compound literals.
- (c_parser_initelt): Call default_function_array_conversion for
- ObjC expression received.
- (c_parser_statement_after_labels): Call c_parser_expression_conv
- for return and expression statements.
- (c_parser_paren_condition, c_parser_for_statement,
- c_parser_conditional_expression): Call c_parser_expression_conv.
- (c_parser_expr_no_commas, c_parser_conditional_expression,
- c_parser_binary_expression, c_parser_cast_expression,
- c_parser_unary_expression): Call
- default_function_array_conversion.
-
-2005-06-15 Diego Novillo <dnovillo@redhat.com>
-
- * tree-vrp.c (vrp_int_const_binop): Do not handle MAX_EXPR
- when the result overflows.
-
-2005-06-15 David Ung <davidu@mips.com>
-
- * config/mips/mips.c (mips_rtx_cost_data): Add cost for 4kc, 4kp,
- 24k and 24kx.
-
-2005-06-15 Richard Sandiford <richard@codesourcery.com>
-
- * doc/invoke.texi (-mips16): Fix typo.
-
-2005-06-15 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (GENERATE_MIPS16E): New definition.
- * config/mips/mips.md (zero_extend<SHORT:mode><GPR:mode>2):
- Changed expand condition to exclude generating of "and" if
- GENERATE_MIPS16E is true.
- (*zero_extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for
- matching mips16e zeb/zeh.
- (*extend<SHORT:mode><GPR:mode>2_mips16e): New pattern for matching
- mips16e seb/seh.
- (*extend<SHORT:mode><GPR:mode>2): Disable this pattern for
- GENERATE_MIPS16E.
- * doc/invoke.texi (MIPS Options): Add comment to -mips16
- indicating MIPS16e ASE is used if targetting for MIPS32 or MIPS64.
-
-2005-06-15 Diego Novillo <dnovillo@redhat.com>
-
- PR 22018
- * tree-vrp.c (vrp_int_const_binop): New.
- (extract_range_from_binary_expr): Call it.
- Unify handling division and multiplication.
-
-2005-06-15 Aldy Hernandez <aldyh@redhat.com>
-
- * c-common.h (same_scalar_type_ignoring_signedness): Protoize.
-
- * c-common.c (same_scalar_type_ignoring_signedness): New.
-
- * c-typeck.c (build_binary_op): Check compatability of vector
- types. Move error report after switch.
- Do not clobber code[01] on *_DIV_EXPR case.
-
- * testsuite/gcc.dg/simd-1.c: Update error messages.
- * testsuite/gcc.dg/simd-1b.c: Re-enable tests. Update error
- messages.
- * testsuite/gcc.dg/simd-2.c: Update error messages.
- * testsuite/gcc.dg/simd-4.c: New.
-
-2005-06-15 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * Makefile.in (local-alloc.o): Depend on $(GGC_H) and reload.h.
- * local-alloc.c: Include "ggc.h" and "reload.h".
- (struct equivalence): New member is_arg_equivalence.
- (local_alloc): Always call update_equiv_regs.
- (update_equiv_regs): Allocate reg_equiv_init; set reg_equiv_init_size.
- Detect equivalences made by stores to memory in a second pass.
- Return early if not optimizing.
- Initialize reg_equiv_init for all equivalences; treat equivalences for
- REG_EQUIV notes existing before this pass specially.
- (no_equiv): Don't clear reg_equiv_init or remove notes if the
- is_arg_equivalence field is set.
- * reload.h (reg_equiv_init, reg_equiv_init_size): Declare.
- * reload1.c (reg_equiv_init): No longer static.
- (reg_equiv_init_size): New variable.
- (reload): Don't allocate reg_equiv_init; don't free it when done but
- clear it.
- Restructure equivalence set up code not to set reg_equiv_init, but to
- clear it when we can't use an equivalence.
- Undo change disabling equivalences for MEM_READONLY_P memrefs.
- Dump equivalencing insns to dump_file.
-
-2005-06-14 Richard Sandiford <richard@codesourcery.com>
-
- * config/mips/mips.c (machine_function): Add varargs_size field.
- (mips_setup_incoming_varargs): Store the amount of extra stack space
- there rather than in *pretend_size. When saving registers, always
- expect virtual_incoming_args_rtx to point to the start of the
- pretend arguments.
- (mips_va_start): Remove alignment hack. Handle all
- !EABI_FLOAT_VARARGS_P cases in the same way.
- (compute_frame_size): Handle varargs_size. Remove the redundant
- !TARGET_OLDABI condition in the handling of pretend_args_size.
- (mips_initial_elimination_offset): Remove the now-redundant check
- of TARGET_NEWABI.
-
-2005-06-14 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (local_fold): Remove.
- (simplify_using_ranges): Use fold_convert, not local_fold. Tweak
- DIV/MOD case slightly for readability.
-
-2005-06-14 Frank Ch. Eigler <fche@redhat.com>
-
- PR mudflap/21023
- * tree-mudflap.c (mudflap_finish_file): Exclude non-public
- rather than static objects (!) from libmudflap registration.
-
-2005-06-14 Richard Sandiford <richard@codesourcery.com>
-
- * opt-functions.awk (global_state_p, needs_state_p, static_var): New.
- (var_ref): Take the option's flags as a second parameter. Check
- static_var.
- * optc-gen.awk: Declare local state variables. Pass flags to var_ref.
-
-2005-06-14 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR target/20301
- * config/sparc/sol2.h (ASM_GENERATE_INTERNAL_LABEL): Emit
- unsigned index numbers.
-
-2005-06-13 Geoffrey Keating <geoffk@apple.com>
-
- * Makefile.in (install-man): Doesn't really depend on installdirs.
- (various rules for installing manpages): Do depend on installdirs.
-
-2005-06-14 Nathan Sidwell <nathan@codesourcery.com>
-
- * unwind-dw2-fde-darwin.c (examine_objects): Fix aliasing in
- read_encoded_value_with_base call.
- * unwind-dw2-fde-glibc.c (_Unwind_IteratePhdrCallback): Likewise.
- * unwind-dw2-fde.c (_Unwind_Find_FDE): Likewise.
- * unwind-dw2.c (extract_cie_info): Fix aliasing in
- read_encoded_value call.
- (execute_cfa_program, uw_frame_state_for): Likewise.
-
-2005-06-13 Roger Sayle <roger@eyesopen.com>
-
- PR rtl-optimization/22053
- * reg-stack.c (compensate_edge): Correct mistake in the assertion
- checking of EDGE_ABNORMAL_CALL edges; complex return values can
- result in the top two stack slots, st(0) and st(1), being live.
-
-2005-06-13 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (simplify_rhs_and_lookup_avail_expr): No longer
- simplify DIV, MOD or ABS expressions using VRP information.
- Remove WALK_DATA parameter. Prototype and all callers updated.
- (eliminate_redundant_computations): Remove WALK_DATA parameter.
- Prototype and all callers updated.
- (optimize_stmt): WALK_DATA parameter is now unused.
-
- * tree-vrp.c (local_fold): New function. Like fold, but
- strips useless type conversions in the result.
- (simplify_using_ranges): New function, largely cribbed from
- tree-ssa-dom.c::simplify_rhs_and_lookup_avail_expr.
- (vrp_finalize): Call simplify_using_ranges.
-
-2005-06-13 Mark Mitchell <mark@codesourcery.com>
-
- * config/i386/x86-64.h (ASM_SPEC): Explicitly pass --64 to the
- assembler in 64-bit mode.
-
-2005-06-13 David Edelsohn <edelsohn@gnu.org>
-
- Revert scc_operand patch.
- * config/rs6000/predicates.md (scc_operand): Delete.
- * config/rs6000/rs6000.md (scc_operand): Change to scc_eq_operand.
-
-2005-06-13 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR middle-end/21985
- * fold-const.c (split_address_to_core_and_offset): Always return
- the address of the base object.
-
-2005-06-13 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * doc/invoke.texi (Blackfin Options): Document -mlong-calls.
-
-2005-06-12 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/21994
- * tree-complex.c (update_complex_components_on_edge): New.
- (update_parameter_components): Use it.
- (update_phi_components): Likewise.
- (expand_complex_move): Likewise for is_ctrl_altering_stmt.
-
-2005-06-12 James A. Morrison <phython@gcc.gnu.org>
-
- PR tree-optimization/14796
- * fold-const (fold_binary): Transform (X << C) >> C into X & (-1>>C)
- for unsigned types.
-
-2005-06-12 Kazu Hirata <kazu@codesourcery.com>
-
- * cgraphunit.c, tree-ssa-loop-ivopts.c,
- tree-ssa-structalias.c, tree-vectorizer.c, tree-vectorizer.h,
- config/sparc/sparc.c: Fix comment typos.
-
-2005-06-12 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm/ieee754-df.s (aeabi_dcmpeq, aeabi_dcmplt, aeabi_dcmple)
- (aeabi_dcmpge, aeabi_dcmpgt): Maintain 8-byte stack alignment.
- * arm/ieee754-sf.s (aeabi_l2f, aeabi_fcmpeq, aeabi_fcmplt)
- (aeabi_fcmple, aeabi_fcmpge, aeabi_fcmpgt): Likewise.
-
-2005-06-12 James A. Morrison <phython@gcc.gnu.org>
-
- PR tree-optimization/14796
- * fold-const.c (fold_binary): Transform (A >> C) << C into
- one BIT_AND_EXPR.
- <shift>: Transform (A OP c1) OP c2 into A OP (c1 + c2).
-
-2005-06-11 Geoffrey Keating <geoffk@apple.com>
-
- * config/rs6000/predicates.md (reg_or_arith_cint_operand): Delete.
- (reg_or_add_cint_operand): Rename from reg_or_add_cint64_operand.
- Handle SImode.
- (reg_or_sub_cint_operand): Likewise.
- (mask_operand): Handle DImode.
- (mask64_operand): Delete.
- (and64_operand): Delete.
- * config/rs6000/rs6000.c (num_insns_constant): Use mask_operand
- instead of mask64_operand.
- (print_operand): Likewise.
- (rs6000_rtx_costs): Use mask_operand and reg_or_add_cint_operand and
- reg_or_sub_cint_operand instead of *64_* variants.
- * config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Use mask_operand
- instead of mask64_operand.
- * config/rs6000/rs6000.md: Use mask_operand and and_operand instead
- of *64_* variants.
- (FP): New.
- (add_op2): Delete.
- (add<mode>3): Use reg_or_add_cint_operand.
- (sub_op2): Delete.
- (sub<mode>3): Use reg_or_sub_cint_operand.
- (udiv<mode>3, div<mode>3, div<mode>3_no_mq, mod<mode>3,
- mov<mode>_internal2, mov<mode>, cmp<mode>, cmp<mode>,
- cmp<mode>_internal1, indirect_jump<mode>, ctr<mode>,
- ctr<mode>_internal1, ctr<mode>_internal2, ctr<mode>_internal5,
- ctr<mode>_internal6, save_fpregs_<mode>, return_internal_<mode>,
- return_and_restore_fpregs_<mode>, eh_set_lr_<mode>,
- various unnamed patterns): New.
- (udivsi3, divsi3, divsi3_no_mq, modsi3, movsi_internal2, movsi,
- cmpsi, cmpsi_internal1, indirect_jumpsi, ctrsi, ctrsi_internal1,
- ctrsi_internal2, ctrsi_internal5, ctrsi_internal6, save_fpregs_si,
- return_internal_si, return_and_restore_fpregs_si, eh_set_lr_si,
- udivdi3, divdi3, divdi3_no_mq, moddi3, movdi_internal2, movdi,
- cmpdi, cmpdi_internal1, indirect_jumpdi, ctrdi, ctrdi_internal1,
- ctrdi_internal2, ctrdi_internal5, ctrdi_internal6, save_fpregs_di,
- return_internal_di, return_and_restore_fpregs_di, eh_set_lr_di,
- movhi, movqi, cmpsf, cmpdf, cmptf, various unnamed patterns):
- Delete.
-
-2005-06-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * rtl.h (to_rtx_code): Remove.
- * machmode.h (to_machine_mode): Likewise.
- * read-rtl.c (apply_mode_macro): Replace to_machine_mode with
- explicit cast.
- (apply_mode_maps): Likewise.
- (read_rtx_1): Likewise.
- (apply_code_macro): Replace to to_rtx_code with explicit cast.
- (check_code_macro): Likewise.
- (read_rtx_1): Likewise.
-
-2005-06-11 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * c-typeck.c (convert_for_assignment): Avoid checking
- OPT_Wc___compat, as it is always true.
-
-2005-06-11 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.md (eq<mode>_compare): Restrict to Pmode.
-
-2005-06-11 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/22005
- Fix PR tree-optimization/22025
-
- * tree-ssa-structalias.c (struct variable_info): Add has_union
- member.
- (create_variable_info_for): Mark variables containing unions.
- Don't sort the field stack if notokay is true.
- (find_what_p_points_to): Convert variables containing unions back
- to their SFT's if necessary.
-
-2005-06-11 Daniel Berlin <dberlin@dberlin.org>
-
- * lambda-code.c (replace_uses_equiv_to_x_with_y): Verify the step
- is an INTEGER_CST before calling int_cst_value.
-
-2005-06-10 Uros Bizjak <uros@kss-loka.si>
-
- PR target/21981
- * config/i386/i386.c (ix86_function_value_regno_p): Return true
- for FIRST_MMX_REG if TARGET_MMX.
- (ix86_return_in_memory): Return 1 for MMX/3dNow vectors. Delete
- wrong comment.
- (ix86_struct_value_rtx): Emit warning for MMX ABI violations.
- (ix86_value_regno): Return FIRST_MMX_REG for MMX vector modes.
-
-2005-06-10 Daniel Berlin <dberlin@dberlin.org>
-
- * lambda-code.c (replace_uses_equiv_to_x_with_y): Check step
- and access function against chrec_dont_know.
-
-2005-06-10 Daniel Berlin <dberlin@dberlin.org>
-
- * lambda-code.c (replace_uses_of_x_with_y): Renamed and rewritten
- slightly.
- (exit_phi_for_loop_p): New function.
- (can_put_in_inner_loop): Ditto.
- (can_convert_to_perfect_nest): Ditto.
- (perfect_nestify): Create iv with right type.
- Rewrite statements in correct order.
-
-2005-06-10 Keith Besaw <kbesaw@us.ibm.com>
-
- * tree-ssa-alias.c (new_type_alias): Use existing type
- tag if VAR has just one in its may_aliases list.
-
-2005-06-10 Fariborz Jahanian <fjahanian@apple.com>
-
- * rs6000/predicates.md (scc_operand): New.
- * rs6000/rs6000.md : Use scc_operand for eq:SI compares.
-
-2005-06-10 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-vect-analyze.c (vect_analyze_data_ref_dependence): DRs whose
- dependence-distance modulo VF is 0 are recorded in the
- SAME_ALIGN_REFs VEC in each DR.
- (vect_enhance_data_refs_alignment): Avoid 80 column overflow. The
- alignment information of DRs that are in the SAME_ALIGN_REFs VEC of the
- DR we want to peel for, is set to 0.
- * tree-vect-transform.c (vect_do_peeling_for_loop_bound): Fix printout.
- * tree-vectorizer.c (destroy_loop_vec_info): Free the SAME_ALIGN_REFs
- VEC.
- * tree-vectorizer.h (dr_p): New type. Defined to use the VEC API.
- (_stmt_vec_info): Added new field same_align_refs.
- (STMT_VINFO_SAME_ALIGN_REFS): New macro.
-
-2005-06-10 Nathan Sidwell <nathan@codesourcery.com>
-
- * vec.h (VEC_safe_grow): Append MEM_STAT_INFO.
-
-2005-06-10 Alan Modra <amodra@bigpond.net.au>
-
- * config/rs6000/linux.h (NO_PROFILE_COUNTERS): Define.
- * config/rs6000/linux64.h (NO_PROFILE_COUNTERS): Define as 1.
- * config/rs6000/rs6000.c (output_function_profiler): Obey
- NO_PROFILE_COUNTERS. Handle TARGET_SECURE_PLT. Use "bcl 20,31"
- for -fPIC. Delete save_lr and substitute its value into strings.
-
-2005-06-09 Dale Johannesen <dalej@apple.com>
-
- * config/i386/i386.c (optimization_options): Make -fno-math-errno
- the default on Darwin.
- * config/rs6000/rs6000.c (optimization_options): Ditto.
- * doc/invoke.texi (-fno-math-errno): Document.
-
-2005-06-09 Dale Johannesen <dalej@apple.com>
-
- * config/rs6000/rs6000.c (TARGET_INSN_VALID_WITHIN_DOLOOP):
- Change to TARGET_INVALID_WITHIN_DOLOOP.
-
-2005-06-09 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.md (eq): Convert to define_insn_and_split.
- * config/rs6000/predicates.md (scc_eq_operand): New.
-
-2005-06-09 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (mextr_rl): Set buffer size properly.
- (*mextr_lr): Likewise.
-
-2005-06-09 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- PR c/21759
- * c.opt (Wc++-compat): New.
- * doc/invoke.texi (-Wc++-compat): Document.
- * c-typeck.c (convert_for_assignment): Check for implicit
- conversion void* -> T*.
-
-2005-06-09 Gabriel Dos Reis <gdr@integrable-solutions.edu>
-
- * machmode.h (to_machine_mode): New.
- * rtl.h (to_rtx_code): Likewise.
- * read-rtl.c (apply_mode_macro): Convert mode to machine_mode.
- (print_c_condition): Convert return value of htab_find().
- (apply_code_macro): Add explicit cast when convertin to enums.
- (apply_mode_maps): Likewise.
- (check_code_macro): Likewise.
- (read_rtx_1): Likewise.
-
-2005-06-09 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (update_set_flags): Just return for IF_THEN_ELSE.
- Use SCALAR_FLOAT_MODE_P.
- * config/ia64/vect.md (vcondv2sf): Remove code check on comparison.
- (fselect): Rename from fpcmp; use %F.
- (fpcmp): New.
-
-2005-06-09 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_create_edges): Do not walk BLOCK; finalize
- local statics when doing unit-at-a-time.
- (cgraph_varpool_assemble_pending_decls): Output debug info.
- * dwarf2out.c (decls_for_scope): Skip local statics.
- (dwarf2out_decl): Handle local statics.
- * passes.c (rest_of_decl_compilation): Do not differentiate
- local and global statics in unit-at-a-time.
- * tree-inline.c (remap_decls): Put local static into
- unexpanded_vars_list rather than introducing duplicated VAR_DECL
- node.
-
-2005-06-09 Daniel Berlin <dberlin@dberlin.org>
-
- * config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Fix
- prototype.
-
-2005-06-08 Daniel Berlin <dberlin@dberlin.org>
-
- * Makefile.in (OBJS-common): Add tree-ssa-structalias.o.
- * tree-flow.h (find_what_p_points_to): Add prototype.
- (push_fields_onto_fieldstack): Ditto.
- (sort_fieldstack): Ditto.
- * tree-optimize.c (init_tree_optimization_passes): Add
- pass_build_pta and pass_del_pta.
- * tree-pass.h (pass_build_pta): New structure.
- (pass_del_pta): Ditto.
- * tree-ssa-alias.c (compute_flow_sensitive_aliasing): Disambiguate
- using new alias analyzer.
- (push_fields_onto_fieldstack): Removed from here.
- (bitpos_of_field): Ditto.
- (fieldoff_compare): Ditto.
- * tree-ssa-structalias.c: New file.
- * tree-ssa-structalias.h: Ditto.
-
-2005-06-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * c-typeck.c (build_c_cast): Check type punning on COMPONENT_REF
- too.
-
-2005-06-09 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (enum bfin_builtins): Moved here from...
- * config/bfin/bfin.h (enum bfin_builtins): ... here.
-
-2005-06-09 Adrian Straetling <straetling@de.ibm.com>
-
- * target.h (insn_valid_within_doloop): Rename into
- "invalid_within_doloop". Change return type to "const char *".
- Update Comment.
- * targhooks.h (default_insn_valid_within_doloop): Rename into
- "default_invalid_within_doloop".
- * targhooks.c (default_insn_valid_within_doloop): Likewise.
- Update Comment.
- * target-def.h (TARGET_INSN_VALID_WITHIN_DOLOOP): Rename target hook
- into "TARGET_INVALID_WITHIN_DOLOOP". Default it to
- "default_invalid_within_doloop".
- * hooks.c (hook_constcharptr_rtx_null): New function.
- (hook_bool_rtx_true): Remove.
- * hooks.h (hook_constcharptr_rtx_null): Declare.
- (hook_bool_rtx_true): Remove.
- * loop-doloop.c (doloop_valid_p): Temporarily store return value of
- "invalid_within_doloop" and print error message if non-null.
- Update Comment.
- * doc/tm.texi: Update documentation.
- * config/s390/s390.c: Adjust to new hook name and new default hook.
- * config/rs6000/rs6000.c: (rs6000_insn_valid_within_doloop): Rename
- into "rs6000_invalid_within_doloop".
- (rs6000_invalid_within_doloop): Change return type to "static const
- char *" and replace return values. Update Comment.
-
-2005-06-09 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.opt (mlong-calls): New.
- * config/bfin/predicates.md (call_insn_operand): Disallow SYMBOL_REF
- if TARGET_LONG_CALLS.
-
-2005-06-09 Richard Henderson <rth@redhat.com>
-
- PR tree-opt/20610
- * tree.h (DECL_COMPLEX_GIMPLE_REG_P): New.
- (struct tree_decl): Add gimple_reg_flag.
- * integrate.c (copy_decl_for_inlining): Copy it.
- * gimplify.c (internal_get_tmp_var): Set it.
- (gimplify_bind_expr): Likewise.
- (gimplify_function_tree): Likewise.
- (gimplify_modify_expr_complex_part): New.
- (gimplify_modify_expr): Use it.
- * tree-gimple.c (is_gimple_reg_type): Allow complex.
- (is_gimple_reg): Allow complex with DECL_COMPLEX_GIMPLE_REG_P set.
-
- * tree-complex.c (complex_lattice_t): New.
- (complex_lattice_values, complex_variable_components): New.
- (some_nonzerop, find_lattice_value, is_complex_reg,
- init_parameter_lattice_values, init_dont_simulate_again,
- complex_visit_stmt, complex_visit_phi, create_components,
- update_complex_components, update_parameter_components,
- update_phi_components, update_all_vops, expand_complex_move): New.
- (extract_component): Handle INDIRECT_REF, COMPONENT_REF, ARRAY_REF,
- SSA_NAME.
- (update_complex_assignment): Use update_complex_components;
- handle updates of return_expr properly.
- (expand_complex_addition): Use complex lattice values.
- (expand_complex_multiplication): Likewise.
- (expand_complex_division): Likewise.
- (expand_complex_libcall): Use update_complex_components.
- (expand_complex_comparison): Use update_stmt.
- (expand_complex_operations_1): Use expand_complex_move, retrieve
- lattice values.
- (tree_lower_complex): Compute lattice values.
- (tree_lower_complex_O0): Duplicate from tree_lower_complex.
- (pass_lower_complex_O0): Rename from pass_lower_complex.
- (pass_lower_complex, gate_no_optimization): New.
- * tree-optimize.c (init_tree_optimization_passes): Update for
- complex pass changes.
- * tree-pass.h (pass_lower_complex_O0): Declare.
-
-2005-06-08 Dale Johannesen <dalej@apple.com>
-
- * config/darwin.c (darwin_binds_local_p): New.
- * config/darwin-protos.h (darwin_binds_local_p): Declare it.
- * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Use it for TARGET_MACHO.
- * config/rs6000/rs6000.c (rs6000_binds_local_p): Remove.
- (TARGET_BINDS_LOCAL_P): Change it to darwin_binds_local_p.
-
-2005-06-08 Aldy Hernandez <aldyh@redhat.com>
-
- * config/rs6000/rs6000.h: Remove rs6000_long_double_size_string,
- rs6000_isel, rs6000_spe, rs6000_alignment_string,
- rs6000_sched_restricted_insns_priority_str,
- rs6000_sched_restricted_insns_priority, rs6000_abi_string.
-
-2005-06-08 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-address.c (addr_for_mem_ref): Use LAST_VIRTUAL_REGISTER
- instead of FIRST_PSEUDO_REGISTER for creating pseudoregisters.
- * tree-ssa-loop-ivopts.c (add_cost, multiply_by_cost,
- multiplier_allowed_in_address_p, get_address_cost): Ditto.
-
-2005-06-08 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.h (NO_PROFILE_COUNTERS): New.
- * config/ia64/ia64.c (ia64_output_function_profiler): Honor it.
- Emit out3 load right after alloc.
-
-2005-06-08 Aldy Hernandez <aldyh@redhat.com>
-
- * config/rs6000/linuxspe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use
- rs6000_explicit_options.
-
-2005-06-08 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.h (FUNCTION_PROFILER): Move implementation ...
- * config/ia64/ia64.c (ia64_output_function_profiler): ... here; add
- unwind markup.
- * config/ia64/ia64-protos.h (ia64_output_function_profiler): Declare.
-
-2005-06-08 Joseph S. Myers <joseph@codesourcery.com>
-
- * config/sol2-c.c (cmn_err_char_table): Allow width for %b
- formats.
-
-2005-06-08 James A. Morrison <phython@gcc.gnu.org>
-
- PR target/20666
- * config/sparc/sparc.c (sparc_fold_builtin): New function
- (sparc_vis_mul8x16): New function.
- (sparc_handle_vis_mul8x16): New function.
- (TARGET_FOLD_BUILTIN): Define to sparc_fold_builtin.
-
-2005-06-08 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.md (call_indirect_nonlocal_aix32): Prefer
- CTR to LR.
- (call_indirect_nonlocal_aix64): Same.
- (call_value_indirect_nonlocal_aix32): Same.
- (call_value_indirect_nonlocal_aix64): Same.
-
- PR target/10588
- (eq): Use CLZ splitter for compare with zero.
-
-2005-06-08 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (bfin_return_in_memory): Simplify; return
- everything larger than 8 bytes in memory.
-
- * config/bfin/bfin.h (enum bfin_builtins): New.
- * config/bfin/bfin.md (UNSPEC_VOLATILE_CSYNC, UNSPEC_VOLATILE_SSYNC):
- New constants.
- (csync, ssync): New insn patterns.
- * config/bfin/bfin.c (bfin_init_builtins, bfin_expand_builtin):
- New functions.
- (def_builtin): New macro.
- (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define.
-
- From Jie Zhang <jie.zhang@analog.com>
- * config/bfin/bfin.h (ASM_OUTPUT_ALIGN): Gas now emulates the
- behavior of the native assembler in VDSP. So change accordingly.
-
-2005-06-08 Sebastian Pop <pop@cri.ensmp.fr>
-
- * tree-data-ref.c (compute_estimated_nb_iterations,
- analyze_array_indexes, compute_overlap_steps_for_affine_1_2,
- analyze_subscript_affine_affine, find_data_references_in_loop):
- Fixed to use chrec_contains_undetermined to test the values of
- loop->estimated_nb_iterations.
- * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop):
- Compute the estimation only when loop->estimated_nb_iterations
- has not yet been initialized.
- (convert_step_widening, scev_probably_wraps_p): Add a call to
- estimate_numbers_of_iterations_loop.
- * tree-vrp.c (execute_vrp): Don't call estimate_numbers_of_iterations.
-
-2005-06-08 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR debug/21946
- * dwarf2out.c (add_loc_descr_op_piece): Move to the
- DWARF2_DEBUGGING_INFO section.
-
-2005-06-08 Richard Henderson <rth@redhat.com>
-
- PR target/21721
- * config/ia64/ia64.c (emit_predicate_relation_info): Skip p0.
-
-2005-06-08 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR target/21889
- * target.h (gcc_target) <asm_out>: New field output_dwarf_dtprel.
- * target-def.h (TARGET_ASM_OUTPUT_DWARF_DTPREL): New macro.
- (TARGET_ASM_OUT): Add it.
- * doc/tm.texi (Debugging Info): Document it.
- * dwarf2out.c (output_loc_operands) <INTERNAL_DW_OP_tls_addr>:
- Test it instead of ASM_OUTPUT_DWARF_DTPREL.
- (loc_descriptor_from_tree_1) <VAR_DECL>: Likewise.
- * system.h: Poison ASM_OUTPUT_DWARF_DTPREL.
- * config/frv/frv-protos.h (frv_output_dwarf_dtprel): Delete.
- * config/frv/frv.c (frv_output_dwarf_dtprel): Make static and unused.
- (gen_inlined_tls_plt): Remove unused variable MEM.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to frv_output_dwarf_dtprel.
- * config/frv/frv.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
- * config/i386/i386-protos.h (i386_output_dwarf_dtprel): Delete.
- * config/i386/i386.c (i386_output_dwarf_dtprel): Make static and
- unused.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to i386_output_dwarf_dtprel.
- * config/i386/i386.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
- * config/ia64/ia64-protos.h (ia64_output_dwarf_dtprel): Delete.
- * config/ia64/ia64.c (ia64_output_dwarf_dtprel): Make static and
- unused.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to ia64_output_dwarf_dtprel.
- * config/ia64/ia64.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
- * config/rs6000/rs6000-protos.h (rs6000_output_dwarf_dtprel): Delete.
- * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Make static and
- unused.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to rs6000_output_dwarf_dtprel
- * config/rs6000/rs6000.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
- * config/s390/s390-protos.h (s390_output_dwarf_dtprel): Delete.
- * config/s390/s390.c (s390_output_dwarf_dtprel): Make static and
- unused.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to s390_output_dwarf_dtprel.
- * config/s390/s390.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
- * config/sparc/sol2-gas.h (TARGET_SUN_TLS): Define to 0.
- (TARGET_GNU_TLS): Define to 1.
- * config/sparc/sparc-protos.h (sparc_output_dwarf_dtprel): Delete.
- * config/sparc/sparc.c (sparc_output_dwarf_dtprel): Make static and
- unused.
- (TARGET_ASM_OUTPUT_DWARF_DTPREL): Define to sparc_output_dwarf_dtprel
- if TARGET_GNU_TLS only.
- * config/sparc/sparc.h (ASM_OUTPUT_DWARF_DTPREL): Delete.
-
- * config.gcc (sparc64-*-solaris2*): Include tm-dwarf2.h last.
- (sparc-*-solaris2*): Likewise on Solaris 7 and up.
-
-2005-06-07 Dale Johannesen <dalej@apple.com>
-
- * config/i386/i386.md (movqi_1): Fix case where source
- is memory and destination EDI.
-
-2005-06-08 Kazu Hirata <kazu@codesourcery.com>
-
- * config/c4x/c4x.h (PREDICATE_CODES): Remove mem_operand.
-
-2005-06-07 Eric Christopher <echristo@redhat.com>
-
- * system.h: Poison EXTRA_CC_MODES.
- * config/frv/frv.h (SELECT_CC_MODE): Rewrite comment.
- * config/ia64/ia64.h (SELECT_CC_MODE): Ditto.
- * doc/md.texi (Jump Patterns): Replace reference to
- EXTRA_CC_MODES with machine-modes.def.
- * doc/rtl.texi (Machine Modes): Ditto.
-
-2005-06-07 Richard Henderson <rth@redhat.com>
-
- * varasm.c (initialize_cold_section_name): Fix alloca buffer overflow.
- (assemble_start_function): Fix strcmp confusion.
-
-2005-06-07 Uros Bizjak <uros@kss-loka.si>
-
- * config/i386/i386.h (enum ix86_entity): New.
- (enum ix86_stack_slot): New.
- (OPTIMIZE_MODE_SWITCHING): Redefine to use
- ix86_optimize_mode_switching[] array.
- (NUM_MODES_FOR_MODE_SWITCHING): Redefine for 4 entities.
- (MODE_NEEDED): Use ix86_mode_needed() function.
- (EMIT_MODE_SET): Redefine for changed emit_i387_cw_initialization ()
- function.
- (struct machine_function): Use optimize_mode_switching[] array.
-
- * config/i386/i386.c (MAX_386_STACK_LOCALS): Remove.
- (ix86_mode_needed): New function.
- (emit_i387_cw_initialization): Cleanup. Use mode to calculate
- correct stack positions for stored control words.
- (assign_386_stack_local): Use enum ix86_stack_slot. Change assert.
- (ix86_expand_builtin) [IX86_BUILTIN_LDMXCSR]: Change constant to
- SLOT_TEMP.
- [IX86_BUILTIN_STMXCSR]: Same.
-
- * config/i386/i386-protos.h (assign_stack_local): Change prototype.
- (emit_i387_cw_initialization): Change prototype.
- (ix86_mode_needed): New prototype.
-
- * config/i386/i386.md (i387_cw attribute): Change order of elements.
- (truncdfsf2, truncxfsf2, truncxfdf2, fix_trunc<mode>_fisttp_i387_1)
- (*fix_trunc<mode>_i387_1, lrint<mode>2, *fist<mode>2_floor_1)
- (*fist<mode>2_ceil_1): Change constant in call to
- assign_386_stack_local to SLOT_TEMP.
- (*fix_trunc<mode>_i387_1): Change constant in call to
- assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
- Use new ix86_optimize_mode_switching[] array.
- (frndintxf2_floor, *fist<mode>2_floor_1): Change constants in call to
- assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_FLOOR.
- Use new ix86_optimize_mode_switching[] array.
- (frndintxf2_ceil, *fist<mode>2_ceil_1): Change constants in call to
- assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_CEIL.
- Use new ix86_optimize_mode_switching[] array.
- (frndintxf2_trunc): Change constants in call to
- assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_TRUNC.
- Use new ix86_optimize_mode_switching[] array.
- (frndintxf2_mask_pm): Change constants in call to
- assign_386_stack_local to SLOT_CW_STORED and SLOT_CW_MASK_PM.
- Use new ix86_optimize_mode_switching[] array.
-
- (define_peephole2): Change constant from 17 to FLAGS_REG;
-
-2005-06-07 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/21528
- * rtlanal.c (reg_overlap_mentioned_p) <MEM>: Handle 'E' formats.
-
-2005-06-07 Dale Johannesen <dalej@apple.com>
-
- * tree-nested.c (finalize_nesting_tree_1): Disable
- warn_padded around layout_type call.
-
-2005-06-08 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-ivopts.c (rewrite_use_outer): Unshare the expression
- before emiting it.
-
-2005-06-07 Eric Christopher <echristo@redhat.com>
-
- * config/mips/predicates.md: Revert previous patch.
-
-2005-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/21850
- * tree.c (get_unwidened): Stop at NOP_EXPR/CONVERT_EXPR that convert
- from vector types.
-
-2005-06-07 Diego Novillo <dnovillo@redhat.com>
-
- * tree-ssa-threadupdate.c (struct thread_stats_d): Declare.
- (thread_stats): New local variable.
- (redirect_edges): Increment count of threaded edges.
- (thread_through_all_blocks): Initialize thread_stats.
- Display number of threaded jumps if TDF_STATS is enabled.
-
-2005-06-07 Kazu Hirata <kazu@codesourcery.com>
-
- * sbitmap.h (sbitmap_iter_init): Consistently treat bit_num as
- the current bit index with no modulo.
-
-2005-06-07 Sebastian Pop <pop@cri.ensmp.fr>
-
- PR 18403 and meta PR 21861.
- * Makefile.in (tree-chrec.o): Depend on CFGLOOP_H and TREE_FLOW_H.
- * tree-chrec.c: Include cfgloop.h and tree-flow.h.
- (evolution_function_is_invariant_rec_p,
- evolution_function_is_invariant_p): New.
- (chrec_convert): Use an extra parameter AT_STMT for refining the
- information that is passed down to convert_step. Integrate the
- code that was in count_ev_in_wider_type.
- * tree-chrec.h (count_ev_in_wider_type): Removed.
- (chrec_convert): Modify its declaration.
- (evolution_function_is_invariant_p): Declared.
- (evolution_function_is_affine_p): Use evolution_function_is_invariant_p.
- * tree-flow.h (can_count_iv_in_wider_type): Renamed convert_step.
- (scev_probably_wraps_p): Declared.
- * tree-scalar-evolution.c (count_ev_in_wider_type): Removed.
- (follow_ssa_edge_in_rhs, interpret_rhs_modify_expr):
- Use an extra parameter AT_STMT for refining the information that is
- passed down to convert_step.
- (follow_ssa_edge_inner_loop_phi, follow_ssa_edge,
- analyze_scalar_evolution_1): Initialize AT_STMT with the current
- analyzed statement.
- (instantiate_parameters_1): Don't know yet how to initialize AT_STMT.
- * tree-ssa-loop-ivopts.c (idx_find_step): Update the use of
- can_count_iv_in_wider_type to use convert_step.
- * tree-ssa-loop-niter.c (can_count_iv_in_wider_type_bound): Move
- code that is independent of the loop over the known iteration
- bounds to convert_step_widening, the rest is moved to
- proved_non_wrapping_p.
- (scev_probably_wraps_p): New.
- (can_count_iv_in_wider_type): Renamed convert_step.
- * tree-vrp.c (adjust_range_with_scev): Take an extra AT_STMT parameter.
- Use scev_probably_wraps_p for computing init_is_max.
- (vrp_visit_assignment): Pass the current analyzed statement to
- adjust_range_with_scev.
- (execute_vrp): Call estimate_numbers_of_iterations for refining the
- information provided by scev analyzer.
-
-2005-06-07 Eric Christopher <echristo@redhat.com>
-
- * config/mips/predicates.md (sleu_operand): Use
- IN_RANGE to specify range of operand.
-
-2005-06-07 Steven Bosscher <stevenb@suse.de>
-
- PR tree-optimization/21847
- * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): With
- -fnon-call-exceptions, also mark statements inherently
- necessary if they may throw.
-
-2005-06-07 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("UNSPECV_MB", "UNSPECV_CAS"): New constants.
- ("type"): Add "sem" to 'type' attribute.
- ("memory_barrier", "*memory_barrier", "sync_compare_and_swapdi",
- "sync_compare_and_swapsi", "sync_compare_and_swap_ccdi",
- "sync_compare_and_swap_ccsi", "*sync_compare_and_swap_ccdi",
- "*sync_compare_and_swap_ccsi"): New patterns.
- * config/s390/2064.md: ("z_sem"): New insn_reservation.
- * config/s390/2084.md: ("x_sem"): New insn_reservation.
- * config/s390/s390.c: (s390_compare_emitted): New global variable.
- (s390_emit_compare): Do not emit comparison again after cas.
- * config/s390/s390.h (s390_compare_emitted): Declare.
-
-2005-06-07 Kazu Hirata <kazu@codesourcery.com>
-
- * sbitmap.h (sbitmap_iterator, sbitmap_iter_init,
- sbitmap_iter_cond, sbitmap_iter_next): New.
- * bt-load.c, cfganal.c, combine.c, ddg.c, flow.c,
- modulo-sched.c, sbitmap.c, sched-rgn.c, tree-into-ssa.c,
- tree-outof-ssa.c, tree-ssa-alias.c, tree-ssa-live.c: Update
- uses of EXECUTE_IF_SET_IN_SBITMAP to the new style.
-
-2005-06-07 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-address.c: New file.
- * Makefile.in (tree-ssa-address.o): Add.
- * expr.c (expand_expr_real_1): Do not handle REF_ORIGINAL on
- INDIRECT_REFs. Handle TARGET_MEM_REFs.
- * tree-eh.c (tree_could_trap_p): Handle TARGET_MEM_REFs.
- * tree-flow.h (struct mem_address): New.
- (struct affine_tree_combination): Moved from tree-ssa-loop-ivopts.c.
- (create_mem_ref, addr_for_mem_ref, get_address_description,
- maybe_fold_tmr, multiplier_allowed_in_address_p,
- multiply_by_cost): Declare.
- * tree-mudflap.c (mf_xform_derefs_1): Handle TARGET_MEM_REFs.
- * tree-pretty-print.c (dump_generic_node): Ditto.
- * tree-ssa-loop-im.c (for_each_index): Ditto.
- * tree-ssa-loop-ivopts.c (may_be_unaligned_p,
- find_interesting_uses_address): Ditto.
- (rewrite_address_base, build_addr_strip_iref): Removed.
- (struct affine_tree_combination): Moved to tree-flow.h.
- (get_ref_tag, copy_ref_info): New functions.
- (rewrite_use_address): Produce TARGET_MEM_REFs.
- (tree_ssa_iv_optimize): Do not call update_ssa
- and rewrite_into_loop_closed_ssa.
- (tree_to_aff_combination): Use build_fold_addr_expr instead of
- build_addr_strip_iref.
- (unshare_aff_combination): New function.
- (fold_affine_sum): Removed.
- (get_computation_at): Use get_computation_aff. Unshare the result.
- (get_computation_aff, multiplier_allowed_in_address_p): New function.
- (multiply_by_cost): Exported.
- (get_address_cost): Use multiplier_allowed_in_address_p.
- * tree-ssa-operands.c (get_tmr_operands): New function.
- (get_expr_operands): Handle TARGET_MEM_REFs.
- * tree.c (copy_node_stat): Copy annotations for TARGET_MEM_REFs.
- (build): Handle 7 arguments.
- (build7_stat): New function.
- * tree.def (TARGET_MEM_DEF): New.
- * tree.h (REF_ORIGINAL): Removed.
- (TMR_SYMBOL, TMR_BASE, TMR_INDEX, TMR_STEP, TMR_OFFSET, TMR_ORIGINAL,
- TMR_TAG, build7): New macros.
- (build7_stat, tree_mem_ref_addr, copy_mem_ref_info): Declare.
- * tree-ssa-ccp.c (fold_stmt_r): Call maybe_fold_tmr.
- * doc/c-tree.texi: Document TARGET_MEM_REF.
- * doc/tree-ssa.texi: Add TARGET_MEM_REF to gimple grammar.
-
-2005-06-07 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/21946
- * dwarf2out.c (add_loc_descr_op_piece): New function.
- (multiple_reg_loc_descriptor, concat_loc_descriptor,
- loc_descriptor): Use it.
- * var-tracking.c: Include regs.h and expr.h.
- (emit_note_insn_var_location): Skip over pieces where offset
- is smaller than previous offset plus previous piece mode size.
- Optimize adjacent hard registers or memory locations.
- * Makefile.in (var-tracking.o): Depend on $(REGS_H) and $(EXPR_H).
-
-2005-06-07 Richard Guenther <rguenth@gcc.gnu.org>
-
- * c-typeck.c (c_finish_if_stmt): Use void_type_node as type
- for COND_EXPR.
- * gimplify.c (gimplify_cond_expr): No need to fix up the
- type of COND_EXPRs.
-
-2005-06-07 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa.c (tree_ssa_useless_type_conversion_1): Fix
- comments.
-
-2005-06-07 Geoffrey Keating <geoffk@apple.com>
-
- * config/rs6000/host-darwin.c (segv_handler): Widen the possible
- 'stwux' instructions that are considered to be stack decrements.
-
- * rtlanal.c (subreg_offset_representable_p): Handle objects
- with holes.
-
-2005-06-06 Uros Bizjak <uros@kss-loka.si>
-
- * mode-switching.c (optimize_mode_switching): Fix n_exprs parameter
- in call to pre_edge_lcm.
-
-2005-06-06 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/linux-unwind.h (SH_DWARF_FRAME_XD0): Remove for SH5.
- (SH_DWARF_FRAME_PR, SH_DWARF_FRAME_GBR, SH_DWARF_FRAME_MACL)
- (SH_DWARF_FRAME_MACH, SH_DWARF_FRAME_PC, SH_DWARF_FRAME_FPUL):
- Likewise.
- (SH_DWARF_FRAME_FP0, SH_DWARF_FRAME_FPSCR): Define to the correct
- dwarf register number for SHmedia.
- (shmedia_fallback_frame_state): New.
- (MD_FALLBACK_FRAME_STATE_FOR): Define to it for SH5.
-
- * config/sh/linux.h (FUNCTION_PROFILER): Provide SHMEDIA version.
-
-2005-06-06 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * c-lex.c (lex_string): Use XOBFINISH.
- * collect2.c (extract_string, dump_file): Likewise.
- * dbxout.c (dbxout_finish_complex_stabs): Likewise.
- * gcc.c (init_spec, build_search_list, convert_filename,
- set_collect_gcc_options, do_spec_2, do_spec_1, main): Likewise.
- * genpreds.c (write_predicate_subfunction): Likewise.
- * genflags.c (main): Likewise.
- * read-rtl.c (mode_attr_index, apply_macro_to_string,
- join_c_conditions, read_quoted_string, read_braced_string,
- read_rtx_1): Likewise.
- * stringpool.c (ggc_alloc_string): Likewise.
- * tlink.c (obstack_fgets, recompile_files): Likewise.
-
-2005-06-06 Jakub Jelinek <jakub@redhat.com>
-
- * intl.h (G_): New macro.
- * rtl-error.c (error_for_asm, warning_for_asm): Use gmsgid
- instead of msgid for argument name.
- * tree-ssa.c (warn_uninit): Likewise.
- * c-parser.c (c_parser_error): Likewise.
- * config/rs6000/rs6000-c.c (SYNTAX_ERROR): Likewise.
- * config/darwin-c.c (BAD): Likewise.
- * config/c4x/c4x-c.c (BAD): Likewise.
- * c-pragma.c (GCC_BAD, GCC_BAD2): Likewise.
- * c-errors.c (pedwarn_c99, pedwarn_c90): Likewise.
- * c-common.c (c_parse_error): Likewise.
- * diagnostic.c (diagnostic_set_info, verbatim, inform, warning,
- warning0, pedwarn, error, sorry, fatal_error, internal_error):
- Likewise.
- (fnotice): Use cmsgid instead of msgid for argument name.
- * gcov.c (fnotice): Likewise.
- * protoize.c (notice): Likewise.
- * final.c (output_operand_lossage): Likewise.
- * gcc.c (fatal, notice): Likewise.
- (error): Use gmsgid instead of msgid for argument name.
- * collect2.c (notice, fatal_perror, fatal): Use cmsgid instead
- of msgid for argument name.
- (error): Use gmsgid instead of msgid for argument name.
- * c-decl.c (locate_old_decl, implicit_decl_warning): Use G_()
- instead of N_().
- * c-typeck.c (readonly_error, convert_for_assignment): Likewise.
- * tree-inline.c (inline_forbidden_p_1): Likewise.
- * ABOUT-GCC-NLS: Require gettext 0.14.5 or later. Mention the new
- conventions for marking translations.
- * doc/install.texi: Mention gettext 0.14.5 or later requirement.
-
- * tree-chrec.c (reset_evolution_in_loop): Use build3 instead of
- build2.
-
- * fold-const.c (operand_equal_p): Don't return 1, if element
- chains for 2 VECTOR_CSTs are not the same length.
-
- PR regression/21897
- * fold-const.c (fold_ternary) <case BIT_FIELD_REF>: Don't crash if
- not all VECTOR_CST elements are given.
-
- * combine.c (try_combine): Use hard_regno_nregs array instead of
- HARD_REGNO_NREGS macro.
- * config/rs6000/rs6000.c (rs6000_split_multireg_move,
- rs6000_register_move_cost, rs6000_memory_move_cost): Likewise.
- * config/ia64/ia64.c (mark_reg_gr_used_mask): Likewise.
-
-2005-06-06 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-reassoc.o: New.
- (OBJS-common): Add tree-ssa-reassoc.o
- * timevar.def: Add TV_TREE_REASSOC
- * tree-optimize.c (pass_reassoc): Add call.
- * tree-pass.h (pass_reassoc): Add.
- * tree-ssa-reassoc.c: New file.
-
-2005-06-06 Eric Christopher <echristo@redhat.com>
-
- target/21927
- * expr.c (do_store_flag): Remove check for non-negative BRANCH_COST.
-
-2005-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * config/i386/x86-64.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Guard with
- HAVE_GAS_MAX_SKIP_P2ALIGN.
- (HAVE_AS_DWARF2_DEBUG_LINE): Remove.
-
-2005-06-06 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
-
- * Makefile.in (mips-tfile.o): Add $(srcdir)/../include prefix to
- getopt.h dependency.
- (mips-tdump.o): Likewise.
-
-2005-06-06 Jan Hubicka <jh@suse.cz>
-
- * predict.c (tree_predict_edge): Don't drop useless predictions;
- check that it is not called too late in the game.
- (gate_estimate_probability): New gate.
- (pass_profile): Gate.
- * tree-mudflap.c (mf_build_check_statement_for): Do not drop
- predictions; update CFG instead.
- * cfgrtl.c (rtl_verify_flow_info): Check that predcitions are consumed.
-
-2005-06-06 Jie Zhang <jie.zhang@analog.com>
-
- * config.gcc (bfin*-uclinux*): New.
- * config/bfin/uclinux.h: New file.
-
-2005-06-06 Ben Elliston <bje@au.ibm.com>
-
- * doc/md.texi (Insn Splitting): Fix some wording.
-
-2005-06-05 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_emit_swdivsf): New function.
- (rs6000_emit_swdivdf): New function.
- * config/rs6000/rs6000.md (fres): New pattern.
- (divsf3): Add approximation through rs6000_emit_swdivsf.
- (fred): New pattern.
- (divdf3): Add approximation through rs6000_emit_swdivdf.
- * config/rs6000/rs6000-protos.h (rs6000_emit_swdivsf): Declare.
- (rs6000_emit_swdivdf): Declare.
- * config/rs6000/rs6000.opt (mswdiv): New option.
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document mswdiv.
-
-2005-06-05 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/21846
- * tree-cfg.c (replace_uses_by): Update information stored at loops.
- * tree-flow.h (substitute_in_loop_info): Declare.
- * tree-scalar-evolution.c (initialize_scalar_evolutions_analyzer):
- Ensure that chrec_dont_know and chrec_known have a type.
- * tree-ssa-loop-niter.c (substitute_in_loop_info): New function.
-
-2005-06-05 Steven Bosscher <stevenb@suse.de>
-
- * config/i386/i386.c (x86_use_loop): Remove.
- * config/i386/i386.h (x86_use_loop): Remove extern decl.
- (TARGET_USE_LOOP): Remove.
- * config/i386/i386.md (doloop_end, doloop_end_internal): Remove.
- Also remove related define_splits.
-
-2005-06-05 Dorit Nuzman <dorit@il.ibm.com>
-
- * tree-flow.h (stmt_ann_d): Move aux to ...
- (tree_ann_common_d): ... here.
- * tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
- move_computations_stmt, schedule_sm): Update references to
- aux.
- * tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
- * tree-vect-transform.c (vect_create_index_for_vector_ref): Update
- call to set_stmt_info.
- (vect_transform_loop): Likewise.
- * tree-vectorizer.c (new_loop_vec_info, destroy_loop_vec_info):
- Likewise.
-
- * tree-vect-analyze.c (vect_analyze_scalar_cycles): Made void instead of
- bool.
- (vect_mark_relevant): Takes two additional arguments - live_p and
- relevant_p. Set RELEVANT_P and LIVE_P according to these arguments.
- (vect_stmt_relevant_p): Differentiate between a live stmt and a
- relevant stmt. Return two values = live_p and relevant_p.
- (vect_mark_stmts_to_be_vectorized): Call vect_mark_relevant and
- vect_stmt_relevant_p with additional arguments. Phis are no longer
- put into the worklist (analyzed seperately in analyze_scalar_cycles).
- (vect_determine_vectorization_factor): Also check for LIVE_P, because a
- stmt that is marked as irrelevant and live, cause it's only used out
- side the loop, may need to be vectorized (e.g. reduction).
- (vect_analyze_operations): Examine phis. Call
- vectorizable_live_operation for for LIVE_P stmts. Check if
- need_to_vectorize.
- (vect_analyze_scalar_cycles): Update documentation. Don't fail
- vectorization - just classify the scalar cycles created by the loop
- phis. Call vect_is_simple_reduction.
- (vect_analyze_loop): Call to analyze_scalar_cycles moved earlier.
- * tree-vect-transform.c (vect_create_index_for_vector_ref): Update
- call to set_stmt_info.
- (vect_get_vec_def_for_operand): Code reorganized - the code that
- classifies the type of use was factored out to vect_is_simple_use.
- (vectorizable_store, vect_is_simple_cond): Call vect_is_simple_use with
- additional arguments.
- (vectorizable_assignment): Likewise. Also make sure the stmt is relevant
- and computes a loop_vec_def.
- (vectorizable_operation, vectorizable_load, vectorizable_condition):
- Likewise.
- (vectorizable_live_operation): New.
- (vect_transform_stmt): Handle LIVE_P stmts.
- * tree-vectorizer.c (new_stmt_vec_info): Initialize the new fields
- STMT_VINFO_LIVE_P and STMT_VINFO_DEF_TYPE.
- (new_loop_vec_info, destroy_loop_vec_info): Also handle phis.
- (vect_is_simple_use): Determine the type of the def and return it
- in a new function argument. Consider vect_reduction_def and
- vect_induction_def, but for now these are not supported.
- (vect_is_simple_reduction): New. Empty for now.
- * tree-vectorizer.h (vect_def_type): New enum type.
- (_stmt_vec_info): Added new fields - live and _stmt_vec_info.
- (STMT_VINFO_LIVE_P, STMT_VINFO_DEF_TYPE): New accessor macros.
- (vect_is_simple_use): New arguments added to function declaration.
- (vect_is_simple_reduction): New function declaration.
- (vectorizable_live_operation): New function declaration.
-
- * tree-vect-analyze.c (vect_can_advance_ivs_p): Add debug printout.
- (vect_can_advance_ivs_p): Likewise.
- * tree-vect-transform.c (vect_update_ivs_after_vectorizer): Likewise.
-
-2005-06-05 Eric Christopher <echristo@redhat.com>
-
- * config/mips/mips.c (mips_rtx_costs): Remove unused variable.
-
-2005-06-05 Hans-Peter Nilsson <hp@bitrange.com>
-
- PR target/21914
- * config/mmix/mmix.md ("*movdicc_real_foldable")
- ("*movdfcc_real_foldable", "*bCC_foldable")
- ("*bCC_inverted_foldable"): Specify DImode for register being
- compared.
-
-2005-06-04 Roger Sayle <roger@eyesopen.com>
-
- * reg-stack.c (struct block_info_def): Correct grammar typo.
- (compensate_edge): Clean-up. Perform as little work as possible
- when src and dest stacks match. Avoid modifying block_info.
- Reorder and simplify assertion checks. Avoid unnecessary copying
- of regstack structure.
- (convert_regs_1): Set the done flag here...
- (convert_regs_2): ... instead of here.
-
-2005-06-04 Dale Johannesen <dalej@apple.com>
-
- * config/rs6000/rs6000.c (no_global_regs_above): New.
- (rs6000_emit_prologue): Use it; cosmetic formatting fixes.
- (rs6000_emit_epilogue): Use it; cosmetic formatting fixes.
- (rs6000_conditional_register_usage): Don't put Darwin PIC
- register in global_regs.
- (rs6000_stack_info): Don't set lr_save_p just because Darwin
- PIC reg used.
- (rs6000_emit_prologue): Save LR in R0 around Darwin PIC setup,
- if not done by lr_save_p.
- * config/rs6000/rs6000.md (insnv1_internal1): Back out 05-18 patch.
- Use rotate instead of ashift.
- (call_indirect_nonlocal_sysv): Prefer CTR to LR.
- (call_value_indirect_nonlocal_sysv): Ditto.
-
-2005-06-04 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_reset_node): Break out from ...
- (cgraph_finalize_function): ... here.
- (cgraph_finalize_compilation_unit): Reset nodes where backend
- removed the body.
-
-2005-06-04 Richard Henderson <rth@redhat.com>
-
- PR target/21888
- * config/alpha/alpha.c (alpha_align_insns): Don't insert nops
- until we've passed initial ldgp.
-
-2005-06-04 Daniel Berlin <dberlin@dberlin.org>
-
- * cfgexpand.c (expand_one_var): Use DECL_HAS_VALUE_EXPR_P.
- * dwarf2out.c (loc_descriptor_from_tree_1): Ditto.
- * expr.c (expand_var): Ditto.
- * function.c (gimplify_parameters): Use SET_DECL_VALUE_EXPR too.
- * gimplify.c (gimplify_decl_expr): Ditto.
- (gimplify_expr): Ditto.
- * tree-mudflap.c (mf_decl_eligible_p): Use DECL_HAS_VALUE_EXPR_P.
- * tree.c (value_expr_for_decl): New.
- (print_value_expr_statistics): New.
- (init_ttree): Init value_expr_for_decl.
- (decl_value_expr_lookup): New.
- (decl_value_expr_insert): Ditto.
- (copy_node_stat): Copy DECL_VALUE_EXPR status.
- * tree.h (DECL_VALUE_EXPR): Use hashtable.
- (SET_DECL_VALUE_EXPR): New.
- (DECL_HAS_VALUE_EXPR_P): New.
-
-2005-06-04 Steven Bosscher <stevenb@suse.de>
-
- * lcm.c: Move all mode-switching related functions from here...
- * mode-switching.c: ...to this new file.
- * doc/passes.texi: Update accordingly.
-
- * basic-block.h (label_value_list): Remove extern decl.
- * cfgrtl.c (label_value_list): Remove.
- (can_delete_label_p): Don't look at it.
- * cfgcleanup.c (cleanup_cfg): Don't free it.
-
- * common.opt: Don't refer to non-existing flag_alias_check.
-
-2005-06-04 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/aix52.h (ASM_CPU_SPEC): Add power5.
-
-2005-06-04 Kazu Hirata <kazu@codesourcery.com>
-
- * function.c (prologue, epilogue, sibcall_epilogue): Change
- their types to VEC(int,heap)*.
- (free_after_compilation): Free the three vectors above.
- (init_function_for_compilation, record_insns, contains,
- prologue_epilogue_contains, sibcall_epilogue_contains,
- reposition_prologue_and_epilogue_notes): Use VEC instead of
- VARRAY. (init_function_once): Remove.
- * function.h: Remove the prototype for init_function_once.
- * toplev.c (backend_init): Don't call init_function_once.
-
-2005-06-04 Jan Hubicka <jh@suse.cz>
-
- * predict.c (tree_predict_edge): Do not predict entry edge and
- single succestor edge.
-
-2005-06-04 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21873
- * c-typeck.c (push_init_level): Don't pop levels without braces if
- implicit == 1.
-
-2005-06-03 Sebastian Pop <pop@cri.ensmp.fr>
-
- * tree-data-ref.c (compute_self_dependence): New function.
- (compute_all_dependences): Use it.
-
-2005-06-03 Geoffrey Keating <geoffk@apple.com>
-
- * c-parser.c (c_parser_parms_declarator): Don't use chainon().
- (c_parser_expr_list): Don't use chainon().
-
- * config/darwin.h (LINK_SPEC): Pass -syslibroot to linker
- when -isysroot passed.
-
-2005-06-03 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21879
- * c-decl.c (start_function): Restore label_context_stack_se and
- label_context_stack_vm if returning with an error.
-
-2005-06-03 Gabriel Dos Reis <gdr@integrable-solutions.net>
-
- * configure.ac: Check declaration for asprintf, needed by
- libiberty.h.
- * configure: Regenerate.
- * config.in: Likewise.
-
-2005-06-03 Diego Novillo <dnovillo@redhat.com>
-
- * tree-ssa-dom.c (record_edge_info): Use last_basic_block to
- allocate info array.
- * tree-vrp.c (extract_range_from_unary_expr): Set resulting
- range to varying in cast expressions that change
- TYPE_PRECISION.
-
-2005-06-03 Eric Christopher <echristo@redhat.com>
-
- * config/mips/mips.opt: Add RejectNegative to divide-breaks and
- divide-traps.
-
-2005-06-03 Jan Hubicka <jh@suse.cz>
-
- * basic-block.h (remove_predictions_associated_with_edge): Declare.
- * cfg.c (remove_edge): Use it.
- * predict.c (remove_predictions_associated_with_edge): New function.
-
-2005-06-03 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_conditional_register_usage):
- Clear call_realy_used_regs[r2] when ABI_AIX.
-
-2005-06-03 Richard Guenther <rguenth@gcc.gnu.org>
-
- PR middle-end/21858
- * fold-const.c (fold_binary): Fix type mismatches in folding
- of comparisons.
-
-2005-06-03 Kazu Hirata <kazu@codesourcery.com>
-
- * cgraph.c, cgraphunit.c, config/mips/mips.c: Fix comment
- typos.
-
-2005-06-03 Joseph S. Myers <joseph@codesourcery.com>
-
- * collect2.c (maybe_unlink): Use unlink_if_ordinary.
-
-2005-06-02 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * reload1.c (reload): Revert my previous patch.
-
-2005-06-03 Nick Clifton <nickc@redhat.com>
-
- * config/arm/semi.h (ASM_SPEC): Fix typo passing -mfloat-abi to
- assembler.
-
-2005-06-03 Kazu Hirata <kazu@codesourcery.com>
-
- PR tree-optimization/21849
- * tree-ssa-copy.c (dump_copy_of): Call sbitmap_zero.
-
-2005-06-02 Richard Henderson <rth@redhat.com>
-
- * Makefile.in (tree-vect-generic.o): New.
- (OBJS-common, GTFILES, s-gtype): Add it.
- * tree-complex.c (build_replicated_const, vector_inner_type,
- vector_last_type, vector_last_nunits, build_word_mode_vector_type,
- elem_op_func, tree_vec_extract, do_unop, do_binop, do_plus_minus,
- do_negate, expand_vector_piecewise, expand_vector_parallel,
- expand_vector_addition, expand_vector_operation,
- type_for_widest_vector_mode, expand_vector_operations_1,
- gate_expand_vector_operations, expand_vector_operations,
- pass_lower_vector_ssa): Move to tree-vect-generic.c.
- (tree_lower_complex): Rename from tree_lower_operations.
- (pass_lower_complex): Rename from pass_pre_expand.
- * tree-vect-generic.c: New file.
- * tree-pass.h (pass_lower_complex): Rename from pass_pre_expand.
- (pass_lower_vector): New.
- * tree-optimize.c (init_tree_optimization_passes): Update to match.
-
-2005-06-02 Richard Henderson <rth@redhat.com>
-
- * modulo-sched.c (doloop_register_get): Protect against
- doloop_end not defined.
-
-2005-06-02 Kazu Hirata <kazu@codesourcery.com>
-
- * config/sh/sh.c (general_movsrc_operand,
- general_movdst_operand, arith_reg_operand, arith_reg_dest,
- logical_reg_operand, int_gpr_dest, fp_arith_reg_operand,
- fp_arith_reg_dest, arith_operand, arith_reg_or_0_operand,
- xor_operand, cmp_operand, logical_operand, and_operand,
- fpscr_operand, fpul_operand, symbol_ref_operand,
- commutative_float_operator, noncommutative_float_operator,
- unary_float_operator, binary_float_operator,
- binary_logical_operator, equality_comparison_operator,
- greater_comparison_operator, less_comparison_operator,
- shift_operator, logical_operator, target_reg_operand,
- target_operand, mextr_bit_offset, extend_reg_operand,
- trunc_hi_operand, extend_reg_or_0_operand, minuend_operand,
- general_extend_operand, ua_address_operand,
- cache_address_operand, inqhi_operand, sh_rep_vec, sh_1el_vec,
- sh_const_vec, ua_offset, sh_register_operand, cmpsi_operand,
- shift_count_reg_operand, shift_count_operand,
- unaligned_load_operand): Move to ...
- * config/sh/predicates.md: ... here.
- * config/sh/sh.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
- Remove.
-
-2005-06-02 Andrew Pinski <pinskia@physics.uc.edu>
-
- * tree.c (build_common_builtin_nodes): Fix the return type on
- __builtin_memcmp.
-
-2005-06-02 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-loop-ivopts.c (build_addr_strip_iref): Remove.
- (find_interesting_uses_address): Use build_fold_addr_expr instead.
- (strip_offset_1): Likewise.
- (tree_to_aff_combination): Likewise.
-
-2005-06-02 DJ Delorie <dj@redhat.com>
-
- * convert.c (convert_to_pointer): Avoid recursion if no conversion
- is needed.
-
-2005-06-02 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-chrec.c (chrec_fold_plus_1): Ensure we build
- binary operations with the correct types.
- * tree-ssa-loo-ivopts.c (idx_find_step): Use sizetype
- for all computation.
-
-2005-06-02 Kazu Hirata <kazu@codesourcery.com>
-
- * tree-vrp.c, config/arm/arm.md, config/arm/arm1020e.md,
- config/rs6000/rs6000.md: Fix comment typos. Follow splling
- conventions.
- * doc/install.texi: Fix a typo.
-
-2005-06-02 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_function_and_variable_visibility): Extern
- inline functions are not local.
-
-2005-06-02 Kazu Hirata <kazu@codesourcery.com>
-
- * gimplify.c (gimplify_ctx): Change the type of case_labels to
- VEC from VARRAY.
- (gimplify_switch_expr, gimplify_case_label_expr): Adjust uses
- of case_labels.
-
-2005-06-02 Richard Guenther <rguenth@gcc.gnu.org>
-
- * c-typeck.c (build_indirect_ref): Build INDIRECT_REF
- with correct type.
-
-2005-06-02 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/s390/s390.c (s390_add_execute): Do not handle out-of-pool
- execute templates.
- (s390_dump_pool): Likewise.
- (s390_mainpool_start, s390_mainpool_finish): Likewise.
- (s390_chunkify_start): Likewise.
- (s390_dump_execute): Remove.
- (s390_reorg): Handle out-of-pool execute templates.
-
-2005-06-02 Adrian Straetling <straetling@de.ibm.com>
-
- * optabs.c: (expand_bool_compare_and_swap): Emit barrier after
- unconditional jump.
-
-2005-06-02 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (cgraph_node): Maintain master clones.
- (cgraph_remove_node): Likewise.
- (availability_names): New static variable.
- (dump_cgraph_node): Dump availability.
- (dump_cgraph_varpool_node): Likewise.
- (cgraph_is_master_clone, cgraph_master_clone,
- cgraph_function_body_availability,
- cgraph_variable_initializer_availability): New functions.
- * cgraph.h (availability): New enum.
- (struct cgraph_node): Add master_clone.
- (cgraph_is_master_clone, cgraph_master_clone,
- cgraph_function_body_availability,
- cgraph_variable_initializer_availability): Declare.
- * cgraphunit.c (cgraph_expand_function): Setcgraph_function_flags_ready.
- (cgraph_remove_unreachable_nodes): Remove unreachable nodes.
- * ipa-inline.c (cgraph_decide_inlining): Do not call
- cgraph_remove_unreachable_nodes.
-
- * cgraphunit.c (cgraph_function_and_variable_visibility): Fix typo in
- previous patch.
-
-2005-06-02 Diego Novillo <dnovillo@redhat.com>
-
- PR 21582
- * tree-vrp.c (nonnull_arg_p): New.
- (get_value_range): Call it.
-
-2005-06-02 Eric Christopher <echristo@redhat.com>
-
- * config/mips/mips.h (processor_type): Remove PROCESSOR_DEFAULT,
- add PROCESSOR_MAX.
- (mips_rtx_cost_data): New datatype.
- (MEMORY_MOVE_COST): Use data from structure.
- (BRANCH_COST): Ditto.
- (LOGICAL_OP_NON_SHORT_CIRCUIT): Define to zero.
- * config/mips/mips.md (cpu): Rework for processor_type changes.
- * config/mips/mips.c (mips_cost): New variable.
- (DEFAULT_COSTS): Define.
- (mips_rtx_cost_data): New.
- (mips_rtx_costs): Use. Minor formatting changes. Use COSTS_N_INSNS
- for NEG cost. Add support for FLOAT, UNSIGNED_FLOAT, FIX,
- FLOAT_EXTEND, FLOAT_TRUNCATE, and SQRT.
- (override_options): Set cost data.
- (mips_register_move_cost): Formatting changes.
- (bdesc_arrays): Use PROCESSOR_MAX.
- (mips_init_builtins): Ditto.
-
-2005-06-02 Diego Novillo <dnovillo@redhat.com>
-
- PR 21765
- * doc/invoke.texi: Document -ftree-vrp.
-
-2005-06-02 Dorit Nuzman <dorit@il.ibm.com>
-
- PR tree-optimization/21734
- * tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop): Use the
- phi_result when current_def is not available.
- (slpeel_update_phi_nodes_for_guard1): Don't fail if current_def is not
- available.
-
-2005-06-02 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.c (rs6000_insn_valid_within_doloop): New.
- (TARGET_INSN_VALID_WITHIN_DOLOOP): Define.
-
-2005-06-02 Diego Novillo <dnovillo@redhat.com>
-
- * tree-vrp.c (has_assert_expr, maybe_add_assert_expr): Remove.
-
-2005-06-02 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c (dump_cgraph_node): Print new flags.
- (dump_cgraph_varpool_node): Likewise.
- (decide_variable_is_needed): Initialize externally_visible flag.
- * cgraph.h (cgraph_local_info): Add externally_visible flag.
- (cgraph_varpool_node): Likewise.
- (cgraph_function_flags_ready): Declare.
- * cgraph.c (cgraph_mark_local_functions): Rename to ...
- (cgraph_function_and_variable_visibility) ... this one; handle
- externally_visible flags.
- (decide_is_function_needed): Set externally_visible flag.
- (cgraph_finalize_function): Deal properly with early cleanups.
- (cgraph_optimize): Update call of
- cgraph_function_and_variable_visibility.
-
-2005-06-02 Steven Bosscher <stevenb@suse.de>
- Mostafa Hagog <mustafa@il.ibm.com>
-
- * cfgloop.h (doloop_condition_get): Make external.
- * loop-doloop.c (doloop_condition_get): Generalize to make it
- usable in modulo-sched.c.
- * modulo-sched.c (doloop_register_get): Use
- doloop_condition_get instead of duplicating it.
-
-2005-06-02 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * reload1.c (reload): Undo 2005-04-20 change. Make sure we detect
- the correct set of init_insns that need deletion.
- * local-alloc.c (update_equiv_regs): When substituting sole definition
- into sole use of a reg, delete it from liveness information.
-
-2005-06-02 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.h (TARGET_FPU_DOUBLE): Use MASK_SH4.
-
-2005-06-01 Diego Novillo <dnovillo@redhat.com>
-
- PR 14341, PR 21332, PR 20701, PR 21029, PR 21086, PR 21090
- PR 21289, PR 21348, PR 21367, PR 21368, PR 21458.
- * fold-const.c (invert_tree_comparison): Make extern.
- * tree-flow.h (enum value_range_type): Move to tree-ssa-propagate.
- (struct value_range_def): Limewise.
- (get_value_range): Remove.
- (dump_value_range): Remove.
- (dump_all_value_ranges): Remove.
- (debug_all_value_ranges): Remove.
- (vrp_evaluate_conditional): Declare.
- * tree-ssa-propagate.c (struct prop_stats_d): Add field
- num_pred_folded.
- (substitute_and_fold): Add argument use_ranges_p.
- Update all callers.
- If use_ranges_p is true, call fold_predicate_in to fold
- predicates using range information.
- Ignore ASSERT_EXPRs.
- Change debugging output to only show statements that have been
- folded.
- (replace_phi_args_in): Move debugging output code from
- substitute and fold.
- (fold_predicate_in): New local function.
- * tree-ssa-propagate.h (enum value_range_type): Move from
- tree-flow.h.
- (struct value_range_d): Likewise.
- Add field 'equiv'.
- (value_range_t): Rename from value_range.
- * tree-vrp.c (found_in_subgraph): Rename from found.
- (get_opposite_operand): Remove.
- (struct assert_locus_d): Declare.
- (assert_locus_t): Declare.
- (need_assert_for): Declare.
- (asserts_for): Declare.
- (blocks_visited): Declare.
- (vr_value): Declare.
- (set_value_range): Add argument 'equiv'.
- Don't drop to VARYING ranges that cover all values in the
- type.
- Make deep copy of equivalence set 'equiv'.
- (copy_value_range): New local function.
- (set_value_range_to_undefined): New local function.
- (compare_values): Return -2 if either value has overflowed.
- (range_includes_zero_p): New local function.
- (extract_range_from_assert): Flip the predicate code if the
- name being asserted is on the RHS of the predicate.
- Avoid creating unnecessary symbolic ranges if the comparison
- includes another name with a known numeric range.
- Update the equivalnce set of the new range when asserting
- EQ_EXPR predicates.
- (extract_range_from_ssa_name): Update the equivalence set of
- the new range with VAR.
- (extract_range_from_binary_expr): Also handle TRUTH_*_EXPR.
- If -fwrapv is used, set the resulting range to VARYING if the
- operation overflows. Otherwise, use TYPE_MIN_VALUE and
- TYPE_MAX_VALUE to represent -INF and +INF.
- Fix handling of *_DIV_EXPR.
- (extract_range_from_unary_expr): Handle MINUS_EXPR and
- ABS_EXPR properly by switching the range around if necessary.
- (extract_range_from_comparison): New local function.
- (extract_range_from_expr): Call it.
- (adjust_range_with_scev): Do not adjust the range if using
- wrapping arithmetic (-fwrapv).
- (dump_value_range): Also show equivalence set.
- Show -INF and +INF for TYPE_MIN_VALUE and TYPE_MAX_VALUE.
- (build_assert_expr_for): Also build ASSERT_EXPR for EQ_EXPR.
- (infer_value_range): Change return value to bool.
- Add arguments 'comp_code_p' and 'val_p'.
- Do not attempt to infer ranges from statements that may throw.
- Store the comparison code in comp_code_p.
- Store the other operand to be used in the predicate in val_p.
- (dump_asserts_for): New.
- (debug_asserts_for): New.
- (dump_all_asserts): New.
- (debug_all_asserts): New.
- (register_new_assert_for): New.
- (register_edge_assert_for): New.
- (find_conditional_asserts): New.
- (find_assert_locations): New.
- (process_assert_insertions_for): New.
- (process_assert_insertions): New.
- (insert_range_assertions): Initialize found_in_subgraph,
- blocks_visited, need_assert_for and asserts_for.
- Call find_assert_locations and process_assert_insertions.
- (remove_range_assertions): Add more documentation.
- (vrp_initialize): Change return type to void.
- Do not try to guess if running VRP is worth it.
- (compare_name_with_value): New.
- (compare_names): New.
- (vrp_evaluate_conditional): Add argument 'use_equiv_p'. If
- use_equiv_p is true, call compare_names and
- compare_name_with_value to compare all the ranges for every
- name in the equivalence set of the predicate operands.
- Update all callers.
- (vrp_meet): Try harder not to derive a VARYING range.
- If two values meet, the resulting equivalence set is the
- intersection of the two equivalence sets.
- (vrp_visit_phi_node): Call copy_value_range to get the current
- range information of the LHS.
- (vrp_finalize): Create a value vector representing all the
- names that ended up with exactly one value in their range.
- Call substitute_and_fold.
- (execute_vrp): Document equivalence sets in ranges.
- * tree.h (SSA_NAME_VALUE_RANGE): Remove.
- (struct tree_ssa_name): Remove field value_range.
- (invert_tree_comparison): Declare.
-
-2005-06-01 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/21839
-
- * gimplify.c (zero_sized_field_decl): New function.
- (gimplify_init_ctor_eval): Use it.
-
-2005-06-01 Josh Conner <jconner@apple.com>
-
- PR 21478
- * gimplify.c (gimplify_init_constructor): Don't spill initializer
- to read-only memory if it's sparse.
-
-2005-06-01 Ramana Radhakrishnan <ramana@codito.com>
-
- * doc/rtl.texi: Remove references to NOTE_INSN_SETJMP.
- Add documentation for REG_SETJMP
-
-2005-06-01 Richard Guenther <rguenth@gcc.gnu.org>
-
- * stmt.c (expand_case): Use build_int_cst.
- (node_has_low_bound): Likewise, and correct type mismatch.
- (node_has_high_bound): Likewise.
- * fold-const.c (fold_binary): Ensure we build trees
- with the correct types - undo what STRIP_NOPS possibly did.
-
-2005-06-01 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree.h (fold_indirect_ref_1): Export from fold-const.c.
- * fold-const.c (fold_indirect_ref_1): No longer static.
- * tree-inline.c (copy_body_r): Use fold_indirect_ref_1 for
- folding, if possible.
-
-2005-06-01 Joseph S. Myers <joseph@codesourcery.com>
-
- * common.opt (fjump-tables): New.
- * doc/invoke.texi (-fno-jump-tables): Document.
- * stmt.c (expand_end_case_type): Do not emit jump tables unless
- flag_jump_tables.
-
-2005-06-01 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.md (bunordered, bordered, bungt, bunlt, bunge, bunle, buneq)
- (bltgt, arm_buneq, arm_bltgt, sunordered, sordered, sungt, sunge)
- (sunlt, sunle): Enable patterns on VFP.
-
- * arm.md (attribute 'type'): Add new types - f_loads floadd, f_stores,
- f_stored, f_flag, f_cvt.
- (generic_sched): No-longer used for the arm1020e and arm1022e cores.
- Include arm1020e.md.
- * vfp.md (fmstat): New cpu unit. Add an exclusion set between it and
- the ds and fmac pipelines. Re-work all load and store patterns and
- all conversion patterns to use new attributes. Adjust reservation
- descriptions accordingly.
- * arm1020e.md: New file.
- * t-arm: Add dependency.
-
-2005-06-01 Jan Hubicka <jh@suse.cz>
-
- * except.c (struct eh_region): Kill unused fields.
- * basic-block.h (struct basic_block_def): Likewise.
-
-2005-06-01 J"orn Rennecke <joern.rennecke@st.com>
-
- PR rtl-optimization/21767
- * rtl.h (function_invariant_p): Re-add declaration.
- * reload1.c (function_invariant_p): No longer static.
- * ifcvt.c (dead_or_predicable): Remove REG_EQUAL notes that
- might have become invalid.
-
-2005-06-01 Jakub Jelinek <jakub@redhat.com>
-
- PR c/21536
- PR c/20760
- * gimplify.c (gimplify_decl_expr): Call gimplify_type_sizes
- on variable sizes types if a decl is a pointer to a VLA.
- (gimplify_type_sizes): Handle POINTER_TYPE and REFERENCE_TYPE.
- Call gimplify_type_sizes on aggregate fields. Prevent infinite
- recursion.
-
- * fold-const.c (fold_ternary): Optimize BIT_FIELD_REF of VECTOR_CST.
-
- * config/i386/xmmintrin.h (_mm_setzero_ps, _mm_set_ss, _mm_set1_ps,
- _mm_set_ps, _mm_setr_ps): Add __extension__.
- * config/i386/emmintrin.h (_mm_set_sd, _mm_set1_pd, _mm_set_pd,
- _mm_setr_pd, _mm_setzero_pd, _mm_set_epi64x, _mm_set_epi64x,
- _mm_set_epi32, _mm_set_epi16, _mm_set_epi8, _mm_setzero_si128):
- Likewise.
- (_mm_clflush): Don't use return in void function.
-
- * config/i386/emmintrin.h (_mm_castpd_ps, _mm_castpd_si128,
- _mm_castps_pd, _mm_castps_si128, _mm_castsi128_ps, _mm_castsi128_pd):
- Use __inline instead of inline.
-
-2005-06-01 Richard Guenther <rguenth@gcc.gnu.org>
-
- * fold-const.c (fold_binary): Fix types in strlen vs.
- zero comparison folding.
-
-2005-06-01 Richard Henderson <rth@redhat.com>
-
- * configure.ac (HAVE_AS_JSRDIRECT_RELOCS): New.
- * config.in, configure: Rebuild.
- * config/alpha/alpha.c (print_operand): Add 'j'.
- * alpha.md (divmodsi_internal_er_1): Use it.
- (divmoddi_internal_er_1): Likewise.
-
-2005-06-01 Richard Sandiford <rsandifo@redhat.com>
-
- * system.h (TARGET_OPTIONS, TARGET_SWITCHES): Poison.
- * opts.h (print_filtered_help): Delete.
- * opts.c (handle_option, decode_options): Remove calls to
- set_target_switch.
- (print_target_help): New function.
- (common_option, print_help): Call print_target_help instead of
- display_target_options.
- (print_filtered_help): Make static.
- * toplev.h (display_target_options, set_target_switch): Delete.
- * toplev.c (target_switches, target_options, display_target_options)
- (set_target_switch): Delete.
- (print_switch_values): Remove handling of TARGET_SWITCHES and
- TARGET_OPTIONS.
- (default_get_pch_validity): Likewise. Only treat target_flags
- specially if targetm.check_pch_target_flags is nonnull.
- (pch_option_mismatch): New function.
- (default_pch_valid_p): Use it. Remove handling of TARGET_SWITCHES
- and TARGET_OPTIONS. Only treat target_flags specially if
- targetm.check_pch_target_flags is nonnull.
- * config/ia64/ia64.c (ia64_override_options): Don't mention
- TARGET_OPTIONS in comment.
- * config/m68k/m68k-none.h (CC1_SPEC): Likewise.
- * doc/invoke.texi: Remove a reference to TARGET_SWITCHES.
- * doc/tm.texi (TARGET_DEFAULT_TARGET_FLAGS): Don't mention the
- interaction with TARGET_SWITCHES.
- (TARGET_@var{featurename}, TARGET_SWITCHES, TARGET_OPTIONS): Delete.
-
-2005-06-01 Richard Sandiford <rsandifo@redhat.com>
-
- * config/sh/sh.c (multcosts): Check sh_multcost rather than
- sh_multcost_str.
- (sh_register_move_cost): Likewise sh_gettrcost and sh_gettrcost_str.
- (sh_multcost_str, sh_gettrcost_str, sh_div_str, sh_divsi3_libfunc)
- (cut2_workaround_str): Delete.
- * config/sh/sh.h (SUBTARGET_OPTIONS, TARGET_OPTIONS)
- (TARGET_SH5_CUT2_WORKAROUND, sh_multcost_str, sh_gettrcost_str)
- (sh_div_str, sh_divsi3_libfunc, cut2_workaround_str): Delete.
- * config/sh/sh.opt (mcut2-workaround, mdiv=, mdivsi3_libfunc=)
- (mgettrcost=, multcost=): New options.
-
-2005-06-01 Richard Sandiford <rsandifo@redhat.com>
-
- * opts.h (cl_option_state): New structure.
- (get_option_state): Declare.
- * opts.c (get_option_state): New function.
- * toplev.c (option_affects_pch_p): New function.
- (default_get_pch_validity): Store the state of all options for which
- option_affects_pch_p returns true.
- (default_pch_valid_p): Check the state of those options here.
- Only check target_flags separately if targetm.check_pch_target_Flags
- is nonnull or if TARGET_SWITCHES is defined.
-
-2005-06-01 Richard Sandiford <rsandifo@redhat.com>
-
- * config/mips/mips-protos.h (mips_use_ins_ext_p): Remove parameter
- names.
-
-2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
-
- * modulo-sched.c (undo_generate_reg_moves ): Fix PR 21138.
-
-2005-06-01 Mostafa Hagog <mustafa@il.ibm.com>
-
- * gcse.c (compute_transp, load_killed_in_block): Use
- MEM_READONLY_P.
-
-2005-06-01 David.Billinghurst <David.Billinghurst@riotinto.com>
-
- PR target/21854
- * config/mips/mips-protos.h: Declare mips_use_ins_ext_p
-
-2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * errors.h (warning, error, fatal, internal_error): Add printf
- attribute.
- * genmodes.c (make_vector_mode): Fix format arguments.
-
-2005-05-31 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * basic-block.h, bb-reorder.c, c-gimplify.c, config/darwin.c,
- config/rs6000/rs6000-c.c, dominance.c, gimple-low.c, gimplify.c,
- lambda-code.c, lambda-trans.c, tree-browser.c, tree-cfg.c,
- tree-chrec.c, tree-data-ref.c, tree-dfa.c, tree-eh.c,
- tree-if-conv.c, tree-into-ssa.c, tree-loop-linear.c,
- tree-mudflap.c, tree-nomudflap.c, tree-outof-ssa.c,
- tree-pretty-print.c, tree-scalar-evolution.c, tree-sra.c,
- tree-ssa-ccp.c, tree-ssa-copy.c, tree-ssa-dce.c, tree-ssa-dom.c,
- tree-ssa-dse.c, tree-ssa-forwprop.c, tree-ssa-live.c,
- tree-ssa-operands.c, tree-ssa-phiopt.c, tree-ssa-pre.c,
- tree-ssa-propagate.c, tree-ssa-sink.c, tree-ssa-threadupdate.c,
- tree-ssa-uncprop.c, tree-ssa.c, tree-vect-analyze.c,
- tree-vect-transform.c, tree-vectorizer.c, vec.c: Don't include
- errors.h and include toplev.h if necessary.
-
- * rtl.c, varray.c: If we're compiling as a GENERATOR_FILE, include
- errors.h otherwise include toplev.h.
-
- * Makefile.in: Update dependencies.
-
-2005-06-01 Danny Smith <dannysmith@users.sourceforge.net>
-
- * config/i386/cygming.h (NO_PROFILE_COUNTERS): Define.
-
-2005-05-31 Geoffrey Keating <geoffk@geoffk.org>
-
- * config/rs6000/rs6000.md (sync_boolcshort_internal): New.
- * config/rs6000/rs6000.c (rs6000_emit_sync): Shift count must
- be complemented for big-endian. Mask for AND must be rotated,
- not shifted. Handle short operands with NOT on the memory
- operation.
-
-2005-05-30 Daniel Berlin <dberlin@dberlin.org>
-
- * c-objc-common.c (c_tree_printer): Check flag before hashtable.
- Use DECL_DEBUG_EXPR and SET_DECL_DEBUG_EXPR.
- * dwarf2out.c (dwarf2out_var_location): Ditto.
- * toplev.c (default_tree_printer): Ditto.
- * tree-outof-ssa.c (create_temp): Ditto.
- * tree-sra.c (instantiate_element): Ditto.
- * var-tracking.c (track_expr_p): Ditto.
- * tree.c (struct tree_map): New structure.
- (debug_expr_for_decl): New.
- (tree_map_eq): New function.
- (tree_map_hash): Ditto.
- (tree_map_marked_p): Ditto.
- (print_debug_expr_statistics): Ditto.
- (decl_debug_expr_lookup): Ditto.
- (decl_debug_expr_insert): Ditto.
- (dump_tree_statistics): Dump debug_expr hashtable stats.
- * tree.h (DECL_DEBUG_EXPR): Change
- (SET_DECL_DEBUG_EXPR): Add.
-
-2005-06-01 Alan Modra <amodra@bigpond.net.au>
-
- * configure.ac: Add --enable-secureplt.
- (HAVE_AS_REL16): Test for R_PPC_REL16 relocs.
- * config.in: Regenerate.
- * configure: Regenerate.
- * config.gcc (powerpc64-*-linux*, powerpc-*-linux*): Add
- rs6000/secureplt.h to tm_file when enable_secureplt.
- * doc/invoke.texi (msecure-plt, mbss-plt): Document.
- * doc/install.texi: Document --enable-targets and --enable-secureplt.
- Correct xrefs to "Using the GNU Compiler Collection (GCC)".
- * config/rs6000/secureplt.h: New file.
- * config/rs6000/sysv4.h (TARGET_SECURE_PLT): Define.
- (SUBTARGET_OVERRIDE_OPTIONS): Error if -msecure-plt given without
- assembler support.
- (CC1_SECURE_PLT_DEFAULT_SPEC): Define.
- (CC1_SPEC): Delete duplicate mno-sdata. Invoke cc1_secure_plt_default.
- (SUBTARGET_EXTRA_SPECS): Add cc1_secure_plt_default.
- * config/rs6000/sysv4.opt (msecure-plt, bss-plt): Add options.
- * config/rs6000/rs6000.h (TARGET_SECURE_PLT): Define.
- * config/rs6000/rs6000.c (rs6000_emit_load_toc_table): Handle
- TARGET_SECURE_PLT got register load sequence.
- (rs6000_emit_prologue): Call rs6000_emit_load_toc_table when
- TARGET_SECURE_PLT.
- (rs6000_elf_declare_function_name): Don't emit toc address offset
- word when TARGET_SECURE_PLT.
- * config/rs6000/rs6000.md (elf_high, elf_low): Move past load_toc_*.
- (load_toc_v4_PIC_1) Enable for TARGET_SECURE_PLT.
- (load_toc_v4_PIC_3b, load_toc_v4_PIC_3c): New insns.
- (call, call_value): Mark pic_offset_table_rtx used for sysv pic and
- TARGET_SECURE_PLT.
- (call_nonlocal_sysv, call_value_nonlocal_sysv, sibcall_nonlocal_sysv,
- sibcall_value_nonlocal_sysv): Add 32768 offset when TARGET_SECURE_PLT
- and -fPIC.
- * config/rs6000/tramp.asm (trampoline_initial): Use "bcl 20,31".
- (__trampoline_setup): Likewise. Init r30 before plt call.
-
-2005-05-31 DJ Delorie <dj@redhat.com>
-
- * expr.c (convert_move): When a partial_int requires multiple
- conversion steps, make sure successive steps convert the
- intermediate value, not the original value.
-
- * expmed.c (expand_mult): Convert partial_int multiplies to
- shift/add combinations too.
-
- * genmodes.c (mode_data): Add wider_2x.
- (calc_wider_mode): Calculate twice-wider mode too.
- (emit_mode_wider): Emit twice-wider mode too.
- * machmode.h (mode_2xwider, GET_MODE_2XWIDER_MODE): New.
- * expr.c (expand_expr_real_1): Use it for expanding
- multiplies.
-
-2005-05-31 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/21817
- * tree-ssa-loop-im.c (for_each_index): Handle VECTOR_CST.
-
-2005-05-31 Pat Haugen <pthaugen@us.ibm.com>
-
- * loop.c (loop_invariant_p, valid_initial_value_p): Revert last
- change.
-
-2005-05-31 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR middle-end/20931
- PR middle-end/20946
- * fold-const.c (fold_checksum_tree): Copy types also if
- TYPE_CONTAINS_PLACEHOLDER_INTERNAL is set.
- Don't call fold_checksum_tree for TREE_LIST's TREE_CHAIN
- first.
- Tail recurse TREE_LIST's TREE_CHAIN.
-
-2005-05-31 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR tree-opt/21732
- * tree-ssa-copy.c (dump_copy_of): Create a bitmap and don't visit a
- SSA_NAME twice and cause the loop to become finite. Remove the test
- for val.
-
-2005-05-31 Andrew Pinski <pinskia@physics.uc.edu>
-
- * tree-cfg.c (verify_expr): Add checking for COND_EXPR's conditional
- expression.
-
-2005-05-31 Richard Sandiford <rsandifo@redhat.com>
-
- * doc/tm.texi (TARGET_GET_PCH_VALIDITY, TARGET_PCH_VALID_P): Tweak
- the documentation to make it more future-proof.
- (TARGET_CHECK_PCH_TARGET_FLAGS): Document this new hook.
- * target.h (gcc_target): Add check_pch_target_flags.
- * target-def.h (TARGET_CHECK_PCH_TARGET_FLAGS): New macro.
- (TARGET_INITIALIZER): Include it.
- * toplev.c (default_pch_valid_p): Use targetm.check_pch_target_flags.
- * config/sh/sh-protos.h (sh_pch_valid_p): Delete.
- * config/sh/sh.c (TARGET_PCH_VALID_P, sh_pch_valid_p): Delete.
- (sh_check_pch_target_flags): New function.
- (TARGET_CHECK_PCH_TARGET_FLAGS): Override default.
-
-2005-05-31 Richard Guenther <rguenth@gcc.gnu.org>
-
- * fold-const.c (extract_array_ref): Handle more cases,
- do some useful canonicalization of the base.
- (fold_binary): Explicitly deal with arrays of zero-sized
- structures during folding of &a[i] == &a[j].
-
-2005-05-31 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * doc/install.texi (sparc-sun-solaris2*): Update note
- about Sun bug 4910101.
- (sparc-sun-solaris2.7): Document bootstrap
- failure with Sun WorkShop 6 99/08/18 as.
-
-2005-05-30 Pat Haugen <pthaugen@us.ibm.com>
-
- * loop.c (loop_invariant_p, valid_initial_value_p): Use
- regs_invalidated_by_call instead of call_used_regs.
-
-2005-05-30 Paolo Carlini <pcarlini@suse.de>
-
- PR middle-end/21743
- * builtins.def (BUILT_IN_CLOG, BUILT_IN_CLOGF, BUILT_IN_CLOGL):
- Enable.
- * doc/extend.texi: Add clog, clogf, clogl.
-
-2005-05-30 H.J. Lu <hongjiu.lu@intel.com>
-
- PR middle-end/20303
- * c-pragma.c: Include "vec.h".
- (handle_pragma_visibility): Use VEC.
-
- * doc/invoke.texi: Remove the nested visibility push limit.
-
-2005-05-30 Roger Sayle <roger@eyesopen.com>
-
- PR rtl-optimization/15422
- * reg-stack.c (starting_stack_p): New static global.
- (straighten_stack): Delete prototype. Change to update the stack
- before the current insn.
- (subst_stack_regs): Update call to straighten stack.
- (emit_swap_insn): Delete prototype. For the first insn in a
- basic block, update stack_in instead of emitting a real swap.
- (change_stack): When changing the stack before the first insn
- in a basic block, update stack_in instead of emitting real code.
- (compensate_edges): Clear starting_stack_p during compensation.
- (convert_regs_1): Keep track of starting_stack_p whilst processing
- a basic block.
-
-2005-05-30 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-ccp.c (const_val): Make it static.
-
-2005-05-29 Geoffrey Keating <geoffk@apple.com>
-
- PR target/21761
- * config/rs6000/rs6000.md: Remove stray TARGET_32BIT from
- pattern involving `:P'.
-
- * Makefile.in (install-cpp): Depend on installdirs.
-
-2005-05-30 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-outof-ssa.c (_elim_graph): Change the type of edge_list
- to VEC(int,heap)*.
- (new_elim_graph, clear_elim_graph, delete_elim_graph,
- elim_graph_add_edge, elim_graph_remove_succ_edge,
- FOR_EACH_ELIM_GRAPH_SUCC, FOR_EACH_ELIM_GRAPH_PRED): Use VEC
- instead of VARRAY.
-
-2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
-
- * cgraphunit.c, ipa-inline.c, loop-iv.c, modulo-sched.c,
- opts.c, postreload-gcse.c, tree-browser.def, tree-eh.c,
- tree-ssa-copyrename.c, tree-vect-analyze.c: Fix typos and
- follow spelling conventions in error/dump messages.
-
-2005-05-29 Roger Sayle <roger@eyesopen.com>
- Richard Henderson <rth@redhat.com>
-
- * ifcvt.c (noce_emit_move_insn): Construct a SET pattern directly
- if the RHS isn't suitable for calling emit_move_insn.
-
-2005-05-29 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-ccp.c (ccp_fold): Return immediately after calling
- fold_unary and fold_binary.
-
-2005-05-29 Roger Sayle <roger@eyesopen.com>
-
- * reg-stack.c (propagate_stack): Always copy the source stack to
- the destination. This routine is now only called when this is safe.
- (better_edge): New function split out from convert_regs_1 to
- determine which of two edges is better to propagate across.
- (convert_regs_1): We need only search for a best edge if the
- stack layout hasn't been defined yet. Use better_edge to help
- find beste. No longer traverse unnecessary edges.
-
-2005-05-29 Keith Besaw <kbesaw@us.ibm.com>
-
- * tree-ssa-alias.c (new_type_alias): New procedure to
- create a type memory tag for a pointer with a may-alias
- set determined from a variable declaration.
- * tree-flow.h: export declaration of new_type_alias
- * tree-optimize.c (init_tree_optimization_passes): document
- that pass_may_alias cannot be called after pass_vectorize.
- * tree-vect-transform (vect_create_data_ref_ptr): Call
- new_type_alias when an type memory tag isn't available
- for a reference.
- (vectorizable_store): Use copy_virtual_operands to update
- virtual defs in place (so that loop_version can be called).
- Call mark_for_renaming for the virtual defs in case peeling
- is done and virtual uses outside the loop need to be updated.
-
-2005-05-29 Dorit Naishlos <dorit@il.ibm.com>
-
- PR tree-optimization/21639
- * tree-complex.c (pass_lower_vector_s): Remove TODO_ggc_collect.
-
-2005-05-29 Jan Hubicka <jh@suse.cz>
-
- PR tree-optimization/21562
- * cfgexpand.c (construct_init_block): Deal properly with the case
- of entry edge not pointing to very first basic block.
-
-2005-05-28 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-ccp.c (ccp_fold): Remove code that produces
- non-gimple min invariant.
-
- * Makefile.in (OBJS-common): Add tree-cfgcleanup.o.
- * tree-flow.h: Add prototypes for start_recording_case_labels
- and end_recording_case_labels.
- * tree-cfg.c (start_recording_case_labels,
- end_recording_case_labels): Export.
- (cleanup_tree_cfg_loop, modified_noreturn_calls,
- cleanup_control_flow, cleanup_control_expr_graph,
- remove_fallthru_edge, phi_alternatives_equal,
- tree_forwarder_block_p, has_abnormal_incoming_edge_p,
- remove_forwarder_block, cleanup_forwarder_blocks,
- remove_forwarder_block_with_phi, merge_phi_nodes,
- gate_merge_phi, pass_merge_phi): Move to ...
- * tree-cfgcleanup.c: ... here.
-
- * basic-block.h: Remove forward declaration of bb_ann_d.
-
-2005-05-28 Jan Hubicka <jh@suse.cz>
-
- * tree-ssa-threadupdate.c: (create_edge_and_update_destination_phis):
- Update profile.
- * value-prof.c (tree_divmod_fixed_value_transform): Be more verbose in
- debug output.
- (tree_mod_subtract): Fix profile updating code.
- (tree_divmod_values_to_profile): Do not produce useless value profilers
- for divisions.
-
-2005-05-28 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-dom.c (vrp_element_p): Define.
- (vrp_hash_elt): Change the type of records to
- VEC(vrp_element_p,heap).
- (vrp_free): New.
- (tree_ssa_dominator_optimize): Pass vrp_free to htab_create.
- Update uses of VRP records.
- (simplify_cond_and_lookup_avail_expr, record_range): Update
- uses of VRP records.
-
- * tree-inline.c (cfun_stack): Change the type to
- VEC(function_p,heap).
- (push_cfun, pop_cfun): Use VEC instead of VARRAY.
-
-2005-05-27 Ian Lance Taylor <ian@airs.com>
-
- * c-decl.c (add_stmt): Add C frontend specific version.
- (stmts_are_full_exprs_p): Remove.
- * c-common.h (STMT_IS_FULL_EXPR_P): Remove.
- (stmts_are_full_exprs_p): Don't declare.
- * c-semantics.c (add_stmt): Remove.
-
-2005-05-27 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * config/mips/mips-protos.h (mips_declare_object): Add printf
- attribute.
- * config/mips/mips.c (mips_declare_object_name): Fix format
- argument.
-
-2005-05-27 Roger Sayle <roger@eyesopen.com>
-
- * reg-stack.c (compensate_edge): Remove original prototype.
- (propagate_stack): New function to copy the stack layout
- at the start of a basic block from the layout at the end of
- one of its predecessors.
- (compensate_edge): Assume that both source and destination
- blocks have already had their stack layouts defined.
- (compensate_edges): Traverse all non-entry edges in the CFG
- and call compensate_edge on each in turn.
- (convert_regs_1): Change return type to void. Call
- propagate_stack instead of compensate_edge.
- (convert_regs_2): Change return type to void. Update call
- to convert_regs_1 to ignore the (now void) return value.
- (convert_regs): Update calls to convert_regs_2 to ignore
- the (now void) return value. After all the basic blocks have
- been processed, call compensate_edges to actually emit new
- insns.
- (reg_to_stack): Initialize the aux info for each basic block
- with FOR_EACH_BB instead of which FOR_EACH_BB_REVERSE.
-
-2005-05-28 Jan Hubicka <jh@suse.cz>
-
- * except.c (can_throw_internal_1, can_throw_external_1): Add
- "is_resx" argument.
- (can_throw_external, can_throw_internal): Bring into sync wrt
- dealing resx.
- * except.h (can_throw_internal_1, can_throw_external_1): Update
- prototype.
- * tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
- Deal properly with resx.
-
-2005-05-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * basic-block.h (basic_block_def): Add phi_nodes and
- predictions. Remove tree_annotations.
- * predict.c (tree_predicted_by_p, tree_predict_edge,
- combine_predictions_for_bb): Adjust references to predictions.
- * tree-cfg.c (init_empty_tree_cfg, create_bb): Don't call
- create_block_annotation.
- (create_block_annotation, free_blocks_annotatios,
- clear_blocks_annotations): Remove.
- (dump_cfg_stats): Don't print out the memory spent on
- bb_ann_d.
- (delete_tree_cfg_annotations): Don't call free_blocks_annotations.
- * tree-flow-inline.h (bb_ann): Remove.
- (phi_nodes, set_phi_nodes): Update references to phi_nodes.
- * tree-flow.h (bb_ann_d): Remove.
- * tree-if-conv.c (process_phi_nodes): Update a reference to
- phi_nodes.
- * tree-phinodes.c (reserve_phi_args_for_new_edge,
- create_phi_node, remove_phi_node): Likewise.
- * tree-pretty-print.c (dump_generic_bb_buff): Don't call bb_ann.
- * tree-ssa-dom.c (threaded_blocks): New.
- (tree_ssa_dominator_optimize): Initialize, clear, and free
- threaded_blocks. Update a call to thread_through_all_blocks.
- (thread_across_edge): Use threaded_blocks instead of setting
- incoming_edge_threaded.
- * tree-ssa-threadupdate.c (threaded_through_all_blocks): Take
- a bitmap of blocks that are threaded through.
- * tree.h: Move the prototype of threaded_through_blocks to
- tree-flow.h.
-
- * domwalk.c (walk_dominator_tree, init_walk_dominator_tree,
- fini_walk_dominator_tree): Use VEC instead of VARRAY.
- * domwalk.h (dom_walk_data): Change the type of
- block_data_stack and free_block_data to VEC(void_p,heap)*.
- * tree-ssa-dse.c (dse_initialize_block_local_data,
- dse_optimize_stmt, dse_record_phis, dse_finalize_block): Use
- VEC instead of VARRAY.
-
-2005-05-27 Jan Hubicka <jh@suse.cz>
-
- * cgraph.c: Include tree-gimple.h
- (cgraph_edge): Rename expr to stmt.
- (cgraph_create_edge): Likewise.
- (cgraph_clone_node): Likewise.
- * cgraph.h (cgraph_node): Use call_stmt instead of call_expr.
- * cgraphunit.c (record_call_1): Rename to ...
- (record_reference): ... this one; do not build edges.
- (cgraph_varpool_analyze_pending_decls): Call record_reference directly.
- (current_basic_block): Kill.
- (cgraph_create_edges): Rewrite to work on gimple statements nicely.
- (verify_cgraph_node): Likewise.
- * tree-inline.c (copy_body_r): Do not mess up with cgraph edges.
- (copy_bb): Mess up with cgraph edges here; simplify EH handling.
- (copy_edges_for_bb): Simplify EH handling.
- (expand_call_inline): Pass statement to cgraph_edge and
- cgraph_create_edge.
-
-2005-05-27 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-inline.c (copy_body_r): Manually fold *& to deal
- with ADDR_EXPRs with mismatched types for now.
-
- * gimplify.c (fold_indirect_ref_rhs): New function.
- (gimplify_modify_expr_rhs): Use it instead of pessimistic
- fold_indirect_ref.
-
- * fold-const.c (fold_indirect_ref_1): Add type argument;
- make sure the resulting expression is of this type.
- (build_fold_indirect_ref, fold_indirect_ref): Adjust callers.
-
-2005-05-27 Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimization/21658
- * tree-ssa-ccp.c (ccp_fold): Call fold_binary instead of
- fold_binary_to_constant. Likewise, call fold_unary instead of
- fold_unary_to_constant.
-
-2005-05-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * vec.h: Implement integral type vector specialization.
- (VEC_T): Define a non-GTY structure.
- (VEC_T_GTY): Define a GTY structure.
- (VEC_TA): Rename to ...
- (VEC_TA_GTY): ... here.
- (DEF_VEC_I, DEF_VEC_ALLOC_I): New.
- (DEF_VEC_P, DEF_VEC_ALLOC_P): Adjust.
- (DEF_VEC_FUNC_P, DEF_VEC_ALLOC_FUNC_P): New, broken out of
- DEF_VEC_P and DEF_VEC_ALLOC_P.
- (DEF_VEC_O, DEF_VEC_ALLOC_O): Adjust.
- (DEF_VEC_FUNC_O, DEF_VEC_ALLOC_FUNC_O): New, broken out of
- DEF_VEC_O and DEF_VEC_ALLOC_O.
- * global.c: Use DEF_VEC_I, DEF_VEC_ALLOC_I.
- * lambda-code.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-ssa-live.c: Likewise.
-
-2005-05-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-into-ssa.c (update_ssa): Ensure that the operand cache
- is up-to-date.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Call
- update_stmt_if_modified before calling update_ssa.
-
-2005-05-27 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * config/rs6000/t-rtems: Remove roe multilib variant.
-
-2005-05-26 Roger Sayle <roger@eyesopen.com>
-
- PR tree-optimization/9814
- * ifcvt.c (noce_emit_move_insn): If we fail to recognize the move
- instruction, add the necessary clobbers by re-expanding the RTL
- for arithmetic operations via optab.c's expand_unop/expand_binop.
- (noce_try_bitop): New function to optimize bit manipulation idioms
- of the form "if (x & C) x = x op C" and "if (!(x & C) x = x op C".
- (noce_process_if_block): Call noce_try_bitop.
-
-2005-05-26 Roger Sayle <roger@eyesopen.com>
-
- * reg-stack.c (convert_regs_entry, convert_regs_exit,
- convert_regs_1, convert_regs_2, convert_regs): Delete prototypes.
- (reg_to_stack): Move to end of the file. Initialize the per
- basic block information here, instead of...
- (convert_regs_entry): Here.
- (convert_regs): Change unused return type to void.
-
-2005-05-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * c-pch.c, timevar.c, timevar.h, unwind-compat.c,
- unwind-dw2-fde-compat.c, unwind-dw2-fde.c, config/mmix/mmix.h,
- config/rs6000/eabispe.h, config/rs6000/lynx.h,
- config/sh/elf.h, config/sh/symbian-pre.h,
- config/sparc/sparc-protos.h: Update copyright.
-
-2005-05-26 Mike Stump <mrs@apple.com>
-
- * darwin.h (ASM_OUTPUT_LABELREF): Handle quoted non-lazy pointers
- for Objective-C++.
-
-2005-05-26 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-forwprop.c (forward_propagate_addr_expr):
- See through ADDR_EXPR in finding place to propagate into.
-
-2005-05-26 Kazu Hirata <kazu@cs.umass.edu>
-
- * c-common.c, c-parser.c, cfgbuild.c, cfghooks.c, cfghooks.h,
- cfgrtl.c, cgraphunit.c, ddg.c, expr.h, gcse.c, ggc-page.c,
- ggc-zone.c, gimplify.c, ipa-inline.c, longlong.h, targhooks.c,
- tree-flow-inline.h, tree-pass.h, tree-ssa-dse.c,
- tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c,
- tree-ssa-operands.c, tree-vect-analyze.c,
- tree-vect-transform.c, tree-vectorizer.c, tree.c,
- config/arm/arm.c, config/bfin/bfin.c, config/frv/frv.c,
- config/frv/frv.md, config/i386/i386.c, config/i386/sse.md,
- config/m68hc11/m68hc11.c, config/m68hc11/m68hc11.h,
- config/mcore/mcore.c, config/mips/mips.c, config/mips/mips.md,
- config/rs6000/darwin-ldouble.c, config/rs6000/rs6000.c,
- config/rs6000/rs6000.h, config/sh/sh.c, config/sh/sh.md,
- config/sh/ushmedia.h, config/sparc/sparc.c,
- config/sparc/sparc.md, config/stormy16/stormy-abi: Fix comment
- typos. Follow spelling conventions.
- * doc/invoke.texi, doc/tm.texi, doc/tree-ssa.texi: Fix typos.
- Follow spelling conventions.
-
-2005-05-26 David Ung <davidu@mips.com>
-
- * config/mips/mips.c (mips_use_ins_ext_p): New helper function
- that determines whether the MIPS32/64 R2 ext/ins should be used.
- * config/mips/mips.h (ISA_HAS_EXT_INS): New macro.
- * config/mips/mips.md (extzv): Changed predicate for operand to
- nonimmediate_operand. Add code to generate insn patterns for
- extzvsi and extzvdi.
- (extzv<mode>): New pattern to match mips32/64 r2 ext insn.
- (insv): Similarly for insertion.
- (insv<mode>): Similarly.
-
-2005-05-26 Paolo Bonzini <bonzini@gnu.org>
-
- * simplify-rtx.c (avoid_constant_pool_reference): Support
- offsetted addresses in the constant pool.
-
-2005-05-26 Paolo Bonzini <bonzini@gnu.org>
-
- * df.h (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
- * df.c (DF_SUBREGS, df_local_def_available_p, df_insn_modified_p): New.
-
-2005-05-26 Jakub Jelinek <jakub@redhat.com>
-
- PR target/21716
- * reg-stack.c (swap_rtx_condition): Don't crash if %ax user was not
- found in the basic block and last insn in the basic block is not
- INSN_P. Remove explicit unspec numbers that are no longer valid
- from comments.
-
-2005-05-26 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-vect-transform.c (vectorizable_operation): Try word_mode
- vectorization if UNITS_PER_WORD == UNITS_PER_SIMD_WORD, even
- if a vector mode is available.
-
-2005-05-25 Roger Sayle <roger@eyesopen.com>
-
- PR middle-end/21709
- * fold-const.c (const_binop): Check for division by zero during
- complex division.
-
-2005-05-26 Ian Lance Taylor <ian@airs.com>
-
- * reload1.c (verify_initial_elim_offsets): Add braces to avoid
- having a declaration after a statement.
-
-2005-05-26 Richard Sandiford <rsandifo@redhat.com>
-
- * opt-functions.awk (var_type): New function.
- (var_set): Use CLVC_STRING if var_type returns "const char *".
- * opth-gen.awk: Use var_type to find out the types of variables.
- Don't print comments above each "extern" definition.
- * optc-gen.awk: Use var_type in the same way.
- * opts.h (cl_var_cond): Rename to...
- (cl_var_type): ...this. Add CLVC_STRING.
- (cl_option): Make "flag_var" a "void *" pointer. Replace "var_cond"
- with "var_type".
- * opts.c (handle_option, option_enabled): Update after above name
- change. Cast flag_var before using it. Handle CLVC_STRING.
-
- * config/alpha/alpha.h (alpha_tls_size): Delete.
- * config/alpha/alpha.c (alpha_tls_size, alpha_cpu_string)
- (alpha_tune_string, alpha_tp_string, alpha_fprm_string)
- (alpha_fptm_string, alpha_mlat_string): Delete.
- (alpha_handle_option): Don't set the above variables here. Use the
- integer argument to check the validity of -mtls-size=.
- * config/alpha/alpha.opt (mcpu=, mtune=, mfp-rounding-mode=)
- (mfp-trap-mode=, mtrap-precision=, mmemory-latency=): Add Var()s.
- (mtls-size=): Likewise. Convert to a UInteger and initialize the
- variable to 32.
-
- * config/arc/arc.c (arc_cpu_string, arc_text_string)
- (arc_data_string, arc_rodata_string): Delete.
- (arc_handle_option): Don't set the above variables here.
- * config/arc/arc.opt (mcpu=, mtext=, mdata=, mrodata=): Add Var()s
- and initialize them.
-
- * config/arm/arm.c (target_fpu_name, target_fpe_name)
- (target_float_abi_name, target_abi_name, structure_size_string)
- (arm_pic_register_string): Delete.
- (arm_handle_option): Don't set the above variables here, except
- in the handling of -mhard-float and -msoft-float.
- * config/arm/arm.opt (mabi=, mfloat-abi=, mfp=, mfpe=, mfpu=)
- (mpic-register=, mstructure-size-boundary=): Add Var()s.
-
- * config/avr/avr.c (avr_init_stack, avr_mcu_name, TARGET_HANDLE_OPTION)
- (avr_handle_option): Delete.
- * config/avr/avr.opt (mmcu=, minit-stack=): Add Var()s and initialize
- them.
-
- * config/bfin/bfin.c (bfin_library_id): Delete.
- (bfin_handle_option): Don't set it.
- * config/bfin/bfin.opt (mshared-library-id=): Add Var().
-
- * config/c4x/c4x.h (c4x_rpts_cycles): Delete.
- * config/c4x/c4x.c (c4x_rpts_cycles): Delete.
- (c4x_handle_option): Don't set c4x_rpts_cycles here.
- * config/c4x/c4x.opt (mrpts=): Add Var().
-
- * config/cris/aout.h (CRIS_SUBTARGET_HANDLE_OPTION): Don't set
- cris_elinux_stacksize_str here.
- * config/cris/aout.opt (melinux-stacksize=): Add Var().
- * config/cris/cris.h (cris_max_stackframe_str, cris_cpu_str)
- (cris_tune_str, cris_elinux_stacksize_str): Delete.
- * config/cris/cris.c (cris_max_stackframe_str, cris_cpu_str)
- (cris_tune_str, cris_elinux_stacksize_str): Delete.
- (cris_handle_option): Don't set the above variables here.
- * config/cris/cris.opt (mcpu=, march=, mtune=, mmax-stackframe=)
- (max-stackframe=): Add Var()s.
-
- * config/i386/i386.h (ix86_tune_string, ix86_arch_string): Delete.
- * config/i386/i386.c (ix86_cmodel_string, ix86_asm_string)
- (ix86_tls_dialect_string, ix86_tune_string, ix86_arch_string)
- (ix86_fpmath_string, ix86_regparm_string, ix86_align_loops_string)
- (ix86_align_jumps_string, ix86_preferred_stack_boundary_string)
- (ix86_branch_cost_string, ix86_align_funcs_string): Delete.
- (ix86_handle_option): Don't set the above variables here.
- * config/i386/i386.opt (malign-functions=, malign-jumps=)
- (malign-loops=, march=, masm=, mbranch-cost=, mcmodel=, mfpmath=)
- (mpreferred-stack-boundary=, mregparm=, mtls-dialect=, mtune=): Add
- Var()s.
-
- * config/ia64/ia64.h (ia64_tls_size): Delete.
- * config/ia64/ia64.c (ia64_tls_size): Delete.
- (ia64_handle_option): Treat -mtls-size= as a UInteger option,
- reading the integer argument from the "value" parameter. Don't
- set ia64_tls_size here.
- * config/ia64/ia64.opt (mtls-size=): Turn into a UInteger option.
- Add Var() and Init().
-
- * config/m32r/m32r.h (m32r_cache_flush_func): Delete.
- (m32r_cache_flush_trap): Delete.
- * config/m32r/m32r.c (m32r_cache_flush_func): Delete.
- (m32r_cache_flush_trap): Delete.
- (m32r_handle_option): Don't set the above variables when handling
- -mflush-func= and -mflush-trap=.
- * config/m32r/m32r.opt (-mflush-func=, -mflush-trap=): Add Var()s
- and Init()s.
-
- * config/mips/mips.h (mips_cache_flush_func): Delete.
- * config/mips/mips.c (mips_arch_string, mips_tune_string)
- (mips_cache_flush_func): Delete.
- (mips_handle_option): Don't set the above variables when handling
- -march=, -mtune= and -mflush-func=.
- * config/mips/mips.opt (march=, mflush-func=, mtune=): Add Var()s.
-
- * config/s390/s390.c (s390_arch_string): Delete.
- (s390_handle_option): Don't set it here.
- * config/s390/s390.opt (march=): Add Var().
-
- * config/sparc/sparc.h (sparc_cmodel_string): Delete.
- * config/sparc/sparc.c (sparc_cmodel_string): Delete.
- (sparc_handle_option): Don't set it here.
- * config/sparc/sparc.opt (mcmodel=): Add Var().
-
-2005-05-25 Roger Sayle <roger@eyesopen.com>
-
- * convert.c (convert_to_integer) <POINTER_TYPE>: Avoid recursive
- call to convert_to_integer by building the NOP_EXPR directly.
-
-2005-05-25 Richard Sandiford <rsandifo@redhat.com>
-
- * config/rs6000/rs6000.opt (mprioritize-restricted-insns=): Fix typo.
-
-2005-05-25 Daniel Berlin <dberlin@dberlin.org>
- Jeff Law <law@redhat.com>
-
- * tree-cfg.c (verify_expr, case ADDR_EXPR): Verify invariant,
- constant and side_effects of the ADDR_EXPR are consistent.
-
- * tree-nested.c (convert_local_reference): Set CURRENT_FUNCTION_DECL
- appropriately around calls to recompute_tree_invarant_for_addr_expr.
-
-2005-05-25 Ulrich Weigand <uweigand@de.ibm.com>
-
- * config/s390/s390.c (GP_ARG_NUM_REG, FP_ARG_NUM_REG): New defines.
- (s390_function_arg, s390_gimplify_va_arg): Use them.
- (s390_register_info): Save only required subset of argument
- registers into save area for va_list.
- (s390_va_start): Initialize only required elements of va_list struct.
- (s390_build_builtin_va_list): Set va_list_[gf]pr_counter_field.
-
-2005-05-25 Ulrich Weigand <uweigand@de.ibm.com>
-
- * reload1.c (verify_initial_elim_offsets): Return boolean status
- instead of aborting.
- (reload): Adapt verify_initial_elim_offsets call site. Restart
- main loop if some initial elimination offsets changed.
-
-2005-05-25 Adam Nemet <anemet@lnxw.com>
-
- * config/rs6000/lynx.h (CC1_SPEC): Use -maix-struct-return instead
- of -mno-svr4-struct-return.
-
-2005-05-25 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/21705
-
- * tree-ssa-pre.c (in_fre): New static variable.
- (create_value_expr_from): Recursively value number reference ops
- in argument lists.
- (can_value_number_call): Temporary restrict only exists for
- PRE, not FRE.
-
-2005-05-25 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-into-ssa.c (rewrite_into_ssa, update_ssa): Replace
- sizeof (bitmap *) with sizeof (bitmap).
-
-2005-05-25 Daniel Berlin <dberlin@dberlin.org>
-
- * lambda-code.c (perfect_nestify): Call update_stmt on the exit
- condition.
-
-2005-05-25 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c (TARGET_INSN_VALID_WITHIN_DOLOOP): Set to
- hook_bool_rtx_true.
-
-2005-05-25 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in (ipa-inline.o): Add COEVERAGE_H dependency.
- * cgraph.c (cgraph_create_node): Reset estimated_growth.
- * cgraph.h (cgraph_global_info): Add estimated_growth.
- * ipa-inline.c: Include coverage.h
- (max_insns, max_count): New static variables.
- (cgraph_estimate_size_after_inlining): Cache the result.
- (cgraph_estimate_growth):
- * passes.c (rest_of_clean_state): Kill coverage_end_function.
- * timevar.def (TV_INLINE_HEURISTICS): New timevar.
- * tree-optimize.c (init_tree_optimization_passes): Move profiling before
- inlining.
- (ipa_passes): Initialize bitmaps.
-
-2005-05-25 Adrian Straetling <straetling@de.ibm.com>
-
- * loop-doloop.c: Include "target.h".
- (doloop_valid_p): Move tests to function in targhooks.c.
- * target.h (struct gcc_target): New target hook
- "insn_valid_within_doloop".
- * target-def.h: Define default value for "insn_valid_within_doloop".
- (TARGET_INITIALIZER): Insert new target hook into initializer.
- * targhooks.c (default_insn_valid_within_doloop): New function.
- * targhooks.h (default_insn_valid_within_doloop): Declare.
- * hooks.c (hook_bool_rtx_true): New function.
- * hooks.h (hook_bool_rtx_true): Declare.
- * doc/tm.texi: Add documentation for new target hook.
-
-2005-05-25 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR target/21412
- * config/sparc/sparc.h (SPARC_SYMBOL_REF_TLS_P): New macro
- * config/sparc/sparc-protos.h (tls_symbolic_operand): Delete.
- (sparc_tls_referenced_p): New prototype.
- * config/sparc/sparc.c (tls_symbolic_operand): Delete.
- (sparc_expand_move): Look for TLS addresses with constant offsets.
- (legitimate_constant_p): Use SPARC_SYMBOL_REF_TLS_P instead of
- tls_symbolic_operand.
- (legitimate_pic_operand_p): Likewise.
- (legitimate_address_p): Likewise.
- (legitimize_address): Likewise.
- (sparc_tls_symbol_ref_1): New function.
- (sparc_tls_referenced_p): New function.
- * config/sparc/predicates.md (tgd_symbolic_operand): Use
- SYMBOL_REF_TLS_MODEL instead of tls_symbolic_operand.
- (tld_symbolic_operand): Likewise.
- (tie_symbolic_operand): Likewise.
- (tle_symbolic_operand): Likewise.
-
-2005-05-24 DJ Delorie <dj@redhat.com>
-
- * common.opt (-Wattributes): New. Default true.
- * doc/invoke.texi (-Wno-attributes): Document.
-
- * attribs.c (decl_attributes): Move warning control from if() to
- warning(OPT_*).
- * c-common.c (handle_packed_attribute): Likewise.
- (handle_nocommon_attribute): Likewise.
- (handle_common_attribute): Likewise.
- (handle_noreturn_attribute): Likewise.
- (handle_noinline_attribute): Likewise.
- (handle_always_inline_attribute): Likewise.
- (handle_used_attribute): Likewise.
- (handle_unused_attribute): Likewise.
- (handle_const_attribute): Likewise.
- (handle_transparent_union_attribute): Likewise.
- (handle_constructor_attribute): Likewise.
- (handle_destructor_attribute): Likewise.
- (handle_mode_attribute): Likewise.
- (handle_alias_attribute): Likewise.
- (handle_visibility_attribute): Likewise.
- (handle_tls_model_attribute): Likewise.
- (handle_malloc_attribute): Likewise.
- (handle_returns_twice_attribute): Likewise.
- (handle_pure_attribute): Likewise.
- (handle_deprecated_attribute): Likewise.
- (handle_vector_size_attribute): Likewise.
- (handle_nothrow_attribute): Likewise.
- (handle_cleanup_attribute): Likewise.
- (handle_warn_unused_result_attribute): Likewise.
- (handle_sentinel_attribute): Likewise.
- * c-decl.c (diagnose_mismatched_decls): Likewise.
- (start_decl): Likewise.
- (grokdeclarator): Likewise.
- (start_function): Likewise.
- * c-format.c (check_function_format): Likewise.
- * stor-layout.c (place_field): Likewise.
- (finalize_record_size): Likewise.
- * tree.c (handle_dll_attribute)): Likewise.
- * varasm.c (default_assemble_visibility): Likewise.
- * config/darwin.c (darwin_handle_weak_import_attribute): Likewise.
- (darwin_assemble_visibility): Likewise.
- * config/arc/arc.c (arc_handle_interrupt_attribute): Likewise.
- * config/arm/arm.c (arm_handle_fndecl_attribute): Likewise.
- (arm_handle_isr_attribute): Likewise.
- * config/avr/avr.c (avr_handle_progmem_attribute): Likewise.
- (avr_handle_fndecl_attribute): Likewise.
- * config/bfin/bfin.c (handle_int_attribute): Likewise.
- * config/c4x/c4x.c (c4x_handle_fntype_attribute): Likewise.
- * config/h8300/h8300.c (h8300_handle_fndecl_attribute): Likewise.
- (h8300_handle_eightbit_data_attribute): Likewise.
- (h8300_handle_tiny_data_attribute): Likewise.
- * config/i386/i386.c (ix86_handle_cdecl_attribute): Likewise.
- (ix86_handle_regparm_attribute): Likewise.
- (ix86_handle_struct_attribute): Likewise.
- * config/i386/winnt.c (ix86_handle_shared_attribute): Likewise.
- (i386_pe_encode_section_info): Likewise.
- * config/ia64/ia64.c (ia64_handle_model_attribute): Likewise.
- * config/ip2k/ip2k.c (ip2k_handle_progmem_attribute): Likewise.
- (ip2k_handle_fndecl_attribute): Likewise.
- * config/m32r/m32r.c (m32r_handle_model_attribute): Likewise.
- * config/m68hc11/m68hc11 (m68hc11_handle_page0_attribute): Likewise.
- (m68hc11_handle_fntype_attribute): Likewise.
- (m68hc11_encode_section_info): Likewise.
- * config/m68k/m68k.c (m68k_handle_fndecl_attribute): Likewise.
- * config/mcore/mcore.c (mcore_handle_naked_attribute): Likewise.
- * config/ns32k/ns32k.c (ns32k_handle_fntype_attribute): Likewise.
- * config/rs6000/rs6000.c (rs6000_handle_longcall_attribute): Likewise.
- * config/sh/sh.c (sh_handle_interrupt_handler_attribute): Likewise.
- (sh_handle_sp_switch_attribute): Likewise.
- (sh_handle_trap_exit_attribute): Likewise.
- * config/sh/symbian.c (sh_symbian_dllimport_p): Likewise.
- (sh_symbian_handle_dll_attribute): Likewise.
- * config/stormy16/stormy16.c (xstormy16_handle_interrupt_attribute): Likewise.
- (xstormy16_handle_below100_attribute): Likewise.
- * config/v850/v850.c (v850_handle_interrupt_attribute): Likewise.
-
- * c-common.c (unsigned_conversion_warning): Move warning control
- from if() to warning(OPT_*).
- (c_common_truthvalue_conversion): Likewise.
- (c_do_switch_warnings): Likewise.
- * c-decl.c (diagnose_mismatched_decls): Likewise.
- (diagnose_mismatched_decls): Likewise.
- (define_label): Likewise.
- (grokdeclarator): Likewise.
- * c-format.c (check_format_info): Likewise.
- * c-lex.c (interpret_integer): Likwise.
- (lex_string): Likewise.
- * c-opts.c (c_common_post_options): Likewise.
- * c-parser.c (c_parser_unary_expression): Likewise.
- * c-pragma.c (handle_pragma_redefine_extname): Likewise.
- (handle_pragma_extern_prefix): Likewise.
- * c-typeck.c (build_binary_op): Likewise.
- * gcse.c (is_too_expensive): Likewise.
- * opts.c (decode_options): Likewise.
- * stor-layout.c (place_field): Likewise.
- * tree-cfg.c (remove_bb): Likewise.
-
- * c.opt (-Wreturn-type): Add Var(warn_return_type).
- * flags.h (warn_return_type): Remove.
- * toplev.c (warn_return_type): Likewise.
-
-2005-05-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure.ac: Don't use gcc_AC_C_LONG_LONG. Check for
- existence of long long and __int64 before determining their size.
- * aclocal.m4: Delete gcc_AC_C_LONG_LONG.
- * configure, config.h.in: Regenerate.
-
-2005-05-24 Kelley Cook <kcook@gcc.gnu.org>
-
- * configure: Regenerate.
-
-2005-05-24 Ziemowit Laski <zlaski@apple.com>
-
- * c-common.h (objc_comptypes): Remove prototype.
- (objc_compare_types): New prototype.
- (objc_volatilized_decl): Likewise.
- (objc_type_quals_match): Likewise.
- * c-decl.c (objc_mark_locals_volatile): Streamline by calling
- objc_volatilize_decl().
- * c-typeck.c (comp_target_types): Remove third parameter; do
- not call objc_comptypes().
- (comptypes): Remove calls to objc_comptypes().
- (build_function_call): Extend compatible prototype check to ObjC.
- (build_conditional_expr): Adjust call to comp_target_types().
- (convert_for_assignment): Call objc_compare_types() instead of
- objc_comptypes(); adjust calls to comp_target_types(); call
- objc_type_quals_match() before issuing qualifier mismatch
- warnings.
- (build_binary_op): Call objc_compare_types() before issuing
- pointer mismatch warnings; adjust calls to
- comp_target_types().
- * stub-objc.c (objc_comptypes): Remove stub.
- (objc_compare_types): New stub.
- (objc_volatilized_decl): Likewise.
- (objc_type_quals_match): Likewise.
-
-2005-05-24 Paolo Carlini <pcarlini@suse.de>
-
- * config/ia64/ia64intrin.h: Define nothing for C++:
- overloaded builtins have been ported to C++.
-
-2005-05-24 Jeff Law <law@redhat.com>
-
- * tree-nested.c (build_addr): New "context" argument. Temporarily
- set current_function_decl around the call to build the ADDR_EXPR.
- (get_static_chain): Pass proper context to build_addr.
- (convert_nl_goto_reference): Likewise.
- (convert_tramp_reference): Likewise.
- (final_nesting_tree_1): Likewise.
- * tree-profile.c (tree_gen_interval_profiler): Likewise.
- (tree_gen_pow2_profiler): Likewise.
- (tree_gen_one_value_profiler): Likewise.
- * tree-ssa-loop-ivopts.c (build_addr_strip_iref): Likewise.
- * tree.h (build_addr): Update prototype.
-
-2005-05-24 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-flow.h (bb_ann_d): Remove has_escape_site.
- * tree-ssa-alias.c (compute_points_to_addr_escape): Don't
- write to has_escape_site.
-
-2005-05-24 Jeff Law <law@redhat.com>
-
- * Makefile.in (tree-cfg.o): Depend on tree-ssa-propagate.h.
- * tree-cfg.c: Include tree-ssa-propagate.h.
- (replace_uses_by): Call recompute_tree_invarant_for_addr_expr as
- needed.
-
-2005-05-24 Nick Clifton <nickc@redhat.com>
-
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- __NO_FPRS__ when 'f' class registers will not be available.
-
-2005-05-24 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
-
- * config/m32r/m32r.c (m32r_expand_block_move): Return 0 if
- nothing was done.
- * config/m32r/m32r.md (movmemsi): If m32r_expand_block_move did
- nothing then FAIL.
- * config/m32r/m32r/m32r-protos.h (m32r_expand_block_move): Update
- prototype.
-
-2005-05-23 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (cprop_into_stmt): Do not call
- recompute_tree_invariant_for_addr_expr here.
- (optimize_stmt): Call it here instead and do so if anything
- at all has changed in the statement and the RHS is an ADDR_EXPR.
- * tree-ssa-forwprop.c (tidy_after_forward_propagate_addr): If
- needed, call recompute_tree_invariant_for_addr_expr.
- * tree-ssa-propagate.c (substitute_and_fold): Call
- recompute_tree_invariant_for_addr_expr as needed.
-
-2005-05-23 Andreas Krebbel <krebbel1@de.ibm.com>
-
- * config/s390/s390.c (s390_optimize_prologue): Don't replace an insn
- saving less registers than the replacement.
-
-2005-05-23 Jan Hubicka <jh@suse.cz>
-
- * tree-flow.h (stmt_ann_d): Kill GTY ((skip)) mark on BB.
-
-2005-05-23 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc-protos.h (sparc_expand_move): New prototype.
- * config/sparc/sparc.c (sparc_expand_move): New function.
- (sparc_emit_set_const64): Rewrite assert condition on entry.
- (legitimate_constant_p) <CONST_VECTOR>: New case.
- (legitimize_pic_address): Use TARGET_ARCH64 to select the mode.
- * config/sparc/sparc.md (movqi, movhi, movsi, movdi, movV32,
- movV64, movtf): Use nonimmediate_operand for the first operand.
- Rewrite. Only invoke sparc_expand_move.
- * config/sparc/predicates.md (input_operand): Reorder tests.
-
-2005-05-23 Jan Beulich <jbeulich@novell.com>
-
- * gthr-posix.h (__gthread_recursive_mutex_init_function): Add
- missing return statement.
-
-2005-05-22 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc.c (sparc_emit_float_lib_cmp): Use
- emit_move_insn for moves to TFmode stack slots.
-
-2005-05-21 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-stdarg.c (execute_optimize_stdarg): Handle references
- to va_list of the form &va[0].
-
-2005-05-20 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in (insn-emit.o): Add basic-block.h dependency.
- * genemit.c (main): Make insn-emit to include basic-block.h too.
-
-2005-05-20 Jan Hubicka <jh@suse.cz>
-
- * cgraphunit.c (cgraph_expand_function): Force function being lowered.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (emit_unlikely_jump, emit_load_locked,
- emit_store_conditional): Split out from ...
- (alpha_split_atomic_op): ... here.
- (alpha_split_compare_and_swap): New; extract from .md file.
- (alpha_split_lock_test_and_set): Likewise.
- * config/alpha/alpha-protos.h: Update.
- * config/alpha/sync.md (sync_compare_and_swap<I48MODE>): Move
- split code into alpha.c.
- (sync_lock_test_and_set<I48MODE>): Likewise.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- * unwind.h, unwind-pe.h: Revert gcc_unreachable change of 05-17.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (mulv4si3): Use all register inputs.
- (mulv2di3): Likewise.
-
-2005-05-19 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-loop-ivopts.c (determine_base_object): Use
- build_fold_addr_expr to generate trees of correct type.
- Use fold_buildN if possible.
-
-2005-05-19 Jan Hubicka <jh@suse.cz>
-
- * basic-block.h (REG_BR_PROB_BASE): Define.
- * cgraph.c (cgraph_create_edge): Initialize loop_nest and count.
- (dump_cgraph_node): Dump count.
- (cgraph_clone_edge): Rescale counts.
- (cgraph_clone_node): Likewise.
- * cgraph.h: Include basic-block.h
- (cgraph_node): Add count.
- (cgraph_edge): Add count and loop_nest.
- (cgraph_node, cgraph_edge, cgraph_clone_edge, cgraph_clone_node):
- Update prototypes.
- * cgraphunit.c: Kill now redundant inlining comment.
- (cgraph_create_edges): Make static, maintain current basic block;
- fix pasto.
- (record_call_1): Fill in new fields.
- * ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
- cgraph_clone_node.
- (cgraph_decide_recursive_inlining): Likewise.
- * rtl.h (REG_BR_PROB_BASE): Kill.
- * tree-inline.c (copy_body_r): Update call of cgraph_clone_edge.
- (expand_call_inline): Update call of cgraph_create_edge.
- * tree-optimize.c (tree_rest_of_compilation): Likewise.
-
-2005-05-19 Nick Clifton <nickc@redhat.com>
-
- * config/rs6000/eabispe.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Use the
- new rs6000_explicit_options structure.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- PR target/21390
- * config/alpha/alpha.c (alpha_emit_conditional_branch): Move
- TFmode code swapping ...
- (alpha_emit_xfloating_compare): ... here.
- (alpha_emit_setcc): Update to match.
- (alpha_lookup_xfloating_lib_func): Assert TARGET_HAS_XFLOATING_LIBS.
-
-2005-05-19 Richard Henderson <rth@redhat.com>
-
- PR target/21657
- * config/ia64/ia64.c (ia64_expand_tls_address): Remove extra
- memory indirection in local-dynamic case.
-
-2005-05-18 Jie Zhang <jie.zhang@analog.com>
- Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (branch_dest): Add comment why it's
- necessary.
- * config/bfin/bfin.md (attr "length" default): Change the offset of
- forward conditional branch of length 4 from 4096 to 4092.
-
-2005-05-19 Jan Beulich <jbeulich@novell.com>
-
- * unwind-compat.c: Include tconfig.h and tsystem.h.
- * unwind-dw2-fde-compat.c: Likewise.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- PR 21541
- * ifcvt.c (noce_process_if_block): Avoid conversion when the
- memory destination is readonly.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- PR 21541
- * tree-ssa-operands.c (opf_non_specific): New.
- (get_asm_expr_operands): Set it.
- (add_call_clobber_ops, add_call_read_ops): Likewise.
- (add_stmt_operand): Test it instead of opf_kill_def when
- considering unmodifiable variables.
-
- * tree-ssa-operands.c (get_expr_operands): Fix exact test.
-
-2005-05-19 Kazu Hirata <kazu@cs.umass.edu>
-
- * cfgexpand.c, tree-cfg.c, tree-inline.c, tree-optimize.c,
- tree-ssa-forwprop.c: Fix comment typos.
- * doc/invoke.texi: Fix a typo.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- * config.gcc (powerpc-*-linux*): Include linux64.opt when
- including linux64.h.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- * tree-cfg.c (pass_remove_useless): Revert last change.
- * tree-optimize.c (init_tree_optimization_passes): Initialize
- all_lowering_passes with PROP_gimple_any.
-
-2005-05-18 Devang Patel <dpatel@apple.com>
-
- * config/rs6000/rs6000.md (insvsi_internal1): Subtract shift from
- the mask end.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- * tree-ssa-forwprop.c (cfg_changed): New.
- (tidy_after_forward_propagate_addr): New.
- (forward_propagate_addr_expr): Use it, and fold_stmt_inplace.
- (forward_propagate_addr_into_variable_array_index): Likewise.
- (tree_ssa_forward_propagate_single_use_vars): Cleanup cfg if
- edges were removed.
-
-2005-05-18 Geoffrey Keating <geoffk@apple.com>
-
- * dummy-checksum.c: New.
- * genchecksum.c: New.
- * c.opt (print_pch_checksum): New flag.
- * c-pch.c (struct c_pch_validity): Make much shorter.
- (no_checksum): New.
- (host_machine): Remove.
- (target_machine): Remove.
- (get_ident): Change PCH version number.
- (pch_init): When -fverbose-asm, print out the compiler fingerprint.
- Don't put triplets or version string in PCH validity data.
- Do put the compiler checksum in the validity data.
- (c_common_valid_pch): Don't check triplets or version string. Do
- check checksum.
- (c_common_print_pch_checksum): New.
- * c-opts.c (c_common_handle_option): Add OPT_print_pch_checksum.
- Print fingerprint with -v.
- * c-common.h (c_common_print_pch_checksum): New.
- (executable_checksum): New.
- * Makefile.in (STAGEMOVESTUFF): Add cc1*-dummy, *-checksum.c.
- (cc1-dummy): New rule.
- (cc1-checksum.c): New rule.
- (cc1-checksum.o): New rule.
- (cc1): Add checksum support.
- (build/genchecksum): New.
- (build/genchecksum.o): New.
- (dummy-checksum.o): New.
- (genobjnames): Add genchecksum.o.
- (mostlyclean): Remove *-checksum.c.
- (gnucompare): Add libgcc to list of directories checked.
- Make comparison problems in libgcc/ and with checksum files only
- be warnings.
- * doc/invoke.texi (Precompiled Headers): Remove caution.
- Document that it must be the exact same binary. Add a few
- known-safe flags to the list.
-
- * rs6000/predicates.md (fix_trunc_dest_operand): New.
- * rs6000/rs6000.md (fix_truncdfsi2): Use fix_trunc_dest_operand.
- Check that a memory operand is valid before trying to use it.
-
- * tree-cfg.c (pass_remove_useless): This pass works on trees.
-
-2005-05-18 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree.c (build1_stat): Don't try to handle two-operand
- tree codes.
-
-2005-05-18 Richard Sandiford <rsandifo@redhat.com>
-
- * config.gcc (sh*-*-*): Define SUPPORT_* macros to 1.
- * config/sh/sh.h: Update mask names throughout.
- (target_flags, ISIZE_BIT, DALIGN_BIT, SH1_BIT, SH2_BIT, SH3_BIT)
- (SH_E_BIT, HARD_SH4_BIT, FPU_SINGLE_BIT, SH4_BIT, SH4A_BIT, FMOVD_BIT)
- (SH5_BIT, SPACE_BIT, BIGTABLE_BIT, RELAX_BIT, USERMODE_BIT)
- (HITACHI_BIT, NOMACSAVE_BIT, PREFERGOT_BIT, PADSTRUCT_BIT)
- (LITTLE_ENDIAN_BIT, IEEE_BIT, SAVE_ALL_TR_BIT, HARD_SH2A_BIT)
- (HARD_SH2A_DOUBLE_BIT, INDEXED_ADDRESS_BIT, PT_FIXED_BIT)
- (INVALID_SYMBOLS_BIT, ADJUST_UNROLL_BIT, TARGET_DUMPISIZE)
- (TARGET_ALIGN_DOUBLE, TARGET_SH1, TARGET_SH2, TARGET_SH3)
- (TARGET_HARD_SH4, TARGET_FPU_SINGLE, TARGET_SH5, TARGET_FMOVD)
- (TARGET_IEEE, TARGET_SMALLCODE, TARGET_BIGTABLE, TARGET_RELAX)
- (TARGET_HITACHI, TARGET_NOMACSAVE, TARGET_PADSTRUCT)
- (TARGET_LITTLE_ENDIAN, TARGET_USERMODE, TARGET_PREFERGOT)
- (TARGET_SAVE_ALL_TARGET_REGS, TARGET_ALLOW_INDEXED_ADDRESS)
- (TARGET_PT_FIXED, TARGET_INVALID_SYMBOLS, TARGET_ADJUST_UNROLL)
- (TARGET_SWITCH_SH1, TARGET_SWITCH_SH2, TARGET_SWITCH_SH2E)
- (TARGET_SWITCH_SH2A, TARGET_SWITCH_SH2A_SINGLE_ONLY)
- (TARGET_SWITCH_SH2A_SINGLE, TARGET_SWITCH_SH2A_NOFPU)
- (TARGET_SWITCH_SH3, TARGET_SWITCH_SH3E, TARGET_SWITCH_SH4_SINGLE_ONLY)
- (TARGET_SWITCH_SH4_SINGLE, TARGET_SWITCH_SH4_NOFPU, TARGET_SWITCH_SH4)
- (TARGET_SWITCH_SH4A, TARGET_SWITCH_SH4A_SINGLE_ONLY)
- (TARGET_SWITCH_SH4A_SINGLE, TARGET_SWITCH_SH4A_NOFPU)
- (TARGET_SWITCH_SH4AL, TARGET_SWITCH_SH5_64MEDIA)
- (TARGET_SWITCH_SH5_64MEDIA_NOFPU, TARGET_SWITCHES_SH5_32MEDIA)
- (TARGET_SWITCHES_SH5_32MEDIA_NOFPU, TARGET_SWITCH_SH5_32_ANY_EXTRA)
- (TARGET_SWITCH_SH5_MEDIA_ANY_EXTRA, TARGET_SWITCHES)
- (SUBTARGET_SWITCHES): Delete.
- (TARGET_SH2E, TARGET_SH2A, TARGET_SH2A_SINGLE, TARGET_SH2A_DOUBLE)
- (TARGET_SH3E, TARGET_CACHE32, TARGET_SUPERSCALAR, TARGET_HARVARD)
- (TARGET_FPU_DOUBLE, TARGET_SH4A_ARCH, TARGET_SHMEDIA32)
- (TARGET_SHMEDIA64): Redefine using other TARGET_* macros.
- (TARGET_SH4): Undefine options.h definition and check MASK_SH1 as well.
- (SUPPORT_SH1, SUPPORT_SH2E, SUPPORT_SH4, SUPPORT_SH4_SINGLE)
- (SUPPORT_SH2A, SUPPORT_SH2A_SINGLE): Make numeric.
- (SUPPORT_SH2): Define to 1 if SUPPORT_SH1.
- (SUPPORT_SH3): Likewise SUPPORT_SH2.
- (SUPPORT_SH4_NOFPU): Likewise SUPPORT_SH3.
- (SUPPORT_SH4A_NOFPU, SUPPORT_SH4AL, SUPPORT_SH2A_NOFPU): Likewise
- SUPPORT_SH4_NOFPU.
- (SUPPORT_SH3E): Likewise SUPPORT_SH2E.
- (SUPPORT_SH4_SINGLE_ONLY, SUPPORT_SH4A_SINGLE_ONLY)
- (SUPPORT_SH2A_SINGLE_ONLY): Likewise SUPPORT_SH3E.
- (SUPPORT_SH4A): Likewise SUPPORT_SH4.
- (SUPPORT_SH4A_SINGLE): Likewise SUPPORT_SH4_SINGLE.
- (SUPPORT_SH5_32MEDIA): Likewise SUPPORT_SH5_COMPACT.
- (SUPPORT_SH5_32MEDIA_NOFPU): Likewise SUPPORT_SH5_COMPACT_NOFPU.
- (SUPPORT_ANY_SH5_32MEDIA, SUPPORT_ANY_SH5_64MEDIA)
- (SUPPORT_ANY_SH5): New macros.
- (TARGET_NONE): Replace with...
- (MASK_ARCH): ...this new macro.
- * config/sh/elf.h: Update mask names
- * config/sh/linux.h: Likewise.
- * config/sh/little.h: Likewise.
- * config/sh/netbsd-elf.h: Likewise.
- * config/sh/symbian-pre.h: Likewise.
- * config/sh/sh.c (sh_handle_option): New function.
- (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
- (calc_live_regs): Use MASK_FPU_SINGLE instead of FPU_SINGLE_BIT.
- (sh_target_switches, target_switches): Delete.
- (sh_pch_valid_p): Check for specific differences in the target_flags
- settings.
- (sh_init_cumulative_args): Use MASK_HITACHI instead of HITACHI_BIT.
- * config/sh/sh.opt: New file.
-
-2005-05-18 Richard Henderson <rth@redhat.com>
-
- PR target/21632
- * config/ia64/ia64.c (ia64_extra_constraint) <'T'>: Use
- small_addr_symbolic_operand.
-
-2005-05-18 Jeff Law <law@redhat.com>
-
- * tree-ssa-forwprop.c (forward_propagate_addr_expr): Do not
- propagate an ADDR_EXPR if the definition and use sites are
- in different EH regions.
-
-2005-05-18 Ian Lance Taylor <ian@airs.com>
-
- * read-rtl.c (mode_attr_index): Use obstack_grow0, not
- obstack_grow.
-
-2005-05-18 Daniel Berlin <dberlin@dberlin.org>
-
- * cfgrtl.c (purge_dead_edges): Don't remove fake edges.
-
-2005-05-18 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/21407
-
- * tree-ssa-operands.c (note_addressable): Change
- COMPONENT_REF handling in response to aliasing
- discussion.
-
-2005-05-18 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sol2.h (TARGET_DEFAULT): Add back MASK_APP_REGS.
- * config/sparc/sol2-64.h (TARGET_DEFAULT): Likewise.
- * config/sparc/sp-elf.h (TARGET_DEFAULT): Delete.
- * doc/invoke.texi (SPARC options): Document that -mapp-regs is
- the default on Solaris too.
-
-2005-05-17 Daniel Berlin <dberlin@dberlin.org>
-
- * tree-ssa-pre.c (find_or_generate_expression): CALL_EXPR
- is okay too.
-
-2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * timevar.def (TV_SCEV_CONST): New timevar.
- * tree-optimize.c (init_tree_optimization_passes): Add
- pass_scev_cprop.
- * tree-pass.h (pass_scev_cprop): Declare.
- * tree-scalar-evolution.c (scev_const_prop): New function.
- * tree-scalar-evolution.h (scev_const_prop): Declare.
- * tree-ssa-loop.c (gate_scev_const_prop, pass_scev_cprop):
- New.
- * tree-cfg.c (replace_uses_by): Export.
- * tree-flow.h (replace_uses_by): Declare.
-
-2005-05-17 Ziemowit Laski <zlaski@apple.com>
- Mike Stump <mrs@apple.com>
-
- Yet more Objective-C++...
-
- * c-common.h (objc_finish_try_stmt): Add.
- (objc_build_synchronized): Add.
- (objc_generate_write_barrier): Add.
- * stub-objc.c (objc_build_synchronized): Add return value.
- (objc_finish_try_stmt): Likewise.
- (objc_generate_write_barrier): Add.
-
- * c-common.h (objc_rewrite_function_call): Add.
- * c-typeck.c (build_function_call): Allow objc to rewrite
- FUNCTION_DECLs.
- (build_modify_expr): Allow objc to generate write barriers.
- * c.opt (Wassign-intercept): Add.
- (Wstrict-selector-match): Add.
- (fobjc-call-cxx-cdtors): Add.
- (fobjc-direct-dispatch): Add.
- (fobjc-gc): Add.
- * dbxout.c (get_lang_number): Add Objective-C++ support.
- * doc/invoke.texi (-fobjc-call-cxx-cdtors): Likewise.
- (-Wstrict-selector-match): Likewise.
- (-fobjc-direct-dispatch): Likewise.
- (-Wassign-intercept): Likewise.
- (Overall Options): Likewise.
- * gengtype.c (get_output_file_with_visibility): Likewise.
- * stub-objc.c (objc_rewrite_function_call): Add.
- * config/darwin.h (ASM_OUTPUT_LABELREF): Improved quoting support.
-
- * c-common.c (flag_objc_exceptions): Remove.
- (flag_objc_sjlj_exceptions): Remove.
- * c-decl.c (objc_mark_locals_volatile): Don't change decls
- that are already ok.
- * c-opts.c (c_common_handle_option, case
- OPT_fobjc_exceptions): Remove.
- (case OPT_fobjc_sjlj_exceptions): Remove
- * c.opt (fobjc-call-cxx-cdtors): Have opt create the flag.
- (fobjc-exceptions): Likewise.
- (fobjc-sjlj-exceptions): Likewise.
- * config/rs6000/darwin.h (OFFS_MSGSEND_FAST): Add.
- (OFFS_ASSIGNIVAR_FAST): Add.
-
-2005-05-17 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc.md (movhi): Do not test constness
- of operand #1 twice.
- (movsi): Likewise.
- (movdi): Unconditionally accept zero as second operand
- when the first is memory.
- (movdi_insn_sp32): Handle above case.
- (DImode splitter): Use predicates.
- (DImode splitter): Use const_zero_operand predicate.
- (movsf_insn): Swap 2 alternatives.
-
-2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-ivopts.c (find_bivs, find_givs_in_stmt_scev): Apply
- expand_simple_operations to bases of the ivs.
- (tree_int_cst_sign_bit): Export.
- * tree-flow.h (expand_simple_operations): Declare.
- * tree-ssa-loop-niter.c (number_of_iterations_cond): Use
- tree_int_cst_sign_bit.
- (expand_simple_operations): Export.
- * tree.h (tree_int_cst_sign_bit): Declare.
-
-2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-cfg.c (tree_can_merge_blocks_p): Allow phi nodes in the
- merged block.
- (replace_uses_by): New function.
- (tree_merge_blocks): Eliminate the phi nodes in the merged block.
- * tree-flow.h (fold_stmt_inplace): Declare.
- * tree-ssa-ccp.c (fold_stmt_inplace): New function.
- * tree-ssa-dom.c (tree_ssa_dominator_optimize): Update dominance
- info after cfg cleanup.
-
-2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * cfgloop.h (just_once_each_iteration_p): Declaration changed.
- * cfgloopanal.c (just_once_each_iteration_p): Make the loop argument
- const.
-
-2005-05-17 Zdenek Dvorak <dvorakz@suse.cz>
-
- * ggc-page.c (ggc_alloc_stat): Record amount of memory allocated.
- * ggc-zone.c (ggc_alloc_zone_1): Ditto.
- * timevar.c (timevar_ggc_mem_total): New variable.
- (GGC_MEM_BOUND): New constant.
- (get_time): Record ggc memory status.
- (timevar_accumulate): Accumulate amount of ggc memory.
- (timevar_print): Print consumption of ggc memory.
- * timevar.def (TV_FIND_REFERENCED_VARS, TV_TREE_REDPHI,
- TV_TREE_LOOP_BOUNDS, TV_TREE_LOOP_IVCANON, TV_TREE_VECTORIZATION,
- TV_TREE_LINEAR_TRANSFORM): Shorten strings to fit in 22 characters.
- * timevar.h (struct timevar_time_def): Add ggc_mem field.
- (timevar_ggc_mem_total): Declare.
-
-2005-05-17 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-into-ssa.c (update_ssa): Clean up by shortening the
- live range of DFS.
-
-2005-05-17 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.md (ncond, ocode, rcond): Remove separate
- define_code_attr.
- ("b<ncond:code>", "b<ocond:code>", "b<rcond:code>")
- ("*b<ncond:code>_reversed", "*b<ocond:code>_reversed")
- ("*b<rcond:code>_reversed", "s<ncond:code>", "s<rcond:code>")
- ("s<ocond:code>"): Rename from respectively "b<ncond>",
- "b<ocond>", "b<rcond>", ("*b<ncond>_reversed",
- "*b<ocond>_reversed", "*b<rcond>_reversed", "s<ncond>",
- "s<rcond>" and "s<ocond>".
- ("b<ocond:code>", "*b<ocond:code>_reversed")
- ("*b<rcond:code>_reversed"): Remove extraneous backslashes in
- output statement section.
-
-2005-05-17 Roger Sayle <roger@eyesopen.com>
-
- * c-typeck.c (common_type): Also handle BOOLEAN_TYPEs.
-
-2005-05-17 Steven Bosscher <stevenb@suse.de>
- Stuart Hastings <stuart@apple.com>
- Jan Hubicka <jh@suse.cz>
- Dale Johannesen <dalej@apple.com>
-
- * cgraph.h (cgraph_node): Add 'lowered' state.
- (cgraph_lower_function): Declare.
- * cgraphunit.c (cgraph_finalize_function): Initialize lowered flag.
- (cgraph_lower_function): New function.
- (cgraph_create_edges): Deal with lowered function bodies.
- (verify_cgraph_node): Likewise.
- (cgraph_analyze_function): Do lowering job.
- (cgraph_build_static_cdtor): Likewise.
- * function.h (struct function): Add saved_eh and saved_cfg.
- * integrate.c (copy_decl_for_inlining): Kill LABEL_DECL_UID field.
- * tree-cfg.c (fold_cond_expr_cond): Export.
- * tree-flow.h (fold_cond_expr_cond): Declare.
- * tree-inline.c: Include basic-block, ggc, tree-flow, except.h and
- pointer-set.
- (struct_inline_data): Kill fnd, first_inlined_fn, ret_label,
- in_target_cleanup_p, tree_pruner, tsi; add callee, caller and
- callee_cfun, block, eh_region, eh_region_offset.
- (inlining_p): New predicate.
- (remap_decl): Update for new inline_data; declare newly created inline
- vars in low gimple way.
- (copy_body_r): Update for new datastructure, simplify some of handling
- when we are in gimple; remap LABEL_DECLs for EH; copy TREE_BLOCK;
- deal with RESX_EXPRs.
- (copy_bb): New.
- (copy_edges_for_bb): Likewise.
- (remap_decl_1): New.
- (copy_cfg_body): New.
- (copy_generic_body): Rewrite to work on low gimple.
- (copy_body): Turn into simple wrapper around copy_cfg_body.
- (setup_one_parameter): Insert new statements into given basic block.
- (initialize_initialized_parameters): Likewise, reorganize way things are
- gimplified.
- (declare_return_variable): Update for new inline data datastructure.
- (inline_forbidden_p): Work on low gimple.
- (estimate_num_insns): Likewise.
- (expand_call_inline): Work on CFG.
- (push_cfun, pop_cfun): New functions.
- (cfun_stack): New stack.
- (add_lexical_block): New function.
- (gimple_expand_calls_inline): Work on basic block.
- (optimize_inline_calls): Likewise.
- (clone_body, save_body, unsave_ewpr_now): Update for new
- datastructures.
- (declare_inline_vars): Work on block instead of bind_expr.
- (inlining_p): New predicate.
- * tree-inline.h (push_cfun, pop_cfun): Declare.
- * tree-optimize.c: Include except.h
- (all_lowering_passes): New variable.
- (execute_fixup_cfg, pass_fixup_cfg): New pass.
- (init_tree_optimization_passes): Move some to all_lowering_passes.
- (tree_lowering_passes): New function.
- (tree_rest_of_compilation): Register cfg hooks; save/unsave eh.
- * tree-pass.h (tree_lowering_passes): Declare
-
-2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * unwind-dw2-fde-darwin.c: Include tsystem.h.
-
-2005-05-17 Jeff Law <law@redhat.com>
-
- * Makefile.in (tree-ssa-forwprop.o): Depend on langhooks.h.
- * tree-ssa-forwprop.c: Include langhooks.h.
- (forward_propagate_addr_expr_into_variable_array_index): New.
- (forward_propagate_addr_expr): New.
- (tree_ssa_forward_propagate_single_use_vars): Loop over all
- the statements in the block instead of just the last statement.
- Call forward_propagate_addr_expr as needed.
- (pass_forwprop): Update the SSA graph after forward propagation is
- complete.
-
-2005-05-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * unwind-dw2-fde-glibc.c (base_from_cb_data,
- _Unwind_IteratePhdrCallback): Use gcc_assert and gcc_unreachable as
- appropriate.
- * unwind-dw2-fde.c (__deregister_frame_info_bases,
- base_from_object, fde_split, end_fde_sort): Likewise.
- * unwind-dw2.c (_Unwind_GetGR, _Unwind_SetGR, execute_stack_op,
- execute_cfa_program, _Unwind_SetSpColumn, uw_update_context_1,
- uw_init_context_1): Likewise.
- * unwind.inc (_Unwind_RaiseException_Phase2, _Unwind_Resume,
- _Unwind_Resume_or_Rethrow): Likewise.
- * unwind-pe.h (__gxx_abort): Do not define.
- (size_of_encoded_value, base_of_encoded_value,
- read_encoded_value_with_base): Use gcc_unreachable.
- * unwind.h (_Unwind_GetTextRelBase): Likewise.
-
-2005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
-
- * config/arm/lib1funcs.asm (cfi_pop, cfi_push, cfi_start)
- (cfi_end): New macros.
- (RETLDM): Use cfi_pop. Expect an eight byte stack frame.
- (ARM_LDIV0, THUMB_LDIV0, DIV_FUNC_END): Use CFI macros. Create
- an eight byte stack frame.
- (__NR_tkill): Define.
- (__div0): Use gettid tkill on GNU/Linux.
- (_arm_return): Add CFI.
- (Lchange_\register, .Lchange_lr): Create an eight byte stack frame.
-
-2005-05-17 Daniel Jacobowitz <dan@codesourcery.com>
-
- * configure.ac: Remove spaces around assignment to
- gcc_cv_ld_sysroot.
- * configure: Regenerated.
-
-2005-05-17 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/aix.h (TARGET_ALTIVEC_VRSAVE): Delete.
- * config/rs6000/rs6000.c (rs6000_explicit_options): Add
- aix_struct_ret.
- (rs6000_override_options): Do not protect TARGET_ALTIVEC_VRSAVE.
- Modify aix_struct_return variable, not target_flags.
- (rs6000_handle_option): Do not protect TARGET_ALTIVEC_VRSAVE.
- (rs6000_return_in_memory): Test aix_struct_return.
- * config/rs6000/rs6000.opt (maix-struct-return): Convert to
- independent variable. Report mxl-compat.
-
-2005-05-17 Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.md (eh_return): Add missing DONE.
-
-2005-05-17 Ian Lance Taylor <ian@airs.com>
-
- * read-rtl.c (struct macro_traverse_data): Add unknown_mode_attr
- field.
- (mode_attr_index): Remove check for defined attribute. Remove
- infile parameter. Change all callers.
- (apply_mode_maps): Add unknown parameter. Change caller. Always
- return after finding attribute.
- (apply_macro_to_rtx): Add unknown_mode_attr parameter. Change
- callers.
- (apply_macro_traverse): Set mtd->unknown_mode_attr.
- (read_rtx): Use mtd.unknown_mode_attr to check for an undefined
- attribute used for a mode.
-
-2005-05-17 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-ssa-math-opts.c: New file.
-
-2005-05-17 Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.in: Add tree-ssa-math-opts.c.
- * expr.c (expand_expr_real_1) <case RDIV_EXPR>: Never emit as a*(1/b).
- * fold-const.c (distribute_real_division): New.
- (fold_binary) <case PLUS_EXPR, case MINUS_EXPR>: Use it.
- * tree-pass.h (pass_cse_reciprocals): New.
- * tree-optimize.c (init_tree_optimization_passes): Run it.
- * doc/passes.texi: Document the new pass.
-
-2005-05-17 Richard Guenther <rguenth@gcc.gnu.org>
-
- PR middle-end/21595
- * builtins.c (fold_builtin_constant_p): Handle
- &"string cst"[0] as constant.
-
-2005-05-17 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (mulv16qi3, mulv2di3): New.
-
-2005-05-17 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/21492
- * cfgcleanup.c (try_crossjump_to_edge): update_forwarder_flag for
- src2 if src2 has been split.
-
- PR tree-optimization/21610
- * c-typeck.c (decl_constant_value_for_broken_optimization): If not
- returning DECL, call unshare_expr.
-
-2005-05-17 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.md: Unquote preparation and output statements.
- (BWD, WD, BW): New, mode-macros.
- (S, s, m, mm, nbitsm1): New, mode-attrs.
- (szext, shift, shiftrt, ncond, ocond, rcond): New, code-macros.
- (u, su, shlr, slr, ncond, ocond, rcond, rCC, oCC, roCC): New,
- code-attrs.
- ("tst<mode>"): Replace "tstqi", "tsthi" and "tstsi".
- ("*cmp_ext<mode>"): Replace "*cmp_extsi" and "*cmp_exthi".
- ("*cmp_swapext<mode>"): Replace "*cmp_swapextqi" and
- "*cmp_swapexthi".
- ("cmp<mode>"): Replace "cmphi" and "cmpqi".
- ("movdi"): Move misplaced head comment regarding necessity of
- movdi from movsi to here.
- ("*mov_side<mode>_biap"): Replace "*mov_sideqi_biap" and
- "*mov_sidehi_biap".
- ("*mov_side<mode>"): Replace "*mov_sideqi" and "*mov_sidehi".
- ("*mov_side<mode>_biap_mem", "*mov_sidehi_biap_mem"): Replace
- "*mov_sideqi_biap_mem".
- ("*mov_side<mode>_mem"): Replace "*mov_sideqi_mem" and
- "*mov_sidehi_mem".
- ("*clear_side<mode>_biap"): Replace "*clear_sidesi_biap",
- "*clear_sidehi_biap" and "*clear_sideqi_biap".
- ("*clear_side<mode>"): Replace "*clear_sidesi", "*clear_sidehi"
- and "*clear_sideqi".
- ("*ext_side<mode>si_biap"): Replace "*ext_sideqisi_biap" and
- "*ext_sidehisi_biap".
- ("*ext_side<mode>si"): Replace "*ext_sideqisi" and
- "*ext_sidehisi".
- ("reload_in<mode>"): Replace "reload_inhi" and "reload_inqi".
- ("reload_out<mode>"): Replace "reload_outhi" and "reload_outqi".
- ("extend<mode>di2"): Replace "extendhidi2" and "extendqidi2".
- ("extend<mode>si2"): Replace "extendhisi2" and "extendqisi2".
- ("zero_extend<mode>si2"): Replace "zero_extendhisi2" and
- "zero_extendqisi2".
- ("*op_side<mode>_biap"): Replace "*op_sideqi_biap",
- "*op_sidehi_biap" and "*op_sidesi_biap".
- ("*op_side<mode>"): Replace "*op_sideqi", "*op_sidehi" and
- "*op_sidesi".
- ("*op_swap_side<mode>_biap"): Replace "*op_swap_sideqi_biap",
- "*op_swap_sidehi_biap" and "*op_swap_sidesi_biap".
- ("*op_swap_side<mode>"): Replace "*op_swap_sideqi",
- "*op_swap_sidehi" and "*op_swap_sidesi".
- ("sub<mode>3"): Replace "subhi3" and "subqi3", correcting a typo
- in the N alternative of "subqi3".
- ("*extop<mode>si_side_biap"): Replace "*extopqisi_side_biap" and
- "*extophisi_side_biap".
- ("*extop<mode>si_side"): Replace "*extopqisi_side" and
- "*extophisi_side".
- ("*extop<mode>si_swap_side_biap"): Replace
- "*extopqisi_swap_side_biap" and "*extophisi_swap_side_biap".
- ("*extop<mode>si_swap_side"): Replace "*extopqisi_swap_side" and
- "*extophisi_swap_side".
- ("*extop<mode>si"): Replace "*extopqisi" and "*extophisi".
- ("*extop<mode>si_swap"): Replace "*extopqisi_swap" and
- "*extophisi_swap".
- ("<u>mul<s><mode>3"): Replace "umulhisi3", "umulqihi3",
- "mulqihi3", "mulhisi3" and "mulhisi3".
- ("<u>mulsidi3"): Replace "mulsidi3" and "umulsidi3".
- ("<su>mulsi3_highpart"): Replace "smulsi3_highpart" and
- "umulsi3_highpart".
- ("xor<mode>3"): Replace "xorhi3" and "xorqi3".
- ("neg<mode>2"): Replace "negsi2", "neghi2" and "negqi2".
- ("one_cmpl<mode>2"): Replace "one_cmplhi2" and "one_cmplqi2".
- ("<shlr>si3"): Replace "ashrsi3", "lshrsi3" and "ashlsi3".
- ("ashr<mode>3"): Replace "ashrhi3" and "ashrqi3".
- ("*expanded_<shlr><mode>"): Replace "*expanded_ashrhi",
- "*expanded_ashrqi", "*expanded_lshrhi" and "*expanded_lshrqi".
- ("*<shlr><mode>_lowpart"): Replace "*ashrhi_lowpart",
- "*ashrqi_lowpart", "*lshrhi_lowpart" and "*lshrqi_lowpart".
- ("lshr<mode>3"): Replace "lshrhi3" and "lshrqi3".
- ("ashl<mode>3"): Replace "ashlhi3" and "ashlqi3".
- ("*ashl<mode>_lowpart"): Replace "*ashlqi_lowpart" and
- "*ashlhi_lowpart".
- ("abs<mode>2"): Replace "abshi2" and "absqi2".
- ("b<ncond>"): Replace "beq", "bne", "bgtu", "bltu", "bgeu" and
- "bleu".
- ("b<ocond>"): Replace "bgt" and "ble".
- ("b<rcond>"): Replace "blt" and "bge".
- ("*b<ncond>_reversed"): Replace "*beq_reversed", "*bne_reversed",
- "*bgtu_reversed", "*bltu_reversed", "*bgeu_reversed" and
- "*bleu_reversed".
- ("*b<ocond>_reversed"): Replace "*bgt_reversed" and
- "*ble_reversed".
- ("*b<rcond>_reversed"): Replace "*blt_reversed" and
- "*blt_reversed".
- ("s<ncond>"): Replace "sgeu", "sltu", "seq", "sgtu", "sleu" and
- "sne".
- ("s<rcond>"): Replace "sge" and "slt".
- ("s<ocond>"): Replace "sgt" and "sle".
- ("clear.[bwd] [rx=rx+rz.S2]"): Replace split clear.d
- [rx=rx+rz.S2], clear.w [rx=rx+rz.S2] and clear.b [rx=rx+rz.S2].
- ("clear.[bwd] [rx=rx+i]"): Replace splits clear.d [rx=rx+i],
- clear.w [rx=rx+i] and clear.b [rx=rx+i].
-
-2005-05-17 Jakub Jelinek <jakub@redhat.com>
-
- * varasm.c (struct constant_descriptor_tree): Add hash field.
- (const_desc_hash): Just return hash field.
- (const_desc_eq): If hash values are different, return 0 immediately.
- (output_constant_def): Compute hash field of temporary key, use
- htab_find_slot_with_hash instead of htab_find_slot. Set hash in
- newly built constant descriptor.
- (lookup_constant_def): Compute hash field of temporary key, use
- htab_find_with_hash instead of htab_find.
-
-2005-05-16 Richard Henderson <rth@redhat.com>
-
- * config/i386/sse.md (mulv4si3): New.
-
-2005-05-17 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.h (EXTRA_CONSTRAINT_T): Remove FIXME and
- tests for noncanonical versions of reg+constant and
- reg+reg*{1,2,4}.
-
-2005-05-16 Richard Henderson <rth@redhat.com>
- Steven Bosscher <stevenb@suse.de>
-
- PR tree-opt/21399
- * tree-eh.c (maybe_clean_or_replace_eh_stmt): Rename from
- maybe_clean_eh_stmt; take old stmt parameter. Update EH
- region data structure to match replacement.
- * tree-flow.h: Update to match.
- * tree-ssa-ccp.c (execute_fold_all_builtins): Likewise.
- * tree-ssa-dom.c (optimize_stmt): Likewise.
- * tree-ssa-pre.c (eliminate): Likewise.
- * tree-ssa-propagate.c (substitute_and_fold): Likewise.
-
-2005-05-16 Caroline Tice <ctice@apple.com>
-
- * bb-reorder.c (verify_hot_cold_block_grouping): Replace
- internal_error with gcc_assert.
- * dwarf2out.c (dwarf2out_switch_text_section): Likewise.
- * function.h (struct function): Remove space between "*" and
- struct field names.
- * varasm.c (initialize_cold_section_name): Add gcc_assert;
- modify to use alloca.
- (unlikely_text_section): Add check for flag_function_sections.
- (assemble_start_function): Move call to resolve_section, so it
- comes before first call to unlikely_text_section.
- (assemble_end_function): Add test and call to function_section
- if appropriate.
-
-2005-05-16 Roger Sayle <roger@eyesopen.com>
-
- * c-common.c (c_common_truthvalue_conversion): Use fold_build2
- instead of build_binary_op when performing code transformations
- to avoid error messages about constructs not it the user's code.
-
-2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-pre.c: Fix a comment typo.
-
-2005-05-16 Richard Henderson <rth@redhat.com>
-
- PR target/21556
- * config/ia64/ia64.md (load_dtpmod, load_ltoff_dtpmod, load_dtprel,
- load_dtprel64, load_dtprel22, load_dtprel_gd, load_ltoff_dtprel,
- add_dtprel, add_dtprel14, add_dtprel22, load_tprel, load_tprel64,
- load_tprel22, load_tprel_ie, load_ltoff_tprel, add_tprel, add_tprel14,
- add_tprel22): Remove mode from symbolic operand.
-
-2005-05-16 Richard Sandiford <rsandifo@redhat.com>
-
- * optc-gen.awk: Include intl.h after the externally-provided files.
-
-2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-copy.c (copy_prop_visit_assignment): Clean up by
- folding a COND_EXPR_COND in a nondestructive manner.
-
-2005-05-16 Fariborz Jahanian <fjahanian@apple.com>
-
- * config/rs6000/altivec.md (altivec_vmrghb, altivec_vmrghh,
- altivec_vmrghw, altivec_vmrglb, altivec_vmrglh, altivec_vmrglw):
- New values for vec_select definitions and bitmask for element
- selection.
-
-2005-05-16 Kazu Hirata <kazu@cs.umass.edu>
-
- * dwarf2out.c (used_rtx_varray): Rename to used_rtx_array.
- Change the type to VEC(rtx,gc)*.
- (mem_loc_descriptor, add_const_value_attributes,
- dwarf2out_init): Adjust uses of used_rtx_varray.
-
- * tree-data-ref.c (compute_all_dependences): Change the type
- of dependence_relations to VEC(ddr_p,heap)**.
- (compute_data_dependences_for_loop): Change the type of
- allrelations to VEC(ddr_p,heap)*.
-
-2005-05-16 Richard Sandiford <rsandifo@redhat.com>
-
- * Makefile.in (options.c): Tell optc-gen.awk to include config.h,
- system.h, coretypes.h and tm.h.
- (options.o): Update dependencies accordingly.
- * optc-gen.awk: Allow header_name to be a list of filenames.
- Handle the "Condition" flag.
- * opts.h (CL_DISABLED): New flag.
- * opts.c (handle_option): Print an error for CL_DISABLED options.
- * doc/options.texi: Document the "Condition" option flag.
-
-2005-05-16 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-inline.c (estimate_num_insns_1): Handle VEC_COND_EXPR.
-
-2005-05-15 Roger Sayle <roger@eyesopen.com>
-
- * tree-scalar-evolution.c (set_nb_iterations_in_loop): Only
- check for TREE_OVERFLOW on INTEGER_CST trees.
- * tree-chrec.c (chrec_convert): Only clear TREE_OVERFLOW on
- CONSTANT_CLASS_P tree nodes.
-
-2005-05-15 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/21551
- * config/ia64/ia64.c (ia64_expand_move): Don't add addend twice.
-
-2005-05-15 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/21576
-
- * tree-ssa-pre.c (expression_node_pool): New pool.
- (comparison_node_pool): Ditto.
- (list_node_pool): Ditto.
- (pool_copy_list): New function.
- (phi_translate): Handle CALL_EXPR.
- (valid_in_set): Ditto.
- (create_expression_by_pieces): Ditto.
- (insert_into_preds_of_block): Ditto.
- (insert_aux): Ditto.
- (compute_avail): Ditto.
- (create_value_expr_from): Handle TREE_LIST and CALL_EXPR.
- (can_value_number_call): New function.
- (find_leader): Update comment.
- (init_pre): Create new pools.
- (fini_pre): Free new pools.
- (pass_pre): Add TODO_update_ssa for the future when we are going
- to need vops.
- * tree-vn.c (expressions_equal_p): Handle TREE_LIST.
- (set_value_handle): Ditto.
- (get_value_handle): Ditto.
-
-2005-05-15 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.c (thumb_unexpanded_epilogue): Delete unused variable 'mode'.
-
-2005-05-15 Andreas Jaeger <aj@suse.de>
-
- * gcc.c (pfatal_pexecute): Remove unused local function.
-
-2005-05-15 Richard Sandiford <rsandifo@redhat.com>
-
- * optc-gen.awk: Remove excess indentation.
- * opth-gen.awk: Likewise.
-
-2005-05-14 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_output_mi_thunk): Check cfun->cfg instead
- of basic_block_info. Call init_flow and find_basic_blocks
- before dbr_schedule if needed.
-
-2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-optimize.c (init_tree_optimization_passes): Move
- pass_cd_dce in place of the last pass_dce.
-
- PR tree-optimization/21563
- * tree-vrp.c (compare_value): Return boolean_false_node when
- SSA_NAME in "if (SSA_NAME == CST)" is strictly smaller than or
- strictly larger than CST.
-
-2005-05-14 Nathan Sidwell <nathan@codesourcery.com>
- Jan-Benedict Glaw <jbglaw@lug-owl.de>
-
- * config/vax/vax.c: (print_operand_address) Use gcc_unreachable() and
- gcc_assert().
- (rev_cond_name) Likewise.
- (vax_float_literal) Likewise.
- * config/vax/vax.md: Likewise.
-
-2005-05-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
-
- * config/vax/vax.md: define_constant VAXens AP, FP, SP and PC
- registers and use them (specifically the stack pointer).
- * config/vax/vax.h: Use above defines right here.
-
- * config/vax/vax.c: (override_options) Remove 'register' keyword.
- (split_quadword_operands) Likewise. (rev_cond_name) Likewise.
- (vax_float_literal) Likewise. (vax_rtx_costs) Remove trailing
- whitespace.
- * config/vax/vax.h: Remove 'register' keyword. Misc. whitespace fixes,
- mostly removal of trailing spaces...
- * config/vax/vax-modes.def: Remove trailing whitespace.
-
- * config/vax/elf.h: Update whitespace.
-
-2005-05-14 Richard Guenther <rguenth@gcc.gnu.org>
-
- Revert
- 2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
- * fold-const.c (fold_indirect_ref_1): Avoid removing
- NOP_EXPRs with type qualifiers like const.
-
-2005-05-14 Jan Hubicka <jh@suse.cz>
-
- Patch by Richard Henderson:
- * tree-eh.c (tree_can_throw_internal, tree_can_throw_external):
- Handle RESX expressions properly.
-
- * tree-eh.c (record_stmt_eh_region): Use add_stmt_to_eh_region.
- (add_stmt_to_eh_region_fn): Nest into CALL_EXPR.
- (remove_stmt_from_eh_region_fn): Likewise.
-
- * tree-cfg.c (execute_warn_function_return): Break out noreturn
- warning too..
- (execute_warn_function_noreturn): ... here.
- (pass_warn_function_noreturn): New pass.
- * tree-pass.h (pass_warn_function_noreturn): Declare
- * tree-optimize.c (init_tree_optimization_passes): Move return
- warnings early and add noreturn warnings at place of previous
- return warnings.
-
-2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-live.c (tpa_init, tpa_delete, tpa_compact,
- root_var_init, type_var_init): Use VEC instead of VARRAY.
- * tree-ssa-live.h (tree_partition_associator_d): Change the
- type of trees to VEC(tree,heap)*.
- (tpa_tree): Use VEC instead of VARRAY.
-
-2005-05-14 Richard Guenther <rguenth@gcc.gnu.org>
-
- * fold-const.c (div_if_zero_remainder): New function.
- (try_move_mult_to_index): Use it.
-
-2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-eh.c (leh_tf_state): Change the type of dest_array to
- VEC(tree,heap)*.
- (maybe_record_in_goto_queue, lower_try_finally_onedest,
- lower_try_finally_copy, lower_try_finally_switch,
- lower_try_finally): Use VEC instead of VARRAY.
-
-2005-05-14 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.h (Node: Register Classes): Remove obsoleted
- comment regarding defined register classes.
- (LEGITIMIZE_RELOAD_ADDRESS): Do not define.
-
-2005-05-14 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-optimize.c (init_tree_optimization_passes): Move
- pass_merge_phi before the first pass_dominator.
-
-2005-05-13 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.h (INITIALIZE_TRAMPOLINE): Make the call to __clear_cache
- unconditional.
-
-2005-05-13 Josh Conner <jconner@apple.com>
-
- * config/arm/arm.c (arm_size_return_regs): New.
- (thumb_unexpanded_epilogue): replace in-line calculation
- of return registers with call to arm_size_return_regs.
- (use_return_insn): Include test of which registers are
- being used to hold return values, to accommodate
- vector return values.
-
-2005-05-11 Aldy Hernandez <aldyh@redhat.com>
-
- * config/rs6000/sysv4.opt (mlittle): Handle.
-
- * config/rs6000/rs6000.c (rs6000_handle_option): Set
- target_flags_explicit when appropriate.
-
-2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
-
- PR middle-end/20714:
- * optabs.c (no_conflict_data): New struct.
- (no_conflict_move_test): New function.
- (emit_no_conflict_block): Use it.
-
-2005-05-13 Adam Nemet <anemet@lnxw.com>
-
- * doc/invoke.texi (Debugging Options): Option
- -fdump-translation-unit only works with C++ now.
-
-2005-05-13 Hans-Peter Nilsson <hp@axis.com>
-
- Replace calls to abort in CRIS port.
- * config/cris/cris.h (CRIS_ASSERT): New macro.
- * config/cris/cris.md ("*movsi_internal"): Use CRIS_ASSERT and
- internal_error instead of abort.
- ("movsi"): Ditto. Unquote preparation statement section.
- ("call", "call_value"): Ditto, but use gcc_assert where
- appropriate. Tweak comments.
- * config/cris/cris.c (ASSERT_PLT_UNSPEC): Define in terms of
- CRIS_ASSERT.
- (cris_op_str): Call internal_error, not abort.
- (cris_print_operand): Tweak "abort" reference to "die" in comment.
- (cris_initial_elimination_offset): Call gcc_unreachable, not abort.
- (cris_notice_update_cc): Call internal_error, not abort.
- (cris_expand_return, cris_expand_prologue, cris_gen_movem_load)
- (cris_emit_movem_store, cris_asm_output_symbol_ref)
- (cris_output_addr_const_extra): Use CRIS_ASSERT, don't call abort.
- (cris_symbol, cris_got_symbol): Use CRIS_ASSERT instead of
- ENABLE_CHECKING-guarded abort call.
- (cris_split_movdx): Use CRIS_ASSERT instead of abort with test.
- Use internal_error at end of test-chain.
-
-2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
-
- PR rtl-optimization/20769:
- * bt-load.c (compute_defs_uses_and_gen): Check for the blockage
- pattern emitted by expand_nl_goto_receiver.
-
- PR middle-end/20793:
- * integrate.c (allocate_initial_values): Update register liveness
- information.
-
-2005-05-13 Josh Conner <jconner@apple.com>
-
- * arm.c (arm_return_in_memory): Add handling for vector return types.
-
-2005-05-13 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (processor_type): Add new PROCESSOR_4KP
- name.
- * config/mips/mips.c: Add 4km alias.
- * config/mips/mips.md: Add 4kp to cpu attrib and include 4k.md.
- * config/mips/4k.md: New file, add 4Kc/4Kp DFA pipeline
- description.
-
-2005-05-13 Jan Hubicka <jh@suse.cz>
-
- * c-decl.c (finish_function): Suppress "control reaches end of
- non-void function" when "no return statement in function
- returning non-void" is issued.
-
- * tree-inline.c (copy_body_r): Simplify substituted ADDR_EXPRs.
- * tree-optimize.c (pass_gimple): Kill.
- (init_tree_optimization_passes): Kill pass_gimple.
- * tree-cfg.c (build_tree_cfg): Do verify_stmts to check that we are gimple.
- * tree-dump.c (dump_files): Rename .generic to .gimple.*
-
-2005-05-13 J"orn Rennecke <joern.rennecke@st.com>
-
- PR rtl-optimization/20756:
- * basic-block.h (PROP_DEAD_INSN): Define.
- * flow.c (propagate_one_insn): Set during mark_set_regs call
- for a dead insn.
- (mark_set_1): Emit a clobber when we are about to delete a dead insn
- that kills a live register.
-
-2005-05-13 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("DBL"): New mode attribute.
- ("*movmem_long_64", "*movmem_long_31"): Merge to "*movmem_long".
- ("*clrmem_long_64", "*clrmem_long_31"): Merge to "*clrmem_long".
- ("*cmpmem_long_64", "*cmpmem_long_31"): Merge to "*cmpmem_long".
-
-2005-05-13 Richard Guenther <rguenth@gcc.gnu.org>
-
- * c-format.c (check_format_arg): Handle string literals of
- the form &"string"[offset].
-
- * g++.dg/warn/format4.C: New testcase.
-
-2005-05-13 Kazu Hirata <kazu@cs.umass.edu>
-
- * config/mips/3000.md, config/mips/4000.md,
- config/mips/4100.md, config/mips/4300.md, config/mips/4600.md,
- config/mips/5000.md, config/mips/7000.md, config/mips/9000.md,
- config/mips/generic.md, config/pdp11/pdp11.md,
- config/sh/crt1.asm, config/sh/lib1funcs.asm,
- config/sh/sh-modes.def, config/sh/sh-protos.h,
- config/sh/shmedia.md, config/sh/ushmedia.h: Update copyright.
-
-2005-05-13 Richard Henderson <rth@redhat.com>
-
- * function.c (instantiate_virtual_regs_in_insn): Do not simplify
- addition to move unless dest is a register. Do not skip
- instantiation in dest on addition simplification.
-
-2005-05-13 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.c (cris_print_operand) <case 'H'; case
- CONST_INT>: Use operand_subword and HOST_WIDE_INT_PRINT_DEC for
- output; don't have special case for HOST_BITS_PER_WIDE_INT == 32.
-
-2005-05-13 Jan Hubicka <jh@suse.cz>
-
- * basic-block.h (FOR_ALL_BB_FN): New macro.
- (init_flow): Initialize cfg structure.
- * function.c (allocate_struct_function): Do not initialize cfg structure.
- * tree-cfg.c (init_empty_tree_cfg): Break out from ...
- (build_tree_cfg): ... here.
- * tree-flow.h (init_empty_tree_cfg): Declare.
-
-2005-05-12 Steven Bosscher <stevenb@suse.de>
-
- Fix PR tree-optimization/21520
- * tree-ssa-pre.c (phi_translate): Use fully_constant_expression
- to attempt to fold constants.
-
-2005-05-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c: Declare the prototype of sh_adjust_unroll_max
- only when TARGET_ADJUST_UNROLL_MAX is defined.
- (general_movsrc_operand): Use the C style comment.
- (ua_offset): Use prototype.
-
-2005-05-12 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-im.c (struct mem_ref): Add field "next".
- (struct hmr_data, hoist_memory_reference, memref_del,
- struct fmrv_data): Removed.
- (hoist_memory_references, free_mem_ref, free_mem_refs): New functions.
- (gather_mem_refs, gather_mem_refs_stmt): Add new references to the
- list.
- (find_more_ref_vops): Traverse the list of memory references.
- (determine_lsm_loop): Work with the list of memory references instead
- of traversing the hashtable.
-
-2005-05-12 Steven Bosscher <stevenb@suse.de>
- Stuart Hastings <stuart@apple.com>
- Jan Hubicka <jh@suse.cz>
-
- * except.c (duplicate_eh_region_1, duplicate_eh_region_2,
- duplicate_eh_regions): New functions, based on old
- implementation removed with RTL inliner.
- (reachable_next_level): Modify behaviour pre-inline.
- * except.h (duplicate_eh_regions_map, duplicate_eh_regions):
- Declare.
- * function.h (struct function): Add after_inlining flag.
- * tree-optimize.c (tree_rest_of_compilation): Set it.
- * tree-eh.c (add_stmt_to_eh_region_fn): Initialize hashtable
- when needed.
- * tree-cfg.c (label_to_block_fn): Deal with cases where
- label was never insterted into code.
-
-2005-05-12 Zack Weinberg <zack@codesourcery.com>
-
- * doc/cpp.texi: Document that #sccs is a synonym for #ident.
-
-2005-05-12 Daniel Berlin <dberlin@dberlin.org>
-
- Fix PR tree-optimization/21532
- * tree-ssa-pre.c (create_expression_by_pieces): stmt
- needs to go onto the inserted_exprs list.
-
-2005-05-12 Ian Lance Taylor <ian@airs.com>
-
- * c-common.h (statement_code_p): Don't declare.
- (STATEMENT_CODE_P): Don't define.
- (INIT_STATEMENT_CODES): Don't define.
- * c-common.c (statement_code_p): Don't define.
-
-2005-05-12 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc.h: Remove dead code.
- * config/sparc/sparc.c (sparc_compute_frame_size): Use
- FIRST_PARM_OFFSET for the size of the register window area.
- (emit_save_regs): Rename into emit_save_or_restore_regs.
- Add 'action' parameter. Use 4095 as upper bound for the offset.
- Pass 'action' to save_or_restore_regs.
- (emit_restore_regs): Delete.
- (sparc_expand_prologue): Call emit_save_or_restore_regs.
- (sparc_expand_epilogue): Likewise.
- * config/sparc/sparc.md (mode macro P): Move.
- (movdi_insn_sp32_v9, movdi_insn_sp32): Swap.
- (mov<V32:mode> expander): Move to the top of the V32 section.
- (movdf_insn_sp32_v9_no_fpu, movdf_insn_sp32_v9): Swap.
- (movtf_insn_sp64_hq, movtf_insn_sp64): Swap.
- (sibcall_epilogue): Move.
-
-2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
-
- PR target/21501
- * arm.c (arm_gen_constant): Sign-extend intermediate values when
- synthesizing a constant of the difference of two immediates.
-
-2005-05-12 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm/vfp.md (negsf2_vfp): Add alternative using integer registers.
- (negdf2_vfp): Likewise. Convert to define_insn_and_split and split
- the alternatives using integer registers into the appropriate
- primitives.
-
-2005-05-11 Kenneth Zadeck <zadeck@naturalbridge.com>
-
- * bitmap.c (bitmap_elmt_to_freelist, bitmap_element_allocate,
- bitmap_elt_clear_from, bitmap_clear): Changed freelist structure.
- * bitmap.h: Fixed comments.
-
-2005-05-11 Richard Henderson <rth@redhat.com>
-
- PR target/21412
- * config/ia64/ia64.c (TARGET_CANNOT_FORCE_CONST_MEM): New.
- (ia64_cannot_force_const_mem): New.
- (tls_symbolic_operand_type): New.
- (ia64_legitimate_constant_p): New.
- (ia64_expand_load_address): Return true on success. Improve
- checks for when we should not split.
- (ia64_expand_tls_address): New addend operand. Distribute it
- as appropriate to the tls_kind. Delay referencing gp.
- (ia64_expand_move): Split symbolic addend as necessary. Handle
- tls symbols with addends.
- * config/ia64/ia64-protos.h: Update.
- * config/ia64/ia64.h (CALL_REALLY_USED_REGISTERS): False for r0,
- p0, f0, f1, and r13.
- (LEGITIMATE_CONSTANT_P): Move to ia64_legitimate_constant_p.
- * config/ia64/ia64.md (UNSPEC_DTPMOD): New.
- (symbolic_operand splitter): Pass everything through
- ia64_expand_load_address and FAIL or DONE as appropriate.
- (load_fptr): Only accept after reload.
- (load_fptr_internal1, gprel64_offset, load_gprel64, load_symptr_high,
- load_symptr_low, load_ltoff_dtpmod,
- (load_dtpmod): New.
- (load_dtprel): Only accept tls symbols.
- (load_dtprel64, load_dtprel22): Likewise.
- (load_tprel, load_tprel64, load_tprel22): Likewise.
- (load_dtprel_gd, load_ltoff_dtprel, load_tprel_ie): New.
- (add_dtprel): Only accept tls symbols. Canonicalize PLUS.
- (add_dtprel14, add_dtprel22): Likewise.
- (add_tprel, add_tprel14, add_tprel22): Likewise.
- * config/ia64/predicates.md (small_addr_symbolic_operand): New.
- (any_offset_symbol_operand, aligned_offset_symbol_operand): New.
- (got_symbolic_operand): Check CONST offsets.
- (tls_symbolic_operand, ld_tls_symbolic_operand): New.
- (ie_tls_symbolic_operand, le_tls_symbolic_operand): New.
- (move_operand): Don't handle tls here. Check CONST offsets.
-
-2005-05-11 Richard Sandiford <rsandifo@redhat.com>
-
- * config/mips/7000.md (rm7_impy_si_mult): Just match imul and imadd.
- Remove hilo_operand check.
- (rm7_impy_si_mul): Just match imul3. Remove hilo_operand check.
- * config/mips/predicates.md (hilo_operand): Delete.
-
-2005-05-11 Richard Sandiford <rsandifo@redhat.com>
-
- * config/mips/sr71k.md, config/mips/7000.md: Reformat.
-
-2005-05-11 Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimizer/18472
- * tree-if-conv.c (tree_if_convert_stmt,
- if_convertible_modify_expr_p): Don't handle GOTO_EXPR.
-
-2005-05-11 Jan Hubicka <jh@suse.cz>
-
- * Makefile.in (tree-eh.o: Kill gt-tree-eh.h dependency.
- (GTFILES): add except.h.
- * except.c (eh_status): Add throw_stmt_table.
- (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New functions.
- * except.h (add_stmt_to_eh_region_fn, remove_stmt_from_eh_region_fn,
- lookup_stmt_eh_region_fn): Declare.
- (throw_stmt_node): New structure.
- (set_eh_throw_stmt_table, get_eh_throw_stmt_table): New.
- * gengtype.c (open_base_files): Add except.h to inlines.
- * tree-eh.c (throw_stmt_node): Kill.
- (record_stmt_eh_region): Update.
- (add_stmt_to_eh_region_fn): Break out from ...
- (add_stmt_to_eh_region): ... here.
- (remove_stmt_from_eh_region_fn): Break out from ...
- (remove_stmt_from_eh_region): ... here.
- (lookup_stmt_eh_region_fn): Break out from ...
- (lookup_stmt_eh_region): ... here.
- (honor_protect_cleanup_actions): Use build_resx.
- (lower_try_finally_onedest): Likewise.
- (lower_try_finally_copy): Likewise.
- (lower_try_finally_switch): Likewise.
- (lower_eh_constructs): Update eh table construction.
- * tree.c (build_resx): New.
- * tree.h (build_resx): Declare.
-
-2005-05-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * libgcov.c (gcov_exit): Set prefix_length to 0 if no relocation
- is needed.
-
-2005-05-11 Kazu Hirata <kazu@cs.umass.edu>
-
- * fold-const.c, libgcov.c: Fix comment typos.
-
- * tree-ssa-forwprop.c (forward_propagate_into_cond_1): Remove
- redundant code.
-
-2005-05-11 Daniel Jacobowitz <dan@codesourcery.com>
-
- * config/arm/linux-elf.h (SUBTARGET_FRAME_POINTER_REQUIRED): Define.
- * config/arm/arm.h (SUBTARGET_FRAME_POINTER_REQUIRED): Provide
- default definition.
- (FRAME_POINTER_REQUIRED): Use SUBTARGET_FRAME_POINTER_REQUIRED.
-
-2005-05-11 Nathan Sidwell <nathan@codesourcery.com>
-
- PR bootstrap/21481
- * crtstuff.c: Include auto-host.h again, for now.
-
-2005-05-11 Richard Sandiford <rsandifo@redhat.com>
-
- * config/mips/24k.md: Remove trailing whitespace.
-
-2005-05-11 David Ung <davidu@mips.com>
-
- * config/mips/mips.md (type): Add imul3.
- (length, hazard, may_clobber_hilo): Check for imul3.
- (mulsi3_mult3, muldi3_mult3, *muls, <su>mulsi3_highpart_mulhi_internal)
- (*<su>mulsi3_highpart_neg_mulhi_internal): Set attr to imul3.
- * config/mips/24k.md (r24k_int_mul3): Enable this reservation
- for a 3 operand mul and its bypasses.
- * config/mips/3000.md (r3k_imul): Add imul3 to reservations.
- * config/mips/4000.md (r4k_imul): Likewise.
- * config/mips/4100.md (r4100_imul_si, r4100_imul_di): Likewise.
- * config/mips/4130.md (vr4130_class, vr4130_mulsi)
- (vr4130_muldi): Likewise.
- * config/mips/4300.md (r4300_imul_si, r4300_imul_di): Likewise.
- * config/mips/4600.md (r4600_imul, r4650_imul): Likewise.
- * config/mips/5000.md (r5k_imul_si, r5k_imul_di): Likewise.
- * config/mips/5400.md (ir_vr54_imul_si, ir_vr54_imul_di)
- (ir_vr54_imadd_si): Likewise.
- * config/mips/5500.md (ir_vr55_imul_si, ir_vr55_imul_di): Likewise.
- * config/mips/7000.md (rm7_impy_si_mult, rm7_impy_si_mul)
- (rm7_impy_di): Likewise.
- * config/mips/9000.md (rm9k_mulsi, rm9k_muldi): Likewise.
- * config/mips/generic.md (generic_imul): Likewise.
- * config/mips/sb1.md (ir_sb1_mulsi, ir_sb1_muldi): Likewise.
- * config/mips/sr71k.md (ir_sr70_imul_si, ir_sr70_imul_di): Likewise.
-
-2005-05-11 J"orn Rennecke <joern.rennecke@st.com>
-
- PR middle-end/20371:
- * tree.h (record_layout_info_s): New member prev_packed.
- * stor-layout.c (update_alignment_for_field): Fix comment about
- KNOWN_ALIGN. For MS bitfields, if we start a new run, make sure
- we start it properly aligned.
- (place_field): At the beginning of a record, pass 0 as KNOWN_ALIGN
- to update_alignment_for_field, and recompute it afterwards using
- the alignment of the record.
- When a packed bitfield precedes an MS bitfield, don't add padding
- at the end of the packed bitfield on behalf of the base type of
- the packed bit field.
- Don't adjust rli->bitpos at the end
- of an MS bitfield run if we already adjusted bitpos/offset for an
- alignment as large or larger than the bitfield type size.
- Take possible record alignment > BIGGEST_ALIGNMENT into account
- when calculating actual_align.
- Only put packed buit fields into rli->prev_field if they end up
- suitably aligned.
- Also set rli->remaining_in_alignment when we re-set rli->prev_field.
- Update rli->remaining_in_alignment when we have already started a
- run of bit fields and we process a packed bit field.
-
-2005-05-11 Sebastian Pop <pop@cri.ensmp.fr>
-
- * tree-data-ref.c (find_data_references_in_loop): Give up when
- the body of the loop contains a CALL_EXPR or an ASM_EXPR: they
- may embed arbitrary side effects.
- Remove the assumption that GIMPLE form contains a single array
- access per statement.
- When the statement contains virtual operands, fail if it is not
- a MODIFY_EXPR or a CALL_EXPR.
- Return after the dont know node is inserted.
-
-2005-05-11 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.md (negsf2, negdf2): Permit these expands when compiling for VFP.
-
-2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
-
- PR middle-end/19807
- PR tree-optimization/19639
- * fold-const.c (try_move_mult_to_index): Handle INTEGER_CST
- and generic summands for char* as s * delta, too, folding &a[i]
- CODE x to &a[i CODE x/s]. Use tree_int_cst_equal
- for comparison of steps. Convert types for index addition.
- (fold_binary): Adjust the callers to always dispatch to
- try_move_mult_to_index.
- * tree-ssa-propagate.c (set_rhs): Avoid setting rhs to
- expr with non-gimple ARRAY_REF offset.
-
-2005-05-11 Richard Guenther <rguenth@gcc.gnu.org>
-
- * fold-const.c (fold_indirect_ref_1): Avoid removing
- NOP_EXPRs with type qualifiers like const.
-
-2005-05-11 Richard Henderson <rth@redhat.com>
-
- PR c/21502
- * c-decl.c (finish_decl): Propagate the completed array type of
- a global variable into the binding.
-
-2005-05-10 Matt Kraai <kraai@ftbfs.org>
-
- * Makefile.in (gtype-desc.o, build/genautomata.o)
- (build/varray.o): Depend on $(VARRAY_H).
-
-2005-05-10 Diego Novillo <dnovillo@redhat.com>
-
- * tree-optimize.c (init_tree_optimization_passes): Re-organize
- optimization passes to do an initial batch of scalar cleanups.
-
-2005-05-10 Ian Lance Taylor <ian@airs.com>
-
- * read-rtl.c (struct macro_traverse_data): Define.
- (map_attr_string): New static function, broken out of
- apply_macro_to_string.
- (mode_attr_index, apply_mode_maps): New static functions.
- (apply_macro_to_string): Call map_attr_string.
- (apply_macro_to_rtx): Add mode_maps and infile parameters. Change
- all callers.
- (apply_macro_traverse): Expect data to point to a struct
- macro_traverse_data.
- (read_rtx): Add mode_maps local variable. Use mode_traverse_data
- to pass data through htab_traverse.
- (read_rtx_1): Add mode_maps parameter. Change all callers.
- Handle mode names which are attribute strings.
- * doc/md.texi (Substitutions): Rename from String Substitutions.
- Change references. Document using attributes as modes.
-
-2005-05-10 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-cfg.c (tree_duplicate_sese_region): Update profile.
- * tree-optimize.c (init_tree_optimization_passes) Swap
- pass_ch and pass_profile.
- * tree-ssa-loop-ch.c (copy_loop_headers): Do not update profile
- here. Remove rewrite_into_loop_closed_ssa call.
-
-2005-05-10 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c: (s390_const_double_ok_for_constraint_p): New
- function.
- (legitimate_reload_constant_p): Add check for const double zero.
- * config/s390/s390.md: Add comment for constraint letter 'G'.
- ("*movdf_64", "*movdf_31", "movsf"): Add constraint and proper
- attributes for new case.
- * config/s390/s390.h: (CONST_DOUBLE_OK_FOR_CONSTRAINT_P): Define it as
- s390_const_double_ok_for_constraint_p.
- * config/s390/s390-protos.h (s390_const_double_ok_for_constraint_p):
- Add prototype.
-
-2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimization/21170
- * tree-ssa-dom.c, tree-ssa-threadupdate.c: Replace
- rewrite_ssa_into_ssa in comments with update_ssa.
-
-2005-05-10 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-im.c: Include hashtab.h.
- (struct mem_ref_loc): New.
- (struct mem_ref): Describe the set of references with the same
- shape.
- (max_stmt_uid, get_stmt_uid, record_mem_ref, free_mem_refs,
- maybe_queue_var, fem_single_reachable_address,
- for_each_memref, single_reachable_address,
- is_call_clobbered_ref, determine_lsm_reg): Removed.
- (record_mem_ref_loc, free_mem_ref_locs, determine_lsm_ref,
- hoist_memory_reference, memref_hash, memref_eq, memref_del,
- gather_mem_refs_stmt, gather_mem_refs, find_more_ref_vops):
- New functions.
- (rewrite_mem_refs, schedule_sm): Use mem_ref_loc list.
- (determine_lsm_loop): Rewritten.
- (determine_lsm): Do not set stmt uids.
-
-2005-05-10 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: Add comment lines for 'f' and 't' constraint
- letters.
-
-2005-05-10 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("anddi3","andsi3","andhi3","andqi3"): Merge.
- ("iordi3", "iorsi3", "iorhi3", "iorqi3"): Merge.
- ("xordi3", "xorsi3", "xorhi3", "xorqi3"): Merge.
-
-2005-05-10 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (dom_opt_finalize_block): Do not call
- thread_across_edge for any abnormal edges.
-
-2005-05-10 Richard Henderson <rth@redhat.com>
-
- * config/ia64/ia64.c (ia64_expand_atomic_op): New.
- * config/ia64/ia64-protos.h: Declare it.
- * config/ia64/sync.md (I124MODE, FETCHOP, fetchop_name): New.
- (sync_add<I48MODE>, sync_old_add<I48MODE>): Remove.
- (sync_<FETCHOP><IMODE>, sync_nand<IMODE>): New.
- (sync_old_<FETCHOP><IMODE>, sync_old_nand<IMODE>): New.
- (sync_new_<FETCHOP><IMODE>, sync_new_nand<IMODE>): New.
- (cmpxchg_rel_<I124MODE>): Split from cmpxchg_acq_<IMODE>. Zero
- extend result; use release semantics.
- (cmpxchg_rel_di): Rename from cmpxchg_acq_<IMODE>; use release.
- (sync_val_compare_and_swap_<IMODE>): Update to match.
-
-2005-05-10 Richard Henderson <rth@redhat.com>
-
- * optabs.c (expand_compare_and_swap_loop): Don't clobber old value
- before comparing it for success.
-
-2005-05-10 Richard Henderson <rth@redhat.com>
-
- * config/ia64/sync.md (sync_add<I48MODE>): Fix arguments for
- no return value pattern.
-
-2005-05-10 Grigory Zagorodnev <grigory.zagorodnev@intel.com>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * libgcov.c (create_file_directory): New function. Create
- directory for the given file name.
- (gcov_max_filename): New static var. Keeps size of the longest
- file name.
- (gcov_exit): Always try to create directory for output
- file. Relocate each filename basing on environment vars.
- (__gcov_init): Remember the longest file name.
- * tsystem.h: include filenames.h to get IS_DIR_SEPARATOR
- * doc/gcov.texi (Cross-profiling): New node documenting
- cross-profiling management.
- * doc/invoke.texi (-fprofile-arcs): Add xref to cross-profiling.
-
-2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc.c (mem_min_alignment): Do not rely
- on MEM_ALIGN if TARGET_UNALIGNED_DOUBLES.
-
-2005-05-10 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/lib1funcs.asm (__udivsi3, __divsi3): Rearrange special
- case code to avoid one move instruction.
- (__umodsi3, __modsi3): Merge duplicated code sequences.
-
-2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
-
- * config/mips/24k.md, config/sh/divtab.c, config/sh/sh.c,
- config/sh/sh.md, config/sh/superh.h: Fix comment typos.
- * doc/invoke.texi: Fix typos.
-
- * tree-data-ref.c (analyze_array_indexes, analyze_array,
- init_data_ref, access_functions_are_affine_or_constant_p,
- free_data_refs): Use VEC instead of VARRAY.
- * tree-data-ref.h (data_reference): Change the type of
- access_fns to VEC(tree,gc)*.
- (DR_ACCESS_FN, DR_NUM_DIMENSIONS): Use VEC instead of VARRAY.
-
-2005-05-10 Gabor Loki <loki@gcc.gnu.org>
-
- PR c/17913
- * c-typeck.c (build_conditional_expr): Remove reducing cond_expr.
- * fold-const.c (fold): Expand the condition of reducing cond_expr.
- (contains_label_1, contains_label_p): New functions for checking
- labels in a sub-tree.
-
-2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21342
- * c-decl.c (pushdecl): When there is a declaration in the current
- scope and the declarations are external linkage, check for
- compatibility with the type in the external scope and update the
- type in the external scope with the composite type information.
- Do not form a composite type of the new type and the visible type
- if they are incompatible.
-
-2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
-
- * crtstuff.c: Revert part of 2005-05-08 Change.
- (IN_LIBGCC2): Define.
-
-2005-05-10 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/sparc.c (fp_sethi_p): Test !SPARC_SIMM13_P and
- remove redundant test.
- (fp_mov_p): Accept 0.
- (fp_high_losum_p): Remove redundant test.
- * config/sparc/predicates.md (const_high_operand): Explicitly test
- (not small_int_operand).
- (fp_const_high_losum_operand): New.
- * config/sparc/sparc.md (movsi_insn): Do not emit 'clr'. Reorder.
- (movdi_insn_sp32_v9): Use canonical predicates.
- (movdi_insn_sp32): Test !TARGET_V9 instead of !TARGET_ARCH64.
- (movdi_insn_sp64_novis): Delete.
- (movdi_insn_sp64_vis): Rename into movdi_insn_sp64.
- (movsf_insn_novis): Delete.
- (movsf_insn_vis): Rename into movsf_insn.
- (movsf_no_f_insn): Rename into movsf_insn_no_fpu.
- (movsf_lo_sum): Use fp_const_high_losum_operand.
- (movsf_high): Likewise.
- (movsf_high_losum splitter): Likewise.
- (mov<V32:mode> expander): Use register_or_zero_operand.
- (mov<V64:mode> expander): Likewise.
- (movdf_insn_sp32): Use register_or_zero_operand.
- (movdf_no_e_insn_sp32): Use register_or_zero_operand.
- Rename into movdf_insn_sp32_no_fpu.
- (movdf_no_e_insn_v9_sp32): Use register_or_zero_operand.
- Rename into movdf_insn_sp32_v9_no_fpu.
- (movdf_insn_v9only_novis): Delete.
- (movdf_insn_v9only_vis): Rename into movdf_insn_sp32_v9.
- (movdf_insn_sp64_novis): Delete.
- (movdf_insn_sp64_vis): Rename into movdf_insn_sp64.
- (movdf_no_e_insn_sp64): Use register_or_zero_operand.
- Rename into movdf_insn_sp64_no_fpu.
- (movtf expander): Use register_or_zero_operand.
- (movtf_insn_sp32): Delete.
- (movtf_insn_vis_sp32): Use register_or_zero_operand.
- Rename into movtf_insn_sp32.
- (movtf_no_e_insn_sp32): Use register_or_zero_operand.
- Rename into movtf_insn_sp32_no_fpu.
- (movtf_insn_hq_sp64): Delete.
- (movtf_insn_hq_vis_sp64): Use register_or_zero_operand.
- Rename into movtf_insn_sp64_hq.
- (movtf_insn_sp64): Delete.
- (movtf_insn_vis_sp64): Use register_or_zero_operand.
- Rename into movtf_insn_sp64.
- (movtf_no_e_insn_sp64): Use register_or_zero_operand.
- Rename into movtf_insn_sp64_no_fpu.
-
-2005-05-10 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/stormy16/stormy16.c (xstormy16_emit_cbranch): Use
- gcc_assert and gcc_unreachable as appropriate.
- (xstormy16_split_cbranch, xstormy16_output_cbranch_hi,
- xstormy16_output_cbranch_si, xstormy16_split_move,
- xstormy16_initial_elimination_offset,
- xstormy16_encode_section_info, xstormy16_print_operand_address,
- xstormy16_expand_call, xstormy16_expand_arith,
- xstormy16_output_shift, xstormy16_init_builtins): Likewise.
-
-2005-05-10 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-outof-ssa.c (_elim_graph): Change the type of nodes and
- const_copies to VEC(tree,heap)*.
- (new_elim_graph, delete_elim_graph, elim_graph_size,
- elim_graph_add_node, eliminate_build, eliminate_phi): Use VEC
- instead of VARRAY.
-
-2005-05-10 Joseph S. Myers <joseph@codesourcery.com>
-
- PR other/21052
- * doc/extend.texi (Type Attributes): Correct example syntax.
-
-2005-05-09 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21160
- * doc/invoke.texi (-Wuninitialized): Update documentation.
-
-2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.c (const_ok_for_arm): Use a faster algorithm.
-
-2005-05-09 David Edelsohn <edelsohn@gnu.org>
-
- PR target/21477
- * config/rs6000/rs6000.md (add_op2): New.
- (add<mode>3): Use it.
-
-2005-05-09 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.c (arm_gen_constant): Add new heuristic for generating
- constant integers that can be expressed as the difference of two
- valid immediates.
-
-2005-05-09 Roger Sayle <roger@eyesopen.com>
-
- * c-tree.h (parser_build_unary_op): New prototype.
- * c-typeck.c (parser_build_unary_op): New function to construct
- a unary operation in the C parser.
- * c-parser.c (c_parser_unary_expression): Use the new function
- parser_build_unary_op when appropriate.
-
-2005-05-09 Mark Mitchell <mark@codesourcery.com>
-
- PR 18655
- * dwarf2out.c (output_call_frame_info): Use DWARF2_FRAME_REG_OUT
- before outputting DWARF_FRAME_RETURN_COLUMN.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c: (s390_branch_condition_mask,
- s390_branch_condition_mnemonic, s390_extra_constraint_str,
- s390_const_ok_for_constraint_p, s390_expand_plus_operand,
- legitimize_pic_address, s390_emit_tls_call_insn,
- legitimize_tls_address, legitimize_tls_address,
- s390_expand_addcc, print_shift_count_operand, print_operand,
- addr_generation_dependency_p, annotate_constant_pool_refs,
- s390_split_branches, find_constant_pool_ref,
- replace_constant_pool_ref, s390_add_constant, s390_find_constant,
- s390_find_execute, s390_mainpool_start, s390_chunkify_start,
- s390_output_pool_entry, s390_function_value,
- s390_call_saved_register_used, s390_emit_call): Replace
- conditional aborts by gcc_assert and unconditional by gcc_unreachable.
- (s390_select_ccmode, s390_match_ccmode_set, s390_extract_part,
- s390_cannot_force_const_mem, s390_output_dwarf_dtprel,
- get_some_local_dynamic_name, s390_function_arg_size,
- s390_function_arg_advance, s390_function_arg,
- s390_expand_builtin, s390_gen_rtx_const_DI): Replace abort in
- default case by gcc_unreachable.
- * config/s390/s390.md: ("*cjump_31", "*icjump_31", "*jump31"): Replace
- conditional abort by gcc_assert.
- ("doloop_si31"): Replace abort in last else by gcc_unreachable.
- ("main_pool", "pool"): Replace unconditional abort by gcc_unreachable.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c: (s390_decompose_address,
- tls_symbolic_operand, legitimate_pic_operand_p,
- legitimate_constant_p, legitimate_reload_constant_p,
- s390_expand_plus_operand, legitimate_address_p,
- legitimate_la_operand_p, ): Remove 'register' from signature.
- (symbolic_reference_mentioned_p,
- tls_symbolic_reference_mentioned_p): Remove 'register' from local
- variable declarations.
- (legitimize_address): Remove 'register' from
- signature and local variable declarations.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390-protos.h: (s390_match_ccmode,
- s390_match_ccmode_set, reg_used_in_mem_p,
- symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
- legitimate_la_operand_p, preferred_la_operand_p,
- s390_short_displacement, addr_generation_dependency_p,
- legitimate_reload_constant_p, legitimate_address_p): Change return type
- into 'bool'.
- (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
- * config/s390/s390.c: (s390_match_ccmode,
- symbolic_reference_mentioned_p, tls_symbolic_reference_mentioned_p,
- legitimate_reload_constant_p): Change return type into 'bool'.
- (preferred_la_operand_p,legitimate_la_operand_p, legitimate_address_p):
- Likewise. Additionally adapted comment.
- (s390_extra_constraint_p): Change Comment to reflect 'int' return type.
- (s390_tm_ccmode): Change type of parameter "mixed" into 'bool'.
- (s390_decompose_address): Change the type of the internal flags
- "pointer", "base_ptr", "indx_ptr", and the return value into 'bool'.
- (struct s390_address): Change type of "pointer" into bool.
- * config/s390/s390.md: ("*tmdi_reg", "*tmsi_reg", "tm<mode>_full"):
- Adapt calls for 's390_tm_ccmode' to the new signature.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c: (s390_match_ccmode_set,
- s390_branch_condition_mnemonic, s390_short_displacement,
- s390_decompose_address, get_thread_pointer, legitimize_tls_address,
- print_shift_count_operand, get_some_local_dynamic_name,
- get_some_local_dynamic_name_1, reg_used_in_mem_p,
- addr_generation_dependency_p, s390_split_branches,
- annotate_constant_pool_refs, find_constant_pool_ref,
- replace_constant_pool_ref, find_ltrel_base, replace_ltrel_base,
- s390_optimize_prologue, find_unused_clobbered_reg, s390_frame_area,
- s390_register_info, s390_frame_info, s390_init_frame_layout,
- s390_update_frame_layout, save_fpr, restore_fpr, save_gprs,
- restore_gprs, s390_function_arg_size, s390_function_arg_float,
- s390_init_machine_status, s390_assemble_integer, s390_handle_option,
- s390_encode_section_info, s390_cannot_force_const_mem,
- s390_delegitimize_address, s390_return_in_memory, s390_init_builtins,
- s390_expand_builtin, s390_output_mi_thunk, s390_safe_attr_type,
- s390_adjust_priority, s390_issue_rate,
- s390_first_cycle_multipass_dfa_lookahead, s390_cannot_copy_insn_p,
- s390_rtx_costs, s390_address_cost, s390_reorg, s390_valid_pointer_mode,
- s390_build_builtin_va_list, s390_gimplify_va_arg,
- s390_function_ok_for_sibcall, s390_call_saved_register_used,
- s390_pass_by_reference, s390_fixed_condition_code_regs,
- s390_cc_modes_compatible s390_mainpool_start,, s390_mainpool_finish,
- s390_mainpool_cancel, s390_chunkify_start, s390_chunkify_finish,
- s390_chunkify_cancel, s390_start_pool, s390_end_pool,
- s390_add_pool_insn, s390_find_pool, s390_add_constant,
- s390_find_constant, s390_add_execute, s390_find_execute,
- s390_execute_label, s390_execute_target, s390_dump_pool,
- s390_dump_execute, s390_alloc_pool, s390_free_pool): Remove prototypes.
- Move target macro definitions to the end of the file. Move several
- functions within the file to assure correct compiling.
-
-2005-05-09 Steven Bosscher <stevenb@suse.de>
-
- * calls.c (purge_reg_equiv_notes): Remove, fold into...
- (fixup_tail_calls): ...here. Only look at insns between the
- start of the function and the FUNCTION_BEG insn note.
-
- * gcse.c (one_cprop_pass): Fix typos in dumps.
-
- * tree-ssa-operands.h (FOR_EACH_PHI_ARG): Fix typos.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.h: Move xxx_REGNUM definitions to s390.md.
- * config/s390/s390.md: ("SIBCALL_REGNUM", "BASE_REGNUM",
- "RETURN_REGNUM", "CC_REGNUM", "TP_REGNUM"): New constants.
- Replace every occurrence of '(reg:<MODE> 33)' by '(reg:<MODE>
- CC_REGNUM)'.
- ("get_tp_64", "get_tp_31", "set_tp_64", "set_tp_31"): Replace
- '(reg:<MODE> 36)' by '(reg:<MODE> TP_REGNUM)'.
- ("*sibcall_br", "*sibcall_value_br"): Replace '(reg:DI 1)' by '(reg:DI
- REG_SC)'.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("gf") New mode attribute.
- ("fixuns_truncdfdi2", "fixuns_truncdfsi2", "fixuns_truncsfdi2",
- "fixuns_truncsfsi2"): Merge.
- ("fix_truncdfdi2", "fix_truncsfdi2"): Merge.
- ("fix_truncdfdi2_ieee", "fix_truncdfsi2_ieee", "fix_truncsfdi2_ieee",
- "fix_truncsfsi2_ieee"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("FPR") New mode macro.
- ("de", "dee"): New mode attributes.
- ("cmpdf", "cmpsf"): Merge.
- ("*cmpdf_ccs_0", "*cmpsf_ccs_0"): Merge.
- ("*cmpdf_ccs_0_ibm", "*cmpdf_ccs_0_ibm"): Merge.
- ("*cmpdf_ccs", "*cmpsf_ccs"): Merge.
- ("*cmpdf_ccs_ibm", "*cmpsf_ccs_ibm"): Merge.
- ("floatdidf2", "floatdisf2"): Merge.
- ("adddf3", "addsf3"): Merge.
- ("*adddf3", "*addsf3"): Merge.
- ("*adddf3_cc", "*addsf3_cc"): Merge.
- ("*adddf3_cconly", "*addsf3_cconly"): Merge.
- ("*adddf3_ibm", "*addsf3_ibm"): Merge.
- ("subdf3", "subsf3"): Merge.
- ("*subdf3", "*subsf3"): Merge.
- ("*subdf3_cc", "*subsf3_cc"): Merge.
- ("*subdf3_cconly", "*subsf3_cconly"): Merge.
- ("*subdf3_ibm", "*subsf3_ibm"): Merge.
- ("muldf3", "mulsf3"): Merge.
- ("*muldf3", "*mulsf3" "): Merge.
- ("*muldf3_ibm", "*mulsf3_ibm"): Merge.
- ("*fmadddf", "*fmaddsf"): Merge.
- ("*fmsubdf", "*fmsubsf"): Merge.
- ("divdf3", "divsf3"): Merge.
- ("*divdf3", "*divsf3"): Merge.
- ("*divdf3_ibm", "*divsf3_ibm"): Merge.
- ("negdf2", "negsf2"): Merge.
- ("*negdf2_cc", "*negsf2_cc"): Merge.
- ("*negdf2_cconly", "*negsf2_cconly"): Merge.
- ("*negdf2", "*negsf2"): Merge.
- ("*negdf2_ibm", "*negsf2_ibm"): Merge.
- ("absdf2", "abssf2"): Merge.
- ("*absdf2_cc", "*abssf2_cc"): Merge.
- ("*absdf2_cconly", "*abssf2_cconly"): Merge.
- ("*absdf2", "*abssf2"): Merge.
- ("*absdf2_ibm", "*abssf2_ibm"): Merge.
- ("*negabsdf2_cc", "*negabssf2_cc"): Merge.
- ("*negabsdf2_cconly", "*negabssf2_cconly"): Merge.
- ("*negabsdf2", "*negabssf2"): Merge.
- ("sqrtdf2", "sqrtsf2"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.c: (s390_adjust_priority): Adapt to changed
- attribute names.
- * config/s390/2084.md: ("x_fsimpd", "x_fsimps", "x_fdivd", "x_fdivs",
- "x_floadd", "x_floads", "x_fstored", "x_fstores"): Rename to
- ("x_fsimpdf", "x_fsimpsf", "x_fdivdf", "x_fdivsf", "x_floaddf",
- "x_floadsf", "x_fstoredf", "x_fstoresf") and replace 'type'
- attribute names.
- * config/s390/s390.md: ("type"): Rename "fsimpd, fsimps, floadd, floads,
- fstored, fstores, fmuld, fmuls, fdivd, fdivs, fsqrtd, fsqrts" to
- "fsimpdf, fsimpsf, floaddf, floadsf, fstoredf, fstoresf, fmuldf,
- fmulsf, fdivdf, fdivsf, fsqrtdf, fsqrtsf".
- ("*cmpdf_ccs_0", "*cmpdf_css_0_ibm", "*cmpdf_ccs",
- "*cmpdf_ccs_ibm", "*cmpsf_ccs_0", "*cmpsf_css_0_ibm",
- "*cmpsf_ccs", "*cmpsf_ccs_ibm", "*movdi_64", "*movdi_31",
- "*movsi_zarch", "*movsi_esa", "*movdf_64", "*movdf_31", "movsf",
- "*muldf3", "*muldf3_ibm", "*fmadddf", "*fmsubdf", "*mulsf3",
- "mulsf3_ibm", "*fmaddsf", "fmsubsf", "*divdf3", "*divdf3_ibm",
- "*negdf2_cc", "*negdf2_cconly", "*negdf2", "*negdf2_ibm",
- "*negsf2_cc", "*negsf2_cconly", "*negsf2", "*absdf2_cc",
- "*absdf2_cconly", "*absdf2", "*absdf2_ibm", "*abssf2_cc",
- "*abssf2_cconly", "*abssf2", "*abssf2_ibm", "*negabsdf2_cc",
- "*negabsdf2_cconly", "*negabsdf2", "*negabssf2_cc",
- "*negabssf2_cconly", "*negabssf2", "sqrtdf2", "sqrtsf2"): Rename
- 'type' value.
- ("*divsf3"): Additionally rename second pattern to
- "*divsf3_ibm".
- ("truncdfsf2_ibm", "extendsfdf2_ieee", "extendsfdf2_ibm",
- "*adddf3", "*adddf3_cc", "*adddf3_cconly", "*adddf3_ibm",
- "*addsf3", "*addsf3_cc", "*addsf3_cconly", "*subdf3",
- "subdf3_cc", "*subdf3_cconly", "*subdf3_ibm", "*subsf3",
- "subsf3_cc", "*subsf3_cconly", "*subsf3_ibm"): Merge identical
- 'type values' and rename 'type' value.
- ("*addsf3"): Additionally rename second pattern to
- "*addsf3_ibm".
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("SHIFT"): New mode macro.
- ("lr", "shift"): New mode attributes.
- ("ashldi3", "lshrdi3"): Merge.
- ("*ashldi3_31", "*lshrdi3"_31): Merge.
- ("*ashldi3_64", "*lshrdi3"_64): Merge.
- ("ashlsi3", "lshrsi3"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("DSI", "SCOND"): New mode
- macros.
- ("E", "g"): New mode attributes.
- ("*adddi3_alc_cc", "*addsi3_alc_cc"): Merge.
- ("*adddi3_alc", "*addsi3_alc"): Merge.
- ("*subdi3_slb_cc", "*subsi3_slb_cc"): Merge.
- ("*subdi3_slb", "*subsi3_slb"): Merge.
- ("adddicc", "addsicc"): Merge.
- ("*sconddi", "*scondsi"): Merge.
- ("*sconddi_neg", "*scondsi_neg"): Merge.
- ("sltu", "sgtu", "sleu", "sgeu"): Merge.
- ("negdi2", "negsi2"): Extract expander pattern from
- "negsi2" and merge with "negdi2".
- ("*negdi2"): Merge with instruction pattern of "negsi2".
- ("*negdi2_cc", "*negsi2_cc"): Merge.
- ("*negdi2_cconly", "*negsi2_cconly"): Merge.
- ("rotldi3", "rotlsi3"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("hc"): New mode attribute.
- ("extendhidi2", "extendqidi2"): Merge.
- ("*extendhidi2", "*extendqidi2"): Merge.
- ("extendhisi2", "extendqisi2"): Merge.
- ("zero_extendhidi2", "zero_extendqidi2"): Merge.
- ("*zero_extendhidi2", "*zero_extendqidi2"): Merge.
- Merged 2 define_split.
- ("*zero_extendhisi2", "*zero_extendqisi2"): Merge.
- ("*zero_extendhisi2_64", "*zero_extendqisi2_64"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("COMPARE"): New mode macro.
- ("beq", "bne", "bgt", "bgtu", "blt", "bltu", "bge", "bgeu",
- "ble", "bleu", "bunordered", "bordered", "buneq", "bunlt",
- "bungt", "bunle", "bunge", "bltgt"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("INT"): New mode macro.
- ("one_cmpldi2", "one_cmplsi2", "one_cmplhi2", "one_cmplqi2"):
- Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("GPR", "P"): New mode macros.
- ("cmpdi", "cmpsi"): Merge.
- ("strlendi", "strlensi"): Merge.
- ("*strlendi", "*strlensi"): Merge.
- ("movmemdi", "movmemsi"): Merge.
- ("clrmemdi", "clrmemsi"): Merge.
-
-2005-05-09 Adrian Straetling <straetling@de.ibm.com>
-
- * config/s390/s390.md: ("HQI"): New mode macro.
- ("icm_lo", "icm_hi", "max_uint"): New mode attributes.
- ("*tmhi_full", "*tmqi_full"): Merge.
- ("*tsthiCCT", "*tstqiCCT"): Merge.
- ("*tsthi", "*tstqi"): Merge.
- ("*tsthi_cconly", "tstqi_cconly"): Merge.
- ("*sethighhisi", "*sethighqisi"): Merge.
-
-2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
-
- * crtstuff.c, integrate.h, tree-scalar-evolution.h,
- config/alpha/unicosmk.h, config/arc/arc.md,
- config/arm/bpabi.h, config/arm/coff.h, config/arm/elf.h,
- config/arm/ieee754-df.S, config/arm/ieee754-sf.S,
- config/arm/netbsd.h, config/arm/pe.c, config/arm/pe.h,
- config/arm/semi.h, config/arm/uclinux-elf.h,
- config/arm/wince-pe.h, config/fr30/fr30.c,
- config/rs6000/altivec.h: Update copyright.
-
-2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/pdp11/pdp11.c (pdp11_output_function_prologue): Use
- gcc_assert and gcc_unreachable as appropriate.
- (pdp11_output_function_epilogue, output_move_double,
- output_move_quad, print_operand_address, output_jump,
- output_addr_const_pdp11): Likewise.
- * config/pdp11/pdp11.h (FUNCTION_PROFILER,
- ASM_OUTPUT_ALIGN): Likewise.
- * config/pdp11/pdp11.md: Likewise.
- (extendhisi2, subhi3, subqi3): Likewise.
-
-2005-05-09 David Edelsohn <edelsohn@gnu.org>
-
- PR middle-end/21237
- * dojump.c (do_jump, MINUS_EXPR): Build NE_EXPR and fall through
- to NE_EXPR case.
-
-2005-05-09 Kazu Hirata <kazu@cs.umass.edu>
-
- * config/ia64/ia64.c: Fix a comment typo.
-
-2005-05-09 Richard Earnshaw <rearnsha@arm.com>
-
- PR target/21397
- * arm.c (ARM_OPT_SET_CPU, ARM_OPT_SET_ARCH, ARM_OPT_SET_TUNE): Define.
- (arm_override_options): Use them instead of manifest constants. Don't
- allow -march to override the -mtune setting.
-
-2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/iq2000/iq2000.c (abort_with_insn): Use fancy_abort.
- (gen_int_relational): Use gcc_unreachable and gcc_assert as necessary.
- (function_arg_advance, function_arg, save_restore_insns,
- iq2000_expand_prologue, iq2000_output_conditional_branch,
- expand_one_builtin, print_operand):
- * config/iq2000/iq2000.md (tablejump): Likewise.
-
-2005-05-09 David Ung <davidu@mips.com>
-
- * config/mips/mips.h (processor_type): Add names for the 24K.
- * config/mips/mips.c (mips_cpu_info_table): Add names for the 24K
- processor family.
- * config/mips/mips.md (cnv_mode): New attribute for recording the
- conversion types of float convert insns.
- (cpu): Add 24k and 24kx.
- (include): Include 24k.md file.
- (truncdfsf2, extendsfdf2, fix_truncdfsi2_insn, fix_truncdfsi2_macro)
- (fix_truncdfdi2, fix_truncsfdi2, floatsidf2, floatdidf2, floatsisf2)
- (floatdisf2): Setup cnv_mode.
- (fix_truncsfsi2_insn, fix_truncsfsi2_macro): Changed mode to SF and
- setup cnv_mode.
- * config/mips/24k.md: New file, contains 24k DFA pipeline
- description.
-
-2005-05-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/sh/sh.c (print_operand_address): Use gcc_assert and
- gcc_unreachable as appropriate.
- (print_operand, prepare_move_operands, prepare_scc_operands,
- output_movedouble, output_branch, shift_insns_rtx, gen_shifty_op,
- gen_shl_and, shl_sext_kind, gen_datalabel_ref, dump_table,
- fixup_mova, gen_far_branch, sh_reorg, split_branches,
- final_prescan_insn, output_stack_adjust, sh_expand_epilogue,
- sh_set_return_address, sh_setup_incoming_varargs,
- initial_elimination_offset, sh_pch_valid_p, get_free_reg,
- sh_expand_builtin, sh_output_mi_thunk, extract_sfunc_addr,
- check_use_sfunc_addr): Likewise.
- * config/sh/netbsd-elf.h (FUNCTION_PROFILER): Likewise.
- * config/sh/sh.h (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
- * config/sh/symbian.c (sh_symbian_mark_dllexport,
- sh_symbian_mark_dllimport): Likewise.
- * config/sh/sh.md: Likewise.
- (movdicc, call_pop, call_value_pop, casesi_worker_1,
- casesi_worker_2, casesi_shift_media, casesi_load_media,
- return_media): Likewise.
-
-2005-05-08 Roger Sayle <roger@eyesopen.com>
-
- PR inline-asm/8788
- * stmt.c (expand_asm_operands): Avoid calling force_reg on BLKmode
- operands.
-
-2005-05-08 Richard Henderson <rth@redhat.com>
-
- * config/alpha/alpha.c (adjust_address): Fix typo last change.
-
-2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
-
- * config/m68hc11/m68hc11.h (REG_VALID_P): A regno must be >= 0
- and -1 can happen in reg_renumber when no hard register is assigned.
-
-2005-05-08 Steven Bosscher <stevenb@suse.de>
- Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimization/14841, tree-optimization/15838
- * tree-ssa-ccp.c (fold_const_aggregate_ref): New.
- (evaluate_stmt): Call it.
-
-2005-05-08 Jakub Jelinek <jakub@redhat.com>
-
- * config/ia64/ia64.c (ia64_override_options): Don't set
- ia64_flag_var_tracking and clear flag_var_tracking here...
- (ia64_file_start): ... but here.
-
-2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/m68hc11/m68hc11.c (m68hc11_emit_libcall): Use gcc_assert
- and gcc_unreachable as appropriate.
- (expand_prologue, expand_epilogue, m68hc11_gen_lowpart,
- m68hc11_gen_highpart, print_operand, print_operand_address,
- m68hc11_expand_compare, m68hc11_expand_compare_and_branch,
- m68hc11_gen_movhi): Likewise.
- * config/m68hc11/m68hc11.h (HARD_X_REGNUM): Reword comment.
- * config/m68hc11/m68hc11.md: Reword comment.
-
-2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
-
- PR target/21281
- * config/m68hc11/predicates.md (splitable_operand): An immediate is
- allowed.
-
-2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
-
- * config/m68hc11/predicates.md (reg_or_some_mem_operand): Do not allow
- the 68HC12 address indirect addressing mode as it is not supported by
- bset and bclr.
- * config/m68hc11/m68hc11-protos.h
- (m68hc11_valid_addressing_p): Declare.
- (m68hc11_add_mode): Declare.
- * config/m68hc11/m68hc11.c (m68hc11_valid_addressing_p): Rename from
- register_indirect_p and export it.
- (m68hc11_z_replacement): Use emit_insn_after when adding the save Z
- instruction so that it is part of the good BB.
- (m68hc11_gen_movhi): Fix invalid generation of indexed indirect
- addressing with movw.
- (m68hc11_gen_movqi): Use pula and pulb instead of lda and ldb for
- 68HC12.
- * config/m68hc11/m68hc11.h (ADDR_STRICT, ADDR_INCDEC, ADDR_INDEXED,
- ADDR_OFFSET, ADDR_INDIRECT, ADDR__CONST): Moved from m68hc11.c.
- * config/m68hc11/m68hc11.md ("movhi_const0"): Use this pattern only
- for 68HC11.
- ("*movhi_68hc12"): Handle movhi_const0.
- ("*subhi3", "subqi3"): Use general_operand for operand 1.
- ("*subhi3_zext"): Likewise.
-
-2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
-
- PR target/19051
- * config/m68hc11/m68hc11.md ("mulqi3"): Use general_operand for
- operand 1 and fix constraints.
- ("mulqihi3"): Use general_operand for operand 2.
-
-2005-05-08 Julian Brown <julian@codesourcery.com>
- H.J. Lu <hongjiu.lu@intel.com>
- Paul Brook <paul@codesourcery.com>
-
- * configure.ac: Set ld_vers_major, ld_vers_minor and ld_vers_patch for
- GNU linker. Support linker version x.x.x.x.x. Require GNU linker
- 20050308/2.16.0 or newer for comdat group.
- * configure: Regenerated.
- * config.in: Regenerated.
- * varasm.c (default_function_rodata_section): Put .rodata section in
- COMDAT group when necessary.
- (default_elf_asm_named_section): Rename HAVE_GAS_COMDAT_GROUP to
- HAVE_COMDAT_GROUP.
- (default_unique_section_1): Don't use .gnu.linkonce when COMDAT is
- available.
-
-2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-dfa.c (referenced_vars, add_referenced_var): Use VEC
- instead of VARRAY.
- * tree-flow.h (num_referenced_var, referenced_var): Likewise.
- * tree-into-ssa.c (mark_def_site_blocks): Likewise.
- * tree-ssa.c (init_tree_ssa, delete_tree_ssa): Likewise.
- * tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
-
-2005-05-08 Stephane Carrez <stcarrez@nerim.fr>
-
- PR target/16925
- * config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Handle split of
- 64-bit constants on 64-bit hosts.
- (m68hc11_split_logical): Simplify.
- (m68hc11_split_move): Likewise.
-
-2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
- Paolo Bonzini <bonzini@gnu.org>
-
- * Makefile.in (cs-tconfig.h): Pass USED_FOR_TARGET to mkconfig.sh
- * aclocal.m4 (GCC_TARGET_TEMPLATE, AH_TEMPLATE): New.
- * configure.ac (enable_checking): Fix typos in runtime_checking.
- (ENABLE_RUNTIME_CHECKING): Mark as target template.
- (xm_file): Prepend auto-host.h
- (HAVE_GAS_HIDDEN, HAVE_LD_EH_FRAME_HDR): Mark as target template.
- * mkconfig.sh: Do not automatically define USED_FOR_TARGET in
- tconfig.h.
- * crtstuff.c: Do not include auto-host.h.
- (IN_LIBGCC2): Do not define.
- * gcov-io.h: Include tconfig.h, not auto-host.h.
- * libgcc2.c: Do not include auto-host.h.
- (abort): Do not undefine.
- * libgcov.c: Remove unneeded comment about config.h.
- * unwind-dw2-fde-glibc.c: Do not inlude auto-host.h.
- * config.in, configure: Regenerated.
-
-2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
- Falk Hueffner <falk@debian.org>
-
- * config/alpha/alpha.c (tls_symbolic_operand_1): Use gcc_assert
- and gcc_unreachable as appropriate.
- (get_aligned_mem, get_unaligned_address,
- alpha_emit_set_long_const, alpha_emit_conditional_branch,
- alpha_emit_setcc, alpha_emit_conditional_move,
- alpha_lookup_xfloating_lib_func, alpha_compute_xfloating_mode_arg,
- alpha_emit_xfloating_libcall, alpha_split_tfmode_pair,
- alpha_expand_unaligned_load, alpha_expand_block_move,
- alpha_expand_zap_mask, get_trap_mode_suffix,
- get_round_mode_suffix, get_some_local_dynamic_name,
- print_operand_address, function_arg, alpha_return_in_memory,
- function_value, alpha_expand_builtin,
- alpha_initial_elimination_offset, alpha_expand_epilogue,
- summarize_insn, alpha_handle_trap_shadows, alphaev5_insn_pipe,
- alphaev5_next_group, alpha_align_insns,
- unicosmk_initial_elimination_offset, unicosmk_unique_section,
- unicosmk_ssib_name): Likewise.
- * config/alpha/alpha.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- * config/alpha/unicosmk.h (TRAMPOLINE_TEMPLATE,
- ASM_OUTPUT_ADDR_DIFF_ELT, ASM_OUTPUT_ADDR_DIFF_VEC): Likewise.
- * config/alpha/vms.h (INITIAL_ELIMINATION_OFFSET,
- ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
- * config/alpha/alpha.md (*divmodsi_internal_er,
- *divmoddi_internal_er, ashldi3, *insxl, sibcall, call_osf,
- call_nt, call_umk, call_vms, call_value, sibcall_value,
- call_value_osf, call_value_nt, call_value_vms, call_value_umk,
- *call_vms_1, *movmemdi_1, *clrmemdi_1, *call_value_vms_1): Likewise.
- * config/alpha/predicates.md (input_operand): Likewise.
-
-2005-05-08 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/frv/frv.c (frv_default_flags_for_cpu): Use gcc_assert and
- gcc_unreachable, as appropriate.
- (frv_function_prologue, frv_alloc_temp_reg,
- frv_initial_elimination_offset, frv_expand_block_move,
- frv_expand_block_clear, frv_print_operand_jump_hint,
- frv_legitimize_tls_address, unspec_got_name, frv_emit_move,
- frv_emit_movsi, frv_split_cond_move, frv_split_minmax,
- frv_ifcvt_modify_insn, frv_ifcvt_modify_final,
- frv_adjust_field_align, frv_insn_unit, frv_cond_flags,
- frv_sort_insn_group, frv_reorder_packet, frv_matching_accg_mode,
- frv_in_small_data_p, frv_asm_out_constructor,
- frv_asm_out_destructor, frv_output_dwarf_dtprel): Likewise.
- * config/frv/frv.md (reload_incc_fp, *cond_exec_si_binary1,
- *cond_exec_si_binary2, *cond_exec_si_divide, *cond_exec_si_unary1,
- *cond_exec_sf_conv, *cond_exec_sf_add, call, sibcall, call_value,
- sibcall_value, casesi): Likewise.
-
- * config/mn10300/mn10300.c (print_operand): Use gcc_assert and
- gcc_unreachable as appropriate.
- (print_operand_address, mn10300_print_reg_list, expand_prologue,
- expand_epilogue, notice_update_cc, initial_offset,
- mn10300_address_cost_1): Likewise.
- * config/mn10300/mn10300.md: Likewise.
- (absdf2, abssf2, negdf2, negsf2): Likewise.
-
-2005-05-08 Richard Sandiford <rsandifo@redhat.com>
-
- PR target/21416
- * config/mips/mips.c (mips_emit_compare): Don't reverse UNGE and UNGT
- comparisons.
- * config/mips/mips.md (swapped_fcond): New code macro and attribute.
- (sgt_<mode>, sge_<mode>): Generalize to all members of swapped_fcond,
- including sunge_<mode> and sungt_<mode>.
-
-2005-05-08 Richard Sandiford <rsandifo@redhat.com>
-
- * integrate.h (get_hard_reg_initial_val): Change type of register
- parameter from int to unsigned int.
- (has_hard_reg_initial_val): Likewise.
- * integrate.c (get_hard_reg_initial_val): Likewise.
- (has_hard_reg_initial_val): Likewise. Remove cast to unsigned int.
-
-2005-05-08 Kazu Hirata <kazu@cs.umass.edu>
-
- * except.c (eh_status): Change the type of ttype_data to
- VEC(tree,gc)*.
- (add_ttypes_entry, assign_filter_values,
- output_function_exception_table): Use VEC instead of VARRAY.
-
-2005-05-07 David Edelsohn <edelsohn@gnu.org>
-
- * config/rs6000/rs6000.md (popcount<mode>2): Fix non-C90 constant.
-
-2005-05-07 Paul Brook <paul@codesourcery.com>
-
- * Makefile.in: Fix dependencies.
- (GCOV_IO_H, VARRAY_H): Set.
-
-2005-05-07 Anthony Green <green@redhat.com>
-
- PR bootstrap/21403
- * configure.ac (STMP_FIXPROTO): Fix [ ] consumption problem in
- x$STMP_FIXPROTO test.
- * configure: Rebuilt.
-
-2005-05-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Do not define
- inappropriate feature test macros if flag_iso.
-
-2005-05-07 Joseph S. Myers <joseph@codesourcery.com>
-
- * config/ia64/hpux.h (NO_IMPLICIT_EXTERN_C): Define.
-
-2005-05-07 Hans-Peter Nilsson <hp@axis.com>
-
- PR target/21441
- * config/cris/cris.md ("*movdi_insn", "*mov_sidesisf_biap")
- ("*mov_sidesisf", "*mov_sidesisf_biap_mem", "*mov_sidesisf_mem"):
- Handle moved operand being in special register.
- ("smulsi3_highpart", "umulsi3_highpart"): Change .error into
- presumed working insn.
- (mover2side): Add FIXME.
-
-2005-05-07 Richard Sandiford <rsandifo@redhat.com>
-
- * integrate.c (get_func_hard_reg_initial_val): Delete.
- (has_func_hard_reg_initial_val): Delete.
- (get_hard_reg_initial_val): Inline the old implementation of
- get_func_hard_reg_initial_val. Use has_hard_reg_initial_val
- instead of has_func_hard_reg_initial_val to test for an existing
- pseudo. Only create an rtx if a new initial value entry is needed.
- (has_hard_reg_initial_val): Scan the initial value list directly.
- Don't create an rtx.
-
-2005-05-07 David Edelsohn <edelsohn@gnu.org>
-
- * config.gcc ({powerpc,rs6000}-ibm-aix*): Remove rs6000/aix.opt
- from extra_options.
- * config.in (HAVE_AS_POPCNTB): New.
- * configure.ac (HAVE_AS_MFCRF): Add .machine "pwr5" to AIX test.
- (HAVE_AS_POPCNTB): New.
- * configure: Regenerated.
- * config/rs6000/aix.h (TARGET_XL_COMPAT): Delete.
- * config/rs6000/rs6000.c (rs6000_override_options, power5): Add
- MASK_POPCNTB. Uncomment rs6000_sched_restricted_insns_priority
- and rs6000_sched_costly_dep.
- * config/rs6000/rs6000.h (TARGET_POPCNTB): New.
- (TARGET_XL_COMPAT): Delete.
- * config/rs6000/rs6000.md (UNSPEC_POPCNTB): New.
- (popcount<mode>2): New.
- (popcntb<mode>2): New.
- * config/rs6000/rs6000.opt (mpopcntb): New.
-
- * opt-functions.awk (var_set): Emit OPTION_MASK_ for InverseMask
- if variable name exists.
-
-2005-05-07 Matt Kraai <kraai@ftbfs.org>
-
- * Makefile.in (c-gimplify.o): Depend on $(RTL_H) instead of rtl.h.
-
-2005-05-07 Richard Henderson <rth@redhat.com>
-
- PR target/21412
- * config/rs6000/rs6000.c (rs6000_emit_move): Look for tls addresses
- with constant offsets.
-
-2005-05-07 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/v850/v850.c (print_operand): Use gcc_assert and
- gcc_unreachable, as appropriate.
- (print_operand_address, v850_handle_data_area_attribute,
- v850_encode_data_area, construct_restore_jr, construct_save_jarl,
- v850_insert_attributes, construct_prepare_instruction): Likewise.
- * config/v850/v850.h (INITIAL_ELIMINATION_OFFSET): Likewise.
- * config/v850/v850.md (movsicc, *sasf_1): Likewise.
-
-2005-05-07 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-loop-ivcanon.c, config/i386/i386.c,
- config/rs6000/rs6000.h: Fix comment typos.
-
-2005-05-07 Richard Sandiford <rsandifo@redhat.com>
-
- * doc/invoke.texi: Remove documentation for MIPS' -mint64 option.
- * config/mips/mips.c (TARGET_SCALAR_MODE_SUPPORTED_P): Delete.
- (mips_scalar_mode_supported_p): Delete.
-
-2005-05-06 Eric Christopher <echristo@redhat.com>
-
- * config/mips/mips.opt: Remove -mint64 option.
- * config/mips/mips.c (override_options): Remove -mint64
- handling.
- * config/mips/mips.h (INT_TYPE_SIZE): Define to 32.
- * config/mips/linux.h (TARGET_OS_CPP_BUILTINS): Remove
- 64-bit integer handling.
- * doc/invoke.texi (Option Summary): Remove -mint64 for
- mips.
-
-2005-05-06 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/19401
- * tree-flow.h (tree_unroll_loops_completely): Declaration changed.
- * tree-ssa-loop-ivcanon.c (enum unroll_level): New.
- (estimated_unrolled_size): New function.
- (try_unroll_loop_completely, canonicalize_loop_induction_variables,
- tree_unroll_loops_completely): Always unroll loops if the code size
- does not increase.
- * tree-ssa-loop.c (tree_complete_unroll): Indicate whether all
- loops should be unrolled completely.
- (gate_tree_complete_unroll): Run complete unrolling unconditionally.
-
-2005-05-06 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR rtl-optimization/21254
- * loop-iv.c (iv_number_of_iterations): Simplify infiniteness
- assumptions for loops that otherwise do not roll.
- (find_simple_exit): Prefer # of iterations that is guaranteed
- not to be infinite.
- * loop-unroll.c (decide_peel_once_rolling,
- decide_peel_completely): Check whether the loop is infinite.
-
-2005-05-06 Pat Haugen <pthaugen@us.ibm.com>
-
- * config/rs6000/sysv4.opt: Fix typo.
-
-2005-05-06 Denis Vlasenko <vda@port.imtp.ilyichevsk.odessa.ua>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/21329
- * config/i386/i386.c (ix86_expand_movmem): Don't use rep; movsb
- for -Os if (movsl;)*(movsw;)?(movsb;)? sequence is shorter.
- Don't use rep; movs{l,q} if the repetition count is really small,
- instead use a sequence of movs{l,q} instructions.
-
-2005-05-06 Jeff Law <law@redhat.com>
-
- PR tree-optimization/21380
- * tree-ssa-threadupdate.c (thread_through_all_blocks): Do not
- thread through a block with no preds.
-
-2005-05-06 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-operands.c (clobbered_v_may_defs, clobbered_vuses,
- ro_call_vuse, fini_ssa_operands, add_call_clobber_ops,
- add_call_read_ops): Use VEC instead of VARRAY.
-
-2005-05-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/mcore/mcore.c (mcore_print_operand_address): Use
- gcc_assert and gcc_unreachable as appropriate.
- (mcore_print_operand, mcore_gen_compare_reg, mcore_output_call,
- mcore_output_andn, output_inline_const, mcore_output_move,
- mcore_output_movedouble, mcore_expand_block_move,
- layout_mcore_frame, mcore_initial_elimination_offset,
- mcore_expand_prolog, mcore_mark_dllexport,
- mcore_mark_dllimport): Likewise.
- * config/mcore/mcore.h (switch_to_section): Likewise.
- * config/mcore/mcore.md: Likewise.
-
-2005-05-06 Aldy Hernandez <aldyh@redhat.com>
-
- * config/rs6000/linux64.h: Remove MASK_PROFILE_KERNEL, and
- TARGET_PROFILE_KERNEL.
-
- * config/rs6000/rs6000.c (output_profile_hook): Add comment to
- TARGET_PROFILE_KERNEL use.
-
-2005-05-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/m32r/m32r.c (m32r_encode_section_info): Use gcc_assert
- and gcc_unreachable, as appropriate.
- (gen_compare, gen_split_move_double, m32r_setup_incoming_varargs,
- m32r_expand_prologue, m32r_output_function_epilogue,
- m32r_legitimize_pic_address, m32r_print_operand_address,
- emit_cond_move, m32r_function_symbol,
- m32r_output_block_move): Likewise.
- * config/m32r/m32r.h (INITIAL_ELIMINATION_OFFSET): Likewise.
- * config/m32r/m32r.md ( *movsi_insn, *zero_branch_insn,
- *rev_zero_branch_insn): Likewise.
-
-2005-05-06 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/20961
- * varasm.c (merge_weak): Remove NEWDECL from WEAK_DECLS chain
- if both NEWDECL and OLDDECL are already weak.
-
-2005-05-06 Richard Sandiford <rsandifo@redhat.com>
-
- * config/rs6000/sysv4.h (EXTRA_SUBTARGET_SWITCHES): Delete.
-
-2005-05-05 J"orn Rennecke <joern.rennecke@st.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_builtin_saveregs): Use copy_to_mode_reg
- and plus_constant.
-
-2005-05-05 Aldy Hernandez <aldyh@redhat.com>
- David Edelsohn <edelsohn@gnu.org>
-
- * config.gcc: Add .opt magic for the rs6000 ports.
-
- * doc/invoke.texi: Document -mabi= option properly. Document
- -misel and -mno-sel. Document -mspe and -mno-spe. Document
- -mvrsave and -mno-vrsave. Document deprecation of -mspe= and
- -misel=.
-
- * config/rs6000/aix.h: Remove XL_COMPAT stuff. Remove
- SUBTARGET_SWITCHES and SUBSUBTARGET_SWITCHES. Define
- TARGET_XL_COMPAT.
-
- * config/rs6000/aix.opt: New.
- * config/rs6000/aix41.opt: New.
- * config/rs6000/aix64.opt: New.
- * config/rs6000/darwin.opt: New.
- * config/rs6000/linux64.opt: New.
- * config/rs6000/rs6000.opt: New.
- * config/rs6000/sysv4.opt: New.
-
- * config/rs6000/sysv4.h: Delete definitions of MASK_* and
- associated TARGET_*. Remove SUBTARGET_OPTIONS,
- SUBTARGET_SWITCHES.
- Define TARGET_USES_SYSV4_OPT.
- * config/rs6000/aix41.h: Remove SUBSUBTARGET_SWITCHES.
- * config/rs6000/aix43.h: Remove SUBSUBTARGET_SWITCHES. Define
- TARGET_USES_AIX64_OPT.
- * config/rs6000/aix51.h: Same.
- * config/rs6000/aix52.h: Same.
- * config/rs6000/darwin.h: Remove SUBTARGET_SWITCHES,
- MASK_MACHO_DYNAMIC_NO_PIC, TARGET_MACHO_DYNAMIC_NO_PIC.
- Use TARGET_ALTIVEC_VRSAVE instead of rs6000_altivec_vrsave.
- Define TARGET_DYNAMIC_NO_PIC as TARGET_MACHO_DYNAMIC_NO_PIC.
- * config/rs6000/linux64.h: Use
- rs6000_explicit_options. Remove EXTRA_SUBTARGET_SWITCHES.
-
- * config/rs6000/rs6000.c: Remove definitions of
- rs6000_sched_restricted_insns_priority,
- rs6000_long_double_size_string, rs6000_altivec_vrsave,
- rs6000_altivec_vrsave_string, rs6000_isel, rs6000_spe,
- rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
- rs6000_abi_string, rs6000_warn_altivec_long, rs6000_longcall,
- rs6000_alignment_string. Define rs6000_explicit_options.
- (rs6000_parse_abi_options): Remove.
- (rs6000_parse_alignment_option): Remove.
- (rs6000_parse_float_gprs_option): Remove.
- (rs6000_handle_option): New. Define TARGET_HANDLE_OPTION. Define
- TARGET_DEFAULT_TARGET_FLAGS.
- (rs6000_override_options): Revamp to use new .opt machinery.
-
- * config/rs6000/rs6000.h: Remove old MASK_* and TARGET_* in favor
- of new .opt machinery. Remove target_flags. Redefine
- TARGET_MFCRF and TARGET_POWERPC64. Remove TARGET_SWITCHES,
- SUBTARGET_SWITCHES, TARGET_OPTIONS, SUBTARGET_OPTIONS,
- rs6000_float_gprs_string, rs6000_isel_string, rs6000_spe_string,
- rs6000_altivec_vrsave_string, rs6000_altivec_vrsave,
- rs6000_longcall_switch, rs6000_default_long_calls,
- rs6000_sched_costly_dep_str, rs6000_sched_costly_dep,
- rs6000_warn_altivec_long, rs6000_warn_altivec_long_switch, and
- TARGET_ALTIVEC_VRSAVE.
-
-2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * config.gcc (hppa1.1-*-rtems*): Remove.
- * config/pa/rtems.h: Remove.
-
-2005-05-05 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * config/rs6000/t-rtems (MULTILIB_NEW_EXCEPTIONS_ONLY):
- Exclude roe/603e multilib variants.
-
-2005-05-04 Denis Chertykov <denisc@overta.ru>
-
- PR target/21284
- * config/avr/avr.c (avr_output_addr_vec_elt): Use special section
- for output.
-
-2005-05-05 Richard Sandiford <rsandifo@redhat.com>
-
- * config.gcc (arm*-wince-pe*, arm-*-pe*, strongarm-*-pe): Add
- arm/pe.opt to $extra_options.
- * config/arm/arm.h (target_flags, target_fpu_name, target_fpe_name)
- (target_float_abi_name, target_float_switch, target_abi_name)
- (ARM_FLAG_APCS_FRAME, ARM_FLAG_POKE, ARM_FLAG_FPE, ARM_FLAG_APCS_STACK)
- (ARM_FLAG_APCS_FLOAT, ARM_FLAG_APCS_REENT, ARM_FLAG_BIG_END)
- (ARM_FLAG_INTERWORK, ARM_FLAG_LITTLE_WORDS, ARM_FLAG_NO_SCHED_PRO)
- (ARM_FLAG_ABORT_NORETURN, ARM_FLAG_SINGLE_PIC_BASE)
- (ARM_FLAG_LONG_CALLS, ARM_FLAG_THUMB, THUMB_FLAG_BACKTRACE)
- (THUMB_FLAG_LEAF_BACKTRACE, THUMB_FLAG_CALLEE_SUPER_INTERWORKING)
- (THUMB_FLAG_CALLER_SUPER_INTERWORKING, CIRRUS_FIX_INVALID_INSNS)
- (TARGET_APCS_FRAME, TARGET_POKE_FUNCTION_NAME, TARGET_FPE)
- (TARGET_APCS_STACK, TARGET_APCS_FLOAT, TARGET_APCS_REENT)
- (TARGET_BIG_END, TARGET_INTERWORK, TARGET_LITTLE_WORDS)
- (TARGET_NO_SCHED_PRO, TARGET_ABORT_NORETURN, TARGET_SINGLE_PIC_BASE)
- (TARGET_LONG_CALLS, TARGET_THUMB, TARGET_CALLER_INTERWORKING)
- (TARGET_CIRRUS_FIX_INVALID_INSNS, SUBTARGET_SWITCHES, TARGET_SWITCHES)
- (TARGET_OPTIONS, arm_cpu_select, arm_select, structure_size_string)
- (arm_pic_register_string): Delete.
- (TARGET_BACKTRACE): Redefine using TARGET_TPCS_LEAF_FRAME and
- TARGET_TPCS_FRAME.
- (TARGET_DEFAULT, CONDITIONAL_REGISTER_USAGE): Update mask names.
- * config/arm/coff.h (TARGET_DEFAULT): Likewise.
- * config/arm/elf.h (TARGET_DEFAULT): Likewise.
- * config/arm/netbsd-elf.h (TARGET_DEFAULT): Likewise.
- * config/arm/netbsd.h (TARGET_DEFAULT): Likewise.
- * config/arm/semi.h (TARGET_DEFAULT): Likewise.
- * config/arm/uclinux-elf.h (TARGET_DEFAULT): Likewise.
- * config/arm/wince-pe.h (TARGET_DEFAULT): Likewise.
- * config/arm/pe.h (TARGET_DEFAULT): Likewise.
- (TARGET_FLAG_NOP_FUN, TARGET_NOP_FUN_DLLIMPORT): Delete.
- (SUBTARGET_SWITCHES): Delete.
- * config/arm/arm.c (target_float_switch): Delete.
- (arm_cpu_select): Moved from config/arm/arm.h.
- (target_fpu_name, target_fpe_name, target_float_abi_name)
- (target_abi_name, structure_size_string, arm_pic_register_string)
- (arm_select): Make static.
- (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
- (arm_handle_option): New function.
- (arm_override_options): Update target_flags checks for new mask names.
- Remove target_float_switch code.
- (arm_expand_prologue, thumb_expand_prologue): Check
- !TARGET_SCHED_PROLOG instead of TARGET_NO_SCHED_PRO.
- * config/arm/arm.opt, config/arm/pe.opt: New files.
-
-2005-05-05 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/arc/arc.c (get_arc_condition_code): Use gcc_assert &
- gcc_unreachable as appropriate.
- (arc_double_limm_p, arc_setup_incoming_varargs,
- arc_compute_function_type, arc_output_function_prologue,
- arc_output_function_epilogue, arc_eligible_for_epilogue_delay,
- output_shift, arc_print_operand, arc_print_operand_address,
- arc_final_prescan_insn): Likewise.
- * config/arc/arc.md (*movdi_insn, *movdf_insn): Likewise.
-
-2005-05-04 Geoffrey Keating <geoffk@apple.com>
-
- * config/rs6000/rs6000.md (P): Use TARGET_*BIT rather than
- comparing Pmode.
- (SDI): New.
- (cmp): Delete.
- (wd): New.
- (add<mode>3, add<mode>3_internal1, add<mode>3_internal2,
- add<mode>3_internal3, one_cmpl<mode>2, sub<mode>3, neg<mode>2,
- clz<mode>2, ctz<mode>2, ffs<mode>2): New.
- (addsi3, addsi3_internal1, addsi3_internal2, addsi3_internal3,
- (one_cmplsi2, subsi3, negsi2, clzsi2, ctzsi2, ffssi2): Remove.
- (adddi3, adddi3_internal1, adddi3_internal2, adddi3_internal3,
- (one_cmpldi2, subdi3, negdi2, clzdi2, ctzdi2, ffsdi2): Remove.
- (sync_compare_and_swap<mode>): Use <wd> rather than <cmp>.
-
-2005-05-05 Paul Brook <paul@codesourcery.com>
-
- * Makefile.in: Replace dependencies on basic-block.h, c-pragma.h,
- cfgloop.h, diagnostic.h, insn-attr.h, langhooks-def.h, params.h,
- regs.h, system.h, tree-dump.h, tree-gimple.h, tree-scalar-evolution.h
- and tree-data-ref.h with *_H variables.
-
-2005-05-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * config/m32r/xm-m32r.h, config/m32r/xm-linux.h: Delete files.
-
-2005-05-05 Kelley Cook <kcook@gcc.gnu.org>
-
- * system.h: Poison BYTEORDER and HOST_WORDS_BIG_ENDIAN.
-
-2005-05-04 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Mostafa Hagog and Ayal Zaks.
-
-2005-05-04 Fariborz Jahanian <fjahanian@apple.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Emit
- setting of vrsave register for current function after
- call to save_world is emitted.
-
-2005-05-05 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/predicates.md: New file.
- * config/mmix/mmix.c (mmix_symbolic_or_address_operand)
- (mmix_reg_or_constant_operand, mmix_reg_cc_operand)
- (mmix_foldable_comparison_operator, mmix_comparison_operator)
- (mmix_reg_or_0_operand, mmix_reg_or_8bit_operand): Remove.
- * config/mmix/mmix.h (PREDICATE_CODES, SPECIAL_MODE_PREDICATES):
- Don't define.
- * config/mmix/mmix.md: Include predicates.md.
- ("call", "call_value"): Force address to register if it isn't a
- mmix_symbolic_or_address_operand.
-
-2005-05-04 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-flow-inline.h (op_iter_init_use, op_iter_init_def): Assert that
- the flags are of appropriate types.
- (num_ssa_operands): Generalize using the generic interface.
- * tree-ssa-dce.c (remove_dead_stmt): Don't ask for kills on a DEF
- iterator.
-
-2005-05-04 Richard Sandiford <rsandifo@redhat.com>
-
- * protoize.c (version_flag, quiet_flag, nochange_flag, nosave_flag)
- (keep_flag, local_flag, global_flag, cplusplus_flag): Make extern.
-
-2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-outof-ssa.c (edge_leader, stmt_list,
- analyze_edges_for_bb): Use VEC instead of VARRAY.
- (init_analayze_edges_for_bb, fini_analayze_edges_for_bb): New.
- (perform_edge_inserts): Call init_analayze_edges_for_bb and
- fini_analayze_edges_for_bb.
-
-2005-05-04 James E Wilson <wilson@specifixinc.com>
-
- PR driver/21112
- * gcc.c (process_command): In the second argv scan loop, ignore
- Xassembler and Xpreprocessor, along with their argument.
-
-2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-flow-inline.h, tree-ssa-operands.c,
- tree-ssa-operands.h, tree-ssa-opfinalize.h:
- Likewise. tree-vn.c: Fix comment typos.
- * doc/passes.texi, doc/tree-ssa.texi: Fix typos.
-
-2005-05-04 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/tm.texi (Target Hooks): Document
- TARGET_RESOLVE_OVERLOADED_BUILTIN.
-
-2005-05-04 Paul Brook <paul@codesourcery.com>
-
- * Makefile.in: Change dependencies on target.h to $(TARGET_H).
-
-2005-05-04 Kazu Hirata <kazu@cs.umass.edu>
-
- * dwarf2out.c (incomplete_types, retry_incomplete_types,
- gen_struct_or_union_type_die, dwarf2out_init): Use VEC instead
- of VARRAY.
-
- * loop-unroll.c (var_to_expand, analyze_insn_to_expand_var,
- get_expansion, expand_var_during_unrolling,
- insert_var_expansion_initialization,
- combine_var_copies_in_loop_exit, release_var_copies): Use VEC
- instead of VARRAY.
-
- * tree-ssa-loop-ivopts.c (rewrite_address_base): Don't call
- update_stmt.
-
-2004-05-03 Andrew Pinski <pinskia@physics.uc.edu>
-
- PR middle-end/15618
- * fold-const.c (fold_widened_comparison): Treat BOOLEAN_TYPE
- the same as INTEGER_TYPE.
- (fold_binary): Fold "bool_var != 0" to bool_var.
- Fold "bool_var == 1" to bool_var.
-
-2004-05-03 Richard Henderson <rth@redhat.com>
-
- PR middle-end/21318
- * function.c (instantiate_virtual_regs_in_insn): Use the mode
- from recog_data instead of insn_data.
-
-2005-05-03 DJ Delorie <dj@redhat.com>
-
- * common.opt (fdiagnostics-show-option): No variable is needed.
- * diagnostic.h (diagnostic_context): Add show_option_requested flag.
- * diagnostic.c (diagnostic_initialize): Initialize show_option_requested.
- (diagnostic_report_diagnostic): Test for enabled diagnostics here.
- Save and restore original message format. Use flag in context
- instead of global.
- (warning): Don't test for enabled warnings here.
- * opts.c (common_handle_option): Handle -fdiagnostics-show-option
- here.
-
-2005-05-04 Kelley Cook <kcook@gcc.gnu.org>
-
- * config/m32r/xm-m32r.h: Don't define HOST_WORDS_BIG_ENDIAN.
- * config/m32r/xm-linux.h: Don't undefine HOST_WORDS_BIG_ENDIAN.
- * mips-tfile.c: Use WORDS_BIG_ENDIAN instead of HOST_WORDS_BIG_ENDIAN.
- * aclocal.m4: Don't include accross.m4.
- * configure.ac: Use AC_C_BIGENDIAN instead of AC_C_BIGENDIAN_CROSS.
- Use AC_CHECK_SIZEOF instead of AC_COMPILE_CHECK_SIZEOF.
- * configure, config.in: Regenerate.
-
-2005-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/21265
- * expr.h (enum block_op_methods): Add BLOCK_OP_TAILCALL.
- (clear_storage): Add argument.
- * expr.c (emit_block_move_via_libcall, clear_storage_via_libcall):
- Add tailcall argument, set CALL_EXPR_TAILCALL of the CALL_EXPR to
- tailcall.
- (emit_block_move): Handle BLOCK_OP_TAILCALL method.
- (clear_storage): Add method argument, handle BLOCK_OP_TAILCALL.
- (store_expr, store_constructor): Adjust callers.
- * builtins.c (expand_builtin_memcpy): Pass BLOCK_OP_TAILCALL
- to emit_block_move if CALL_EXPR_TAILCALL (exp).
- (expand_builtin_memmove): Add ORIG_EXP argument, copy
- CALL_EXPR_TAILCALL from ORIG_EXP to the new CALL_EXPR.
- (expand_builtin_bcopy): Replace ARGLIST and TYPE arguments
- with EXP. Pass EXP to expand_builtin_memmove.
- (expand_builtin_memset): Add ORIG_EXP argument, pass
- BLOCK_OP_TAILCALL to clear_storage if CALL_EXPR_TAILCALL (orig_exp).
- (expand_builtin_bzero): Replace ARGLIST argument with EXP.
- Pass EXP to expand_builtin_memset.
- (expand_builtin_strcmp): Copy CALL_EXPR_TAILCALL from EXP to
- the new CALL_EXPR.
- (expand_builtin_strncmp): Likewise.
- (expand_builtin_printf): Replace ARGLIST argument with EXP.
- Copy CALL_EXPR_TAILCALL from EXP to the new CALL_EXPR.
- (expand_builtin_fprintf): Likewise.
- (expand_builtin): Adjust calls to
- expand_builtin_{memmove,bcopy,memset,bzero,{,f}printf}.
-
- * config/i386/i386.c (ix86_expand_vector_set): Fix setting 3rd and 4th
- item in V4SF mode.
-
- PR rtl-optimization/21239
- * combine.c (combine_simplify_rtx) <case VEC_SELECT>: Fix a typo.
-
-2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-flow.h (tree_ann_common_d): Move aux to ...
- (stmt_ann_d): ... here.
- * tree-ssa-loop-im.c (LIM_DATA, determine_invariantness_stmt,
- move_computations_stmt, schedule_sm): Update references to
- aux.
- * tree-vectorizer.h (set_stmt_info, vinfo_for_stmt): Likewise.
-
- * tree-cfg.c (remove_bb): Remove a redundant call to
- set_bb_for_stmt.
- * tree-if-conv.c (replace_phi_with_cond_modify_expr):
- Likewise.
-
-2005-05-03 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.c: Remove conflict markers.
-
- * cfg.c (dump_flow_info): Use max_reg_num, not max_regno.
-
-2005-05-03 James E Wilson <wilson@specifixinc.com>
-
- * dwarf2out.c (lookup_filename): Call maybe_emit_file.
-
-2005-05-03 DJ Delorie <dj@redhat.com>
-
- * c-decl.c (store_parm_decls_oldstyle): Let diagnostic machinery
- decide if the warning will be printed.
- * calls.c (expand_call): Likewise.
- * function.c (init-function_start): Likewise.
-
- * common.opt (-fdiagnostics-show-option): New.
- * opts.c (option_enabled): Accept the option index instead of a
- pointer to the option descriptor.
- * opts.h (option_enabled): Likewise.
- * toplev.c (print_switch_values): Pass option index, not option
- descriptor.
- * diagnostic.h (diagnostic_info): Add option_index.
- * diagnostic.c: Include opts.h.
- (diagnostic_set_info): Initialize option_index.
- (diagnostic_report_diagnostic): Amend option name if appropriate.
- (warning): Check to see if the specified warning is enabled.
- Store option index.
- * doc/invoke.texi (-fdiagnostics-show-options): Document.
-
-2005-05-03 Richard Henderson <rth@redhat.com>
-
- * config/rs6000/rs6000.h (REG_CLASS_CONTENTS): Fix ALL_REGS and
- SPEC_OR_GEN_REGS definitions.
-
-2005-05-03 Alexandre Oliva <aoliva@redhat.com>
-
- PR target/16888
- * config/i386/i386.h (CONDITIONAL_REGISTER_USAGE): Clear reg names
- for unavailable registers.
-
-2005-05-03 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-cfg.c (tree_forwarder_block_p): Fix a typo.
-
- * cfglayout.c (block_locators_blocks,
- insn_locators_initialize, insn_scope): Use VEC instead of
- VARRAY.
-
- * tree-mudflap.c (deferred_static_decls, mudflap_enqueue_decl,
- mudflap_finish_file, mudflap_finish_file): Use VEC instead of
- VARRAY.
-
-2005-05-03 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- * config/sparc/predicates.md (const_compl_high_operand): New.
- * config/sparc/sparc.c (sparc_emit_set_safe_HIGH64): Rename into
- gen_safe_HIGH64.
- (sparc_emit_set_const64_quick1): Adjust for above change.
- (sparc_emit_set_const64_quick2): Likewise.
- (sparc_emit_set_const64_longway): Likewise.
- (sparc_emit_set_const64): Likewise.
- * config/sparc/sparc.md (movhi_const64_special, movsi_const64_special,
- movdi_const64_special): Delete.
- (logical constant splitters): Use const_compl_high_operand.
-
-2005-05-03 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-ccp.c (maybe_fold_stmt_indirect): Use STRIP_TYPE_NOPS
- rather than STRIP_NOPS.
-
-2005-05-03 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/21330
- * loop-unswitch.c (may_unswitch_on): Set *cinsn only when
- returning non-NULL.
- (unswitch_single_loop): Clear cinsn when retrying.
-
- PR target/21297
- * config/i386/i386.c (legitimize_address): When canonicalizing
- ASHIFT into MULT, multiply by 1 << shift_count instead of
- 1 << log2 (shift_count).
-
-2005-05-03 Andrew MacLeod <amacleod@redhat.com>
-
- * lambda-code.c (gcc_loop_to_lambda_loop,
- lambda_loopnest_to_gcc_loopnest, phi_loop_edge_uses_def,
- stmt_is_bumper_for_loop, perfect_nest_p, replace_uses_of_x_with_y): Use
- generic operand interface.
- * tree-data-ref.c (find_data_references_in_loop): Use generic interface.
- * tree-dfa.c (collect_dfa_stats_r, mark_new_vars_to_rename): Use
- generic operand interface.
- * tree-flow-inline.h (delink_imm_use, link_imm_use_to_list,
- link_imm_use, link_imm_use_stmt, relink_imm_use, relink_imm_use_stmt,
- next_safe_imm_use, has_zero_uses, has_single_use, single_imm_use,
- num_imm_uses): Use ssa_use_operand_t.
- (get_def_ops, get_use_ops, get_v_may_def_ops, get_vuse_ops,
- get_v_must_def_ops): Delete.
- (get_def_from_ptr, get_phi_result_ptr): Get def directly now.
- (get_use_op_ptr, get_def_op_ptr, get_v_may_def_result_ptr,
- get_v_may_def_op_ptr, get_vuse_op_ptr, get_v_must_def_result_ptr,
- get_v_must_def_kill_ptr): Delete.
- (delink_stmt_imm_use): Move and use new operand interface.
- (op_iter_next_use, op_iter_next_def, op_iter_next_tree, op_iter_init,
- op_iter_next_tree): Use new operand implementation.
- (clear_and_done_ssa_iter): New. Initialize a blank operand iterator.
- (op_iter_init_use, op_iter_init_def, op_iter_init_tree): Add iterator
- type check.
- (op_iter_next_mustdef, op_iter_next_maydef,
- op_iter_next_must_and_may_def): Delete. Replace with...
- (op_iter_next_maymustdef): New. Combine must and may next operations.
- (op_iter_init_maydef, op_iter_init_mustdef,
- op_iter_init_must_and_may_def): Use new interface.
- (single_ssa_tree_operand ): New. Process single operands only as trees.
- (single_ssa_use_operand): New. Process single operands only as uses.
- (single_ssa_def_operand): New. Process single operands only as defs.
- (zero_ssa_operands): New. Return TRUE if there are zero operands of the
- specified types.
- (num_ssa_operands): New. Count the number of specified operands.
- (compare_ssa_operands_equal): New. Compare two statements' operands.
- (single_phi_def): New. Return true if PHI has one def of the specified
- operand type.
- (op_iter_init_phiuse): New. Initialize the iterator for PHI arguments.
- (op_iter_init_phidef): New. Initialize the iterator for the PHI def.
- * tree-flow.h (struct immediate_use_iterator_d): Use ssa_use_operand_t.
- (struct stmt_ann_d): Operands field no longer require GTY().
- (vn_compute, vn_lookup_or_add, vn_add, vn_lookup): Change prototype.
- * tree-into-ssa.c (mark_def_sites): Use SSA_OP_VMUSTKILL.
- * tree-outof-ssa.c (check_replaceable, find_replaceable_in_bb,
- dump_replaceable_exprs, rewrite_trees): Use generic interface.
- * tree-phinodes.c (make_phi_node, release_phi_node, resize_phi_node):
- Use use_operand_p instead of ssa_imm_use_t *.
- * tree-pretty-print.c (dump_vops): check if operands are active before
- dumping virtual operands.
- * tree-sra.c (sra_walk_function): Use ZERO_SSA_OPERANDS.
- * tree-ssa-ccp.c (likely_value): Use ZERO_SSA_OPERANDS.
- (ccp_fold): Use new interface.
- (ccp_visit_stmt): Remove unused variables and code.
- (convert_to_gimple_builtin): Insert statements before calling
- mark_new_vars_to_rename.
- * tree-ssa-copy.c (stmt_may_generate_copy): Use ZERO_SSA_OPERANDS.
- (copy_prop_visit_cond_stmt): Use generic interface.
- * tree-ssa-dom.c (struct expr_hash_elt): Use stmt pointer, not the
- annotation in table.
- (thread_across_edge): Use generic interface.
- (initialize_hash_element): Initialzie with stmt, not annotation.
- (eliminate_redundant_computations): Use generic interface.
- (record_equivalences_from_stmt): Pass stmt, not annotation.
- (avail_expr_hash, real_avail_expr_hash, avail_expr_eq): Use generic
- interface.
- * tree-ssa-dse.c (dse_optimize_stmt): Use ZERO_SSA_OPERANDS.
- * tree-ssa-loop-ivopts.c (find_invariants_stmt,
- find_interesting_uses_stmt, protect_loop_closed_ssa_form_use): Use
- generic operand interface.
- * tree-ssa-loop-niter.c (chain_of_csts_start, get_val_for): Use generic
- interface.
- * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Use Generic operand
- Interface.
- * tree-ssa-operands.c (struct opbuild_list_d): New. Operand build type.
- (build_defs, build_uses, build_v_may_defs, build_vuses,
- build_v_must_defs): Change type to struct opbuild_list_d.
- (ops_active): New. Operands active boolean.
- (operand_memory, operand_memory_index): New. Operand memory managers.
- (allocate_def_optype, allocate_use_optype, allocate_v_may_def_optype,
- allocate_vuse_optype, allocate_v_must_def_optype): Delete.
- (free_uses, free_defs, free_vuses, free_v_may_defs, free_v_must_defs):
- Change from functions to static variable list heads.
- (opbuild_initialize_virtual): New. Initialize a virtual build list.
- (opbuild_initialize_real): New. Initialize a virtual build list.
- (opbuild_free): New. Free a build list.
- (opbuild_num_elems): New. Number of items in a list.
- (opbuild_append_real): New. Add a real (tree *) operand.
- (opbuild_append_virtual): New. Add and sort a virtual (tree) operand.
- (opbuild_first): New. Return first element index in a list.
- (opbuild_next): New. Return next element in a list.
- (opbuild_elem_real): New. Return real element.
- (opbuild_elem_virtual): New. Return virtual element.
- (opbuild_elem_uid): New. Return UID of virtual element.
- (opbuild_clear): New. Reset an operand list.
- (opbuild_remove_elem): New. Remove an element form a list.
- (ssa_operands_active): New. Return true if operand cache is active.
- (init_ssa_operands, fini_ssa_operands): Initialize new implementation.
- (ssa_operand_alloc): New. Allocate memory from an operand chunk.
- (correct_use_link): Use use_operand_p.
- (finalize_ssa_uses, finalize_ssa_v_may_defs, finalize_ssa_defs,
- finalize_ssa_vuses, finalize_ssa_v_must_defs): New implmentation.
- (cleanup_v_may_defs): Use new implmentation.
- (finalize_ssa_stmt_operands, start_ssa_stmt_operands): New
- implementation.
- (append_def, append_use, append_v_may_def, append_vuse,
- append_v_must_def): Call opbuild_append routine instead of using varray.
- (build_ssa_operands): Simplify to simply use stmt, don't maintain a
- global parse_old_ops variable.
- (free_ssa_operands): New implementation.
- (update_stmt_operands): Move. Change argument to build_ssa_operands.
- (copy_virtual_operands): Move. New generic implementation.
- (create_ssa_artficial_load_stmt): Move. New implementation.
- (swap_tree_operands): Update for new implementation.
- (get_expr_operands): Add stmt parameter to calls to swap_tree_operands.
- (add_call_clobber_ops, add_call_read_ops): Initialize opbuild list
- rather than a varray.
- (verify_imm_links): Use use_operand_p.
- (dump_immediate_uses_for): If the immediate use variable is a virtual
- variable, show the virtual ops in the stmt.
- * tree-ssa-operands.h (def_operand_p): No longer a structure.
- (NULL_DEF_OPERAND_P): Now a #define.
- (def_optype_d, use_optype_d, v_def_use_operand_type, v_may_def_optype_d,
- vuse_operand_type, vuse_optype_d, v_must_def_optype_d): Delete.
- (def_optype_d, use_optype_d, maydef_optype_d, vuse_optype_d,
- mustdef_optype_d): New. Use Linked list representation.
- (SSA_OPERAND_MEMORY_SIZE): New. Size of operand memory chunk.
- (struct ssa_operand_memory_d): New. Allocated Chunk node.
- (struct stmt_operands_d): Change to new pointers that are not GTY.
- (STMT_USE_OPS, NUM_USES, SET_USE_OP, STMT_DEF_OPS, NUM_DEFS, SET_DEF_OP,
- STMT_V_MAY_DEF_OPS, NUM_V_MAY_DEFS, SET_V_MAY_DEF_RESULT,
- SET_V_MAY_DEF_OP, STMT_VUSE_OPS, NUM_VUSES, SET_VUSE_OP,
- STMT_V_MUST_DEF_OPS, NUM_V_MUST_DEFS, SET_V_MUST_DEF_RESULT,
- SET_V_MUST_DEF_KILL): Delete.
- (V_MAY_DEF_OPS, V_MAY_DEF_RESULT_PTR, V_MAY_DEF_RESULT,
- V_MAY_DEF_OP_PTR, V_MAY_DEF_OP): Rename to MAYDEF_*.
- (V_MUST_DEF_OPS, V_MUST_DEF_RESULT_PTR, V_MUST_DEF_RESULT,
- V_MUST_DEF_KILL_PTR, V_MUST_DEF_KILL): Rename to MUSTDEF_*.
- (enum ssa_op_iter_type): Operand iterator typechecking values.
- (struct ssa_operand_iterator_d): Use linked lists of operands.
- (SSA_OP_VMUSTDEFKILL): Rename to SSA_OP_VMUSTKILL.
- (FOR_EACH_SSA_MAYDEF_OPERAND, FOR_EACH_SSA_MUSTDEF_OPERAND,
- FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): Use op_iter_next_maymustdef.
- (FOR_EACH_PHI_ARG): New. Iterate over PHI arguments.
- (FOR_EACH_PHI_OR_STMT_USE): New. Iterate over PHI or stmt uses.
- (FOR_EACH_PHI_OR_STMT_DEF): New. Iterate over PHI or stmt defs.
- (SINGLE_SSA_TREE_OPERAND, SINGLE_SSA_USE_OPERAND,
- SINGLE_SSA_DEF_OPERAND, ZERO_SSA_OPERANDS, NUM_SSA_OPERANDS): New.
- * tree-ssa-opfinalize.h: New. Function templates for expansion.
- (FINALIZE_ALLOC): Expands into alloc_def, alloc_use, alloc_maydef,
- alloc_vuse, and alloc_mustdef.
- (FINALIZE_FUNC): Expands into finalize_ssa_def_ops,
- finalize_ssa_use_ops, finalize_ssa_v_may_def_ops, finalize_ssa_vuse_ops,
- and finalize_ssa_v_must_def_ops.
- * tree-ssa-pre.c (add_to_sets): Pass tree to vn_add.
- (create_value_expr_from): Use stmt not vuse_optype as a parameter. Pass
- stmt around.
- (compute_avail): Use generic iterator interface.
- * tree-ssa-propagate.c (first_vdef): Use generic operand interface.
- (stmt_makes_single_load, stmt_makes_single_store): Use
- ZERO_SSA_OPERANDS.
- * tree-ssa-sink.c (is_hidden_global_store): Use ZERO_SSA_OPERANDS.
- (statement_sink_location): Use generic interface.
- * tree-ssa.c (verify_ssa): Use %p in fprintf. Use generic interface.
- (delete_tree_ssa): Don't call release_defs. Call release_ssa_name and
- reset the immediate use link nodes.
- (stmt_references_memory_p): Use ZERO_SSA_OPERANDS.
- * tree-ssanames.c (make_ssa_name): Use use_operand_p.
- * tree-tailcall.c (find_tail_calls): Use ZERO_SSA_OPERANDS.
- (eliminate_tail_call): Use generic operand interface.
- * tree-vect-analyze.c (vect_analyze_data_refs): Use ZERO_SSA_OPERANDS.
- (vect_mark_relevant, vect_mark_stmts_to_be_vectorized): Use generic
- interface.
- * tree-vect-transform.c (update_vuses_to_preheader): Use generic
- interface.
- * tree-vectorizer.c (rename_variables_in_bb): Use generic interface.
- * tree-vn.c (struct val_expr_pair_d): Cache statment pointer instead of
- vuse_optype.
- (vn_compute, val_expr_pair_hash, vn_add, vn_lookup, vn_lookup_or_add):
- Use statement pointer instead of vuse_optype. Use generic interface.
- * tree-vrp.c (maybe_add_assert_expr): Use generic interface.
- (stmt_interesting_for_vrp, vrp_visit_stmt): Use ZERO_SSA_OPERANDS.
- * tree.h (struct ssa_imm_use_d): Renamed to ssa_use_operand_d.
- (tree_ssa_name, phi_arg_d): Use ssa_use_operand_d.
- * doc/tree-ssa.texi: Update documentation for operand interface.
-
-2005-05-03 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/darwin.c (machopic_define_symbol): Use gcc_assert or
- gcc_unreachable as appropriate.
- (machopic_function_base_name, machopic_indirect_data_reference,
- machopic_legitimize_pic_address, darwin_non_lazy_pcrel): Likewise.
- * config/host-darwin.c (darwin_gt_pch_use_address): Likewise
- * config/rs6000/altivec.md (*mov<mode>_internal,
- build_vector_mask_for_load): Likewise.
- * config/rs6000/darwin.md (movdf_low_si, movdf_low_di,
- *call_nonlocal_darwin64, *call_value_nonlocal_darwin64,
- *sibcall_symbolic_64, *sibcall_value_symbolic_64): Likewise.
- * config/rs6000/predicates.md (easy_fp_constant,
- logical_operand): Likewise.
- * config/rs6000/rs6000.c (spe_expand_predicate_builtin,
- compute_save_world_info, rs6000_emit_prologue,
- rs6000_output_mi_thunk): Reword comments to avoid 'abort'.
- * config/rs6000/host-darwin.c (segv_handler): Use fancy_abort
- directly.
-
-2005-05-03 Uros Bizjak <uros@kss-loka.si>
-
- PR middle-end/21282
- * convert.c (convert_to_integer): Convert ceil and floor in
- c99 mode only.
-
-2005-04-29 Geoffrey Keating <geoffk@apple.com>
-
- PR target/20813
- * config/rs6000/rs6000.md (floatsidf2_internal): Merge to create
- define_insn_and_split. Split only when memory operand is
- offsettable. Use adjust_address rather than plus_constant.
- (floatunssidf2_internal): Likewise.
- (fix_truncdfsi2_internal): Split only when memory operand is
- offsettable. Use adjust_address rather than plus_constant.
- (fix_trunctfsi2_internal): Likewise.
- (floatsidf2_internal): Likewise.
-
-2005-05-02 Diego Novillo <dnovillo@redhat.com>
-
- * tree-vrp.c (set_value_range_to_nonnull): Declare inline.
- (set_value_range_to_null): Likewise.
- (set_value_range_to_varying): New function. Use it in all
- call sites that used to call set_value_range (vr, VR_VARYING, ...).
- (extract_range_from_assert): If the integral type has a
- super-type, and LIMIT is not within MIN and MAX values of that
- type, set the resulting range to VR_VARYING.
-
-2005-05-02 Hans-Peter Nilsson <hp@bitrange.com>
-
- * config/mmix/mmix.opt: New file.
- * config/mmix/mmix.h: Move options-related comments to mmix.opt.
- (mmix_cc1_ignored_option): Don't declare.
- (TARGET_OPTIONS, TARGET_MASK_LIBFUNCS, TARGET_MASK_ABI_GNU)
- (TARGET_MASK_FCMP_EPSILON, TARGET_MASK_ZERO_EXTEND)
- (TARGET_MASK_KNUTH_DIVISION, TARGET_MASK_TOPLEVEL_SYMBOLS)
- (TARGET_MASK_BRANCH_PREDICT, TARGET_MASK_USE_RETURN_INSN)
- (TARGET_MASK_BASE_ADDRESSES, TARGET_LIBFUNC, TARGET_ABI_GNU,
- (TARGET_FCMP_EPSILON, TARGET_ZERO_EXTEND, TARGET_KNUTH_DIVISION)
- (TARGET_TOPLEVEL_SYMBOLS, TARGET_BRANCH_PREDICT)
- (TARGET_BASE_ADDRESSES, TARGET_USE_RETURN_INSN, TARGET_SWITCHES):
- Don't define.
- (TARGET_DEFAULT): Change TARGET_MASK_... to MASK_...
- * config/mmix/mmix.c (mmix_cc1_ignored_option): Remove.
- (TARGET_DEFAULT_TARGET_FLAGS): Override default.
-
-2005-05-02 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/15698
- * c-tree.h (C_DECL_BUILTIN_PROTOTYPE): New.
- * c-decl.c (current_function_prototype_built_in,
- current_function_prototype_arg_types): New.
- (merge_decls): Keep source location of prototype followed by
- nonprototype declaration. Update C_DECL_BUILTIN_PROTOTYPE.
- (builtin_function): Set C_DECL_BUILTIN_PROTOTYPE.
- (start_function): Always set current_function_prototype_locus,
- current_function_prototype_built_in and
- current_function_prototype_arg_types. Check for external
- prototype whether or not visible for external function and set
- current_function_prototype_arg_types accordingly.
- (store_parm_decls_oldstyle): Use
- current_function_prototype_arg_types for checking old-style
- definition against prototype. Give warnings only if
- current_function_prototype_built_in).
-
-2005-05-02 Daniel Jacobowitz <dan@codesourcery.com>
-
- * ggc.h (ggc_alloc_zone_pass_stat): New macro.
- (ggc_alloc_zone_stat): Don't define.
- * ggc-zone.c (ggc_alloc_typed_stat, ggc_alloc_stat): Use
- ggc_alloc_zone_pass_stat.
- * rtl.c (rtx_alloc_stat, shallow_copy_rtx_stat): Likewise.
- * tree.c (make_node_stat, copy_node_stat, make_tree_binfo_stat)
- (make_tree_vec_stat, tree_cons_stat, build1_stat): Likewise.
-
-2005-05-02 Daniel Jacobowitz <dan@codesourcery.com>
-
- * calls.c (expand_call): Handle current_function_pretend_args_size
- when checking for sibcalls.
-
-2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimization/21294
- * tree-vrp.c (vrp_expr_computes_nonzero): New.
- (extract_range_from_expr): Call vrp_expr_computes_nonzero.
-
-2005-05-02 Janis Johnson <janis187@us.ibm.com>
-
- PR 19985
- * gcov-io.h: Declare gcov external functions hidden.
-
-2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-uncprop.c (equiv_hash_elt, remove_equivalence,
- record_equiv, tree_ssa_uncprop, uncprop_into_successor_phis):
- Use VEC instead of VARRAY.
- (equiv_free): New.
-
- * tree-ssa-sink.c (nearest_common_dominator_of_uses): Factor
- out common code.
-
-2005-05-02 Paolo Bonzini <bonzini@gnu.org>
-
- * c-common.c (resolve_overloaded_builtin): Forward to target
- hook for BUILT_IN_MD built-ins.
- * c-typeck.c (finish_call_expr): Call resolve_overloaded_builtin
- for all types of built-in.
- * target-def.h (TARGET_RESOLVE_OVERLOADED_BUILTIN): New. Use it
- in the definition of the target hooks struct.
- * target.h (struct gcc_target): Add resolve_overloaded_builtin.
- * config/rs6000/altivec.h: Rewritten.
- * config/rs6000/rs6000-c.c (struct altivec_builtin_types,
- altivec_resolve_overloaded_builtin, altivec_build_resolved_builtin,
- rs6000_builtin_type, rs6000_builtin_type_compatible,
- altivec_overloaded_builtins, rs6000_builtin_type,
- rs6000_builtin_type_compatible): New.
- * config/rs6000/rs6000.c (rs6000_builtin_types, rs6000_builtin_decls):
- New.
- (def_builtin): Turn into a function. Check for duplicates and store
- the builtin into rs6000_builtin_decls.
- (bdesc_3arg, bdesc_dst, bdesc_altivec_preds, bdesc_2arg,
- bdesc_1arg): Add overloaded builtins.
- (altivec_expand_builtin): Check for unresolved overloaded builtins,
- do not support ALTIVEC_COMPILETIME_ERROR.
- (rs6000_init_builtins): Add opaque 128-bit vector, and internal
- nodes to represent front-end types.
- (altivec_init_builtins, rs6000_common_init_builtins): Create builtins
- with opaque arguments and/or return values.
- * config/rs6000/rs6000.h (enum rs6000_builtins): Remove
- ALTIVEC_COMPILETIME_ERROR and add Altivec overloaded builtins.
- (rs6000_builtin_type_index): New.
- (is_ev64_opaque_type): Rename to...
- (rs6000_is_opaque_type): ... this.
- (rs6000_cpu_cpp_builtins): Install the resolve_overloaded_builtin
- target hook.
-
-2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * function.c (reorder_blocks, reorder_blocks_1): Use VEC
- instead of VARRAY.
-
-2005-05-02 Nathan Sidwell <nathan@codesourcery.com>
- Bernd Schmidt <bernd.schmidt@analog.com>
-
- * config/bfin/bfin.c (emit_link_insn, effective_address_32bit_p,
- print_address_operand, print_operand, legitimize_pic_address,
- asm_conditional_branch, bfin_gen_compare, output_push_multiple,
- output_pop_multiple): Use gcc_assert or gcc_unreachable as
- appropriate.
- * config/bfin/bfin.md (movsf splitter, beq, bne): Likewise.
-
-2005-05-02 Dorit Naishlos <dorit@il.ibm.com>
-
- * doc/passes.texi: Document vectorization pass.
-
-2005-05-02 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-scalar-evolution.c (get_exit_conditions_rec,
- select_loops_exit_conditions,
- number_of_iterations_for_all_loops,
- analyze_scalar_evolution_for_all_loop_phi_nodes,
- scev_analysis): Use VEC instead of VARRAY.
-
-2005-05-02 Michael Matz <matz@suse.de>
-
- PR c++/19542
- * c-common.c (c_common_nodes_and_builtins): Create global null_node.
- (warn_strict_null_sentinel): Define.
- (check_function_sentinel): Check for null_node as valid sentinel too.
- * c-common.h (c_tree_index): Added CTI_NULL.
- (null_node) Define global_tree[CTI_NULL].
- (warn_strict_null_sentinel): Declare.
- * c-opts.c: (c_common_handle_option): Handle -Wstrict-null-sentinel.
- * c.opt: (Wstrict-null-sentinel): New C++ option.
- * doc/invoke.texi (C++ Options): Document -Wstrict-null-sentinel.
-
-2005-05-01 Kazu Hirata <kazu@cs.umass.edu>
-
- * gimplify.c (gimplify_compound_lval): Use VEC instead of
- VARRAY.
-
- * global.c (calculate_reg_pav): Use VEC instead of VARRAY.
-
- * dwarf2out.c (decl_scope_table, push_decl_scope,
- pop_decl_scope, scope_die_for, dwarf2out_init): Use VEC
- instead of VARRAY.
-
-2005-05-01 Mark Mitchell <mark@codesourcery.com>
-
- PR C++/14391
- * c-cppbuiltin.c (c_cpp_builtins): Do not define __GXX_WEAK__ to 1
- if !flag_weak.
- * doc/cpp.texi (__DEPRECATED): Document.
- (__EXCEPTIONS): Likewise.
- (__GXX_WEAK__): Likewise.
-
- * function.c (INVOKE__main): Do not define.
- (expand_main_function): Check HAS_INIT_SECTION when determining
- whether or not to call __main.
-
-2005-05-01 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-loop-ivopts.c: Fix a comment typo.
-
-2005-01-05 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.h (ARM_EMIT_TRAMPOLINE_CACHE_CLEAR): Define.
- (INITIALIZE_TRAMPOLINE): Use it.
- * config/arm/linux-gas.h (INITIALIZE_TRAMPOLINE): Remove.
- * config/arm/netbsd.h (INITIALIZE_TRAMPOLINE): Remove.
- * config/arm/netbsd-elf.h (INITIALIZE_TRAMPOLINE): Remove.
-
-2005-05-01 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Specific): Omit dots in the @anchors names
- for i?86-*-sco3.2v5*, i?86-*-solaris2.10, and sparc-sun-solaris2.7.
- Omit underscores for x86_64-*-* and the "all ELF targets" entry.
-
-2005-05-01 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/18316
- PR tree-optimization/19126
- * tree.c (build_int_cst_type): Avoid shift by size of type.
- * tree-scalar-evolution.c (simple_iv): Add allow_nonconstant_step
- argument.
- * tree-scalar-evolution.h (simple_iv): Declaration changed.
- * tree-ssa-loop-ivopts.c (struct iv_cand): Add depends_on
- field.
- (dump_cand): Dump depends_on information.
- (determine_biv_step): Add argument to simple_iv call.
- (contains_abnormal_ssa_name_p): Handle case expr == NULL.
- (find_bivs, find_givs_in_stmt_scev): Do not require step to be a
- constant.
- (add_candidate_1): Record depends_on for candidates.
- (tree_int_cst_sign_bit, constant_multiple_of): New functions.
- (get_computation_at, get_computation_cost_at, may_eliminate_iv):
- Handle ivs with nonconstant step.
- (iv_ca_set_remove_invariants, iv_ca_set_add_invariants): New functions.
- (iv_ca_set_no_cp, iv_ca_set_cp): Handle cand->depends_on.
- (create_new_iv): Unshare the step before passing it to create_iv.
- (free_loop_data): Free cand->depends_on.
- (build_addr_strip_iref): New function.
- (find_interesting_uses_address): Use build_addr_strip_iref.
- (strip_offset_1): Split the recursive part from strip_offset.
- Strip constant offset component_refs and array_refs.
- (strip_offset): Split the recursive part to strip_offset_1.
- (add_address_candidates): Removed.
- (add_derived_ivs_candidates): Do not use add_address_candidates.
- (add_iv_value_candidates): Add candidates with stripped constant
- offset. Consider all candidates with initial value 0 important.
- (struct affine_tree_combination): New.
- (aff_combination_const, aff_combination_elt, aff_combination_scale,
- aff_combination_add_elt, aff_combination_add,
- tree_to_aff_combination, add_elt_to_tree, aff_combination_to_tree,
- fold_affine_sum): New functions.
- (get_computation_at): Use fold_affine_sum.
- * tree-ssa-loop-manip.c (create_iv): Handle ivs with nonconstant step.
- * tree-ssa-loop-niter.c (number_of_iterations_exit): Add argument
- to simple_iv call.
-
-2005-04-30 Michael Matz <matz@suse.de>
-
- * config/i386/i386.md (movmemsi): Also active when
- TARGET_INLINE_ALL_STRINGOPS.
-
-2005-04-30 Eric Botcazou <ebotcazou@libertysurf.fr>
-
- PR bootstrap/20633
- * config/freebsd-spec.h (FBSD_CPP_SPEC): Add %(cpp_arch).
-
-2005-04-30 Paul Brook <paul@codesourcery.com>
-
- * config/arm/bpabi.h (RENAME_LIBRARY_SET): Always use .thumb_set in
- thumb mode.
- * config/arm/ieee754-df.S: Use __INTERWORKING_STUBS__.
- * config/arm/ieee754-sf.S: Ditto.
- * config/arm/lib1funcs.asm: Define and use __INTERWORKING_STUBS__.
- (FUNC_ALIAS): Use .thumb_set for thumb routines.
-
-2005-04-30 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssanames.c: Fix a comment typo.
- * doc/options.texi: Fix a typo.
-
-2005-04-30 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/h8300/h8300.c (byte_reg): Use gcc_assert and
- gcc_unreachable as appropriate.
- (split_adds_subs, cond_string, print_operand,
- h8300_initial_elimination_offset, h8300_classify_operand,
- h8300_unary_length, h8300_short_immediate_length,
- h8300_bitfield_length, h8300_binary_length,
- h8300_insn_length_from_table, compute_mov_length, output_plussi,
- compute_plussi_length, compute_plussi_cc, output_logical_op,
- compute_logical_op_length, compute_logical_op_cc,
- output_h8sx_shift, get_shift_alg, h8300_shift_needs_scratch_p,
- output_a_shift, compute_a_shift_length, compute_a_shift_cc,
- output_a_rotate, compute_a_rotate_length, fix_bit_operand,
- h8300_regs_ok_for_stm): Likewise.
- * config/h8300/h8300.md (*movsi_h8300, *movsf_h8300,
- monitor_prologue): Likewise.
-
-2005-04-30 Kazu Hirata <kazu@cs.umass.edu>
-
- * loop-invariant.c (invariants, create_new_invariant,
- get_inv_cost, best_gain_for_invariant,
- find_invariants_to_move, move_invariants,
- init_inv_motion_data, free_inv_motion_data): Use VEC instead
- of VARRAY.
-
-2005-04-29 Richard Henderson <rth@redhat.com>
-
- * function.c (instantiate_decls): Remove valid_only argument.
- (instantiate_decls_1, instantiate_decl): Likewise.
- (instantiate_virtual_regs_1): Delete.
- (instantiate_virtual_regs_lossage): Delete.
- (instantiate_virtual_regs_in_rtx): New.
- (safe_insn_predicate): New.
- (instantiate_virtual_regs_in_insn): New.
- (instantiate_virtual_regs): Update to match all that. Only run
- instantiate_decls once.
-
-2005-04-29 Richard Henderson <rth@redhat.com>
- Daniel Jacobowitz <dan@codesourcery.com>
-
- * gengtype.c (write_func_for_structure): Split out ...
- (output_type_enum): ... new function. Fix thinko accessing
- TYPE_PARAM_STRUCT data.
-
-2005-04-29 Tom Tromey <tromey@redhat.com>
-
- * tree.c (build_block): Removed unused 'tags' argument.
- * tree.h (build_block): Removed argument.
-
-2005-04-29 Michael Matz <matz@suse.de>
-
- PR rtl-optimization/21144
- * postreload.c (reload_cse_move2add): Check for VOIDmode.
-
-2005-04-29 Bob Wilson <bob.wilson@acm.org>
-
- * config/xtensa/xtensa.h (OPTIMIZATION_OPTIONS): Define to disable
- flag_reorder_blocks.
-
-2005-04-28 Kazu Hirata <kazu@cs.umass.edu>
-
- PR tree-optimization/21030
- * tree-vrp.c (adjust_range_with_scev): Do not create invalid
- ranges where VR->MAX is smaller than VR->MIN.
-
-2005-04-29 Devang Patel <dpatel@apple.com>
-
- PR tree-optimization/21272
- PR tree-optimization/21266
- * tree-if-conv.c (find_phi_replacement_condition): Fix think-o.
-
-2005-04-29 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-flow-inline.h: Fix a comment typo.
- * doc/tree-ssa.texi: Fix a typo.
-
- * tree-flow-inline.h, tree-ssa-operands.c: Fix comment typos.
-
-2005-04-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/fr30/fr30.c (fr30_expand_prologue): Use gcc_assert and
- gcc_unreachable as appropriate.
- (fr30_expand_epilogue, fr30_setup_incoming_varargs,
- fr30_print_operand, fr30_move_double): Likewise.
- * config/fr30/fr30.md (*movsi_internal, *movsf_internal): Likewise.
-
-2005-04-29 Mark Mitchell <mark@codesourcery.com>
-
- * config/arm/arm.h (ARM_EABI_CTORS_SECTION_OP): Do not define if a
- definition has already been provided.
- (ARM_EABI_DTORS_SECTION_OP): Likewise.
- * config/arm/symbian.h (ARM_EABI_CTORS_SECTION_OP): Define.
- (ARM_EABI_DTORS_SECTION_OP): Likewise.
-
-2005-04-29 Jim Tison <jtison@us.ibm.com>
-
- * config/s390/s390.md ("prologue_tpf", "epilogue_tpf"): Alter
- trace hooks calls to improve performance.
-
-2005-04-29 Julian Brown <julian@codesourcery.com>
- Mark Mitchell <mark@codesourcery.com>
- Paul Brook <paul@codesourcery.com>
-
- * crtstuff.c: Handle targets that use .init_array.
- * function.c (HAS_INIT_SECTION): Do not define. Instead, make sure
- that INVOKE__main is set correctly.
- (expand_main_function): Test INVOKE__main.
- * libgcc2.c: Do not define __main when using .init_array.
- * config/arm/arm.c (arm_elf_asm_constructor): New function.
- * config/arm/arm.h (CTORS_SECTION_ASM_OP): Define, with specialized
- libgcc version.
- (DTORS_SECTION_ASM_OP): Likewise.
- (CTOR_LIST_BEGIN): Define specially when in libgcc.
- (CTOR_LIST_END): Likewise.
- (DTOR_LIST_BEGIN): Likewise.
- (DTOR_LIST_END): Likewise.
- * config/arm/bpapi.h (INIT_SECTION_ASM_OP): Do not define it.
- (FINI_SECTION_ASM_OP): Likewise.
- (INIT_ARRAY_SECTION_ASM_OP): Define.
- (FINI_ARRAY_SECTION_ASM_OP): Likewise.
- * config/arm/elf.h (TARGET_ASM_CONSTRUCTOR): Define.
- (SUPPORTS_INIT_PRIORITY): Evaluate to false for EABI based targets.
- * doc/tm.texi (INIT_ARRAY_SECTION_ASM_OP): Document.
- (FINI_ARRAY_SECTION_ASM_OP): Likewise.
-
-2005-04-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/m68k/m68k.c (m68k_initial_elimination_offset): Use
- gcc_assert and gcc_unreachable as appropriate.
- (output_dbcc_and_branch, output_scc_di, legitimize_pic_address,
- const_int_cost, output_move_const_into_data_reg,
- output_move_qimode, output_move_double, find_addr_reg,
- print_operand, print_operand_address): Likewise.
- * config/m68k/m68k.md (adddi3, subdi3, negsf2, negdf2, abssf2,
- absdf2, sordered, sunordered, suneq, sunge, sungt, sunle, sunlt,
- sltgt, bordered, bunordered, buneq, bunge, bungt, bunle, bunlt,
- bltgt, *bordered_rev, *bunordered_rev, *buneq_rev, *bunge_rev,
- *bunle_rev, *bunlt_rev, *bltgt_rev, negxf2, absxf2,
- conditional_trap): Likewise.
- * config/m68k/m68kelf.h (ASM_OUTPUT_ALIGN): Remove unreachable code.
-
-2005-04-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/xtensa/xtensa.c (gen_int_relational): Use gcc_assert and
- gcc_unreachable as appropriate.
- (gen_conditional_move, xtensa_split_operand_pair,
- xtensa_split_operand_pair, xtensa_copy_incoming_a7,
- xtensa_copy_incoming_a7, xtensa_copy_incoming_a7,
- xtensa_copy_incoming_a7, xtensa_output_literal,
- xtensa_output_literal, xtensa_output_literal): Likewise.
- * config/xtensa/xtensa.h (INITIAL_ELIMINATION_OFFSET): Likewise.
- * config/xtensa/xtensa.md (*btrue, *bfalse, *ubtrue, *ubfalse,
- *bittrue, *bitfalse, *masktrue, *maskfalse, movsicc_internal0,
- movsicc_internal1, movsfcc_internal0,
- movsfcc_internal1): Likewise.
-
-2005-04-28 James E Wilson <wilson@specifixinc.com>
-
- * config/i386/i386.h (HI_REGISTER_NAMES): Fix typos in comment.
- (ADDITIONAL_REGISTER_NAMES): Delete obsolete mmx register entries.
-
-2005-04-28 DJ Delorie <dj@redhat.com>
-
- * opt-functions.awk (var_set): Emit proper initializer for
- non-target bitfields.
-
-2005-04-28 Devang Patel <dpatel@apple.com>
-
- * dbxout.c (have_used_extensions): Remove.
- (dbxout_type_fileds, dbxout_type, dbxout_symbol): Remove use of
- have_used_extensions.
-
-2005-04-28 James E Wilson <wilson@specifixinc.com>
-
- * doc/install.texi: Update -enable-languages info. Correct path to
- html docs.
-
-2005-04-28 DJ Delorie <dj@redhat.com>
-
- * optc-gen.awk (END): Make sure no variable is defined more
- than once.
- * opth-gen.awk (END): Allocate bits on a per-variable basis.
- Allow for bitfield variables other than target_flags.
- * doc/options.text (Mask): Document that you may specify a
- variable other than target_flags.
-
-2005-04-28 Martin Koegler <mkoegler@auto.tuwien.ac.at>
-
- PR rtl-optimization/18877
- * reload.c (decompose) <case REG, case SUBREG>: Handle pseudo reg
- number in val.start.
-
-2005-04-28 David Edelsohn <edelsohn@gnu.org>
-
- PR target/20813
- * config/rs6000/aix43.h (SUBSUBTARGET_SWITCHES, aix64): Add
- MASK_PPC_GFXOPT.
- * config/rs6000/aix51.h (SUBSUBTARGET_SWITCHES, aix64): Same.
- * config/rs6000/aix52.h (SUBSUBTARGET_SWITCHES, aix64): Same.
- * config/rs6000/sysv4.h (SUBTARGET_SWITCHES, 64): Same.
-
-2005-04-28 Richard Earnshaw <richard.earnshaw@arm.com>
-
- * arm.c (legitimize_pic_address): Fix sense of assertion test for
- creating pseudos when the base offset is too large.
-
-2005-04-28 Kazu Hirata <kazu@cs.umass.edu>
-
- * global.c (earlyclobber_regclass): Change the type to
- VEC(int,heap).
- (check_earlyclobber): Update uses of earlyclobber_regclass.
- (mark_reg_use_for_earlyclobber): Likewise.
- (calculate_local_reg_bb_info): Allocate and free
- earlyclobber_regclass using the VEC API.
-
-2005-04-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * tree-ssa-alias.c (push_fields_onto_fieldstack): Remove bogus
- assert.
-
-2005-04-28 Kazu Hirata <kazu@cs.umass.edu>
-
- * modulo-sched.c, tree-stdarg.c: Use targetm.foo instead of
- (*targetm.foo).
-
- * config.gcc: Obsolete c4x-* and tic4x-*.
-
- * tree.h (edge_def): Remove.
-
- * bt-load.c, cfgexpand.c, dwarf2out.c, emit-rtl.c, expr.c,
- function.c, global.c, lcm.c, loop-invariant.c, optabs.c,
- reorg.c, resource.c, tree-ssa-loop-ivopts.c, value-prof.c: Use
- JUMP_P, LABEL_P, REG_P, MEM_P, NONJUMP_INSN_P, and INSN_P
- where appropriate.
-
- * attribs.c, c-pragma.c, caller-save.c, cfghooks.h,
- coverage.c, cselib.h, domwalk.c, domwalk.h, errors.c,
- errors.h, gcov-dump.c, gcov-io.c, gcov-io.h, gen-protos.c,
- genattrtab.h, genextract.c, gthr-win32.h, insn-notes.def,
- integrate.c, lambda-mat.c, lambda.h, libgcov.c, local-alloc.c,
- machmode.def, mips-tfile.c, params.c, pretty-print.c,
- print-rtl.c, protoize.c, regmove.c, sched-vis.c, tree-chrec.h,
- tree-data-ref.h, vec.h, config/darwin-c.c, config/sol2-c.c,
- config/sol2.c, config/arm/arm-cores.def, config/arm/cirrus.md,
- config/arm/symbian.h, config/c4x/c4x.c, config/c4x/c4x.h,
- config/i386/cygming.h, config/i386/djgpp.h,
- config/i386/lynx.h, config/i386/netware.c,
- config/i386/winnt.c, config/ia64/ia64-c.c,
- config/iq2000/iq2000.c, config/m32r/little.h,
- config/m68k/m68k-protos.h, config/m68k/m68k.h,
- config/m68k/m68k.md, config/mcore/mcore.c,
- config/mcore/mcore.h, config/mmix/mmix.c, config/mmix/mmix.md,
- config/mn10300/mn10300-protos.h, config/mn10300/mn10300.c,
- config/mn10300/mn10300.h, config/ns32k/netbsd.h,
- config/ns32k/ns32k.c, config/ns32k/ns32k.h,
- config/pa/pa-hpux11.h, config/pdp11/pdp11.c,
- config/pdp11/pdp11.h, config/rs6000/darwin.h,
- config/rs6000/default64.h, config/rs6000/rs6000-c.c,
- config/s390/2064.md, config/s390/2084.md,
- config/s390/s390-modes.def, config/s390/s390-protos.h,
- config/s390/tpf.h, config/sh/sh.h, config/sh/symbian.c,
- config/stormy16/stormy16.c, config/vax/vax-protos.h,
- config/vax/vax.c, config/vax/vax.h,
- config/xtensa/lib1funcs.asm, config/xtensa/xtensa.md: Update
- copyright.
-
-2005-04-28 Joseph S. Myers <joseph@codesourcery.com>
-
- * c-typeck.c (build_compound_expr): Correct logic in last change.
-
-2005-04-27 James E. Wilson <wilson@specifixinc.com>
-
- * config/ia64/ia64.c (update_set_flags): Delete ppred and pcond
- parameters. Replace conditional move code with assert checking for
- ar.lc. Delete obsolete comments.
- (set_src_needs_barrier): Delete cond parameter, and code using it.
- (rtx_needs_barrier): Delete initialization of cond. Fix typo in
- assert checking for PR_REGS. Fix calls to update_set_flags and
- set_src_needs_barrier.
- (group_barrier_needed): Renamed from group_barrier_needed_p. Fix all
- callers. Rewrite explanatory comment before the function.
- (safe_group_barrier_needed): Renamed from safe_group_barrier_needed_p.
- Fix all callers.
-
-2005-04-27 Mike Stump <mrs@apple.com>
-
- * doc/cpp.texi: gcc now implements universal character names.
-
-2005-04-27 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21159
- * c-typeck.c (build_compound_expr): Don't warn for left-hand side
- being a compound expression whose right-hand side is cast to void.
-
-2005-04-27 Caroline Tice <ctice@apple.com>
-
- * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges):
- Remove targetm.have_named_sections test.
- (fix_edges_for_rarely_executed_code): Likewise.
- (insert_section_boundary_note): Likewise.
- (reorder_basic_blocks): Check partitioning flag before calling
- verify_hot_cold_block_grouping.
- * dbxout.c (dbxout_function_end): Get hot/cold section labels from
- the function struct rather than global variables.
- * dwarf2out.c (COLD_TEXT_SECTION_LABEL): New macro.
- (COLD_END_LABEL): Likewise
- (cold_text_section_label): New static global variable.
- (cold_end_label): Likewise.
- (dwarf2out_switch_text_section): Get hot/cold section labels from
- the function struct rather than global variables; test to make sure
- cfun is defined.
- (output_aranges): Use cold_text_section_label and cold_end_label;
- check partitioning flag before putting out delta.
- (output_ranges): Remove incorrect code attempting to use
- hot/cold labels.
- (output_line_info): Get cold section label from function struct; test
- to make sure cfun is defined.
- (add_location_or_const_value_attribute): Likewise.
- (dwarf2out_var_location): Likewise.
- (dwarf2out_init): Generate cold_text_section_label and cold_end_label;
- write out cold_text_section_label if partition flag is set.
- (dwarf2out_finish): Write out cold_end_label if partition flag is set;
- * function.h (struct function): Add new fields to point to hot/cold
- section labels: hot_section_label, cold_section_label,
- hot_section_end_label and cold_section_end_label; also add new field
- for cold text section name, unlikely_text_section_name.
- * opts.c (decode_options): Turn off partitioning flag if
- !targetm.have_named_sections.
- * output.h (hot_section_label): Remove.
- (hot_section_end_label): Remove.
- (cold_section_end_label): Remove.
- (unlikely_section_label): Remove.
- (unlikely_text_section_name): Remove.
- * passes.c (rest_of_handle_final): Remove extra blank line.
- * varasm.c (unlikely_section_label): Remove.
- (hot_section_label): Remove.
- (hot_section_end_label): Remove.
- (cold_section_end_label): Remove.
- (unlikely_text_section_name): Remove.
- (initialize_cold_section_name): Modify to call
- targetm.strip_name_encoding; to store cold section name in current
- function struct, if it exists; and to only use the decl_section_name
- if flag_named_sections is true.
- (unlikely_text_section): Modify to get section name out of current
- function struct, if there is one; otherwise build it from
- UNLIKELY_EXECUTED_TEXT_SECTION_NAME.
- (in_unlikely_text_section): Likewise.
- (named_section): Modify to get/put cold section name in current function
- struct, if there is one.
- (function_section): Change 'bool unlikely' to 'int reloc'; check
- targetm.have_named_sections before calling named_section.
- (current_function_section): Likewise.
- (assemble_start_function): Modify to get/put unlikely_text_section_name
- in current function struct; modify to get hot/cold section labels
- from function struct; initialize labels using
- ASM_GENERATE_INTERNAL_LABEL;
- test partitioning flag before writing out hot section label.
- (assemble_end_function): Test partitioning flag before writing out
- hot/cold section labels.
- (default_section_type_flags_1): Get cold text section name from
- function struct if there is one; Set flags correctly for
- cold text section if there is not a current function struct.
-
-2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-propagate.c (set_rhs): Revert last change.
-
-2005-04-27 Steve Ellcey <sje@cup.hp.com>
-
- * explow.c (convert_memory_address): Add gcc_assert.
-
-2005-04-27 Mark Mitchell <mark@codesourcery.com>
-
- * configure.ac: Check for ld --sysroot support.
- * gcc.c: Document %R specifier for specs.
- (SYSROOT_SPEC): New macro.
- (sysroot_spec): New variable.
- (static_specs): Add sysroot_spec.
- (main): Pass the sysroot spec to the linker if appropriate.
- * configure: Regenerated.
- * config.in: Likewise.
-
-2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
-
- * fold-const.c (fold_binary): Use build_fold_addr_expr
- for address calculation and INDIRECT_REF handling.
-
-2005-04-27 Andrew Haley <aph@redhat.com>
-
- * postreload-gcse.c (hash_scan_set): Remove bogus assertion.
-
-2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/arm/arm.h (CONDITIONAL_REGISTER_USAGE): Reserve arm frame
- pointer when thumb backtracing is on.
-
- * config/fp-bit.c (abort): Revert change.
-
-2005-04-27 Ian Lance Taylor <ian@airs.com>
-
- * c-semantics.c (add_stmt): Don't test STATEMENT_CODE_P.
-
-2005-04-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-dce.c: Fix a comment typo.
-
-2005-04-27 David S. Miller <davem@davemloft.net>
-
- * explow.c (allocate_dynamic_stack_space SETJMP_VIA_SAVE_AREA):
- Kill setjmpless_size. current_function_calls_setjmp is completely
- computed when we are called, so just use the optimized size value
- instead of using REG_SAVE_AREA notes.
- (optimize_save_area_alloca): Delete....
- * rtl.h (optimize_save_area_alloca): Likewise...
- * passes.c (rest_of_compilation): and don't call it any more.
- * reg-notes.def (SAVE_AREA): Delete.
-
-2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/fp-bit.c (abort): Add noreturn attribute.
-
- * config/avr/avr.c (avr_naked_function_p): Use gcc_assert and
- gcc_unreachable as appropriate.
- (ptrreg_to_str, cond_string, avr_normalize_condition): Likewise.
- * config/avr/avr.h (ASM_OUTPUT_REG_PUSH,
- ASM_OUTPUT_REG_POP): Likewise.
-
-2005-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-complex.c (expand_vector_operations_1): Do not build
- VIEW_CONVERT_EXPR's for the lhs.
-
-2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/pa/pa.h (PRINT_OPERAND_ADDRESS): Use gcc_assert, remove
- unnecessary noncanonical RTL handling.
- * config/pa/pa64-linux.h (INITIAL_ELIMINATION_OFFSET): Use
- gcc_assert and gcc_unreachable.
-
- * config/arm/arm.h (ARM_PRINT_OPERAND_ADDRESS): Use gcc_assert and
- gcc_unreachable as appropriate.
- (THUMB_PRINT_OPERAND_ADDRESS): Likewise.
- * config/arm/arm.c (arm_override_options, arm_compute_func_type,
- use_return_insn, const_ok_for_op, arm_gen_constant,
- arm_canonicalize_comparison, legitimize_pic_address,
- thumb_find_work_register, arm_load_pic_register, arm_rtx_costs_1,
- arm_cirrus_insn_p, cirrus_reorg, minmax_code,
- load_multiple_sequence, emit_ldm_seq, store_multiple_sequence,
- emit_stm_seq, arm_gen_movmemqi, arm_select_dominance_cc_mode,
- arm_select_cc_mode, arm_reload_in_hi, arm_reload_out_hi,
- move_minipool_fix_forward_ref, move_minipool_fix_backward_ref,
- dump_minipool, create_fix_barrier, push_minipool_fix, arm_reorg,
- fp_immediate_constant, fp_const_from_val, vfp_output_fstmx,
- output_call, output_mov_long_double_fpa_from_arm,
- output_mov_long_double_arm_from_fpa,
- output_mov_double_fpa_from_arm, output_mov_double_arm_from_fpa,
- output_move_double, arithmetic_instr, shift_op, int_log2,
- output_return_instruction, arm_output_function_prologue,
- arm_output_epilogue, arm_output_function_epilogue,
- emit_multi_reg_push, arm_get_frame_offsets,
- arm_compute_initial_elimination_offset, arm_expand_prologue,
- arm_print_operand, arm_assemble_integer, get_arm_condition_code,
- arm_final_prescan_insn, arm_init_iwmmxt_builtins,
- arm_expand_binop_builtin, thumb_pushpop, thumb_far_jump_used_p,
- thumb_compute_initial_elimination_offset,
- thumb_output_function_prologue, thumb_load_double_from_address,
- thumb_output_move_mem_multiple, thumb_reload_out_hi,
- arm_emit_vector_const, arm_dbx_register_number): Likewise.
- * config/arm/pe.c (arm_mark_dllexport, arm_mark_dllimport): Likewise.
- * config/arm/arm.md (thumb_extendhisi2,
- *thumb_extendhisi2_insn_v6, *thumb_extendqisi2,
- *thumb_extendqisi2_v6, movhi, *thumb_movhi_insn,
- thumb_movhi_clobber, movqi, *arm_buneq, *arm_bltgt,
- *arm_buneq_reversed, *arm_bltgt_reversed, suneq, sltgt): Likewise.
- * config/arm/cirrus.md (*cirrus_arm_movdi,
- *cirrus_movdf_hard_insn): Likewise.
- * config/arm/vfp.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
-
-2005-04-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-flow.h (ssa_names): Change the type to VEC(tree,gc).
- (num_ssa_names): Use VEC_length.
- (ssa_names): Use VEC_index.
- * tree-ssanames.c (ssa_names): Change the type to
- VEC(tree,gc).
- (init_ssanames, fini_ssa_names, make_ssanames,
- release_ssa_name): Update uses of ssa_names.
-
- * dojump.c, emit-rtl.c, expmed.c, expr.c, stmt.c, stor-layout.c:
- Use fold_buildN instead of fold (buildN (...)).
-
-2005-04-27 Devang Patel <dpatel@apple.com>
-
- * dbxout.c (dbxout_type): Check use_gnu_debug_info_extensions.
-
-2005-04-27 Matt Thomas <matt@3am-software.com>
- Jan-Benedict Glaw <jbglaw@microdata-pos.de>
-
- * config/vax/vax.c (vax_rtx_costs): Whitespace cleanup.
- (vax_output_mi_thunk): Ditto.
- (vax_notice_cc_update): Ditto.
- (INDEX_REGISTER_P): Add trailing \.
- (BASE_REGISTER_P): Add trailing \.
- (legitimate_address_p): Whitespace cleanup. Remove trailing \.
-
-2005-04-27 Richard Guenther <rguenth@gcc.gnu.org>
-
- * tree-ssa-propagate.c (set_rhs): Check operand of
- ADDR_EXPR for gimpliness, too.
-
-2005-04-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-pre.c: Fix a comment typo.
-
-2005-04-27 Zdenek Dvorak <dvorakz@suse.cz>
-
- PR tree-optimization/21171
- * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Do not
- record address uses if the reference is volatile.
-
-2004-04-27 Paolo Bonzini <bonzini@gnu.org>
-
- * tree-complex.c (expand_vector_operation): New, extracted from
- expand_vector_operations_1.
- (tree_vec_extract): Build a NOP_EXPR.
- (expand_vec_parallel): Do not care about returning the correct type.
- (expand_vector_operations_1): Call expand_vector_operation.
- Build the VIEW_CONVERT_EXPR on the left side of MODIFY_EXPRs.
-
- * tree-complex.c (gate_expand_vector_operations): New.
- (pass_lower_vector_ssa): Use it.
- * tree-optimize.c (init_tree_optimization_passes): Include
- pass_lower_vector_ssa.
- * tree-vect-transform.c (vect_min_worthwhile_factor): New.
- (vectorizable_operation): Use it.
- * tree-vectorizer.c (get_vectype_for_scalar_type): Accept
- integer modes for the vector type.
-
- * defaults.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
- * tree-vect-analyze.c (vect_enhance_data_refs_alignment):
- Do not cope with UNITS_PER_SIMD_WORD == 0.
- * tree-vectorizer.c (get_vectype_for_scalar_type): Check
- if the scalar type is not bigger than UNITS_PER_SIMD_WORD.
- (vectorize_loops): Do not check that UNITS_PER_SIMD_WORD > 0.
- * config/i386/i386.h (UNITS_PER_SIMD_WORD): Default to UNITS_PER_WORD.
- * config/mips/mips.h (UNITS_PER_SIMD_WORD): Likewise.
- * config/rs6000/rs6000.h (UNITS_PER_SIMD_WORD): Likewise.
- * config/sparc/sparc.h (UNITS_PER_SIMD_WORD): Likewise.
-
- * config/alpha/alpha.h (UNITS_PER_SIMD_WORD): Remove.
- * config/bfin/bfin.h (UNITS_PER_SIMD_WORD): Remove.
- * config/ia64/ia64.h (UNITS_PER_SIMD_WORD): Remove.
-
- * doc/tm.texi (UNITS_PER_WORD): Rephrase more accurately.
- (UNITS_PER_SIMD_WORD): New.
-
-2005-04-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/ia64/ia64.c (ia64_encode_addr_area): Use gcc_assert and
- gcc_unreachable as appropriate.
- (ia64_expand_load_address, ia64_expand_tls_address,
- ia64_split_tmode, ia64_split_tmode_move, ia64_expand_compare,
- ia64_expand_vecint_compare, ia64_expand_vecint_minmax,
- next_scratch_gr_reg, ia64_initial_elimination_offset,
- ia64_expand_prologue, ia64_expand_epilogue,
- ia64_output_dwarf_dtprel, ia64_print_operand,
- ia64_register_move_cost, first_instruction, rws_access_regno,
- update_set_flags, rtx_needs_barrier, group_barrier_needed_p,
- ia64_sched_init, ia64_variable_issue,
- ia64_first_cycle_multipass_dfs_lookahead_guard,
- ia64_dfa_new_cycle, issue_nops_and_insn, get_template, bundling,
- ia64_st_address_bypass_p, ia64_ld_address_bypass_p, process_set,
- process_for_unwind_directive, ia64_hpux_file_end): Likewise.
- * config/ia64/ia64.h (ASM_OUTPUT_ADDR_VEC_ELT): Likewise.
- * config/ia64/ia64.md (*arm_movdi_vfp, *movdf_vfp): Likewise.
- * config/ia64/predicates.md (got_symbolic_operand,
- sdata_symbolic_operand): Likewise.
- * config/ia64/vect.md (vcondv2sf): Likewise.
-
-2005-04-27 Matt Thomas <matt@3am-software.com>
-
- * config/vax/vax.c (legitimate_constant_address_p): New. Formerly
- CONSTANT_ADDRESS_P in config/vax/vax.h
- (legitimate_constant_p): Added. Formerly CONSTANT_P in vax.h.
- (INDEX_REGISTER_P): New.
- (BASE_REGISTER_P): New.
- (indirectable_constant_address_p): New. Adapted from
- INDIRECTABLE_CONSTANT_ADDRESS_P in vax.h. Use SYMBOL_REF_LOCAL_P.
- (indirectable_address_p): New. Adapted from
- INDIRECTABLE_ADDRESS_P in vax.h.
- (nonindexed_address_p): New. Adapted from
- GO_IF_NONINDEXED_ADDRESS in vax.h.
- (index_temp_p): New. Adapted from INDEX_TERM_P in vax.h.
- (reg_plus_index_p): New. Adapted from GO_IF_REG_PLUS_INDEX in vax.h.
- (legitimate_address_p): New. Adapted from
- GO_IF_LEGITIMATE_ADDRESS in vax.h.
- (vax_mode_dependent_address_p): New. Adapted from
- GO_IF_MODE_DEPENDENT_ADDRESS in vax.h.
- * config/vax/vax.h (CONSTANT_ADDRESS_P): Use
- legitimate_constant_address_p.
- (CONSTANT_P): Use legitimate_constant_p.
- (INDIRECTABLE_CONSTANT_ADDRESS_P): Removed.
- (INDIRECTABLE_ADDRESS_P): Removed.
- (GO_IF_NONINDEXED_ADDRESS): Removed.
- (INDEX_TEMP_P): Removed.
- (GO_IF_REG_PLUS_INDEX): Removed.
- (GO_IF_LEGITIMATE_ADDRESS): Use legitimate_address_p. Two
- definitions, depending on whether REG_OK_STRICT is defined.
- (GO_IF_MODE_DEPENDENT_ADDRESS): Use vax_mode_dependent_address_p.
- Two definitions, depending on whether REG_OK_STRICT is defined.
- * config/vax/vax-protos.h (legitimate_constant_address_p): Prototype
- added.
- (legitimate_constant_p): Prototype added.
- (legitimate_address_p): Prototype added.
- (vax_mode_dependent_address_p): Prototype added.
-
-2005-04-27 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree.h (phi_arg_d): Expand a comment in phi_arg_d.
-
-2005-04-27 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/21213
- * c-decl.c (finish_struct): Don't dereference NULL TYPE_FIELDS of
- transparent union.
-
-2005-04-27 Joseph S. Myers <joseph@codesourcery.com>
-
- PR c/20740
- * c-format.c (init_dynamic_asm_fprintf_info): Give errors, not
- assertion failures, if __gcc_host_wide_int__ is not properly
- defined.
- (init_dynamic_diag_info): Give errors, not assertion failures, if
- location_t, tree or __gcc_host_wide_int__ are not properly
- defined.
-
-2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-loop-ivopts.c (ivopts_data, decl_rtl_to_reset,
- n_iv_uses, iv_use, n_iv_cands, iv_cand,
- tree_ssa_iv_optimize_init, record_use, add_candidate_1,
- prepare_decl_rtl, free_loop_data,
- tree_ssa_iv_optimize_finalize): Use the VEC API instead of
- VARRAY.
-
- * tree.h (tree_phi_node): Add a comment about the order of PHI
- arguments.
-
-2005-04-26 Paul Brook <paul@codesourcery.com>
-
- * config/arm/arm.md (thumb_mulsi3): Use two-operand assembly form.
-
-2005-04-26 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/mips.mips.c (mips_legitimize_tls_address): Use
- gcc_unreachable.
-
- * config/mmix/mmix.c (mmix_assemble_integer): Use gcc_assert.
- * config/mmix/crti.asm (_init): Reword comment to avoid 'abort'.
- * config/mmix/mmix.md (nonlocal_goto_receiver): Likewise.
-
- * config/sparc/sparc.h (enum reg_class): Reword comment to avoid
- 'abort'.
-
-2005-04-26 Jeff Law <law@redhat.com>
-
- * tree-flow-inline.h (op_iter_next_must_and_may_def): New.
- (op_iter_init_must_and_may_def): Likewise.
- (unmodifiable_var_p): Move to a later point in the file.
- * tree-ssa-operands.h (FOR_EACH_SSA_MUST_AND_MAY_DEF_OPERAND): New.
- * tree-ssa-dse.c (need_imm_uses_for): Remove, no longer needed.
- (dse_record_phis): Directly check for virtual operands rather than
- using need_imm_uses_for.
- (dse_optimize_stmt): Handle V_MUST_DEF operands. Handle case where
- store has multiple V_{MAY,MUST}_DEF operands.
-
-2005-04-26 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-cfg.c (bsi_replace): Delink immediate uses for the original
- stmt.
-
-2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-cfg.c (lv_adjust_loop_header_phi): Speed up moving a
- call to find_edge outside a loop to go through a PHI chain.
-
-2004-04-26 Richard Guenther <rguenth@gcc.gnu.org>
-
- PR tree-optimization/17598
- * fold-const.c (fold_binary): Fold comparisons of addresses
- of COMPONENT_REFs which reference the same field to
- comparisons of the addresses of the base objects.
-
-2005-04-26 Julian Brown <julian@codesourcery.com>
-
- * config/arm/arm.c (arm_return_in_msb): New function.
- (arm_must_pass_in_stack): New function.
- (TARGET_RETURN_IN_MSB): Define target hook.
- (TARGET_MUST_PASS_IN_STACK): Define target hook.
- (arm_function_value): Pad small aggregate return.
- (arm_pad_arg_upward): New function.
- (arm_pad_reg_upward): New function.
- * config/arm/arm.h (PROMOTE_FUNCTION_MODE): Include complex values.
- (FUNCTION_ARG_PADDING): Define macro.
- (BLOCK_REG_PADDING): Define macro.
- (PAD_VARARGS_DOWN): Correct padding for AAPCS.
- * config/arm/arm-protos.h (arm_pad_arg_upward): Declare function.
- (arm_pad_reg_upward): Declare function.
-
-2005-04-26 Kazu Hirata <kazu@cs.umass.edu>
-
- * basic-block.h (ei_cond): New.
- (FOR_EACH_EDGE): Call ei_cond.
-
- PR tree-optimization/21047
- * fold-const.c (fold_binary): Abort on ASSERT_EXPR.
- (fold): Don't handle ASSERT_EXPR.
-
-2005-04-25 Roger Sayle <roger@eyesopen.com>
-
- * sched-deps.c (sched_analyze_1): On STACK_REGS targets, x87, treat
- all writes to any stack register as a read/write dependency on
- FIRST_STACK_REG.
- (sched_analyze_2): Likewise, for reads from any stack register.
-
-2005-04-25 Richard Henderson <rth@redhat.com>
-
- * final.c (output_addr_const): Revert 2005-04-09 change.
-
-2005-04-25 Mike Stump <mrs@apple.com>
-
- * config/darwin.c (darwin_encode_section_info): Always set
- MACHO_SYMBOL_STATIC for all ! TREE_PUBLIC symbols.
-
-2005-04-25 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * collect2.c, gcc.c, gcov-dump.c, gcov.c, gen-protos.c,
- gensupport.c, protoize.c, toplev.c: Replace calls to
- `unlock_stream' with `unlock_std_streams'.
-
-2005-04-25 Devang Patel <dpatel@apple.com>
-
- * dbxout.c (dbxout_type): Emit attribute vector.
-
-2005-04-05 Paul Brook <paul@codesourcery.com>
-
- * target-def.h (TARGET_CXX_USE_AEABI_ATEXIT): Define.
- * target.h (struct gcc_target): Add cxx.use_aeabi_atexit.
- * config/arm/arm.c (arm_cxx_atexit_name): New function.
- (TARGET_CXX_USE_AEABI_ATEXIT): New macro.
- * cp/decl.c (get_atexit_node): Reorder arguments for __aeabi_atexit.
- (register_dtor_fn): Likewise.
- * doc/tm.texi: Document TARGET_CXX_USE_AEABI_ATEXIT.
-
-2005-04-25 Ian Lance Taylor <ian@airs.com>
-
- * c-common.def (EXPR_STMT): Remove, moved to C++ frontend.
- * c-common.h (EXPR_STMT_EXPR): Don't define.
- (c_common_stmt_codes): Don't define.
- * c-dump.c (c_dump_tree): Remove EXPR_STMT case.
- * c-gimplify.c (gimplify_expr_stmt): Remove.
- (c_gimplify_expr): Remove EXPR_STMT case.
- * c-objc-common.c (c_objc_common_init): Remove stmt_codes and call
- to INIT_STATEMENT_CODES.
- * c-pretty-print.c (pp_c_statement): Just call dump_generic_node.
-
-2005-04-25 Jan Hubicka <jh@suse.cz>
-
- * tree-cfg.c (tree_duplicate_bb): Duplicate EH region too.
-
- * except.c: Include diagnostic.h
- (dump_eh_tree, verify_eh_tree): New functions.
- * except.h (verify_eh_tree, dump_eh_tree, verify_eh_edges): Declare.
- * tree-cfg.c (tree_verify_flow_info): verify eh edges.
- (dump_function_to_file): dump eh tree.
- * tree-eh.c (mark_eh_edge): New function.
- (mark_eh_edge_found_error): New static variable.
- (verify_eh_edges): New function.
-
-2005-04-25 Nathan Sidwell <nathan@codesourcery.com>
-
- * tree-ssa-alias.c (fieldoff_t): Remove.
- (fieldoff_s): typedef the structure itself. Create a vector of
- objects.
- (push_fields_onto_fieldstack): Return count of fields pushed.
- Remove peeling of first field. Adjust.
- (fieldoff_compare): Adjust.
- (create_overlap_variables_for): Adjust.
-
-2005-04-25 Joseph S. Myers <joseph@codesourcery.com>
-
- * doc/invoke.texi (Blackfin Options): Avoid empty @opindex line.
-
-2005-04-25 Joseph S. Myers <joseph@codesourcery.com>
-
- PR bootstrap/21215
- * doc/install.texi: Document correct assembler and linker to use
- on i?86-*-solaris2.10.
-
-2005-04-25 Steven Bosscher <stevenb@suse.de>
-
- Fix PR tree-optimization/21173
-
- * tree-ssa-pre.c (create_expression_by_pieces): Simplify code.
- Unshare expression we pass to force_gimple_operand.
-
-2005-04-25 J"orn Rennecke <joern.rennecke@st.com>
- Stephen Clarke <stevec@superh.com>
- Roger Sayle <roger@eyesopen.com>
-
- PR rtl-optimization/20413
- * cfgrtl.c (redirect_edge_and_branch): Use Pmode instead of
- VOIDmode for LABEL_REF.
- * final.c (shorten_branches): Likewise.
- * jump.c (mark_all_labels, redirect_exp_1): Likewise.
- * loop.c (reg_dead_after_loop): Likewise.
- * varasm.c (decode_addr_const): Likewise.
- * doc/rtl.texi: Document mode requirement for LABEL_REF.
-
-2005-04-25 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * config.gcc (avr-*-*): Remove redundant "case".
-
-2005-04-25 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-vect-analyze.c (vect_mark_relevant): Take
- VEC(tree,heap) instead of varray_type as an argument.
- (vect_mark_stmts_to_be_vectorized): Change the type of
- worklist to VEC(tree,heap). Adjust uses of worklist.
-
-2005-04-24 Devang Patel <dpatel@apple.com>
-
- * config/rs6000/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
-
-2005-04-24 Ian Lance Taylor <ian@airs.com>
-
- * c-semantics.c (build_stmt): Remove test of specific tree codes
- for TREE_SIDE_EFFECTS handling.
-
-2005-04-24 Per Bothner <per@bothner.com>
-
- * c-opts.c (finish_options): Make the line-number of the <built-in>
- location 0, as assumed elsewhere, rather than 1.
-
-2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-uncprop.c (equiv_stack): Change the type o
- VEC(tree,heap).
- (tree_ssa_uncprop, uncprop_finalize_block,
- uncprop_initialize_block): Update uses of equiv_stack.
-
-2005-04-24 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/21163
- * simplify-rtx.c (simplify_binary_operation) <IOR>: Check
- for SCALAR_INT_MODE_P instead of not MODE_CC before returning
- constm1_rtx.
- <AND, LSHIFTRT, UMIN>: Use CONST0_RTX.
- <UDIV, UMOD>: Use CONST0_RTX and CONST1_RTX.
- <DIV, MOD>: Likewise.
-
-2005-04-24 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
-
- * collect2.c (main): Unlock the stdio streams.
- * gcc.c (main): Likewise.
- * gcov-dump.c (main): Likewise.
- * gcov.c (main): Likewise.
- * gen-protos.c (main): Likewise.
- * gensupport.c (init_md_reader_args_cb): Likewise.
- * protoize.c (main): Likewise.
- * toplev.c (general_init): Likewise.
-
-2005-04-24 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/20991
- * cgraph.h (cgraph_local_info): Add vtable_method field.
- * varasm.c (mark_decl_referenced): If cgraph_global_info_ready
- and node is vtable_method, finalized and not reachable, don't do
- anything.
-
-2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-copy.c (copy_prop_visit_cond_stmt): Use
- COMPARISON_CLASS_P.
- * tree-ssa-pre.c (create_value_expr_from): Use
- CONSTANT_CLASS_P and REFERENCE_CLASS_P.
- * tree-ssa-propagate.c (stmt_makes_single_load,
- stmt_makes_single_store): Use REFERENCE_CLASS_P.
- * tree-vect-transform.c (vect_is_simple_cond): Use
- COMPARISON_CLASS_P.
- * tree-vrp.c (extract_range_from_assert,
- build_assert_expr_for, fp_predicate, has_assert_expr): Use
- COMPARISON_CLASS_P.
-
- * tree-ssa-live.c (build_tree_conflict_graph): Change the type
- of tpa_to_clear to VEC(int,heap). Update uses of
- tpa_to_clear. Free tpa_to_clear at the end.
-
-2005-04-24 Andrew Pinski <pinskia@physics.uc.edu>
-
- * tree.h (TREE_THIS_VOLATILE): Document the effect on a
- function decl.
-
-2005-04-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_override_options): Use gcc_assert
- and gcc_unreachable as appropriate.
- (num_insns_constant, output_vec_const_move,
- build_mask64_2_operands, rs6000_output_dwarf_dtprel,
- rs6000_emit_set_const, rs6000_emit_move,
- spe_build_register_parallel, function_arg,
- rs6000_move_block_from_reg, altivec_expand_predicate_builtin,
- spe_expand_predicate_builtin, spe_expand_evsel_builtin,
- rs6000_expand_builtin, spe_init_builtins, altivec_init_builtins,
- rs6000_common_init_builtins, expand_block_clear,
- expand_block_move, validate_condition_mode, ccr_bit, extract_MB,
- extract_ME, rs6000_get_some_local_dynamic_name,
- rs6000_output_function_entry, print_operand,
- print_operand_address, rs6000_generate_compare, rs6000_emit_sCOND,
- output_cbranch, output_e500_flip_gt_bit,
- rs6000_emit_vector_compare, rs6000_emit_vector_compare,
- rs6000_emit_cmove, rs6000_emit_minmax, rs6000_split_multireg_move,
- compute_save_world_info, rs6000_stack_info,
- rs6000_emit_load_toc_table, rs6000_frame_related,
- spe_synthesize_frame_save, rs6000_emit_epilogue,
- rs6000_output_function_epilogue, rs6000_hash_constant, output_toc,
- output_function_profiler, rs6000_trampoline_size,
- rs6000_initialize_trampoline, find_addr_reg,
- rs6000_machopic_legitimize_pic_address,
- rs6000_initial_elimination_offset,
- rs6000_dbx_register_number): Likewise.
- * config/rs6000/rs6000.md (*fix_truncdfsi2_internal,
- *movdf_hardfloat32, *movdf_softfloat32, *fix_trunctfsi2_internal,
- *movti_power, *movti_string, call, call_value, sibcall,
- sibcall_value): Likewise.
- * config/rs6000/spe.md (*movdf_e500_double,
- *movv2si_internal): Likewise.
- * config/rs6000/rs6000.h (PREFERRED_RELOAD_CLASS): Remove 'abort'
- from comment.
-
-2005-04-24 Richard Henderson <rth@redhat.com>
-
- PR target/21101
- * config/i386/i386.h (CANNOT_CHANGE_MODE_CLASS): Move guts to ...
- * config/i386/i386.c (ix86_cannot_change_mode_class): ... here.
- Deny modes smaller than 4 bytes.
- * config/i386/i386-protos.h: Update.
-
-2005-04-24 Ralf Corsepius <ralf.corsepius@rtems.org>
-
- * config.gcc (h8300-*-rtems*): Add h8300-*-rtemscoff*.
- Switch h8300-*-rtems* to ELF.
-
-2005-04-24 Kazu Hirata <kazu@cs.umass.edu>
-
- * vec.h (VEC_safe_grow): Replace grow with safe_grow.
-
-2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
-
- * ipa-inline.c, tree-ssa-operands.h: Fix comment typos.
-
-2005-04-23 Richard Guenther <rguenth@gcc.gnu.org>
-
- PR middle-end/21082
- * fold-const.c: Fold &a[i]-&a[j] to i-j.
-
-2005-04-23 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-niter.c (tree_simplify_using_condition): Expand simple
- definitions of ssa names in condition. Split recusive part to ...
- (tree_simplify_using_condition_1): New function.
- (expand_simple_operations): New function.
-
-2005-04-23 Zdenek Dvorak <dvorakz@suse.cz>
-
- * tree-ssa-loop-ivopts.c (struct cost_pair): Add value field.
- (find_interesting_uses_cond): Do not use integer_zerop and
- integer_nonzerop to check for integer constants.
- (set_use_iv_cost): Record the value field.
- (determine_use_iv_cost_generic, determine_use_iv_cost_address,
- determine_use_iv_cost_outer): Set the value field of the cost pair.
- (may_eliminate_iv): Do not return the comparison code.
- (iv_elimination_compare): New function.
- (determine_use_iv_cost_condition): Set the value field. Record
- noneliminable invariants correctly.
- (rewrite_use_compare, rewrite_use_outer): Use the value field.
-
-2005-04-23 DJ Delorie <dj@redhat.com>
-
- * diagnostic.c (warning): Accept parameter to classify warning option.
- (warning0): New, for when a pointer to an error() like function is needed.
- * errors.c (warning): Likewise.
- * errors.h (warning, warning0): Adjust prototypes.
- * toplev.h (warning, warning0): Likewise.
-
- * attribs.c, builtins.c, c-common.c, c-decl.c, c-format.c,
- c-gimplify.c, c-lex.c, c-objc-common.c, c-opts.c, c-parser.c,
- c-pragma.c, c-typeck.c, calls.c, cgraph.c, coverage.c, emit-rtl.c,
- fold-const.c, fortran/trans-decl.c, function.c, gcse.c,
- genautomata.c, haifa-sched.c, opts.c, passes.c, regclass.c,
- reload1.c, stmt.c, stor-layout.c, toplev.c, tree-cfg.c,
- tree-dump.c, tree-inline.c, tree-mudflap.c, tree-optimize.c,
- tree-ssa.c, tree.c, varasm.c: Adjust warning() callers.
-
- * config/alpha/alpha.c, config/arc/arc.c, config/arm/arm.c,
- config/avr/avr.c, config/bfin/bfin.c, config/c4x/c4x-c.c,
- config/c4x/c4x.c, config/cris/cris.c, config/darwin-c.c,
- config/darwin.c, config/darwin.h, config/h8300/h8300.c,
- config/i386/cygming.h, config/i386/djgpp.h, config/i386/i386.c,
- config/i386/winnt.c, config/ia64/ia64-c.c, config/ia64/ia64.c,
- config/ip2k/ip2k.c, config/m32r/m32r.c, config/m68hc11/m68hc11.c,
- config/m68k/m68k.c, config/mcore/mcore.c, config/mips/mips.c,
- config/mmix/mmix.c, config/ns32k/ns32k.c, config/pa/pa-hpux11.h,
- config/pa/pa.c, config/rs6000/aix43.h, config/rs6000/aix51.h,
- config/rs6000/aix52.h, config/rs6000/darwin.h,
- config/rs6000/rs6000-c.c, config/rs6000/rs6000.c,
- config/s390/s390.c, config/sh/sh.c, config/sh/sh.h,
- config/sh/symbian.c, config/sol2-c.c, config/sol2.c,
- config/stormy16/stormy16.c, config/v850/v850-c.c,
- config/v850/v850.c, config/xtensa/xtensa.c: Adjust warning()
- callers.
-
-2005-04-23 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/21102
- * simplify-rtx.c (simplify_binary_operation): Fix mode check before
- performing some integral scalar simplifications.
-
-2005-04-23 Richard Henderson <rth@redhat.com>
-
- PR target/21099
- * config/i386/i386.c (ix86_split_to_parts): Use proper mode when
- simplifying CONST_VECTOR.
-
-2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
-
- * tree-ssa-live.c (live_worklist): Take a stack allocated on
- heap as an argument. Update uses of stack.
- (calculate_live_on_entry): Allocate stack on heap.
-
- * tree-ssa-live.c (build_tree_conflict_graph): Allocate
- partition_link and tpa_nodes on heap.
-
- * tree-ssa-dce.c (worklist): Change to VEC(tree,heap).
- (mark_stmt_necessary, propagate_necessity,
- mark_really_necessary_kill_operand_phis): Update uses of
- worklist.
- (tree_dce_init): Allocate worklist using VEC_alloc.
- (tree_dce_done): Free worklist using VEC_free.
-
-2005-04-23 Mike Stump <mrs@apple.com>
-
- * config/darwin.c (machopic_indirection_name): Don't use
- quotes needlessly.
- (darwin_emit_unwind_label): Use user_label_prefix instead of
- "_".
-
-2005-04-23 Kazu Hirata <kazu@cs.umass.edu>
-
- * final.c, ipa-inline.c, varasm.c: Fix comment typos.
-
-2005-04-23 Hans-Peter Nilsson <hp@axis.com>
-
- * config.gcc <cris-*>: Specify .opt files.
- * config/cris/cris.opt, config/cris/elf.opt, config/cris/aout.opt,
- config/cris/linux.opt: New files.
- * config/cris/aout.h (CRIS_SUBTARGET_SWITCHES)
- (CRIS_SUBTA