Commit Graph

36433 Commits

Author SHA1 Message Date
Clinton Popetz
57de7530c4 unroll.c (loop_iterations): Fix miscalculation of initial giv offset.
* unroll.c (loop_iterations): Fix miscalculation of initial
	giv offset.

From-SVN: r44272
2001-07-23 12:58:29 -04:00
David Edelsohn
cba6dfc843 limits_generic.h (int): Set digits and digits10 appropriately for word size.
* include/bits/limits_generic.h (int): Set digits and digits10
	appropriately for word size.
	(unsigned int,long,unsigned long): Likewise.

From-SVN: r44271
2001-07-23 12:41:03 -04:00
Jeffrey A Law
1ee6b83994 * gcc.c-torture/execute/20010723-1.c: New test.
From-SVN: r44270
2001-07-23 10:13:51 -06:00
Andrew Haley
6e7b03e1f5 tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
2001-07-13  Andrew Haley  <aph@redhat.com>

        * doc/tm.texi (MD_CAN_REDIRECT_BRANCH): New macro.
        * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): New macro.
        * config/sh/sh.c (sh_can_redirect_branch): New function.
        * config/sh/sh-protos.h (sh_can_redirect_branch): Declare.
        * reorg.c (steal_delay_list_from_target): Use
        MD_CAN_REDIRECT_BRANCH to see if redirection is possible.

From-SVN: r44269
2001-07-23 16:00:06 +00:00
Jan Hubicka
0dd94abd70 flow.c (try_simplify_condjump): Unlink insn chain on fallthru edge; use can_fallthru.
* flow.c (try_simplify_condjump): Unlink insn chain on
	fallthru edge; use can_fallthru.

From-SVN: r44268
2001-07-23 15:27:33 +00:00
Jan Hubicka
0005550b58 basic-block.h (find_sub_basic_block): Declare.
* basic-block.h (find_sub_basic_block): Declare.
	* flow.c (make_edges): New arguments MIN and MAX;
	(find_sub_basic_blocks): Revamp to use make_edges
	and purge_dead_edges.
	(find_basic_blocks): Update call of find_sub_basic_block.

	* recog.c (split_all_insns): Always expect CFG to be consistent;
	call find_sub_basic_blocks in case something has changed.
	* toplev.c (rest_of_compilation): Always call split_all_insns once CFG
	has been built.

	* basic-block.h (delete_noop_moves): Declare.
	* combine.c (combine_instructions): Call it.
	(recog_for_combine): Tolerate noop moves
	(distribute_notes): Force refresh when register dies at noop move.
	* flow.c (delete_noop_moves): Use BB structure; delete JUMP insns
	too.
	(life_analysis): Update delete_noop_moves call.
	(set_noop_p): Move too ...
	* rtlanal.c (noop_move_p): ... here.
	* rtl.h (noop_move_p): Declare.

	* basic-block.h (purge_all_dead_edges, purge_dead_edges): New functions.
	* toplev.c (rest_of_compilation): Conditionally call purge_all_dead_edges
	after combine.
	* gcse.c (cprop_cc0_jump, cprop_insn): New argument "basic_block".
	(cprop_jump): Likewise; call purge_dead_edges if substitution suceeded.

From-SVN: r44267
2001-07-23 14:08:12 +00:00
Jan Hubicka
4edc91ae51 * analyze_brprob: Fix awk compatibility problems; update comment.
From-SVN: r44266
2001-07-23 13:55:28 +00:00
Ulrich Weigand
bfa7942289 MAINTAINERS (Various maintainers: s390 port): Added myself.
From-SVN: r44265
2001-07-23 13:41:06 +00:00
Hans-Peter Nilsson
e0120d6e53 reload.c (push_reload): Fix typo in comment.
* reload.c (push_reload): Fix typo in comment.
	(find_reloads_address): Ditto.
	(reg_overlap_mentioned_for_reload_p): Ditto in head comment.

