Commit Graph

36547 Commits

Author SHA1 Message Date
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
Kriang Lerdsuwanakij
db3ef87b8a pt.c (tsubst_template_parms): Call maybe_fold_nontype_arg and tsubst_expr for default template arguments.
2001-07-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* pt.c (tsubst_template_parms): Call maybe_fold_nontype_arg and
	tsubst_expr for default template arguments.

2001-07-22  Kriang Lerdsuwanakij  <lerdsuwa@users.sourceforge.net>

	* g++.old-deja/g++.pt/defarg14.C: New test.

From-SVN: r44396
2001-07-26 12:48:01 +00:00
Bryce McKinlay
fa397ddafb Calendar.java (set): Never recompute fields here.
* java/util/Calendar.java (set): Never recompute fields here. They
	will already be set if someone set time explicitly, and it can cause
	problems to do so. Don't invalidate AM_PM setting if HOUR is set.
	* java/util/GregorianCalendar.java (computeTime): Don't ignore an
	HOUR setting if AM_PM is set. Don't try to ensure the HOUR value is
	sane.
	* java/text/SimpleDateFormat.java (defaultCentury): New field.
	(readObject): Call set2DigitYearStart if appropriate so that
	defaultCentury is calculated.
	(SimpleDateFormat): Don't bother clearing calendar here. Call
	computeCenturyStart().
	(set2DigitYearStart): Calculate and set defaultCentury.
	(format): Don't clone the calendar. Use "calendar" not "theCalendar"
	everywhere.
	(parse): Likewise. If the pattern is "y" or "yy" and it found exactly
	2 numeric digits, use the 80-20 heuristic to parse the value into a
	default century based on defaultCenturyStart.
	(computeCenturyStart): Rewritten. Call set2DigitYearStart().

From-SVN: r44395
2001-07-26 12:21:45 +01:00
Daniel Jacobowitz
2cf50fd3a4 * Makefile.in (regex.o): Add dependency on config.h.
From-SVN: r44394
2001-07-26 08:41:40 +00:00
Nathan Sidwell
312b7c9dd9 spew.c (yylex): Only copy the token's lineno, if it is non-zero.
cp:
	* spew.c (yylex): Only copy the token's lineno, if it is
	non-zero.
testsuite:
	* g++.old-deja/g++.other/lineno5.C: New test.

From-SVN: r44391
2001-07-26 08:15:43 +00:00
Nathan Sidwell
648c220695 re PR c++/3624 (Internal error: Segmentation fault)
cp:
	PR c++/3624
	* call.c (resolve_args): Simplify, call
	convert_from_reference.
	(build_new_op): Resolve and convert from reference ARG1
	earlier. Adjust ARG2 & ARG3 resolve and conversion.
testsuite:
	* g++.old-deja/g++.pt/crash68.C: New test.

From-SVN: r44388
2001-07-26 08:12:00 +00:00
Nathan Sidwell
969fd501d6 re PR c++/3152 (g++-3.0 segfaults when compiling program using -g)
cp:
	* decl.c (last_function_parm_tags): Remove.
	(current_function_parm_tags): Remove.
	(init_decl_processing): Adjust.
	(start_function): Adjust.
	(store_parm_decls): Adjust.

	PR c++/3152
	* decl.c (grokdeclarator): Detect when a function typedef is
	declaring a function, and create last_function_parms correctly.
testsuite:
	* g++.old-deja/g++.other/crash42.C: New test.

From-SVN: r44387
2001-07-26 08:07:56 +00:00
GCC Administrator
4d10215152 Daily bump.
From-SVN: r44383
2001-07-26 07:16:10 +00:00
Neil Booth
440aabf865 toplev.c, [...]: Include xcoffout.h if appropriate.
* toplev.c, varasm.c, final.c: Include xcoffout.h if appropriate.
	* dbxout.c (dbxout_global_decl): Move outside #ifdef.
	* Makefile.in (varasm.o, final.o, toplev.o): Update dependencies.

From-SVN: r44382
2001-07-26 06:56:13 +00:00
Andreas Jaeger
a6ed70ef1d * analyze_brprob: Fix documentation.
From-SVN: r44381
2001-07-26 08:41:48 +02:00
Neil Booth
cef0d199d2 cpphash.h (struct_lexer_state): Delete was_skipping.
* cpphash.h (struct_lexer_state): Delete was_skipping.
	Move skipping here from struct cpp_reader.
	* cpplex.c (parse_identifier): Update.
	(_cpp_lex_token): Don't skip tokens in a directive.
	* cpplib.c (struct if_stack): Update.
	(start_directive, end_directive): Don't change skipping state.
	(_cpp_handle_directive): Update.
	(do_ifdef, do_ifndef, do_if, do_elif): Similarly.
	(do_else, do_endif): Update; only check for excess tokens if not
	in a skipped conditional block.
	(push_conditional): Update for new struct if_stack.

	* gcc.dg/cpp/extratokens.c: Fix.
	* gcc.dg/cpp/skipping2.c: New tests.

From-SVN: r44380
2001-07-26 06:02:47 +00:00
Graham Stott
2e824adbe4 function.c (locate_and_pad_parm): Also pad initial offset so that the total argument size also includes the padding.
* function.c (locate_and_pad_parm): Also pad initial offset
        so that the total argument size also includes the padding.

From-SVN: r44379
2001-07-26 05:45:25 +00:00
Graham Stott
66621f9e02 gensupport.c (alter_output_for_insn): Correct enable checking failure change XSTR to XTMPL.
* gensupport.c (alter_output_for_insn): Correct enable checking failure
        change XSTR to XTMPL.

        (process_one_cond_exec): Likewise

From-SVN: r44378
2001-07-26 05:44:18 +00:00
Graham Stott
5b16f5560b function.c (locate_and_pad_parm): Also pad initial offset so that the total argument size also includes the padding.
* function.c (locate_and_pad_parm): Also pad initial offset
        so that the total argument size also includes the padding.

        * gensupport.c (alter_output_for_insn): Correct enable checking failure
        change XSTR to XTMPL.

        (process_one_cond_exec): Likewise

From-SVN: r44377
2001-07-26 05:43:34 +00:00
H.J. Lu
3f19669a7c configure.target (cpu_include_dir): Set to `config/cpu/mips' for mips.
2001-07-25  H.J. Lu <hjl@gnu.org>

	* configure.target (cpu_include_dir): Set to `config/cpu/mips'
	for mips.

	* config/cpu/mips/bits/atomicity.h: New.

From-SVN: r44375
2001-07-25 22:04:48 -07:00
H.J. Lu
95b02d7e3a configure.target (cpu_include_dir): Set to `config/cpu/mips' for mips.
2001-07-25  H.J. Lu <hjl@gnu.org>

	* configure.target (cpu_include_dir): Set to `config/cpu/mips'
	for mips.

	* config/cpu/mips/bits/atomicity.h: New.

[[Split portion of a mixed commit.]]

From-SVN: r44374.2
2001-07-25 22:04:48 -07:00