+2005-04-01 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * gcc/config/vax/vax.md: Spellcheck, fix whitespace.
+
+2005-04-01 Ian Lance Taylor <ian@airs.com>
+
+ * gcc.c: Don't include <sys/resource.h> or declare getrusage.
+ (rus, prus): Remove static variables.
+ (execute): Use pex_run/pex_get_status rather than pexecute/pwait.
+ (process_command): Permit report_times and use_pipes together.
+
+2005-04-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ * c-decl.c (validate_proto_after_old_defn): Look at
+ TYPE_MAIN_VARIANT of argument types.
+
+2005-04-01 Paul Brook <paul@codesourcery.com>
+
+ * config/arm/arm.c (thumb_call_via_label): Include space for SP.
+ (arm_output_function_epilogue): Allow call_via_SP.
+ (thumb_call_via_reg, arm_file_end): Ditto.
+ * config/arm/arm.h (struct machine_function): Include space for SP.
+ (thumb_call_via_label): Update declaration.
+
+2005-04-01 Ian Lance Taylor <ian@airs.com>
+
+ * final.c (final_scan_insn): Revert part of 2005-03-30 patch: when
+ doing a peephole optimization, once again put any notes in the
+ proper position.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * bb-reorder.c, fold-const.c, varasm.c: Fix comment typos.
+
+2005-04-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * local-alloc.c (update_equiv_regs): Use gcc_assert, gcc_unreachable.
+ (block_alloc, find_free_reg): Likewise.
+ * loop-doloop.c (doloop_modify): Likewise.
+ * loop-invariant.c (record_use): Likewise.
+ * loop-iv.c (get_biv_step_1, get_biv_step, iv_analyze,
+ get_iv_value, canon_condition, eliminate_implied_condition,
+ eliminate_implied_condition, simplify_using_initial_values,
+ shorten_into_mode, canonicalize_iv_subregs,
+ iv_number_of_iterations): Likewise.
+ * loop-unroll.c (expand_var_during_unrolling): Likewise.
+ * loop-unswitch.c (compare_and_jump_seq, unswitch_single_loop,
+ unswitch_loop): Likewise.
+ * loop.c (INSN_LUID, loop_optimize, rtx_equal_for_loop_p,
+ move_movables, replace_call_address, find_and_verify_loops,
+ rtx_equal_for_prefetch_p, fold_rtx_mult_add, loop_iterations,
+ record_giv, final_giv_value, general_induction_var,
+ simplify_giv_expr, extension_within_bounds_p, try_copy_prop,
+ loop_giv_dump): Likewise.
+
+ * gcov-io.h (GCOV_CHECK, GCOV_CHECK_READING,
+ GCOV_CHECK_WRITING): Remove.
+ (gcov_position, gcov_rewrite): Use gcc_assert.
+ * gcov-io.c (gcov_open, gcov_write_words, gcov_write_length,
+ gcov_read_words, gcov_sync, gcov_seek): Use gcc_assert.
+ * libgcov.c (__gcov_merge_single, __gcov_merge_delta): Use
+ gcc_assert.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-inline.c: Fix a typo.
+
+2005-04-01 Nathan Sidwell <nathan@codesourcery.com>
+
+ * configure.ac (enable-checking): Explicitly set all variables for
+ collective switch values. Alphabetize variables. Rename
+ ac_checking_valgrind to ac_valgrind_checking. Allow 'none' as
+ synonym for 'no'.
+ * doc/install.texi (enable-checking): Update documentation.
+ * configure: Rebuilt.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-inline.c (copy_body_r): Use CONSTANT_CLASS_P where
+ possible.
+
+2005-04-01 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.c (adjacent_mem_locations): Reject volatile memory refs.
+ Also reject cases where this pattern will cause load delay stalls
+ unless optimizing for size and it will produce a shorter sequence.
+ * arm.md (arith_adjacent_mem): Make better use of ldm addressing
+ variants to avoid pre-adjusting the base when possible.
+
+2005-04-01 Richard Earnshaw <richard.earnshaw@arm.com>
+
+ * arm.md (minmax_arithsi): Reject all eliminable registers, not just
+ the frame and argument pointers.
+ (strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec): Likewise.
+ (loadqisi_preinc, loadqisi_predec, strsi_preinc): Likewise.
+ (strsi_predec, loadsi_preinc, loadsi_predec): Likewise.
+ (strqi_shiftpreinc, strqi_shiftpredec, loadqi_shiftpreinc): Likewise.
+ (loadqi_shiftpredec, strsi_shiftpreinc, strsi_shiftpredec): Likewise.
+ (loadsi_shiftpreinc, loadsi_shiftpredec): Likewise.
+
+2005-04-01 Danny Smith <dannysmith@users.sourceforge.net>
+
+ * config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Define,
+ with entry for selectany attribute.
+ * config/i386/i386-protos.h (ix86_handle_selectany_attribute):
+ Declare.
+ * config/i386/winnt.c (ix86_handle_selectany_attribute): Define.
+ (i386_pe_asm_named_section): Handle sections generated by
+ selectany attribute.
+ * doc/extend.texi (selectany): Document attribute.
+
+2005-04-01 Paolo Bonzini <bonzini@gnu.org>
+ Jan Hubicka <jh@suse.cz>
+
+ * config/i386/i386.c (ix86_decompose_address): Look inside SUBREGs
+ to fix addresses involving EBP and ESP.
+ (aligned_operand, legitimate_address_p, ix86_address_cost): Be prepared
+ for SUBREGed registers.
+ (legitimate_address_p): Accept SUBREGed registers.
+
+2005-04-01 Jakub Jelinek <jakub@redhat.com>
+
+ PR c++/19406
+ * dwarf2out.c (gen_type_die_for_member): Handle FIELD_DECL.
+ (dwarf2out_imported_module_or_decl): Use gen_type_die_for_member
+ for FIELD_DECLs.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * doc/contrib.texi, doc/invoke.texi, doc/tm.texi: Fix typos.
+
+2005-04-01 James E Wilson <wilson@specifixinc.com>
+
+ PR c++/20505
+ * dwarf2out.c (rtl_for_decl_init): New function.
+ (rtl_for_decl_location): Extracted from here.
+ (tree_add_const_value_attribute): Call rtl_for_decl_init and
+ add_const_value_attribute. Delete initializer_constant_valid_p call.
+
+2005-04-01 Kazu Hirata <kazu@cs.umass.edu>
+
+ * cgraphunit.c, dbxout.c, flow.c, gcse.c, gimplify.c,
+ lambda-code.c, loop.c, machmode.def, mips-tfile.c,
+ modulo-sched.c, passes.c, postreload-gcse.c, tree-eh.c,
+ tree-ssa-ccp.c, varasm.c, config/frv/frv.c, config/frv/frv.h,
+ config/frv/frv.md, config/i386/i386.c, config/i386/i386.h,
+ config/i386/i386.md, config/rs6000/predicates.md,
+ config/rs6000/rs6000.c, config/s390/fixdfdi.h,
+ config/s390/s390.c, config/stormy16/stormy16.c,
+ config/stormy16/stormy16.md, config/vax/vax.md: Fix comment
+ typos.
+
+2005-04-01 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/17855
+ * gimplify.c (gimplify_expr): Create a temporary for lvalue
+ COND_EXPR and CALL_EXPR.
+
+2005-03-31 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR target/20632
+ * genautomata.c (first_cycle_unit_presence): Check all alternative
+ states for unit presence.
+
+ * doc/md.texi: Remove remark about impossibility to query unit
+ presence in non nondeterministic automaton state.
+
+ * config/ia64/ia64.c (get_template): Change order of unit querying.
+
+2005-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-dom.c (cprop_into_successor_phis): Remove an
+ obsolete comment.
+
+2005-03-31 Zdenek Dvorak <dvorakz@suse.cz>
+
+ * cfgloopanal.c (mark_loop_exit_edges): Clean EDGE_LOOP_EXIT
+ flag for edges outside any loops.
+
+2005-03-31 Janis Johnson <janis187@us.ibm.com>
+
+ * doc/sourcebuild.texi (Test Directives): Describe cleanup-* procs.
+
+2005-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-ssa-alias.c: Follow spelling conventions.
+ * doc/tree-ssa.texi: Fix a typo.
+
+2005-03-31 J"orn Rennecke <joern.rennecke@st.com>
+
+ * postreload-gcse.c: Include target.h.
+ (gcse_after_reload_main): Return early if we cannot modify jumps.
+ * Makefile.in (postreload-gcse.o): Depend on $(TARGET_H).
+
+2005-03-31 David Edelsohn <edelsohn@gnu.org>
+
+ * tree-ssa-loop-im.c (stmt_cost): Add RDIV_EXPR to list of
+ expensive operations.
+
+2005-03-31 Ian Lance Taylor <ian@airs.com>
+
+ * collect2.c (lderrout): New variable.
+ (collect_exit): Dump ldout to stdout. Dump and unlink lderrout,
+ if it is set, to stderr.
+ (handler): Unlink lderrout if it is set.
+ (dump_file): Add "to" parameter. Change all callers.
+ (main): Initialize lderrout.
+ (collect_execute): Add errname parameter. Change all callers.
+ Rename redir parameter to outname. Never pass
+ PEX_STDERR_TO_STDOUT to pex_run.
+ * collect2.h (collect_execute, dump_file): Update declarations.
+ * tlink.c (tlink_execute): Add errname parameter. Change all
+ callers.
+ (do_tlink): Check lderrout as well as ldout.
+
+2005-03-31 Caroline Tice <ctice@apple.com>
+
+ * Makefile.in (varasm.o): Add basic-block.h to list of requirements.
+ (bb-reorder.o): Add errors.h to list of requirements.
+ (STAGEFEEDBACK_FLAGS_TO_PASS): Add -freorder-blocks-and-partition to
+ profiledbootstrap flags.
+ * bb-reorder.c (errors.h): Add new include.
+ (struct bbro_basic_block_data_def): Add new field, in_trace.
+ (add_unlikely_executed_notes): Remove function.
+ (mark_bb_for_unlikely_executed_section): Remove function.
+ (insert_section_boundary_note): New function.
+ (verify_hot_cold_block_grouping): New function.
+ (push_to_next_round_p): Remove variables and tests that push all
+ cold blocks to last round.
+ (find_traces): Remove code that added extra round of trace finding
+ when doing partitioning.
+ (find_traces_1_round) : Remove variable last_round; add code to
+ update new struct field, in_trace; correct trace_length where it was
+ incorrect before (after call to copy_bb); change code that pushed all
+ cold blocks to last round. Instead verify that all blocks going into
+ a trace belong in the same partition.
+ (connect_traces): Modify to connect the traces in two passes, if the
+ function contains both hot and cold blocks. The first pass connects
+ all the traces for blocks in the partition that the first block in
+ the function belongs to; the second pass connnects all the traces
+ containing blocks that belong in the other partition.
+ (find_rarely_executed_basic_blocks_and_crossing_edges): Remove
+ code that automatically put the first block in a function into the
+ hot partition if the function had any hot blocks.
+ (fix_crossing_unconditional_branches): Check number of succ edges
+ before attempting to get one.
+ (fix_edges_for_rarely_executed_code): Update comment describing
+ function.
+ (reorder_basic_blocks): Add code to initialize new field (in_trace);
+ remove call to add_unlikely_executed_notes; add call to
+ verify_hot_cold_block_grouping.
+ (duplicate_computed_gotos): Don't change computed goto if it's a
+ crossing edge.
+ (partition_hot_cold_basic_blocks): Update function comment.
+ * cfgcleanup.c (try_simplify_condjump): Remove redundacy from
+ condition.
+ (try_forward_edges): Likewise.
+ (merge_blocks_move_predecessor_nojumps): Likewise.
+ (merge_blocks_move_successor_nojumps): Likewise.
+ (merge_blocks_move): Likewise.
+ (try_crossjump_bb): Likewise.
+ * cfglayout.c (update_unlikely_executed_notes): Remove function.
+ (fixup_reorder_chain): Remove code for adding UNLIKELY_EXECUTED_CODE
+ notes to cold bb's; remove call to update_unlikely_executed_notes.
+ (duplicate_insn_chain): change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
+ NOTE_INSN_SWITCH_TEXT_SECTIONS.
+ * cfglayout.h (scan_ahead_for_unlikely_executed_note): Remove
+ function declaration.
+ * cfgrtl.c (can_delete_note_p): Remove UNLIKELY_EXECUTED_CODE note
+ from consideration.
+ (rtl_can_merge_blocks): Remove redundancy from condition.
+ (try_redirect_by_replacing_jump): Likewise.
+ (force_nonfallthru_and_redirect): Remove code for adding
+ UNLIKELY_EXECUTED_CODE notes to cold bb's.
+ (commit_one_edge_insertion): Likewise.
+ (cfg_layout_can_merge_blocks_p): Remove redundancy from condition.
+ * dbxout.c (FORCE_TEXT): Replace function_section with
+ current_function_section.
+ (struct dbx_debug_h): Add do_nothing function for new debug_hooks
+ function, switch_text_section.
+ (struct xcoff_debug): Likewise.
+ (dbxout_function_end): Add code to put out label diffs for both
+ hot and cold sections.
+ * debug.c (struct do_nothing_debug_hooks): Add do_nothing function
+ for new debug_hooks funciton, switch_text_section..
+ * debug.h (struct gcc_debug_hooks): Add new function to debug_hooks,
+ switch_text_section.
+ * dwarf2out.c (struct dw_fde_struct): Add five new fields:
+ dw_fde_hot_section_label, dw_fde_hot_section_end_label,
+ dw_fde_unlikely_section_label, dw_fde_unlikely_section_end_label and
+ dw_fde_switched_sections.
+ (output_call_frame_info): Add test to see if function switches text
+ sections in the middle; if so, use appropriate extra hot and cold
+ section labels to compute size deltas for the hot and cold sections.
+ (dwarf2out_begin_prologue): Add code to initialize new fields in
+ dw_fde_struct.
+ (dwarf2out_switch_text_section): New function (invoked through
+ debug_hook); updates new fields in dw_fde_struct appropriately and
+ increments separate_line_info_table_in_use.
+ (dwarf2_debug_hooks): Initialize switch_text_section function to be
+ dwarf2out_switch_text_section.
+ (struct var_loc_node): Add new field, section_label.
+ (output_aranges): Add code to check whether in hot or cold section and
+ use the appropriate label in calculating deltas.
+ (output_ranges): Likewise.
+ (output_line_info): Add code to check which section we're in and
+ use appropriate hot/cold label.
+ (add_location_or_constant_value_attribute): Likewise.
+ (gen_subprogam_die): Modify arange attributes to use correct labels.
+ (dwarf2out_begin_block): Change call to function_section into call to
+ current_function_section.
+ (dwarf2out_end_block): Likewise.
+ (dwarf2out_source_line): Likewise.
+ (dwarf2out_var_location): Add code to check whether in hot or cold
+ section and use the appropriate label.
+ * except.c (output_function_exception_table): Change call to
+ function_section into call to current_function_section.
+ * final.c (profile_function): Likewise.
+ (scan_ahead_for_unlikely_executed_note): Remove function.
+ (final_scan_insn): Remove calls to
+ scan_ahead_for_unlikely_executed_note, and related code for switching
+ to cold section, except for the single time
+ NOTE_INSN_SWITCH_TEXT_SECTIONS may be encountered; add calls to
+ debug_hooks->switch_text_sections; replace appropriate calls to
+ function_section with calls to current_function_section.
+ * ifcvt.c (find_if_case_1): Remove redundancy from condition, add
+ test_bb to condition.
+ (find_if_case_2): Likewise.
+ * insn-notes.def: Change NOTE_INSN_UNLIKELY_EXECUTED_CODE to
+ NOTE_INSN_SWITCH_TEXT_SECTIONS. Update comment appropriately.
+ * opts.c (decode_options): Change warning about hot/cold partitioning
+ with exceptionss to inform (so as not to cause bootstrap failures);
+ remove warning about partitioning with DWARF debug info.
+ * output.h (current_function_section): Add new function decl.
+ (insert_section_boundary_note): Likewise.
+ (enum in_section): Move this declaration here from varasm.c.
+ (unlikely_section_label): Likewise.
+ (unlikely_text_section_name): Likewise.
+ (last_text_section_name): New global variable.
+ (last_text_section): Likewise.
+ (hot_section_label): Likewise.
+ (hot_section_end_label): Likewise.
+ (cold_section_end_label): Likewise.
+ * passes.c (rest_of_handle_final): Free unlikely_text_section_name.
+ * print-rtl.c (print_rtx): Change NOTE_INSN_UNLIKELY_EXECUTED_CODE
+ to NOTE_INSN_SWITCH_TEXT_SECTIONS.
+ * reg-stack.c (emit_swap_insn): Remove UNLIKELY_EXECUTED_CODE note
+ insn from consideration.
+ * sdbout.c (sdb_debug_hooks): Add do_nothing for new function,
+ switch_text_section.
+ * varasm.c (basic-block.h): Add new include.
+ (unlikely_section_label_printed): Remove global variable.
+ (unlikely_section_label): Make global variable not be static any more.
+ (unlikely_text_section_name): Likewise.
+ (hot_section_end_label): New global variable (not static)
+ (first_function_block_is_cold): Likewise.
+ (hot_section_label): Likewise.
+ (cold_section_end_label): Likewise..
+ (last_text_section): New global variable, not static.
+ (last_text_section_name): New global variable, not static.
+ (initialize_cold_section_name): New function.
+ (enum in_section): Move declaration to output.h.
+ (text_section): Update last_text_section.
+ (unlikely_text_section): Replace code to determine cold section name
+ with call to initialize_cold_section_name; Add code to update
+ last_text_section; remove code for printing out label.
+ (named_section_real): Add code to update last_text_section and
+ last_text_section_name as appropriate.
+ (function_section): Change test for 'unlikely' to depend on
+ first_function_block_is_cold (moved old test to
+ current_function_section).
+ (current_function_section): New function.
+ (assemble_start_function): Move code that frees
+ unlikely_text_section_name; initialize hot_section_end_label;
+ print hot and cold section labels at the start of the function;
+ set first_function_block_is_cold, if appropriate; initialize l
+ ast_text_section; add call to insert_section_boundary_note.
+ (assemble_end_function): Add code to write out hot and cold section
+ end labels.
+ *vmsdbgout.c (vmsdbg_debug_hooks): Add do_nothing for new function,
+ switch_text_section.
+ * config/darwin.c (machopic_select_section): Replace incorrect
+ function in base_funs; update reloc for cold sections if necessary.
+ * config/darwin.h (SECTION_FUNCTION): Add code to update
+ last_text_section if appropriate.
+ (text_unlikely_section): Remove.
+ * config/sparc/sparc.c (sparc_output_deferred_case_vectors): Likewise.
+ * config/stormy16/stormy16.c (stormy_16_output_addr_vec): Likewise.
+ * config/xtensa/xtensa.c (override_options): Turn off hot/cold
+ partitioning for this architecture.
+
+2005-03-31 Olivier Hainque <hainque@adacore.com>
+
+ * dwarf2out.c (dwarf2out_frame_finish): Honor DWARF2_FRAME_INFO
+ defined and non-zero.
+
+2005-03-31 Gabriel Dos Reis <gdr@integrable-solutions.net>
+
+ PR c++/18644
+ * doc/invoke.texi (-Wsynth): Don't document, as it now is void of
+ semantics.
+
+2005-03-31 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/20611
+ * config/rs6000/rs6000.md (load_toc_v4_PIC_1b): Remove inline
+ label operand. Remove (use (unspec..)). Don't emit a label on
+ the offset word.
+ * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Don't
+ generate inline label for load_toc_v4_PIC_1b.
+ (rs6000_emit_load_toc_table): Likewise.
+
+2005-03-31 Kazu Hirata <kazu@cs.umass.edu>
+
+ * config.gcc: Obsolete i860-*-sysv4*, ip2k-*-elf,
+ ns32k-*-netbsdelf*, and ns32k-*-netbsd*.
+
+2005-03-29 Devang Patel <dpatel@apple.com>
+
+ * tree-sra.c (decide_block_copy): Disable scalarization of
+ sub-elements.
+
+2005-03-30 Stuart Hastings <stuart@apple.com>
+ Dale Johannesen <dalej@apple.com>
+
+ * Makefile.in (print-tree.o): Depend on tree-iterator.h.
+ * print-tree.c (print_node): Add case STATEMENT_LIST.
+
+2005-03-31 Alan Modra <amodra@bigpond.net.au>
+
+ * config.gcc (cpu_is_64bit): Set for 64-bit powerpc cpus.
+ (powerpc64-*-linux*): Use it. Rearrange tm_file assignment.
+ (powerpc-*-linux*): Build a biarch compiler when --enable-targets
+ is given with "powerpc64*" or "all", or when --with-cpu chooses
+ a 64-bit cpu.
+
+2005-03-30 James E. Wilson <wilson@specifixinc.com>
+
+ PR debug/20268
+ * dwarf2out.c (add_high_low_attributes): New function, extracted from
+ gen_lexical_block_die.
+ (gen_lexical_block_die, gen_inlined_subroutine_die): Call it.
+
+2005-03-31 Jan Hubicka <jh@suse.cz>
+
+ 2004-11-02 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_varpool_node_name): New function.
+ (dump_cgraph_varpool_node): New function.
+ (dump_varpool): New function.
+ * cgraphunit.c (cgraph_optimize): Dump varpool.
+
+ 2004-10-16 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (decide_is_variable_needed): New function.
+ (cgraph_varpool_finalize_decl): Use it.
+ * cgraphunit.c (cgraph_optimize): Assemble_pending_decls when not doing
+ unit-at-a-time.
+ * final.c (output_addr_const): Do not call mark_referenced.
+ * passes.c (rest_of_decl_compilation): ifdef out DECL_RTL_SET_P hack;
+ always go via cgraph.
+ * toplev.c (wrapup_global_declarations): Kill non-unit-at-a-time code.
+ (check_global_declarations): Ifdef out code clearing DECL_RTL.
+ * tree-optimize.c (execute_inline): Mark functions called.
+ * i386.c (output_pic_addr_const): Do not call mark_decl_referenced.
+
+ 2004-10-11 Jan Hubicka <jh@suse.cz>
+
+ * cgraph.c (cgraph_varpool_first_unanalyzed_node): New global voriable
+ (cgraph_varpool_last_needed_node): New static variable.
+ (enqueue_needed_varpool_node): Break out from ...; add items to the
+ end of queue; update first pointers.
+ (cgraph_varpool_mark_needed_node): ... here.
+ (cgraph_varpool_finalize_decl): Use enqueue_needed_varpool_node.
+ (cgraph_varpool_assemble_pending_decls): Move to cgraphunit.c
+ * cgraph.h (cgraph_varpool_node): Add analyzed field.
+ (cgraph_varpool_first_unanalyzed_node): Declare.
+ * cgraphunit.c: Include output.h.
+ (cgraph_varpool_analyze_pending_decls): New function.
+ (cgraph_varpool_assemble_pending_decls): Move from cgraph.c; bail out
+ for errors, analyze pending decls.
+ (cgraph_finalize_compilation_unit): Only analyze decls.
+ (cgraph_optimize): Assemble the decls after expanding.
+
+2005-03-30 Daniel Berlin <dberlin@dberlin.org>
+
+ * tree-ssa-alias.c (compute_flow_insensitive_aliasing): Make sure
+ subvars get marked properly in tags for grouping.
+ (add_pointed_to_var): Mark only actual pointed to
+ variables/subvars in addresses needed.
+ (create_overlap_variables_for): Clear call clobbered on original
+ variable.
+ * tree-ssa-operands.c (get_asm_expr_operands): Don't let regular
+ addresable vars with subvars into list.
+ * tree-ssa.c (verify_ssa_name): Verify original is not used where
+ subvar should be.
+
+2005-03-30 Richard Henderson <rth@redhat.com>
+
+ * cgraph.h (struct cgraph_node): Add alias.
+ * varasm.c (assemble_alias): Set it.
+ * cgraphunit.c (cgraph_assemble_pending_functions): Check it and
+ avoid calling cgraph_expand_function.
+
+2005-03-30 Tom Tromey <tromey@redhat.com>
+
+ * tree.def (FILE_TYPE): Removed.
+ * typeclass.h (enum type_class): Removed file_type_class.
+ * dwarf2out.c (is_base_type): Updated.
+ (gen_type_die): Likewise.
+ * dbxout.c (dbxout_type): Updated.
+ * builtins.c (type_to_class): Updated.
+ * tree.c (type_contains_placeholder_1): Updated.
+ * config/sparc/sparc.c (sparc_type_code): Updated.
+ * config/ia64/ia64.c (hfa_element_mode): Updated.
+ * expr.c (count_type_elements): Updated.
+ * stor-layout.c (layout_type): Updated.
+ * tree-inline.c (remap_type): Updated.
+ * tree-pretty-print.c (dump_generic_node): Updated.
+
+2005-03-30 Fariborz Jahanian <fjahanian@apple.com>
+
+ * builtins.c (expand_builtin_powi): Fix mode of
+ 2nd argument to match int.
+ * libgcc2.h (__powisf2, __powidf2, __powixf2, __powitf2): Change
+ 2nd argument type to int.
+ * libgcc2.c: Change prototype of __powi* functions to use
+ int.
+
+2005-03-30 Dale Johannesen <dalej@apple.com>
+
+ PR middle-end/19225
+ * calls.c (expand_call): Flush pending deferrals before
+ throwing call.
+
+2005-03-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/772
+ PR c/17913
+ * c-tree.h (C_DECL_UNJUMPABLE_STMT_EXPR,
+ C_DECL_UNDEFINABLE_STMT_EXPR, struct c_label_list, struct
+ c_label_context, label_context_stack): New.
+ * c-decl.c (define_label): Check for jumps into statement
+ expressions. Add label to list of defined labels.
+ (start_function): Push context on label_context_stack.
+ (finish_function): Pop context from label_context_stack.
+ * c-typeck.c (label_context_stack): New.
+ (c_finish_goto_label): Check for jumps into statement
+ expressions. Add label to list of jumped to labels.
+ (struct c_switch): Add blocked_stmt_expr.
+ (c_start_case): Initialize it.
+ (do_case): Check it.
+ (c_finish_case): Verify !blocked_stmt_expr.
+ (c_begin_stmt_expr): Push context on label_context_stack.
+ Increment blocked_stmt_expr. Mark labels jumped to from outside
+ as undefinable.
+ (c_finish_stmt_expr): December blocked_stmt_expr. Mark labels
+ defined in the statement expression and no longer jumpable to.
+ Mark labels jumped to from just outside the statement expression
+ as again definable. Pop context from label_context_stack.
+ * doc/extend.texi (Statement Exprs): Update.
+
+2005-03-30 Joseph S. Myers <joseph@codesourcery.com>
+
+ PR c/20368
+ * c-decl.c (start_function): Check for old_decl being
+ error_mark_node.
+
+2005-03-30 Ian Lance Taylor <ian@airs.com>
+
+ * final.c (final): Remove prescan parameter. Change all callers.
+ (final_scan_insn): Remove prescan parameter. Change all callers.
+
+2005-03-30 Kazu Hirata <kazu@cs.umass.edu>
+
+ * tree-vectorizer.c: Fix comment typos.
+
+2005-03-30 Sebastian Pop <pop@cri.ensmp.fr>
+
+ * tree-scalar-evolution.c (instantiate_parameters_1): Return
+ as soon as a chrec_dont_know is detected.
+
+2005-03-31 Danny Smith <dannysmith@users.sourceforge.net>
+
+ Merge from csl-arm-branch.
+ 2004-02-12 Mark Mitchell <mark@codesourcery.com>
+
+ * tlink.c (recompile_files): Do not assume that "rename" can
+ overwrite an existing file.
+
+2005-03-31 Paolo Bonzini <bonzini@gnu.org>
+
+ * gcc/configure.ac (TL_AC_GNU_MAKE_GCC_LIB_PATH): Remove.
+ * gcc/configure: Regenerate.
+
+2005-03-30 Alan Modra <amodra@bigpond.net.au>
+
+ * doc/install.texi: Update binutils requirement for powerpc*-linux.
+
+ * config/rs6000/rs6000.c (rs6000_arg_partial_bytes): Update comments.
+
+ * calls.c (struct arg_data): Update "partial" comment.
+ (load_register_parameters): Update "nregs" comment.
+
+2005-03-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/iq2000/iq2000.h (target_flags, MASK_GPOPT, MASK_EMBEDDED_DATA)
+ (MASK_UNINIT_CONST_IN_RODATA, TARGET_EMBEDDED_DATA, TARGET_SWITCHES)
+ (TARGET_DEFAULT, TARGET_CPU_DEFAULT, SUBTARGET_TARGET_OPTIONS)
+ (TARGET_OPTIONS, iq2000_cpu_string, iq2000_arch_string): Delete.
+ (TARGET_DEBUG_MODE, TARGET_DEBUG_A_MODE, TARGET_DEBUG_B_MODE)
+ (TARGET_DEBUG_C_MODE, TARGET_DEBUG_D_MODE): Define to 0 rather
+ than target_flags & 0.
+ * config/iq2000/iq2000.c (iq2000_cpu_string, iq2000_arch_string)
+ (iq2000_arch, iq2000_parse_cpu): Delete.
+ (TARGET_HANDLE_OPTION): Override default.
+ (iq2000_handle_option): New function.
+ (override_options): Remove -march= and -mcpu= handling.
+ * config/iq2000/iq2000.opt: New file.
+
+2005-03-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * config/c4x/c4x-protos.h (c4x_rpts_cycles, c4x_cpu_version): Delete.
+ * config/c4x/c4x.h (SMALL_MEMORY_FLAG, MPYI_FLAG, FAST_FIX_FLAG)
+ (RPTS_FLAG, C3X_FLAG, TI_FLAG, PARANOID_FLAG, MEMPARM_FLAG, DEVEL_FLAG)
+ (RPTB_FLAG, BK_FLAG, DB_FLAG, DEBUG_FLAG, HOIST_FLAG)
+ (LOOP_UNSIGNED_FLAG, FORCE_FLAG, PRESERVE_FLOAT_FLAG)
+ (PARALLEL_INSN_FLAG, PARALLEL_MPY_FLAG, ALIASES_FLAG, C30_FLAG)
+ (C31_FLAG, C32_FLAG, C33_FLAG, C40_FLAG, C44_FLAG, TARGET_SWITCHES)
+ (TARGET_DEFAULT, TARGET_SMALL, TARGET_MPYI, TARGET_FAST_FIX)
+ (TARGET_RPTS, TARGET_TI, TARGET_PARANOID, TARGET_MEMPARM, TARGET_DEVEL)
+ (TARGET_RPTB, TARGET_BK, TARGET_DB, TARGET_DEBUG, TARGET_HOIST)
+ (TARGET_LOOP_UNSIGNED, TARGET_FORCE, TARGET_PRESERVE_FLOAT)
+ (TARGET_PARALLEL, TARGET_PARALLEL_MPY, TARGET_ALIASES)
+ (c4x_rpts_cycles_string, c4x_cpu_version_string)
+ (TARGET_OPTIONS): Delete.
+ (c4x_rpts_cycles, c4x_cpu_version): Declare.
+ (TARGET_C3X, TARGET_C30, TARGET_C31, TARGET_C32, TARGET_C33)
+ (TARGET_C40, TARGET_C44): Redefine in terms of c4x_cpu_version.
+ * config/c4x/c4x.c (c4x_rpts_cycles_string): Delete.
+ (c4x_cpu_version_string): Delete.
+ (TARGET_DEFAULT_TARGET_FLAGS, TARGET_HANDLE_OPTION): Override defaults.
+ (c4x_handle_option): New function. Map -m3x and -m4x options to the
+ equivalent -mcpu= option.
+ (c4x_override_options): Remove -mrpts= and -mcpu= handling from here.
+ Deal with the extra conditions in the old TARGET_MPYI, TARGET_RPTB,
+ TARGET_DB, TARGET_PARALLEL and TARGET_PARALLEL_MPY macros by setting
+ or clearing the appropriate MASK_* bit.
+ (c4x_file_start): Use c4x_cpu_version.
+ * config/c4x/c4x.opt: New file.
+
+2005-03-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * doc/options.texi: Document the new MaskExists flag.
+ * opth-gen.awk: Don't output MASK and TARGET macros for Mask(...)
+ if the option has the MaskExists flag.
+
+2005-03-30 Richard Sandiford <rsandifo@redhat.com>
+
+ * opt-functions.awk (flag_set_p, test_flag): New functions.
+ (switch_flags): Use them.
+ * opth-gen.awk: Use flag_set_p to check for flags.
+ * optc-gen.awk: Likewise. Use opt_args to check for Init(...) flags.
+
+2005-03-30 Ian Lance Taylor <ian@airs.com>
+
+ * config.host (i[34567]86-*-mingw32*): Don't set
+ host_can_use_collect2 to no.
+
+2005-03-30 Alan Modra <amodra@bigpond.net.au>
+
+ PR target/20203
+ * builtins.c (get_memory_rtx): Expand address exp using EXPAND_NORMAL.
+ Remove convert_memory_address call duplicating that in memory_address.
+
2005-03-29 Richard Henderson <rth@redhat.com>
PR c/20519
(pass_tree_profile): Reference it.
* value-prof.c: Include tree-flow.h, tree-flow-inline.h, diagnostic.h,
tree.h, gcov-io.h.
- (insn_divmod_values_to_profile): Rename to
+ (insn_divmod_values_to_profile): Rename to
rtl_divmod_values_to_profile. Adjust.
(insn_values_to_profile): Rename to rtl_values_to_profile. Adjust.
(insn_prefetch_values_to_profile): Adjust.
(gen_divmod_fixed_value): Rename to rtl_divmod_fixed_value.
(gen_mod_pow2): Rename to rtl_mod_pow2.
(gen_mod_subtract): Rename to rtl_mod_subtract.
- (divmod_fixed_value_transform): Rename to
+ (divmod_fixed_value_transform): Rename to
rtl_divmod_fixed_value_transform.
(mod_pow2_value_transform): Rename to rtl_mod_pow2_value_transform.
(mod_subtract_transform): Rename to rtl_mod_subtract_transform.
(stfiwx): New.
* config/rs6000/rs6000.h (EXTRA_CONSTRAINT): Add 'Z'.
(EXTRA_MEMORY_CONSTRAINT): Likewise.
- * config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
+ * config/rs6000/rs6000.c (indexed_or_indirect_operand): New.
* config/rs6000/rs6000-protos.h (indexed_or_indirect_operand): New.
2005-03-25 Kazu Hirata <kazu@cs.umass.edu>
not optimizing.
2005-03-23 Dorit Naishlos <dorit@il.ib.com>
-
+
PR tree-optimization/20501
* tree-vect-analyze.c (vect_enhance_data_refs_alignment): Debug print
reporting that peeling for alignment is applied moved to...
* dwarf2out.c (dwarf2_debug_hooks): Ditto.
* sdbout.c (sdb_debug_hooks): Ditto.
* vmsdbgout.c (vmsdbg_debug_hooks): Ditto.
-
+
2005-03-22 Mark Mitchell <mark@codesourcery.com>
* doc/extend.texi: Deprecate C++ min/max operators.
* config/fr30/fr30.opt: New file.
2005-03-18 Daniel Berlin <dberlin@dberlin.org>
-
+
Fix PR tree-optimization/20542
* tree-flow-inline.h (overlap_subvar): Move to here.
* tree-ssa-alias.c (add_pointed_to_var): Use overlap_subvar here.
* tree-ssa-loop-im.c (is_call_clobbered_ref): Return proper answer
for variables with subvars.
-
+
2005-03-21 Mostafa Hagog <mustafa@il.ibm.com>
PR middle-end/20177
not including (reg). Do not check for reg being CRIS_PC_REGNUM.
(EXTRA_MEMORY_CONSTRAINT): Define as 'Q'.
* config/cris/cris.md: Tweak comments referring to Q.
- ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
+ ("cmpsi", "cmphi", "cmpqi", "*movsi_internal", "movhi")
("movstricthi", "movqi", "movstrictqi", "movsf", "addsi3")
("addhi3", "addqi3", "subsi3", "subhi3", "subqi3")
("*expanded_andsi", "*expanded_andhi", "*andhi_lowpart", "andqi3")