Commit Graph

36562 Commits

Author SHA1 Message Date
Jan Hubicka 8b7e92f9aa predict.def (noreturn, [...]): Mark as first match heuristics.
* predict.def (noreturn, loop branch, loop exit): Mark as first
	match heuristics.

From-SVN: r44473
2001-07-30 15:54:12 +00:00
Andrew Haley 53b475f053 configure.in (sh-*-linux*): New.
2001-07-25  Andrew Haley  <aph@cambridge.redhat.com>

        * configure.in (sh-*-linux*): New.

From-SVN: r44472
2001-07-30 15:48:29 +00:00
Andreas Jaeger c4b9cfe087 backport: regex.c: Declare wcs functions only if compiling with MBS_SUPPORT.
Merge from glibc:
        * regex.c: Declare wcs functions only if compiling with
        MBS_SUPPORT.
        Don't use #elif for traditional C.

        * regex.c: Revamp memory allocation for WCHAR functions to
        not use too much stack.

From-SVN: r44471
2001-07-30 13:54:36 +02:00
Jan Hubicka 592a6d1d96 * combine.c (try_combine): Avoid barrier after noop jumps
From-SVN: r44470
2001-07-30 10:54:10 +00:00
GCC Administrator 60e19e8b3f Daily bump.
From-SVN: r44468
2001-07-30 07:16:11 +00:00
Bryce McKinlay 6941ff9559 GregorianCalendar.java (GregorianCalendar): Call setTimeInMillis() to set the default/current time.
* java/util/GregorianCalendar.java (GregorianCalendar): Call
	setTimeInMillis() to set the default/current time.

From-SVN: r44467
2001-07-30 01:41:31 +01:00
Neil Booth 09b822537f cpphash.h (struct cpp_reader): Remove import_warning.
* cpphash.h (struct cpp_reader): Remove import_warning.
	* cpplib.c (skip_rest_of_line): Don't bother turning off
	macro expansion.
	(parse_include): Move include handling to...
	(do_include_common): ... here.  Move import warning from...
	(do_import): ... here.
	(do_pragma_poison): Don't do a callback for poison identifiers.
	* cpplib.h (struct cpp_callbacks): Don't do poison callbacks.
	* cppmain.c (setup_callbacks): Similarly.

From-SVN: r44466
2001-07-29 22:27:20 +00:00
Jan Hubicka 833366d6c9 rtlanal.c (parms_set, [...]): Break out from...; handle multiple sets.
* rtlanal.c (parms_set, find_first_parameter_load): Break out from...;
	handle multiple sets.
	* except.c (sjlj_mark_call_sites): .... here.
	* gcse.c (insert_insn_end_bb): Use find_first_parameter_load.

From-SVN: r44465
2001-07-29 21:28:42 +00:00
Jan Hubicka b5832b4372 Suggested by Richard Henderson and Richard Kenner:
* combine.c (recog_for_combine): Use the fake recog
	only if instruction does not match.
	* rtl.h (NOOP_MOVE_INSN_CODE): New.
	* rtlanal.c (noop_move_p): Always return 1 for NOOP_MOVE_INSN_CODE.

	* combine.c (try_combine): Discover noop jump as direct jump.

From-SVN: r44464
2001-07-29 19:44:42 +00:00
Daniel Berlin 12285d9df8 df.c (df_rd_global_compute): Add successors to worklist, not current item.
2001-07-29  Daniel Berlin  <dan@cgsoftware.com>

	* df.c (df_rd_global_compute): Add successors to worklist, not
	current item.
	(df_ru_global_compute): Ditto for preds.

From-SVN: r44461
2001-07-29 18:23:36 +00:00
Daniel Berlin b2d5779326 [multiple changes]
2001-07-27  Daniel Berlin  <dan@cgsoftware.com>

	* regclass.c (reg_scan_mark_refs): Increment REG_N_REFS when we
	increment REG_N_SETS.

2001-07-26  Daniel Berlin  <dan@cgsoftware.com>

	* sbitmap.h: New prototype for sbitmap_a_xor_b.

	* sbitmap.c (sbitmap_a_xor_b): New function.
	#ifdef the basic block stuff on the define IN_GCC.

