Commit Graph

32795 Commits

Author SHA1 Message Date
Michael Hayes
96a45535c3 hard-reg-set.h: Add multiple include guard.
* hard-reg-set.h: Add multiple include guard.
	* basic-block.h (struct loop): Add `sink' field.
	* loop.h: Include sbitmap.h, hard-reg-set.h, and basic-block.h.
	(emit_iv_add_mult): Delete.
	(loop_iv_add_mult_hoist, loop_iv_add_mult_sink): Define.
	(loop_iv_add_mult_emit_before, loop_insn_sink): Define.
	(unroll_loop): Remove end_insert_before argument.
	* loop.c (loop_givs_rescan): Remove end_insert_before argument.
	(maybe_eliminate_biv_1): Likewise.
	(emit_iv_add_mult): Delete.
	(gen_add_mult, loop_regs_update): New.
	(loop_insn_emit_after, loop_insn_emit_before): New.
	(loop_insn_sink, loop_insn_sink_or_swim): New.
	(emit_iv_add_mult): Delete.
	(scan_loop): Set loop->sink.
	(loop_givs_reduce): Use loop_insn_sink and its ilk.
	(loop_givs_rescan, strength_reduce, check_dbra_loop): Likewise.
	(maybe_eliminate_biv_1): Likewise.
	(maybe_eliminate_biv_1): Add basic block argument.
	* unroll.c (unroll_loop): Remove end_insert_before argument.
	(find_splittable_regs): Likewise.
	(find_splittable_regs): Use loop_insn_sink and its ilk.
	(find_splittable_givs, final_biv_value, final_giv_value): Likewise.

From-SVN: r38766
2001-01-07 10:38:29 +00:00
Michael Hayes
804a718aac loop.h (loop_insn_hoist): New prototype.
* loop.h (loop_insn_hoist): New prototype.
	* loop.c (loop_insn_hoist, loop_insn_emit_before): New.
	(move_movables, loop_givs_rescan): Use loop_insn_hoist.
	(check_dbra_loop, load_mems): Likewise.
	* unroll.c (unroll_loop, find_splittable_regs): Likewise.
	(find_splittable_givs): Likewise.

From-SVN: r38765
2001-01-07 10:03:39 +00:00
Michael Hayes
30a1181af5 * loop.c (emit_iv_add_mult): Use single_set to examine new insn.
From-SVN: r38764
2001-01-07 09:59:09 +00:00
Richard Henderson
cabf38914c * sched-rgn.c (is_cfg_nonregular): Fix thinko's last change.
From-SVN: r38763
2001-01-07 01:53:21 -08:00
Richard Henderson
9db0819efc Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and NO_SHARED_LIBGCC_MULTILIB as required for the...
* Makefile.in (DRIVER_DEFINES): Define ENABLE_SHARED_LIBGCC and
        NO_SHARED_LIBGCC_MULTILIB as required for the target.
        * gcc.c (init_spec): Massage the existing libgcc_spec into a
        variant that handles a shared libgcc.
        (process_command): Always validate -{static,shared}-libgcc.
        (do_spec_1): New 'M' case.
        * invoke.text (Link Options): Document -{static,shared}-libgcc.

From-SVN: r38762
2001-01-07 01:42:49 -08:00
Richard Henderson
2bbea3a6c7 Makefile.in (slibdir): New variable.
* Makefile.in (slibdir): New variable.
        (libgcc.mk): Pass SHLIB_INSTALL to mklibgcc.
        (installdirs): Create slibdir.
        (install-libgcc, install-multilib): Defer to libgcc.mk.
        * configure.in (slibdir): Substitute.
        * mklibgcc.in (install): New target.

        * config/t-linux (SHLIB_LINK): Create links for the soname.
        (SHLIB_INSTALL): New.
        * config/alpha/t-osf4 (SHLIB_INSTALL): New.
        * config/mips/t-iris6 (SHLIB_INSTALL): New.
        * config/rs6000/t-aix43 (SHLIB_INSTALL): New.
        * config/sparc/t-slibgcc (SHLIB_INSTALL): New.
        * config/sparc/t-slibgcc-sld (SHLIB_INSTALL): New.

From-SVN: r38761
2001-01-07 01:27:25 -08:00
Richard Henderson
fc51424cc9 aix.h (LINK_LIBGCC_SPECIAL_1): New.
* config/rs6000/aix.h (LINK_LIBGCC_SPECIAL_1): New.
        * config/rs6000/rs6000.h (LIBGCC_SPEC): Remove.
        * config/rs6000/sysv4.h (LIBGCC_SPEC): Remove.

From-SVN: r38760
2001-01-07 01:17:24 -08:00
Jeff Law
df1e4b741f Daily bump.
From-SVN: r38759
2001-01-07 01:45:08 -07:00
Michael Hayes
1d7ae25007 loop.c (count_loop_regs_set): Delete.
* loop.c (count_loop_regs_set): Delete.
	(load_mems_and_recount_loop_regs_set): Delete.
	(loop_regs_scan): Merge common code from count_loop_regs_set,
	scan_loop, and load_mems_and_recount_loop_regs_set.
	(scan_loop): Call load_mems directly and loop_regs_scan
	again if new registers created.

From-SVN: r38758
2001-01-07 03:59:47 +00:00
Neil Booth
cd2a3ba227 toplev.c (main): Call the front-end specific post_options hook if one is given.
* toplev.c (main): Call the front-end specific post_options
        hook if one is given.
        * toplev.h (struct_lang_hooks, lang_hooks): New.
        * c-lang.c (c_post_options, lang_hooks): Implement lang_hooks
        for the C front end.
        * cp/decl2.c (cxx_post_options, lang_hooks): Implement
        lang_hooks for the C++ front end.
        * objc/objc-act.c (objc_post_options, lang_hooks): Implement
        lang_hooks for the ObjC front end.
        * f/com.c (lang_hooks): Hooks for the Fortran front end.
        * java/lang.c (lang_hooks): Hooks for the Java front end.

From-SVN: r38757
2001-01-07 03:34:28 +00:00
Neil Booth
65289a3a42 c-lex.c (init_c_lex): Request #define / #undef callbacks for verbose DWARF[2] debugging.
* c-lex.c (init_c_lex): Request #define / #undef callbacks
        for verbose DWARF[2] debugging.
        (cb_define, cb_undef): The new callbacks.
        * toplev.h (debug_define, debug_undef): Make const correct.
        * toplev.c (debug_define, debug_undef): Similarly.  Do not
        perform the verbosity tests here anymore.

From-SVN: r38756
2001-01-07 03:25:07 +00:00
Alexandre Oliva
f759eb8bf0 reload.c (subst_reloads): Take INSN argument.
* reload.c (subst_reloads): Take INSN argument.  When
replacing a LABEL_REF in a JUMP_INSN, add a REG_LABEL note.
* reload.h (subst_reloads): Adjust prototype.
* reload1.c (reload_as_needed): Pass INSN to subst_reloads.
* jump.c (mark_all_labels): Canonicalize any REG_LABEL notes
present in JUMP_INSNs and copy them to JUMP_LABEL.
* flow.c (find_label_refs, find_basic_blocks_1): Skip
JUMP_INSNs and insns with REG_LABELs that are followed by
JUMP_INSNs with the same REG_LABEL.
* sched-rgn.c (is_cfg_nonregular): Likewise.
* rtlanal.c (computed_jump_p): Make it false if a REG_LABEL
note is available.
* unroll.c (unroll_loop): Look for REG_LABEL notes in
JUMP_INSNs too.
* rtl.texi (REG_LABEL): Document usage in JUMP_INSNs.

From-SVN: r38755
2001-01-07 02:26:51 +00:00
Anthony Green
0e2e89fd2e Fix comments for doclets
From-SVN: r38754
2001-01-06 23:28:40 +00:00
Alexandre Oliva
a7c5235271 * gcc.c-torture/execute/20010106-1.c: New test.
From-SVN: r38753
2001-01-06 23:15:05 +00:00
Richard Henderson
587f56c241 loop.c (scan_loop): Use xcalloc for the regs array.
* loop.c (scan_loop): Use xcalloc for the regs array.
        (load_mems_and_recount_loop_regs_set): Zero the new memory
        received from xrealloc.

From-SVN: r38752
2001-01-06 15:13:58 -08:00
Joseph Myers
cd5662732a format.exp: New file.
* gcc.dg/format/format.exp: New file.
	* gcc.dg/c90-printf-1.c: Rename to gcc.dg/format/c90-printf-1.c.
	* gcc.dg/c90-printf-2.c: Rename to gcc.dg/format/c90-printf-2.c.
	* gcc.dg/c90-printf-3.c: Rename to gcc.dg/format/c90-printf-3.c.
	* gcc.dg/c94-printf-1.c: Rename to gcc.dg/format/c94-printf-1.c.
	* gcc.dg/c99-printf-1.c: Rename to gcc.dg/format/c99-printf-1.c.
	* gcc.dg/c99-printf-2.c: Rename to gcc.dg/format/c99-printf-2.c.
	* gcc.dg/c99-printf-3.c: Rename to gcc.dg/format/c99-printf-3.c.
	* gcc.dg/c90-scanf-1.c: Rename to gcc.dg/format/c90-scanf-1.c.
	* gcc.dg/c90-scanf-2.c: Rename to gcc.dg/format/c90-scanf-2.c.
	* gcc.dg/c90-scanf-3.c: Rename to gcc.dg/format/c90-scanf-3.c.
	* gcc.dg/c90-scanf-4.c: Rename to gcc.dg/format/c90-scanf-4.c.
	* gcc.dg/c94-scanf-1.c: Rename to gcc.dg/format/c94-scanf-1.c.
	* gcc.dg/c99-scanf-1.c: Rename to gcc.dg/format/c99-scanf-1.c.
	* gcc.dg/c99-scanf-2.c: Rename to gcc.dg/format/c99-scanf-2.c.
	* gcc.dg/c99-scanf-3.c: Rename to gcc.dg/format/c99-scanf-3.c.
	* gcc.dg/c90-strftime-1.c: Rename to gcc.dg/format/c90-strftime-1.c.
	* gcc.dg/c90-strftime-2.c: Rename to gcc.dg/format/c90-strftime-2.c.
	* gcc.dg/c99-strftime-1.c: Rename to gcc.dg/format/c99-strftime-1.c.
	* gcc.dg/c99-strftime-2.c: Rename to gcc.dg/format/c99-strftime-2.c.
	* gcc.dg/format-array-1.c: Rename to gcc.dg/format/array-1.c.
	* gcc.dg/format-attr-1.c: Rename to gcc.dg/format/attr-1.c.
	* gcc.dg/format-branch-1.c: Rename to gcc.dg/format/branch-1.c.
	* gcc.dg/format-diag-1.c: Rename to gcc.dg/format/diag-1.c.
	* gcc.dg/format-errmk-1.c: Rename to gcc.dg/format/errmk-1.c.
	* gcc.dg/format-ext-1.c: Rename to gcc.dg/format/ext-1.c.
	* gcc.dg/format-ext-2.c: Rename to gcc.dg/format/ext-2.c.
	* gcc.dg/format-ext-3.c: Rename to gcc.dg/format/ext-3.c.
	* gcc.dg/format-ext-4.c: Rename to gcc.dg/format/ext-4.c.
	* gcc.dg/format-ext-5.c: Rename to gcc.dg/format/ext-5.c.
	* gcc.dg/format-miss-1.c: Rename to gcc.dg/format/miss-1.c.
	* gcc.dg/format-miss-2.c: Rename to gcc.dg/format/miss-2.c.
	* gcc.dg/format-no-exargs-1.c: Rename to gcc.dg/format/no-exargs-1.c.
	* gcc.dg/format-no-y2k-1.c: Rename to gcc.dg/format/no-y2k-1.c.
	* gcc.dg/format-nonlit-1.c: Rename to gcc.dg/format/nonlit-1.c.
	* gcc.dg/format-nonlit-2.c: Rename to gcc.dg/format/nonlit-2.c.
	* gcc.dg/format-nonlit-3.c: Rename to gcc.dg/format/nonlit-3.c.
	* gcc.dg/format-sec-1.c: Rename to gcc.dg/format/sec-1.c.
	* gcc.dg/format-strfmon-1.c: Rename to gcc.dg/format/strfmon-1.c.
	* gcc.dg/format-va-1.c: Rename to gcc.dg/format/va-1.c.
	* gcc.dg/format-warnll-1.c: Rename to gcc.dg/format/warnll-1.c.
	* gcc.dg/format-xopen-1.c: Rename to gcc.dg/format/xopen-1.c.
	* gcc.dg/formatz-1.c: Rename to gcc.dg/format/z-1.c.

From-SVN: r38749
2001-01-06 18:47:19 +00:00
Neil Booth
fa6f74f611 * mkdeps.c (deps_add_dep): Fix vector re-allocation.
From-SVN: r38748
2001-01-06 11:08:49 +00:00
J"orn Rennecke
ea55fa7ab1 integrate.c (copy_rtx_and_substitute): When copying an ignored return value, strip REG_FUNCTION_VALUE_P.
* integrate.c (copy_rtx_and_substitute): When copying
	an ignored return value, strip REG_FUNCTION_VALUE_P.

From-SVN: r38747
2001-01-06 09:06:13 +00:00
Jeff Law
3cccebf27b Daily bump.
From-SVN: r38746
2001-01-06 01:45:08 -07:00
Bryce McKinlay
ac39dac023 From patha@softlab.ericsson.se:
* parse.y (switch_label): Use build, not build1, to construct
	DEFAULT_EXPR.

From-SVN: r38745
2001-01-06 05:06:02 +00:00
Michael Hayes
c804f3f88d loop.c (debug_biv, debug_giv): New.
* loop.c (debug_biv, debug_giv): New.
	(loop_biv_dump): Break out from ...
	(record_biv): ... here.
	(loop_giv_dump): Break out from ...
	(record_giv): ... here.
	(loop_bivs_check): Use print_simple_rtl.
	* unroll.c (loop_iterations): Use print_simple_rtl.

From-SVN: r38744
2001-01-06 03:24:58 +00:00
Benjamin Kosnik
d358ecd01f [multiple changes]
2001-01-05  Benjamin Kosnik  <bkoz@redhat.com>

	Fix 27_io/filebuf_members.cc
	* src/localename.cc (locale::_Impl::_Impl(const _Impl& __imp,
	const string& __name, category __cat, size_t __refs): Set
	_M_has_name with _M_name.
	* include/bits/localefwd.h (locale::operator!=): Protect member
	function call with this->.
	* src/locale.cc (locale::operator==): Make fast checks first.
	* include/bits/basic_ios.tcc (basic_ios::init): Simplify.

	* include/bits/ios_base.h (_M_synced_with_stdio): Add data member
	to ios_base::Init.
	* src/ios.cc (ios_base::Init::Init): Initialize here.
	(ios_base::sync_with_stdio): Set here.

2001-01-04  Loren J. Rittle  <ljrittle@acm.org>

        * config/c_io_stdio.cc (__basic_file<_CharT>::sys_open()): On
        systems that support it, call dup() before fdopen().

From-SVN: r38742
2001-01-06 02:44:11 +00:00
John David Anglin
d492b0963a pa.md (return, [...]): Modify patterns to prevent regrename mucking with the return pointer.
* pa.md (return, return_internal): Modify patterns to prevent regrename
	mucking with the return pointer.

From-SVN: r38741
2001-01-05 18:12:02 -07:00
Mike Stump
476e49bde1 Testcase for recent checkin.
From-SVN: r38740
2001-01-06 01:02:04 +00:00
Mike Stump
a4dff5f3b0 varasm.c (assemble_name): Ensure we output the stripped name.
* varasm.c (assemble_name): Ensure we output the stripped name.
Fixes s35520.C.

From-SVN: r38739
2001-01-06 01:00:23 +00:00
Richard Henderson
1917ef852c Update copyright.
From-SVN: r38738
2001-01-05 16:59:05 -08:00
Richard Henderson
f7d2b0ed70 * dwarf2out.c (mem_loc_descriptor) [case MEM]: Revert 10-31 change.
From-SVN: r38737
2001-01-05 16:57:48 -08:00
Nick Clifton
0426e04997 Faster __mulsi routine
From-SVN: r38736
2001-01-06 00:46:33 +00:00
Neil Booth
f7114e1750 cpp.texi: Update for -MQ.
* cpp.texi: Update for -MQ.
        * cppinit.c (cpp_create_reader): Always create pfile->deps.
        (cpp_cleanup): Always free pfile->deps.
        (initialize_dependency_output): Don't create pfile->deps.
        (cpp_handle_option): Similarly.
        (OPT_MQ): New.
        * gcc.c (cpp_options): Handle -MQ.
        (DEFAULT_WORD_SWITCH_TAKES_ARG): Add -MQ.
        * mkdeps.c (base_name): Remove.
        (deps_init): Don't allocate vector space until it's needed.
        (deps_free): Only free vectors if allocated.
        (deps_add_target, deps_add_dep): Update for initial allocation.
        (deps_add_default_target): Don't strip to the base_name.

From-SVN: r38735
2001-01-06 00:15:29 +00:00
DJ Delorie
a64761a3ca Implement __builtin_return_address (0)
From-SVN: r38734
2001-01-06 00:00:35 +00:00
Zack Weinberg
f4cdc36834 cpplib.h (struct cpp_reader): Add help_only field.
* cpplib.h (struct cpp_reader): Add help_only field.
	* cppinit.c (COMMAND_LINE_OPTIONS): Add OPT_version.
	(cpp_handle_option): Set pfile->help_only if we see -h,
	--help, -target-help, or --version.  Print version string but
	do not set help_only if we see -v or -version.  Make text
	printed by -v match that printed by (-)-version.

	* cppmain.c (main): Exit after option parsing if
	pfile->help_only is true.

	* toplev.c (independent_decode_option): Call print_version,
	then exit, if we see --version (but not -version).
	(print_version): Split lengthy message into two lines.

From-SVN: r38733
2001-01-05 23:41:00 +00:00
Nick Clifton
3326b760b3 Use alloca to create temporary string for initialisation before calling
ggc_alloc_string.

From-SVN: r38732
2001-01-05 23:31:43 +00:00
Bryce McKinlay
a7fabf19be * java/io/PipedReader: Synchronize on "lock" instead of this.
From-SVN: r38731
2001-01-05 23:30:50 +00:00
Michael Hayes
75b7557d49 rtl.h (print_simple_rtl): New.
* rtl.h (print_simple_rtl): New.
	* print-rtl.c (print_simple_rtl): New.
	(flag_simple): New.
	(print_rtx): Disable printing of flags and modes, etc.,
        if `flag_simple` nonzero.

From-SVN: r38730
2001-01-05 23:30:02 +00:00
Zack Weinberg
b05467dc15 function.c (fixup_var_refs): Use push_to_full_sequence where possible.
* function.c (fixup_var_refs): Use push_to_full_sequence where
	possible.

From-SVN: r38729
2001-01-05 23:23:26 +00:00
Michael Meissner
b883f80146 Declare flag_reorder_blocks and flag_rename_registers
From-SVN: r38728
2001-01-05 22:56:08 +00:00
Alexandre Oliva
1cca43ea27 Note that INSN_PTR may be the note at the beginning of a block
From-SVN: r38726
2001-01-05 22:06:56 +00:00
Alexandre Oliva
336bc4aede 991228-1.c: Take word endianness into account.
* gcc.c-torture/execute/991228-1.c: Take word endianness into
account.

From-SVN: r38725
2001-01-05 22:06:29 +00:00
DJ Delorie
cc1fe44fe8 function.c (reorder_blocks): Make sure the flags are all reset before using them to mark blocks...
* function.c (reorder_blocks): Make sure the flags are all reset
before using them to mark blocks, else a second invocation will
corrupt the block chain.
(reorder_blocks_0): New, resets the flags.

From-SVN: r38724
2001-01-05 16:13:42 -05:00
J"orn Rennecke
8b03b9843b cse.c (find_comparison_args): Stop if the argument is known to be constant.
* cse.c (find_comparison_args): Stop if the argument is known to
	be constant.

From-SVN: r38723
2001-01-05 20:42:30 +00:00
Alexandre Oliva
18a7c2a7a1 sh.md (movdf): When splitting load into pair of registers...
* config/sh/sh.md (movdf): When splitting load into pair of
registers, don't clobber the register used in the address too
early.

From-SVN: r38722
2001-01-05 20:30:40 +00:00
Jeffrey Oldham
fcbd8ef220 varasm.c (mark_constant_pool): Improve initial comments.
2001-01-05  Jeffrey Oldham  <oldham@codesourcery.com>

	* varasm.c (mark_constant_pool): Improve initial comments.
	(mark_constants): Move marking of constants to mark_constant.
	(mark_constant): New function to recursively mark all constants
	referred to by a constant.

From-SVN: r38721
2001-01-05 20:25:09 +00:00
Catherine Moore
ebb0cdf335 (dbxout_parms): Handle invisible ref where decl is a REG
From-SVN: r38720
2001-01-05 15:15:24 -05:00
Phil Edwards
3b4e6a1644 lang-options.h: Bring comment in line with reality.
2001-01-05  Phil Edwards  <pme@sources.redhat.com>

	* cp/lang-options.h:  Bring comment in line with reality.
	* f/lang-options.h:  Likewise.
	* java/lang-options.h:  Likewise.
	* objc/lang-options.h:  Likewise.
	* ch/lang-options.h:  Likewise.
	* f/g77.texi:  And update the manual.

From-SVN: r38719
2001-01-05 19:12:21 +00:00
Marek Michalkiewicz
dcfb1a361b avr-protos.h (avr_peep2_scratch_safe): Prototype.
* config/avr/avr-protos.h (avr_peep2_scratch_safe): Prototype.
	* config/avr/avr.c (avr_peep2_scratch_safe): New function.
	* config/avr/avr.md (all peepholes that request a scratch register):
	Call it, FAIL the peephole if not safe (in interrupt functions).

Co-Authored-By: Denis Chertykov <denisc@overta.ru>

From-SVN: r38718
2001-01-05 22:08:46 +03:00
Mark Mitchell
cef3d50c9f * ggc-page.c (NUM_EXTRA_ORDERS): Hardwire to zero for now.
From-SVN: r38717
2001-01-05 18:48:12 +00:00
Joseph Myers
341e3d1169 builtins.def (BUILT_IN_CONJ, [...]): Define.
* builtins.def (BUILT_IN_CONJ, BUILT_IN_CREAL, BUILT_IN_CIMAG):
	Define.
	* builtins.c (expand_builtin): Abort on BUILT_IN_CONJ,
	BUILT_IN_CREAL and BUILT_IN_CIMAG.
	* c-common.c (c_common_nodes_and_builtins): Create builtin conjf,
	conj, conjl, crealf, creal, creall, cimagf, cimag and cimagl.
	(expand_tree_builtin): Handle BUILT_IN_CONJ, BUILT_IN_CREAL and
	BUILT_IN_CIMAG.
	* extend.texi: Document these builtins.

testsuite:
	* gcc.c-torture/execute/builtin-complex-1.c: New test.

From-SVN: r38716
2001-01-05 18:24:08 +00:00
Daniel Berlin
604bb87de9 VECTOR_TYPE fixes for aliasing, and dwarf2 output.
From-SVN: r38715
2001-01-05 17:22:30 +00:00
Nathan Sidwell
220bce48e5 parse.y (template_datadef): Check for error_mark_node.
cp:
	* parse.y (template_datadef): Check for error_mark_node.
testsuite:
	* g++.old-deja/g++.pt/crash62.C: New test.

From-SVN: r38714
2001-01-05 16:35:36 +00:00
Bruce Korb
15fe1a7ed1 fix exit and atexit calls for vax-*-bsd systems
From-SVN: r38713
2001-01-05 16:28:58 +00:00