From-SVN: r44264
2001-07-23 13:21:39 +00:00
Andreas Jaeger
f981f97beb * analyze_brprob: Fix more typos.
From-SVN: r44263
2001-07-23 15:21:13 +02:00
Andreas Jaeger
075cc945ad * analyze_brprob: Fix typos.
From-SVN: r44262
2001-07-23 12:39:58 +02:00
GCC Administrator
f3a0f754ad Daily bump.
From-SVN: r44258
2001-07-23 07:16:09 +00:00
Richard Henderson
b02eea61ce flow.c: Grammar check and clarify a lot of comments.
* flow.c: Grammar check and clarify a lot of comments.
        (try_simplify_condjump): Rename variables to be clearer.
        (try_forward_edges): Skip complex and fallthru edges.
        Rearrange tests to avoid duplicate checks.
        (flow_find_cross_jump): Likewise.
        (outgoing_edges_match): Allow match if neither branch has
        probability data.  Loosen probability match to 5%.
        (try_crossjump_to_edge): Hoist repeated indirection into
        local variables.
        (try_crossjump_bb): Don't check complex edges.  Eliminate
        redundant crossjump tests.
        (try_optimize_cfg): Fix use of bool.  Reorganize cheaper
        checks before more expensive checks.

From-SVN: r44257
2001-07-23 00:03:34 -07:00
Graham Stott
18fee3ee73 class.c (type_requires_array_cookie): Fix use of uninitialised variable has_two_argument_delete_p.
* cp/class.c (type_requires_array_cookie): Fix use of uninitialised
	variable has_two_argument_delete_p.

From-SVN: r44256
2001-07-23 06:34:51 +00:00
Richard Henderson
1f2f8b29b1 fold-const.c (fold): Test vs FLOAT_TYPE_P instead of INTEGRAL_TYPE_P when...
* fold-const.c (fold): Test vs FLOAT_TYPE_P instead of
        INTEGRAL_TYPE_P when folding comparisons with operand_equal_p
        arguments.

From-SVN: r44255
2001-07-22 23:00:06 -07:00
Ben Elliston
541c655f05 enum5.C: Mark as XFAIL.
2001-07-23  Ben Elliston  <bje@redhat.com>

	* g++.old-deja/g++.other/enum5.C: Mark as XFAIL.

From-SVN: r44253
2001-07-23 15:35:26 +10:00
Richard Henderson
97660e202f m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
* m68k.c (const_uint32_operand): Abort if mode is <= 32 bits.
        (const_sint32_operand): Likewise.
        * m68k.md (anon mulsi pattern): Use const_int_operand not
        const_sint32_operand.
        (umulsi3_highpart): Zero extend a constant input.
        (smulsi3_highpart): Don't bother checking SImode constant.
        (const_umulsi3_highpart): Give op3 DImode.
        (const_smulsi3_highpart): Likewise.

From-SVN: r44252
2001-07-22 21:46:53 -07:00
Jeff Sturm
092a1f5ab3 configure.host: Enable hash synchronization for alpha*-*.
* configure.host: Enable hash synchronization for alpha*-*.
* include/posix-threads.h (_Jv_ThreadSelf): Added inline function for alpha.
* java/lang/natObject.cc (compare_and_swap, release_set,
compare_and_swap_release): Added inline functions for alpha.

From-SVN: r44251
2001-07-23 03:51:17 +00:00
Richard Henderson
0b6301aebe flow.c (split_block): Make sure bb_note is included in the new block when splitting before a label.
* flow.c (split_block): Make sure bb_note is included in the
        new block when splitting before a label.

From-SVN: r44250
2001-07-22 15:49:00 -07:00
Jan Hubicka
6b24c25948 basic-block.h (redirect_edge_and_branch_force, [...]): Declare.
* basic-block.h (redirect_edge_and_branch_force,
	redirect_edge_and_branch, block_label, forwarder_block_p): Declare.
	* flow.c (redirect_edge_and_branch_force,
	redirect_edge_and_branch, block_label, forwarder_block_p): Make global.
	(redirect_edge_and_branch_force): Fix copying of lifeness information.
	(block_label): Handle EXIT_BLOCK_PTR by returning NULL.
	* ifcvt.c (dead_or_predictable): Take BB as an new destionation
	instead of label; update CFG after transformation.
	(find_if_case_1): Update call, use redirect_edge_and_branch_force
	for finishing the transformation; handle even case where ELSE
	does not follow THEN.
	(find_if_case_2): Update call of dead_or_predictable; simplify
	CFG update.

	* emit-rtl.c (split_branch_probability): New global variable.
	(try_split): Take care to set split_branch_probability and
	create REG_BR_PROB note for new jump insns.
	* md.texi (define_split): Document new feature.

	* i386.c (ix86_split_fp_branch): Redistribute branch probability notes.