From-SVN: r44460
2001-07-29 18:21:08 +00:00
Neil Booth 6d18adbc2c cppexp.c (parse_defined): Always record the macro name.
* cppexp.c (parse_defined): Always record the macro name.
	(lex): Don't worry about identifiers, or special-case
	CPP_NOT here.
	(_cpp_parse_expr): Figure out at the end of the routine
	whether we saw a valid !defined() expression.
	* cppfiles.c (stack_include_file): Update for mi_valid.
	(_cpp_pop_file_buffer): Similarly.
	* cpplex.c (_cpp_lex_token): Similarly.
	* cpphash.h (enum mi_state, enum mi_ind, mi_state,
	mi_if_not_defined, mi_lexed): Remove.
	(mi_valid): New.
	* cpplib.c (do_if): Simplify.
	(do_endif, push_conditional, _cpp_handle_directive): Update
	for renaming of mi_state to mi_valid.

	* cpp.texi: Add index entries for digraphs, and add comment
	that C++ refers to them as alternative tokens.

From-SVN: r44459
2001-07-29 17:27:57 +00:00
Jan Hubicka 0068fd9637 basic-block.h (CLEANUP_PRE_LOOP): New.
* basic-block.h (CLEANUP_PRE_LOOP): New.
	* except.c (finish_eh_generation): Update call of cleanup_cfg.
	* sibcall.c (optimize_sibling_calls): Likewise.
	* toplev.c (rest_of_compilation): Likewise.
	* flow.c (try_forward_edges): Take argument MODE;
	do not forward over loop pre-headers if CLEANUP_PRE_LOOP.
	(try_optimize_cfg): Update call of try_forward_edges.


	* (validate_replace_rtx_1): Fix simplification of MINUS.

From-SVN: r44458
2001-07-29 17:01:53 +00:00
Neil Booth df07e07d1a re PR preprocessor/3669 (-M -g3 outputs macros as well as dependency info)
PR preprocessor/3669
	* cppinit.c (init_dependency_output): Turn off dump requests
	if sending dependencies to stdout.

From-SVN: r44457
2001-07-29 14:40:45 +00:00
Mark Wielaard 7729617cf8 * HACKING: add description on updating namespace
From-SVN: r44454
2001-07-29 10:05:08 +00:00
GCC Administrator 1e785d81aa Daily bump.
From-SVN: r44452
2001-07-29 07:16:10 +00:00
Richard Henderson 587f922afb flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if not optimizing.
* flow.c (life_analysis): Elide PROP_ALLOW_CFG_CHANGES if
        not optimizing.

From-SVN: r44451
2001-07-28 23:59:47 -07:00
Golubev I. N. 89f355bdb3 * config/i386/sco5.h (DWARF2_DEBUGGING_INFO): Define.
From-SVN: r44447
2001-07-28 23:33:34 -07:00
Kazu Hirata 391522e3a5 h8300.h (ENCODE_SECTION_INFO): Check to see if DECL is VAR_DECL first to prevent an ICE.
* config/h8300/h8300.h (ENCODE_SECTION_INFO): Check to see if DECL
	is VAR_DECL first to prevent an ICE.

From-SVN: r44446
2001-07-29 03:12:34 +00:00
Richard Henderson 6681bc1f10 varasm.c (immed_real_const_1): Don't elide special cases for nested functions.
* varasm.c (immed_real_const_1): Don't elide special cases for
        nested functions.
        (clear_const_double_mem): Clear const_tiny_rtx too.

