+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