From-SVN: r44249
2001-07-22 21:42:35 +00:00
Neil Booth
544f03b403 varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
* varasm.c: Don't inlcude dbxout.h, sdbout.h or xcoffout.h.
	(asm_out_file): Remove redundant declaration.
	(assemble_asm): Remove old #if 0 block.
	(assemble_variable): Remove end of function; debug output is
	now handled with global_decl.  Remove old #if 0 block.  Update.
	Remove saved_in_section and associated no-op code.
	* Makefile.in (varasm.o): Correct dependencies.

From-SVN: r44248
2001-07-22 21:33:57 +00:00
Alexandre Oliva
bad1f214eb freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use the definition in defaults.h.
* config/i386/freebsd-aout.h (ASM_PREFERRED_EH_DATA_FORMAT): Use
the definition in defaults.h.

From-SVN: r44247
2001-07-22 21:15:45 +00:00
Jan Hubicka
0045d50435 jump.c: Update comments.
* jump.c: Update comments.
	(delete_barrier_successors, delete_unreferenced_labels,
	delete_noop_moves, tension_vector_labels, delete_from_jump_chain,
	delete_labelref_insn, redirect_tablejump, jump_optimize_1,
	jump_optimize, jump_optimize_minimal): Kill.
	(rebuild_jump_labels): Move code from jump_optimize_1.
	(purge_line_number_notes): Likewise.
	(copy_loop_headers): Likewise.
	* reg-stack.c: Update comment.
	* stmt.c: Likewise.
	* rtl.h (jump_optimize, jump_optimize_1, JUMP_NOOP_MOVES,
	JUMP_AFTER_REGSCAN): Kill.
	* toplev.c (rest_of_compilation): Use cleanup_cfg, call
	purge_line_number_notes and copy_loop_headers.

From-SVN: r44245
2001-07-22 19:34:13 +00:00
Neil Booth
3914abb46e dbxout.c (dbxout_global_decl): New.
* dbxout.c (dbxout_global_decl): New.
	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
	* sdbout.c (sdbout_finish): New.
	(sdbout_debug_hooks): Use it, add comments.
	(sdbout_global_decl): Defer initialised public vars to
	sdbout_finish.
	* varasm.c (assemble_variable): Don't output debug information
	for file-scope variables.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r44243