From-SVN: r44445
2001-07-28 19:46:18 -07:00
Richard Henderson a20612aa8b dwarf2out.c (dw_val_class_offset): New.
* dwarf2out.c (dw_val_class_offset): New.
	(struct dw_ranges_struct, dw_ranges_ref): New.
	(ranges_table, ranges_table_allocated): New.
	(ranges_table_in_use, RANGES_TABLE_INCREMENT): New.
	(add_AT_offset, add_ranges, output_ranges): New.
	(print_die, output_die): Handle dw_val_class_offset.
	(attr_checksum, size_of_die, value_format): Likewise.
	(gen_lexical_block_die): Handle non-contiguous blocks.
	(gen_block_die): Likewise.
	(dwarf2out_finish): Add a DW_AT_entry_pc to the compilation unit
	if needed.  Dump the ranges table.
	* final.c (final_start_function): Remove unnecessary notes and
	rebuild the block tree before numbering the blocks.
	* function.c (reorder_blocks_0): Walk the existing block tree
	to unmark all blocks.
	(reorder_blocks_1): Create block fragments when duplicate block
	notes are seen.
	(reorder_fix_fragments): New.
	(reorder_blocks): Call it.
	* tree.h (BLOCK_FRAGMENT_ORIGIN, BLOCK_FRAGMENT_CHAIN): New.

From-SVN: r44444
2001-07-28 19:10:42 -07:00
Richard Henderson 594280a396 * method.c (pending_inlines): Remove.
From-SVN: r44443
2001-07-28 18:39:17 -07:00
Richard Henderson c2f7bcc3c2 * emit-rtl.c (adjust_address): Make a copy of the memory address.
From-SVN: r44442
2001-07-28 18:35:13 -07:00
Richard Henderson 91d84fadf4 flow.c (add_to_mem_set_list): New function.
* flow.c (add_to_mem_set_list): New function.
        (init_propagate_block_info): Use it.
        (mark_set_1): Likewise.
        (insn_dead_p): Canonicalize memory address for dead store
        comparison.  Allow wider mode stores to kill narrower mode stores.
        (invalidate_mems_from_autoinc): Use invalidate_mems_from_set.
        (invalidate_mems_from_set): Don't handle MEMs.

From-SVN: r44441
2001-07-28 18:13:53 -07:00
Kazu Hirata 0a02170ffd * config/h8300/h8300.h: Fix formatting.
From-SVN: r44440
2001-07-29 00:44:40 +00:00
Jan Hubicka 134d3a2eaa basic-block.h (EDGE_FREQUENCY): New macro.
* basic-block.h (EDGE_FREQUENCY): New macro.
	* bb-reorder (fixup_reorder_chain): Set counts and frequencies
	for new BB/edges.
	* flow.c (find_sub_basic_blocks): Likewise.
	(try_crossjump_to_edge): Likewise; use EDGE_FREQUENCY
	(redirect_edge_and_branch): Use EDGE_FREQUENCY.

	* predict.c (DEF_PREDICTOR): New argument FLAGS.
	(HITRATE): New macro.
	(PRED_FLAG_FIRST_MATCH): New constant.
	(predictor_info): New field flgags.
	(combine_predictions_for_insn): Use DS theory to combine
	probabilities; set the edge probabilities when finished.
	(estimate_probability): Avoid duplicated matches
	of LOOP_BRANCH heuristics for nested loops; update comment.
	* predict.def: Add flags for each prediction, set probabilities
	according to B&L paper.
	* predict.h (DEF_PREDICTOR): New argument FLAGS.

	* profile.c (compute_branch_probabilities):  Cleanup way the edge
	probabilities are computed and REG_BR_PROB notes are dropped; if
	values does not match, emit error.
	(init_branch_prob): Do error instead of warning when profile driven
	feedback is missing or corrupt.

From-SVN: r44439
2001-07-28 21:37:35 +00:00
Jan Hubicka ffd1553440 * analyze_brprob: Avoid more overflows.
From-SVN: r44438
2001-07-28 20:39:02 +00:00
GCC Administrator 7b6a93997d Daily bump.
From-SVN: r44436
2001-07-28 07:16:09 +00:00
DJ Delorie 7f64687763 ifcvt.c (noce_get_alt_condition): If the condition is a compare against a constant...
* ifcvt.c (noce_get_alt_condition): If the condition is a compare
against a constant, try to adjust the compare to have the desired
constant in it so that min/max optimizations happen more often.

