1. 29 Sep, 2004 3 commits
    • extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce… · 805c33df
      extend.texi (Extended Asm): Add blurb about using Explicit Reg Vars to enforce register allocation with...
      
      	* doc/extend.texi (Extended Asm): Add blurb about using Explicit
      	Reg Vars to enforce register allocation with general constraints.
      	(Explicit Reg Vars): Clarify relation to asm statements.
      	(Local Reg Vars): Similar.
      
      From-SVN: r88265
      Hans-Peter Nilsson committed
    • sched-rgn.c (haifa_edge, [...]): Remove. · dcda8480
      	* sched-rgn.c (haifa_edge, edge_table, NEXT_IN, NEXT_OUT, FROM_BLOCK,
      	TO_BLOCK, nr_edges, in_edges, out_edges, IN_EDGES, OUT_EDGES,
      	build_control_flow, new_edge): Remove.
      	(schedule_insns): Remove edge_table/in_edges/out_edges cleanup.
      	(bitlst, bitlst_table_last, bitlst_table): Remove.
      	(bblst): Store basic_block pointer instead of block index.
      	(bblst_table): Likewise.
      	(edgelst): Store edge pointer instead of edge index.
      	(edgelst_table, edgelst_last): New variables.
      	(extract_bitlst): Rename to ...
      	(extract_edgelst): ... this.  Return edge pointers, not indices.
      	(split_edges): Update call.
      	(rgn_edges): Store edge pointers instead of indices.
      	(edge_to_bit): Remove.
      	(EDGE_TO_BIT): Store per-region edge index in edge->aux.
      	(SET_EDGE_TO_BIT): New macro.
      	(is_cfg_nonregular): Check for simple cases of unreachable blocks.
      	(find_rgns): Remove edge_list parameter.  Traverse standard CFG
      	data structures instead of haifa_edge et al.  Use edge pointers
      	instead of edge indices everywhere.
      	(compute_dom_prob_ps): Use standard CFG data structures.  Account
      	for exit edges.
      	(compute_trg_info): Likewise.
      	(propagate_deps): Likewise.
      	(debug_candidate): Account for bblst data structure change.
      	(check_live_1, update_live_1, is_pfree): Likewise.
      	(IS_REACHABLE): Use standard CFG data structures.
      	(init_ready_list): Update bblst_table/edgelst_table allocation.
      	(schedule_region): Update alloc/cleanup code to data structure
      	changes.  Use edge->aux to store per-region edge index.
      	(init_regions): No longer call build_control_flow.  Do not
      	create edge list any more.
      
      From-SVN: r88264
      Ulrich Weigand committed
    • Daily bump. · f7deb4e9
      From-SVN: r88262
      GCC Administrator committed
  2. 28 Sep, 2004 34 commits
    • cse.c (cse_insn): Avoid creating direct non-local jumps. · 2f39b6ca
      	* cse.c (cse_insn): Avoid creating direct non-local jumps.
      	* combine.c (can_combine_p): Likewise.
      	* local-alloc. (update_equiv_regs): Likewise.
      
      From-SVN: r88258
      Ulrich Weigand committed
    • re PR tree-optimization/17531 ([ivopts] ICE compiling gzip deflate.c) · b0b324b0
              PR 17531
              * expr.c (expand_expr_addr_expr_1): Only assemble_external for decls.
              Don't check VOIDmode here.  Force PLUS operands to common type.
              (expand_expr_addr_expr): Do VOIDmode check earlier.  Force use of
              Pmode if given a non pointer type.
      
              PR 17531
              * optabs.c (expand_binop): Force constants to the correct mode.
      
      From-SVN: r88257
      Richard Henderson committed
    • re PR driver/17537 (g++ not passing -lstdc++ to linker when -l is only supplied) · 078208eb
      
      	PR driver/17537
      	* g++spec.c (lang_specific_driver): Unrecognized libraries, other
      	than -lc and -lm, may require linking against libstc++.
      
      From-SVN: r88256
      Roger Sayle committed
    • * jni.cc (_Jv_JNI_RegisterNatives): Formatting fixlets. · 252d7884
      From-SVN: r88255
      Tom Tromey committed
    • s390.c (s390_adjust_cost): Remove. · ea77e738
      	* config/s390/s390.c (s390_adjust_cost): Remove.
      	(TARGET_SCHED_ADJUST_COST): Do not redefine.
      	(s390_adjust_priority): Handle TYPE_STM like TYPE_STORE.
      	* config/s390/s390.md ("main_pool"): Use "larl" type
      	attribute if TARGET_CPU_ZARCH.
      
      From-SVN: r88254
      Ulrich Weigand committed
    • ia64.c (ia64_expand_prologue): Declare ei variable. · 9924d7d8
      	* config/ia64/ia64.c (ia64_expand_prologue): Declare ei
      	variable.
      
      From-SVN: r88253
      Jakub Jelinek committed
    • tree-ssa-loop.c (pass_record_bounds): Do not assign a name to the pass. · 81842e1b
      
      	* tree-ssa-loop.c (pass_record_bounds): Do not assign a
      	name to the pass.
      
      From-SVN: r88252
      Diego Novillo committed
    • re PR libgcj/17222 (libjava fails to build due to command line length during link) · bd1c8428
      	PR libgcj/17222:
      	* Makefile.am (libgcj.la): Restored.
      	* Makefile.in: Rebuilt.
      
      From-SVN: r88251
      Tom Tromey committed
    • common.opt (flag_gcse_sm): Disable by default. · 21ef99b8
      	* common.opt (flag_gcse_sm): Disable by default.
      	(flag_gcse_las): Likewise.
      	(flag_web): Likewise.  Create from this file.
      	* flags.h: Remove flag_web declaration.
      	* toplev.c (flag_web): Likewise.
      	(process_options): Never set flag_web.
      
      From-SVN: r88250
      Steven Bosscher committed
    • Makefile.in (tree-ssa-propagate.o): Depend on vec.h. · 78492bf5
      	* Makefile.in (tree-ssa-propagate.o): Depend on vec.h.
      	* tree-ssa-propagate.c: Include vec.h.
      	(interesting_ssa_edges, varying_ssa_edges): Make these VECs
      	instead of varrays.
      	(cfg_blocks_add): Assert the block is not already in the worklist.
      	Update uses of interesting_ssa_edges and varying_ssa_edges.
      	(process_ssa_edge_worklist, ssa_prop_init, ssa_prop_fini,
      	ssa_propagate): Likewise.
      
      From-SVN: r88249
      Steven Bosscher committed
    • re PR c/16409 (ICE in size_binop, at fold-const.c) · ef787822
      	PR c/16409
      	* c-decl.c (start_decl): Check for initializing incomplete array
      	of VLAs.
      	(build_compound_literal): Check for TYPE being error_mark_node.
      	* c-parse.in (primary): Check for VLA compound literals.
      
      testsuite:
      	* gcc.dg/vla-init-2.c, gcc.dg/vla-init-3.c, gcc.dg/vla-init-4.c,
      	gcc.dg/vla-init-5.c: New tests.
      
      From-SVN: r88248
      Joseph Myers committed
    • re PR java/15710 (ICE: tree check: expected class 'E', have 'c' (integer_cst) in make_class_data) · 346c5b01
      	PR java/15710:
      	* class.c (add_miranda_methods): Load superinterface if not
      	already loaded.
      
      From-SVN: r88243
      Tom Tromey committed
    • tree-ssa-live.c (calculate_live_on_entry): Fix warnings with --disable-checking. · c3b8e9aa
      	* tree-ssa-live.c (calculate_live_on_entry): Fix warnings
      	with --disable-checking.
      
      From-SVN: r88241
      Diego Novillo committed
    • re PR java/17586 (kawa build fails with ICE) · 1679340f
      2004-09-28  Andrew Haley  <aph@redhat.com>
      
      	PR java/17586
      	* jcf-parse.c (load_class): Don't try to read a class that we've
      	already read.
      
      From-SVN: r88239
      Andrew Haley committed
    • sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function sh_init_cumulative_args. · cc15e98f
      sh.h (INIT_CUMULATIVE_ARGS): Replace with an invocation of the function
        sh_init_cumulative_args.
        (INIT_CUMULATIVE_LIBCALL_ARGS): Likewise.
        (INIT_CUMULATIVE_INCOMING_ARGS): Delete.
      sh-protos.h: Prototype sh_init_cumulative_args.
      sh.c (sh_init_cumulative_args): New function based on the contents of the old
        INIT_CUMULATIVE_ARGS macro but with a heuristic added to determine the setting
        of force_mem when a library function is being called.
      
      From-SVN: r88238
      Nick Clifton committed
    • tree-ssa-loop-im.c (single_reachable_address): Skip constant arguments. · ee1f0fb0
      
      	* tree-ssa-loop-im.c (single_reachable_address) <PHI_NODE>:
      	Skip constant arguments.
      
      From-SVN: r88237
      Diego Novillo committed
    • jcf-parse.c (load_class): Back out previous broken patch. · 46d82a27
      2004-09-28  Andrew Haley  <aph@redhat.com>
      
      	* jcf-parse.c (load_class): Back out previous broken patch.
      
      From-SVN: r88234
      Andrew Haley committed
    • re PR java/17586 (kawa build fails with ICE) · 03ec093d
      2004-09-28  Andrew Haley  <aph@redhat.com>
      
      	PR java/17586
      	* jcf-parse.c (load_class): Don't try to read a class that we've
      	already read.
      	Check that we really did read the right class.
      
      From-SVN: r88233
      Andrew Haley committed
    • tree-ssa-alias.c (create_name_tags): If PTR points to a volatile type, mark the tag volatile. · 38e05395
      
      	* tree-ssa-alias.c (create_name_tags): If PTR points to a
      	volatile type, mark the tag volatile.
      	(get_tmt_for): If TAG_TYPE is a volatile type, mark the tag
      	volatile.
      
      From-SVN: r88232
      Diego Novillo committed
    • tree.def (vec_cond_expr): Fix. · 45fbb186
      2004-09-28  Andrew Pinski  <pinskia@physics.uc.edu>
      
              * tree.def (vec_cond_expr): Fix. Change 'e'
              to tcc_expression.
      
      From-SVN: r88231
      Andrew Pinski committed
    • * basic-block.h: Fix a comment typo. · c2b7c2d8
      From-SVN: r88230
      Kazu Hirata committed
    • * tree.c: Fix a comment typo. · f9f1c24e
      From-SVN: r88229
      Kazu Hirata committed
    • * optabs.c, optabs.h: Fix comment typos. · 6dbd43ba
      From-SVN: r88228
      Kazu Hirata committed
    • sparc.md (call_address_struct_value_sp32): Properly mask the immediate field of… · ecaa611b
      sparc.md (call_address_struct_value_sp32): Properly mask the immediate field of the 'unimp' instruction.
      
      	* config/sparc/sparc.md (call_address_struct_value_sp32):
      	Properly mask the immediate field of the 'unimp' instruction.
      	(call_symbolic_struct_value_sp32): Likewise.
      
      From-SVN: r88227
      Eric Botcazou committed
    • URLConnection.java: Reformatted. · 95b88040
      2004-09-28  Michael Koch  <konqueror@gmx.de>
      
      	* java/net/URLConnection.java: Reformatted.
      	* java/net/URLClassLoader.java: Reformatted.
      	(getContent): Reordered return of content.
      	(getContentHandler): Don't check for null explicitely.
      
      From-SVN: r88226
      Michael Koch committed
    • [multiple changes] · 1165dc50
      2004-09-28  Paolo Carlini  <pcarlini@suse.de>
      
      	PR libstdc++/16612
      	* include/bits/basic_string.h (_M_dispose, _M_refcopy,
      	basic_string()): When _GLIBCXX_FULLY_DYNAMIC_STRING is defined,
      	don't deal with _S_empty_rep.
      	* include/bits/basic_string.tcc (_S_construct, _M_destroy,
      	_M_leak_hard, _M_mutate): Likewise.
      	* acinclude.m4 (GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING): New.
      	* acconfig.h: Add corresponding undef.
      	* configure.ac: Use GLIBCXX_ENABLE_FULLY_DYNAMIC_STRING.
      	* docs/html/configopts.html: Document --enable-fully-dynamic-string.
      	* configure: Regenerate.
      	* config.h.in: Likewise.
      
      2004-09-28  Benjamin Kosnik  <bkoz@redhat.com>
                  Paolo Carlini  <pcarlini@suse.de>
      
      	* testsuite/21_strings/basic_string/operations/char/1.cc: New.
      	* testsuite/21_strings/basic_string/operations/wchar_t/1.cc: New.
      	* testsuite/21_strings/basic_string/element_access/char/empty.cc: New.
      	* testsuite/21_strings/basic_string/element_access/wchar_t/empty.cc:
      	New.
      
      2004-09-28  Paolo Carlini  <pcarlini@suse.de>
      
      	* README: Remove obsolete entry about include/c_shadow.
      
      From-SVN: r88225
      Paolo Carlini committed
    • class.c (VTT_TOP_LEVEL_P, [...]): Remove. · a3a0fc7f
      	* class.c (VTT_TOP_LEVEL_P, VTT_MARKED_BINFO_P): Remove.
      	(struct secondary_vptr_vtt_init_data_s): New.
      	(build_vtt_inits): Adjust dfs_walkers.
      	(dfs_build_secondary_vptr_vtt_inits): Caller data is a
      	secondary_vptr_vtt_init_data_s structure. Adjust.
      	(dfs_ctor_vtable_bases_queue_p): Remove.
      	(dfs_fixup_binfo_vtbls): No need to clear BINFO_MARKED. Simplify.
      
      	* pt.c (struct get_template_base_data_s): Remove.
      	(get_template_base_r): Fold into get_template_base.
      	(get_template_base): Walk base binfos directly in inheritance
      	graph order.
      Remove duplicated changelog entries
      
      From-SVN: r88224
      Nathan Sidwell committed
    • backport: basic-block.h: Include vec.h, errors.h. · 628f6a4e
      2004-09-24  Ben Elliston  <bje@au.ibm.com>
      	    Steven Bosscher  <stevenb@suse.de>
      	    Andrew Pinski  <pinskia@physics.uc.edu>
      
      	Merge from edge-vector-branch:
      	* basic-block.h: Include vec.h, errors.h. Instantiate a VEC(edge).
      	(struct edge_def): Remove pred_next, succ_next members.
      	(struct basic_block_def): Remove pred, succ members.  Add preds
      	and succs members of type VEC(edge).
      	(FALLTHRU_EDGE): Redefine using EDGE_SUCC.
      	(BRANCH_EDGE): Likewise.
      	(EDGE_CRITICAL_P): Redefine using EDGE_COUNT.
      	(EDGE_COUNT, EDGE_I, EDGE_PRED, EDGE_SUCC): New.
      	(edge_iterator): New.
      	(ei_start, ei_last, ei_end_p, ei_one_before_end_p): New.
      	(ei_next, ei_prev, ei_edge, ei_safe_edge): Likewise.
      	(FOR_EACH_EDGE): New.
      	* bb-reorder.c (find_traces): Use FOR_EACH_EDGE and EDGE_* macros
      	where applicable.
      	(rotate_loop): Likewise.
      	(find_traces_1_route): Likewise.
      	(bb_to_key): Likewise.
      	(connect_traces): Likewise.
      	(copy_bb_p): Likewise.
      	(find_rarely_executed_basic_blocks_and_crossing_edges): Likewise.
      	(add_labels_and_missing_jumps): Likewise.
      	(fix_up_fall_thru_edges): Likewise.
      	(find_jump_block): Likewise.
      	(fix_crossing_conditional_branches): Likewise.
      	(fix_crossing_unconditional_branches): Likewise.
      	(add_reg_crossing_jump_notes): Likewise.
      	* bt-load.c (augment_live_range): Likewise.
      	* cfg.c (clear_edges): Likewise.
      	(unchecked_make_edge): Likewise.
      	(cached_make_edge): Likewise.
      	(make_single_succ_edge): Likewise.
      	(remove_edge): Likewise.
      	(redirect_edge_succ_nodup): Likewise.
      	(check_bb_profile): Likewise.
      	(dump_flow_info): Likewise.
      	(alloc_aux_for_edges): Likewise.
      	(clear_aux_for_edges): Likewise.
      	(dump_cfg_bb_info): Likewise.
      	* cfganal.c (forwarder_block_p): Likewise.
      	(can_fallthru): Likewise.
      	(could_fall_through): Likewise.
      	(mark_dfs_back_edges): Likewise.
      	(set_edge_can_fallthru_flag): Likewise.
      	(find_unreachable_blocks): Likewise.
      	(create_edge_list): Likewise.
      	(verify_edge_list): Likewise.
      	(add_noreturn_fake_exit_edges): Likewise.
      	(connect_infinite_loops_to_exit): Likewise.
      	(flow_reverse_top_sort_order_compute): Likewise.
      	(flow_depth_first_order_compute): Likewise.
      	(flow_preorder_transversal_compute): Likewise.
      	(flow_dfs_compute_reverse_execute): Likewise.
      	(dfs_enumerate_from): Likewise.
      	(compute_dominance_frontiers_1): Likewise.
      	* cfgbuild.c (make_edges): Likewise.
      	(compute_outgoing_frequencies): Likewise.
      	(find_many_sub_basic_blocks): Likewise.
      	(find_sub_basic_blocks): Likewise.
      	* cfgcleanup.c (try_simplify_condjump): Likewise.
      	(thread_jump): Likewise.
      	(try_forward_edges): Likewise.
      	(merge_blocks_move): Likewise.
      	(outgoing_edges_match): Likewise.
      	(try_crossjump_to_edge): Likewise.
      	(try_crossjump_bb): Likewise.
      	(try_optimize_cfg): Likewise.
      	(merge_seq_blocks): Likewise.
      	* cfgexpand.c (expand_gimple_tailcall): Likewise.
      	(expand_gimple_basic_block): Likewise.
      	(construct_init_block): Likewise.
      	(construct_exit_block): Likewise.
      	* cfghooks.c (verify_flow_info): Likewise.
      	(dump_bb): Likewise.
      	(delete_basic_block): Likewise.
      	(split_edge): Likewise.
      	(merge_blocks): Likewise.
      	(make_forwarder_block): Likewise.
      	(tidy_fallthru_edges): Likewise.
      	(can_duplicate_block_p): Likewise.
      	(duplicate_block): Likewise.
      	* cfglayout.c (fixup_reorder_chain): Likewise.
      	(fixup_fallthru_exit_predecessor): Likewise.
      	(can_copy_bbs_p): Likewise.
      	(copy_bbs): Likewise.
      	* cfgloop.c (flow_loops_cfg_dump): Likewise.
      	(flow_loop_entry_edges_find): Likewise.
      	(flow_loop_exit_edges_find): Likewise.
      	(flow_loop_nodes_find): Likewise.
      	(mark_single_exit_loops): Likewise.
      	(flow_loop_pre_header_scan): Likewise.
      	(flow_loop_pre_header_find): Likewise.
      	(update_latch_info): Likewise.
      	(canonicalize_loop_headers): Likewise.
      	(flow_loops_find): Likewise.
      	(get_loop_body_in_bfs_order): Likewise.
      	(get_loop_exit_edges): Likewise.
      	(num_loop_branches): Likewise.
      	(verify_loop_structure): Likewise.
      	(loop_latch_edge): Likewise.
      	(loop_preheader_edge): Likewise.
      	* cfgloopanal.c (mark_irreducible_loops): Likewise.
      	(expected_loop_iterations): Likewise.
      	* cfgloopmanip.c (remove_bbs): Likewise.
      	(fix_bb_placement): Likewise.
      	(fix_irreducible_loops): Likewise.
      	(remove_path): Likewise.
      	(scale_bbs_frequencies): Likewise.
      	(loopify): Likewise.
      	(unloop): Likewise.
      	(fix_loop_placement): Likewise.
      	(loop_delete_branch_edge): Likewise.
      	(duplicate_loop_to_header_edge): Likewise.
      	(mfb_keep_just): Likewise.
      	(create_preheader): Likewise.
      	(force_single_succ_latches): Likewise.
      	(loop_split_edge_with): Likewise.
      	(create_loop_notes): Likewise.
      	* cfgrtl.c (rtl_split_block): Likewise.
      	(rtl_merge_blocks): Likewise.
      	(rtl_can_merge_blocks): Likewise.
      	(try_redirect_by_replacing_jump): Likewise.
      	(force_nonfallthru_and_redirect): Likewise.
      	(rtl_tidy_fallthru_edge): Likewise.
      	(commit_one_edge_insertion): Likewise.
      	(commit_edge_insertions): Likewise.
      	(commit_edge_insertions_watch_calls): Likewise.
      	(rtl_verify_flow_info_1): Likewise.
      	(rtl_verify_flow_info): Likewise.
      	(purge_dead_edges): Likewise.
      	(cfg_layout_redirect_edge_and_branch): Likewise.
      	(cfg_layout_can_merge_blocks_p): Likewise.
      	(rtl_flow_call_edges_add): Likewise.
      	* cse.c (cse_cc_succs): Likewise.
      	* df.c (hybrid_search): Likewise.
      	* dominance.c (calc_dfs_tree_nonrec): Likewise.
      	(calc_dfs_tree): Likewise.
      	(calc_idoms): Likewise.
      	(recount_dominator): Likewise.
      	* domwalk.c (walk_dominator_tree): Likewise.
      	* except.c (emit_to_new_bb_before): Likewise.
      	(connect_post_landing_pads): Likewise.
      	(sjlj_emit_function_enter): Likewise.
      	(sjlj_emit_function_exit): Likewise.
      	(finish_eh_generation): Likewise.
      	* final.c (compute_alignments): Likewise.
      	* flow.c (calculate_global_regs_live): Likewise.
      	(initialize_uninitialized_subregs): Likewise.
      	(init_propagate_block_info): Likewise.
      	* function.c (thread_prologue_and_epilogue_insns): Likewise.
      	* gcse.c (find_implicit_sets): Likewise.
      	(bypass_block): Likewise.
      	(bypass_conditional_jumps): Likewise.
      	(compute_pre_data): Likewise.
      	(insert_insn_end_bb): Likewise.
      	(insert_store): Likewise.
      	(remove_reachable_equiv_notes): Likewise.
      	* global.c (global_conflicts): Likewise.
      	(calculate_reg_pav): Likewise.
      	* graph.c (print_rtl_graph_with_bb): Likewise.
      	* ifcvt.c (mark_loop_exit_edges): Likewise.
      	(merge_if_block): Likewise.
      	(find_if_header): Likewise.
      	(block_jumps_and_fallthru_p): Likewise.
      	(find_if_block): Likewise.
      	(find_cond_trap): Likewise.
      	(block_has_only_trap): Likewise.
      	(find_if_case1): Likewise.
      	(find_if_case_2): Likewise.
      	* lambda-code.c (lambda_loopnest_to_gcc_loopnest): Likewise.
      	(perfect_nestify): Likewise.
      	* lcm.c (compute_antinout_edge): Likewise.
      	(compute_laterin): Likewise.
      	(compute_available): Likewise.
      	(compute_nearerout): Likewise.
      	* loop-doloop.c (doloop_modify): Likewise.
      	* loop-init.c (loop_optimizer_init): Likewise.
      	* loop-invariant.c (find_exits): Likewise.
      	* loop-iv.c (simplify_using_initial_values): Likewise.
      	(check_simple_exit): Likewise.
      	(find_simple_exit): Likewise.
      	* loop-unroll.c (peel_loop_completely): Likewise.
      	(unroll_loop_constant_iterations): Likewise.
      	(unroll_loop_runtime_iterations): Likewise.
      	* loop-unswitch.c (may_unswitch_on): Likewise.
      	(unswitch_loop): Likewise.
      	* modulo-sched.c (generate_prolog_epilog): Likewise.
      	(sms_schedule): Likewise.
      	* postreload-gcse.c (eliminate_partially_redundant_load):
      	Likewise.
      	* predict.c (can_predict_insn_p): Likewise.
      	(set_even_probabilities): Likewise.
      	(combine_predictions_for_bb): Likewise.
      	(predict_loops): Likewise.
      	(estimate_probability): Likewise.
      	(tree_predict_by_opcode): Likewise.
      	(tree_estimate_probability): Likewise.
      	(last_basic_block_p): Likewise.
      	(propagate_freq): Likewise.
      	(estimate_loops_at_level): Likewise.
      	(estimate_bb_frequencies): Likewise.
      	* profile.c (instrument_edges): Likewise.
      	(get_exec_counts): Likewise.
      	(compute_branch_probabilities): Likewise.
      	(branch_prob): Likewise.
      	* ra-build.c (live_in): Likewise.
      	* ra-rewrite.c (rewrite_program2): Likewise.
      	* ra.c (reg_alloc): Likewise.
      	* reg-stack.c (reg_to_stack): Likewise.
      	(convert_regs_entry): Likewise.
      	(compensate_edge): Likewise.
      	(convert_regs_1): Likewise,
      	(convert_regs_2): Likewise.
      	(convert_regs): Likewise.
      	* regrename.c (copyprop_hardreg_forward): Likewise.
      	* reload1.c (fixup_abnormal_edges): Likewise.
      	* sbitmap.c (sbitmap_intersection_of_succs): Likewise.
      	(sbitmap_insersection_of_preds): Likewise.
      	(sbitmap_union_of_succs): Likewise.
      	(sbitmap_union_of_preds): Likewise.
      	* sched-ebb.c (compute_jump_reg_dependencies): Likewise.
      	(fix_basic_block_boundaries): Likewise.
      	(sched_ebbs): Likewise.
      	* sched-rgn.c (build_control_flow): Likewise.
      	(find_rgns): Likewise.
      	* tracer.c (find_best_successor): Likewise.
      	(find_best_predecessor): Likewise.
      	(tail_duplicate): Likewise.
      	* tree-cfg.c (make_edges): Likewise.
      	(make_ctrl_stmt_edges): Likewise.
      	(make_goto_expr_edges): Likewise.
      	(tree_can_merge_blocks_p): Likewise.
      	(tree_merge_blocks): Likewise.
      	(cfg_remove_useless_stmts_bb): Likewise.
      	(remove_phi_nodes_and_edges_for_unreachable_block): Likewise.
      	(tree_block_forwards_to): Likewise.
      	(cleanup_control_expr_graph): Likewise.
      	(find_taken_edge): Likewise.
      	(dump_cfg_stats): Likewise.
      	(tree_cfg2vcg): Likewise.
      	(disband_implicit_edges): Likewise.
      	(tree_find_edge_insert_loc): Likewise.
      	(bsi_commit_edge_inserts): Likewise.
      	(tree_split_edge): Likewise.
      	(tree_verify_flow_info): Likewise.
      	(tree_make_forwarder_block): Likewise.
      	(tree_forwarder_block_p): Likewise.
      	(thread_jumps): Likewise.
      	(tree_try_redirect_by_replacing_jump): Likewise.
      	(tree_split_block): Likewise.
      	(add_phi_args_after_copy_bb): Likewise.
      	(rewrite_to_new_ssa_names_bb): Likewise.
      	(dump_function_to_file): Likewise.
      	(print_pred_bbs): Likewise.
      	(print_loop): Likewise.
      	(tree_flow_call_edges_add): Likewise.
      	(split_critical_edges): Likewise.
      	(execute_warn_function_return): Likewise.
      	(extract_true_false_edges_from_block): Likewise.
      	* tree-if-conv.c (tree_if_conversion): Likewise.
      	(if_convertable_bb_p): Likewise.
      	(find_phi_replacement_condition): Likewise.
      	(combine_blocks): Likewise.
      	* tree-into-ssa.c (compute_global_livein): Likewise.
      	(ssa_mark_phi_uses): Likewise.
      	(ssa_rewrite_initialize_block): Likewise.
      	(rewrite_add_phi_arguments): Likewise.
      	(ssa_rewrite_phi_arguments): Likewise.
      	(insert_phi_nodes_for): Likewise.
      	(rewrite_into_ssa): Likewise.
      	(rewrite_ssa_into_ssa): Likewise.
      	* tree-mudflap.c (mf_build_check_statement_for): Likewise.
      	* tree-outof-ssa.c (coalesce_abnormal_edges): Likewise.
      	(rewrite_trees): Likewise.
      	* tree-pretty-print.c (dump_bb_header): Likewise.
      	(dump_implicit_edges): Likewise.
      	* tree-sra.c (insert_edge_copies): Likewise.
      	(find_obviously_necessary_stmts): Likewise.
      	(remove_data_stmt): Likewise.
      	* tree-ssa-dom.c (thread_across_edge): Likewise.
      	(dom_opt_finalize_block): Likewise.
      	(single_incoming_edge_ignoring_loop_edges): Likewise.
      	(record_equivalences_from_incoming_edges): Likewise.
      	(cprop_into_successor_phis): Likewise.
      	* tree-ssa-live.c (live_worklist): Likewise.
      	(calculate_live_on_entry): Likewise.
      	(calculate_live_on_exit): Likewise.
      	* tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Likewise.
      	(copy_loop_headers): Likewise.
      	* tree-ssa-loop-im.c (loop_commit_inserts): Likewise.
      	(fill_always_executed_in): Likewise.
      	* tree-ssa-loop-ivcanon.c (create_canonical_iv): Likewise.
      	* tree-ssa-loop-ivopts.c (find_interesting_uses): Likewise.
      	(compute_phi_arg_on_exit): Likewise.
      	* tree-ssa-loop-manip.c (add_exit_phis_edge): Likewise.
      	(get_loops_exit): Likewise.
      	(split_loop_exit_edge): Likewise.
      	(ip_normal_pos): Likewise.
      	* tree-ssa-loop-niter.c (simplify_using_initial_conditions):
      	Likewise.
      	* tree-ssa-phiopt.c (candidate_bb_for_phi_optimization): Likewise.
      	(replace_phi_with_stmt): Likewise.
      	(value_replacement): Likewise.
      	* tree-ssa-pre.c (compute_antic_aux): Likewise.
      	(insert_aux): Likewise.
      	(init_pre): Likewise.
      	* tree-ssa-propagate.c (simulate_stmt): Likewise.
      	(simulate_block): Likewise.
      	(ssa_prop_init): Likewise.
      	* tree-ssa-threadupdate.c (thread_block): Likewise.
      	(create_block_for_threading): Likewise.
      	(remove_last_stmt_and_useless_edges): Likewise.
      	* tree-ssa.c (verify_phi_args): Likewise.
      	(verify_ssa): Likewise.
      	* tree_tailcall.c (independent_of_stmt_p): Likewise.
      	(find_tail_calls): Likewise.
      	(eliminate_tail_call): Likewise.
      	(tree_optimize_tail_calls_1): Likewise.
      	* tree-vectorizer.c (vect_transform_loop): Likewise.
      	* var-tracking.c (prologue_stack_adjust): Likewise.
      	(vt_stack_adjustments): Likewise.
      	(vt_find_locations): Likewise.
      	* config/frv/frv.c (frv_ifcvt_modify_tests): Likewise.
      	* config/i386/i386.c (ix86_pad_returns): Likewise.
      	* config/ia64/ia64.c (ia64_expand_prologue): Likewise.
      	* config/rs6000/rs6000.c (rs6000_emit_prologue): Likewise.
      
      Co-Authored-By: Andrew Pinski <pinskia@physics.uc.edu>
      Co-Authored-By: Steven Bosscher <stevenb@suse.de>
      
      From-SVN: r88222
      Ben Elliston committed
    • re PR target/16532 (Inefficient jump to epilogue) · 5be9b7a1
      	PR target/16532
      	* config/sparc/sparc.c (struct machine_function): New field
      	'leaf_function_p' and 'prologue_data_valid_p'.
      	(sparc_leaf_function_p, sparc_prologue_data_valid_p): New macro
      	to conveniently access the above fields.
      	(TARGET_LATE_RTL_PROLOGUE_EPILOGUE): Delete.
      	(eligible_for_return_delay): Use 'sparc_leaf_function_p' instead
      	of the generic flavor 'current_function_uses_only_leaf_regs'.
      	(eligible_for_sibcall_delay): Likewise.
      	(sparc_expand_prologue): Compute 'sparc_leaf_function_p' and set
      	'sparc_prologue_data_valid_p'.  Use 'sparc_leaf_function_p'.
      	(sparc_asm_function_prologue): Add sanity check for the assumption
      	made in 'sparc_expand_prologue'.  Use 'sparc_leaf_function_p'.
      	(sparc_can_use_return_insn_p): New function.
      	(sparc_expand_epilogue): Use 'sparc_leaf_function_p'.
      	(output_restore): Likewise.
      	(output_sibcall): Likewise.
      	(sparc_output_mi_thunk): Likewise.
      	* config/sparc/sparc-protos.h (sparc_can_use_return_insn_p): Declare.
      	* config/sparc/sparc.md (return): New expander.
      
      	* config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Minor tweak.
      
      From-SVN: r88220
      Eric Botcazou committed
    • Fix formatting. · 4badaa41
      From-SVN: r88218
      David Edelsohn committed
    • re PR c++/17642 (internal compiler error: in invert_truthvalue, at fold-const.c:2997) · 455f19cb
      	PR c++/17642
      	* stor-layout.c (layout_decl): Use fold_convert, not convert.
      	(bit_from_pos): Likewise.
      	(byte_from_pos): Likewise.
      	(pos_from_bit): Likewise.
      	(normalize_offset): Likewise.
      	(place_field): Likewise.
      	(finalize_type_size): Likewise.
      	(layout_type): Likewise.
      	* tree.c (build_index_type): Likewise.
      
      	PR c++/17642
      	* cp-tree.h (fold_if_not_in_template): New function.
      	* call.c (build_conditional_expr): Use fold_if_not_in_template.
      	(build_cxx_call): Likewise.
      	* cvt.c (convert_to_complex): Likewise.
      	(ocp_convert): Likewise.
      	(convert): Likewise.
      	(convert_force): Likewise.
      	* decl.c (compute_array_index_type): Clear
      	processing_template_decl while folding array bounds.
      	* pt.c (convert_nontype_argument): Clear
      	processing_template_decl while processing non-type argument
      	initialization.
      	* tree.c (fold_if_not_in_template): New function.
      	* typeck.c (build_class_member_access_expr): Use
      	fold_if_not_in_template.
      	(build_array_ref): Likewise.
      	(build_binary_op): Likewise.  Do not try to optimize computations
      	when processing templates.
      	(cp_pointer_int_sum): Use fold_if_not_in_template.
      	(pointer_diff): Likewise.
      	(build_unary_op): Likewise.
      	(build_reinterpret_cast): Likewise.
      	(get_delta_difference): Likewise.
      	(expand_ptrmemfunc_cst): Likewise.
      	(dubious_conversion_warnings): Likewise.
      
      	* g++.dg/template/crash23.C: New test.
      
      From-SVN: r88217
      Mark Mitchell committed
    • Daily bump. · 08107700
      From-SVN: r88212
      GCC Administrator committed
    • expr.c (expand_expr_real_1): Handle VEC_COND_EXPR. · 7ce67fbe
              * expr.c (expand_expr_real_1): Handle VEC_COND_EXPR.
              * genopinit.c (optabs): New entry for vcond_gen_code and
              vcondu_gen_code.
              * optabs.c (vcond_gen_code, vcondu_gen_code): New optabs.
              (get_rtx_code): New function.
              (vector_compare_rtx): New function.
              (init_optabs): Initialize vcond_gen_code and vcondu_gen_code.
              (expand_vec_cond_expr_p): New function.
              (expand_vec_cond_expr): New function.
              (get_vcond_icode): New function.
              * optabs.h (expand_vec_cond_expr, expand_vec_cond_expr_p): New externs.
              (vcond_gen_code, vcondu_gen_code): Same.
      
      From-SVN: r88209
      Devang Patel committed
  3. 27 Sep, 2004 3 commits