2001-07-22 17:02:53 +00:00
Richard Henderson
be7560ea81 alpha.c (get_trap_mode_suffix): New.
* config/alpha/alpha.c (get_trap_mode_suffix): New.
        (get_round_mode_suffix): New.
        (print_operand): Use them for [/].  Remove support for [&'`()+].
        * config/alpha/alpha.h (PRINT_OPERAND_PUNCT_VALID_P): Update.
        * config/alpha/alpha.md (attr round_suffix): New.
        (attr trap_suffix): New.
        (all insns): Set them appropriately.  Use %/ instead of the
        myriad punctuators.

From-SVN: r44242
2001-07-22 09:02:06 -07:00
Franz Sirl
e5d4fff465 ieee.exp: Only use -ffloat-store only on i[34567]86-*-*.
2001-07-22  Franz Sirl  <Franz.Sirl-kernel@lauterbach.com>

	* gcc.c-torture/execute/ieee/ieee.exp: Only use -ffloat-store only on
	i[34567]86-*-*.
	Delete handling of ieee_multilib_flags.
	Pass -mieee for alpha*-*-* and sh-*-*.
	* gcc.c-torture/execute/20010114-2.c: Move into ieee subdir.

From-SVN: r44238
2001-07-22 10:10:09 +00:00
Neil Booth
65ecca65ce * dbxout.c, sdbout.c, varasm.c: Revert most recent patch.
From-SVN: r44237
2001-07-22 09:42:47 +00:00
GCC Administrator
665e329311 Daily bump.
From-SVN: r44236
2001-07-22 07:16:39 +00:00
Richard Henderson
4e812700ae regrename.c (regrename_optimize): Compute nregs for each potential target register.
* regrename.c (regrename_optimize): Compute nregs for each
        potential target register.

From-SVN: r44234
2001-07-22 00:10:46 -07:00
Neil Booth
f7e1058777 dbxout.c (dbxout_global_decl): New.
* dbxout.c (dbxout_global_decl): New.
	(xcoff_debug_hooks, dbx_debug_hooks): Use it.
	* sdbout.c (sdbout_finish): New.
	(sdbout_debug_hooks): Use it, add comments.
	(sdbout_global_decl): Defer initialised public vars to
	sdbout_finish.
	* varasm.c (assemble_variable): Don't output debug information
	for file-scope variables.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r44232
2001-07-21 23:17:26 +00:00
H.J. Lu
919b1aecc7 mips.c (mips_cpu): Moved into ...
2001-07-21  H.J. Lu  (hjl@gnu.org)

	* config/mips/mips.c (mips_cpu): Moved into ...
	(override_options): Here.

	* config/mips/mips.h (mips_cpu_attr): Replace mips_cpu with
	mips_tune.
	(mips_cpu): Removed.

From-SVN: r44231
2001-07-21 11:01:46 -07:00
Stephane Carrez
0477256ccc m68hc11.md ("andqi3"): Accept d as second operand.
* config/m68hc11/m68hc11.md ("andqi3"): Accept d as second operand.
	("iorqi3"): Likewise.
	("xorqi3"): Likewise.
	("*addhi3"): Fix constraint to avoid reloading in a soft register.
	("*subhi3_sp): Likewise.
	("*subhi3"): Likewise.
	("extendhisi2"): Accept D, X and Y as source operand to avoid
	reload problems.

From-SVN: r44229
2001-07-21 13:39:13 +02:00
Nathan Sidwell
c4372ef4c6 tm.texi: Remove DEFAULT_VTABLE_THUNKS.
gcc:
	* doc/tm.texi: Remove DEFAULT_VTABLE_THUNKS.
	* config/freebsd.h: Likewise.
	* config/linux.h: Likewise.
	* config/openbsd.h: Likewise.
	* config/alpha/linux-elf.h: Likewise.
	* config/arm/linux-elf.h: Likewise.
	* config/d30v/d30v.h: Likewise.
	* config/fr30/fr30.h: Likewise.
	* config/ia64/aix.h: Likewise.
	* config/ia64/ia64.h: Likewise.
	* config/mips/linux.h: Likewise.
	* config/pj/pj.h: Likewise.
	* config/rs6000/linux.h: Likewise.
	* config/sparc/linux.h: Likewise.
	* config/sparc/linux64.h: Likewise.
cp:
	Remove flag_vtable_thunk. It is always on for the 3.0 ABI.
	* cp-tree.h (CPTI_DELTA2_IDENTIFIER): Remove.
	(CPTI_INDEX_IDENTIFIER): Remove.
	(CPT_PFN_OR_DELTA2_IDENTIFIER): Remove.
	(delta2_identifier): Remove.
	(index_identifier): Remove.
	(pfn_or_delta2_identifier): Remove.
	(flag_vtable_thunks): Remove.
	(VTABLE_DELTA2_NAME): Remove.
	(VTABLE_INDEX_NAME): Remove.
	(FNADDR_FROM_VTABLE_ENTRY): Adjust.
	(vfunc_ptr_type_node): Adjust.
	(VTABLE_NAME_PREFIX): Adjust.
	(build_vfn_ref): Lose first parameter.
	(fixup_all_virtual_upcast_offsets): Remove.
	* decl.c (initialize_predefined_identifiers): Remove
	delta2_identifier, index_identifier, pfn_or_delta2_identifier.
	(init_decl_processing): Remove no-vtable-thunk code.
	* decl2.c (flag_vtable_thunks): Remove.
	(mark_vtable_entries): Remove no-vtable-thunk code.
	* error.c (dump_decl): Remove no-vtable-thunk code.
	(dump_expr): Adjust ptr to member function code.
	* init.c (initialize_vtable_ptrs): Remove no-vtable-thunk
	code.
	* rtti.c (build_headof): Remove no-vtable-thunk code.
	(get_tinfo_decl_dynamic): Adjust build_vfn_ref call.
	* search.c (get_base_distance): Remove expand_upcast_fixups case.
	(virtual_context) Remove.
	(expand_upcast_fixups): Remove.
	(fixup_virtual_upcast_offsets): Remove.
	(fixup_all_virtual_upcast_offsets): Remove.
	* typeck.c (get_member_function_from_ptrfunc): Remove
	no-vtable-thunk code.
	* call.c (build_over_call): Adjust call to build_vfn_ref.
	* class.c (build_vfn_ref): Lose first parameter. Remove
	no-vtable-thunk code.
	(build_rtti_vtbl_entries): Remove no-vtable-thunk code.
	(build_vtable_entry): Remove no-vtable-thunk code.

From-SVN: r44227
2001-07-21 09:42:21 +00:00
Nathan Sidwell
f4653d9278 Remove old-abi tests.
* g++.old-deja/g++.mike/p11116.C: Remove.
	* g++.old-deja/g++.eh/catchptr1.C: Remove old-abi ifdef.

From-SVN: r44226
2001-07-21 09:17:26 +00:00
GCC Administrator
06dff162a8 Daily bump.
From-SVN: r44224
2001-07-21 07:16:08 +00:00
Bruce Korb
c8b0c191f7 extra casting required by new pointer type
From-SVN: r44222
2001-07-21 04:20:08 +00:00
Bruce Korb
90376ae2b4 force unsigned char compares
From-SVN: r44219
2001-07-21 04:08:29 +00:00
Bruce Korb
907cb30e6e incorporate patches from 3.0 branch
From-SVN: r44218
2001-07-21 04:04:27 +00:00
Richard Henderson
e9644cfea1 flow.c (try_redirect_by_replacing_jump): Correctly compute which insns to delete in the presence of cc0 in a jump insn.
* flow.c (try_redirect_by_replacing_jump): Correctly compute which
	insns to delete in the presence of cc0 in a jump insn.

From-SVN: r44217
2001-07-21 03:05:09 +00:00
Nathan Sidwell
3461fba7ad Remove old-abi remnants.
Remove old-abi remnants. Remove comments about old abi
	behaviour. Remove refences to 'new-abi' in comments.
	* cp-tree.h: Adjust comments.
	(vbase_offsets_in_vtable_p): Delete.
	(vcall_offsets_in_vtable_p): Delete.
	(vptrs_present_everywhere_p): Delete.
	(all_overridden_vfuns_in_vtables_p): Delete.
	(merge_primary_and_secondary_vtables_p): Delete.
	(TYPE_CONTAINS_VPTR_P): Adjust.
	(VTT_NAME_PREFIX): Remove.
	(CTOR_VTBL_NAME_PREFIX): Remove.
	(init_vbase_pointers): Remove.
	* class.c: Adjust coments.
	(build_vbase_pointer_fields): Delete.
	(build_vbase_pointer): Remove old-abi code.
	(build_secondary_vtable): Likewise.
	(modify_all_vtables): Likewise.
	(create_vtable_ptr): Likewise.
	(layout_class_type): Likewise.
	(finish_struct_1): Likewise.
	(finish_vtbls): Likewise.
	(dfs_finish_vtbls): Delete.
	(build_vbase_offset_vtbl_entries): Remove old-abi code.
	* cvt.c: Adjust comments.
	* decl.c: Adjust comments.
	* decl2.c: Adjust comments.
	* init.c: Adjust comments.
	(construct_virtual_bases): Remove old-abi code.
	* lang-specs.h: Remove -fno-new-abi.
	* mangle.c: Adjust comments.
	* rtti.c: Adjust comments.
	(get_base_offset): Remove old-abi-code.
	* search.c: Adjust comments.
	(dfs_init_vbase_pointers): Remove.
	(dfs_vtable_path_unmark): Remove.
	(init_vbase_pointers): Remove.
	* semantics.c: Adjust comments.
	(emit_associated_thunks): Remove old-abi code.
	* typeck.c: Adjust comments.

From-SVN: r44215
2001-07-21 00:03:21 +00:00
Richard Henderson
50b996bfb8 * doc/rtl.texi (REG_DEAD): Update for current semantics.
From-SVN: r44214
2001-07-20 15:23:25 -07:00
Jan Hubicka
6e9aac4600 Correct typo.
From-SVN: r44213
2001-07-20 20:47:35 +00:00
Roman Zippel
ed6ba1a5c3 m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead of doing the change by hand.
* m68k.md (zero_extend?i?i2 expander): Use gen_lowpart instead
	of doing the change by hand.

Co-Authored-By: Jan Hubicka <jh@suse.cz>

From-SVN: r44212
2001-07-20 20:19:12 +00:00
Jan Hubicka
38f4324cb9 expr.c (emit_single_push_insn): Add call to push expander.
* expr.c (emit_single_push_insn): Add call to push expander.
	* expr.h (optab_index): Add OTI_push
	(push_optab): New constant.
	* genopinit.c (optabs): Add push_optab.
	* optabs.c (init_optab): Init push optab.
	* md.texi (push??1): Document

From-SVN: r44211
2001-07-20 20:10:42 +00:00
Jan Hubicka
371b8fc0bc rtlanal.c (set_noop_p): Return true for noop jumps.
* rtlanal.c (set_noop_p): Return true for noop jumps.

	* expr.c (emit_single_push_insn): Add call to push expander.
	* expr.h (optab_index): Add OTI_push
	(push_optab): New constant.
	* genopinit.c (optabs): Add push_optab.
	* optabs.c (init_optab): Init push optab.
	* md.texi (push??1): Document

From-SVN: r44210
2001-07-20 20:07:58 +00:00
Stephane Carrez
00d0458c03 m68hc11.md ("movdi", [...]): Use an expand to emit the pattern; put a REG_INC note for push/pop instructions.
* config/m68hc11/m68hc11.md ("movdi", "movdi_internal"): Use an
	expand to emit the pattern; put a REG_INC note for push/pop
	instructions.
	("movdf", "movdf_internal"): Likewise.
	("movsi", "movsi_internal"): Likewise.
	("movsf", "movsf_internal"): Likewise.
	("movhi", "movqi"): Emit a REG_INC note for push/pop instructions.

From-SVN: r44208
2001-07-20 21:43:19 +02:00
Stephane Carrez
d74e9142ac m68hc11.c (m68hc11_gen_highpart): Don't use gen_highpart.
* config/m68hc11/m68hc11.c (m68hc11_gen_highpart): Don't use
	gen_highpart.

From-SVN: r44206
2001-07-20 21:34:56 +02:00
Daniel Berlin
1c432a87d9 Make-lang.in (cp/optimize.o): Depend on $(PARAMS_H), not params.h.
2001-07-20  Daniel Berlin  <dan@cgsoftware.com>

	* Make-lang.in (cp/optimize.o): Depend on $(PARAMS_H), not
	params.h.

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

	* params.def: Change default max inline insns to 100.

From-SVN: r44203
2001-07-20 19:12:46 +00:00
Diego Novillo
9def18da54 combine.c (combine_simplify_rtx): Generate a new shift operation when simplifying the first operand of a (neg...
* combine.c (combine_simplify_rtx): Generate a new shift operation
	when simplifying the first operand of a (neg (ashift)) expression.

From-SVN: r44202
2001-07-20 13:47:03 -04:00
Richard Henderson
d4845339d7 * regclass.c (N_REG_INTS): Use only 32 bits per element.
From-SVN: r44201
2001-07-20 09:55:03 -07:00