From-SVN: r44435
2001-07-27 23:13:34 -04:00
Richard Henderson da397f8ed0 * test_summary: Copy LAST_UPDATED UTC time to head of summary.
From-SVN: r44433
2001-07-27 14:10:29 -07:00
Jan Hubicka 92e3cac874 * analyze_brprob: Avoid overflows.
From-SVN: r44430
2001-07-27 16:03:08 +00:00
Jan Hubicka d69d031618 flow.c (last_loop_beg_note): New function.
* flow.c (last_loop_beg_note): New function.
	(redirect_edge_and_branch): Use it.
	(split_edge): Likewise.

	* alias.c (loop_p): Avoid uninitialized memory access.

	* flow.c (try_forward_edges): Avoid accessing freed memory.

	* flow.c (backward_edge_of_syntactic_loop_p): Avoid uninitialized
	variable access.

From-SVN: r44429
2001-07-27 15:55:41 +00:00
Andrew Haley f636e2a57d linux.h (CPP_DEFAULT_CPU_SPEC): New.
2001-07-26  Andrew Haley  <aph@redhat.com>
        Joern Rennecke <amylaar@redhat.com>

        * config/sh/linux.h (CPP_DEFAULT_CPU_SPEC): New.
        (SUBTARGET_CPP_ENDIAN_SPEC): New.
        (SUBTARGET_CPP_SPEC): New.
        (CPP_SPEC): Remove.
        * config/sh/sh.h (SUBTARGET_CPP_ENDIAN_SPEC): New.
        (SUBTARGET_CPP_PTR_SPEC): New.
        (CPP_DEFAULT_CPU_SPEC): New.
        (EXTRA_SPECS): Add SUBTARGET_CPP_ENDIAN_SPEC,
        SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
        (CPP_SPEC): Break out parts into SUBTARGET_CPP_ENDIAN_SPEC,
        SUBTARGET_CPP_PTR_SPEC, and CPP_DEFAULT_CPU_SPEC.
        (SUBTARGET_CPP_SPEC): Define as an empty string.

From-SVN: r44428
2001-07-27 15:20:41 +00:00
Nathan Sidwell 0ab142b027 class.c (mark_primary_virtual_base): Don't adjust base offsets here.
cp:
	* class.c (mark_primary_virtual_base): Don't adjust base
	offsets here.
	(dfs_unshared_virtual_bases): Adjust them here.
	(mark_primary_bases): Explain why we adjust at the end.
testsuite:
	* g++.dg/abi/vbase8-21.C: New test.

From-SVN: r44425
2001-07-27 15:12:49 +00:00
Nathan Sidwell d60d223b17 class.c (finish_struct_1): When copying the primary base's VFIELD, make sure we find it is at offset zero.
cp:
	* class.c (finish_struct_1): When copying the primary base's
	VFIELD, make sure we find it is at offset zero.
testsuite:
	* g++.dg/abi/vbase8-10.C: New test.

From-SVN: r44421
2001-07-27 15:07:40 +00:00
Rainer Orth 08ecdbebab g++.exp (g++_set_ld_library_path): Renamed to ${tool}_set_ld_library_path.
gcc/testsuite:
	* lib/g++.exp (g++_set_ld_library_path): Renamed to
	${tool}_set_ld_library_path.
	Changed caller.
	* lib/objc.exp (${tool}_set_ld_library_path): New, copied from
	g++.exp.

	libjava/testsuite:
	* lib/libjava.exp (${tool}_set_ld_library_path): New, copied from
	g++.exp.

From-SVN: r44420
2001-07-27 12:21:56 +00:00
Gerald Pfeifer e69aa43364 install.texi (Configuration): Properly link the host specific instructions also when generating HTML.
* doc/install.texi (Configuration): Properly link the host
	specific instructions also when generating HTML.

From-SVN: r44416
2001-07-27 08:48:38 +00:00
GCC Administrator e42834b84a Daily bump.
From-SVN: r44415
2001-07-27 07:16:44 +00:00
Richard Henderson 2a08c780d3 gcc_update: Dump timestamp in LAST_UPDATED.
* contrib/gcc_update: Dump timestamp in LAST_UPDATED.
        * .cvsignore: Add LAST_UPDATED.

From-SVN: r44413
2001-07-26 23:00:45 -07:00
John Wehle a727094f58 flow.c (redirect_edge_and_branch_force): Test target->global_live_at_start.
* flow.c (redirect_edge_and_branch_force): Test
	target->global_live_at_start.

From-SVN: r44412
2001-07-27 04:35:18 +00:00
Richard Henderson 732910b9c5 simplify-rtx.c (avoid_constant_pool_reference): Export.
* simplify-rtx.c (avoid_constant_pool_reference): Export.
        * rtl.h (avoid_constant_pool_reference): Declare it.
        * dwarf2out.c (add_location_or_const_value_attribute): Use it.
        (add_const_value_attribute): Use add_AT_unsigned for unsigned values.

From-SVN: r44411
2001-07-26 16:47:15 -07:00
Stan Cox 62ba5f39b2 g++.exp (g++_exit, [...]): Removed.
* lib/g++.exp (g++_exit, g++_check_unsupported_p): Removed.
	* lib/gcc.exp (gcc_check_compile, gcc_pass, gcc_fail, gcc_finish,
	gcc_exit, gcc_check_unsupported_p):
	Moved to gcc-deps.exp
	* gcc-deps.exp: New file.

From-SVN: r44410
2001-07-26 21:38:14 +00:00
Jan Hubicka 01f62f016b rtl.h (cleanup_barriers): Declare.
* rtl.h (cleanup_barriers): Declare.
	* jump.c (cleanup_barriers): New function.
	* toplev.c (rest_of_compilation): Call cleanup_barriers
	before loop optimizer and after bb_reorder.

	* flow.c (back_edge_of_syntactic_loop_p): New.
	(split_edge): Use it.

From-SVN: r44409
2001-07-26 20:36:01 +00:00
Rainer Orth aa069f77b2 * glimits.h (_MACH_MACHLIMITS_H_): Delete.
From-SVN: r44408
2001-07-26 20:19:15 +00:00
Denis Chertykov c96208fae7 cse.c (cse_process_notes): Replace any registers if the address remains valid.
* cse.c (cse_process_notes): Replace any registers if the address
	remains valid.

From-SVN: r44406
2001-07-26 22:31:01 +04:00
John Wehle 11f6816516 basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
* basic-block.h (PROP_ALLOW_CFG_CHANGES): Define.
	(PROP_FINAL): Include PROP_ALLOW_CFG_CHANGES.
	(propagate_block): Update prototype.
	* flow.c (update_life_info): Simplify the CFG and
	recalculate the global regs which are alive when
	removing dead code during a global update.
	(propagate_block): Return non-zero if an INSN is
	deleted.

From-SVN: r44403
2001-07-26 18:06:45 +00:00
Rainer Orth 62c62a4fde Makefile.in (LIBICONV): Define.
2001-07-26  Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>

	* Makefile.in (LIBICONV): Define.

From-SVN: r44401
2001-07-26 12:27:36 -04:00
Catherine Moore 06e937ed39 v850.h (ENCODE_SECTION_INFO): Change order of conditional to avoid tree checking errors.
* config/v850/v850.h (ENCODE_SECTION_INFO):  Change order
        of conditional to avoid tree checking errors.

From-SVN: r44400
2001-07-26 11:42:54 -04:00
Kazu Hirata f302906571 regmove.c (regmove_optimize): Don't replace a reg with another reg of a different mode.
* regmove.c (regmove_optimize): Don't replace a reg with
	another reg of a different mode.

From-SVN: r44399
2001-07-26 15:23:07 +00:00
Andrew MacLeod 4a121cc34c params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to limit length of dependancy flush list.
2001-07-26  Andrew MacLeod  <amacleod@redhat.com>

	* params.def (PARAM_MAX_PENDING_LIST_LENGTH): Add parameter to
	limit length of dependancy flush list.
	* params.h (MAX_PENDING_LIST_LENGTH): Define.
	* sched-int.h  (struct deps): Add pending_flush_length field.
	* sched-deps.c (flush_pending_lists): Last_pending_memory_flush now
	has 1 element in it.
	(sched_analyze_1): Use MAX_PENDING_LIST_LENGTH.
	(sched_analyze): After a jump, if the pending memory flush list is too
	large, flush the pending lists.
	(init_deps): Initialize pending_flush_length to 0.
	* doc/invoke.texi (max_pending_list_length): Document parameter.

From-SVN: r44398
2001-07-26 13:59:22 +00:00