Commit Graph

23633 Commits

Author SHA1 Message Date
Andrew MacLeod
36349f8be4 sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
Wed Aug 25 13:55:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>

	* sbitmap.h (sbitmap_intersection_of_succs): Add prototype.
	(sbitmap_intersection_of_preds, sbitmap_union_of_succs,
	sbitmap_union_of_preds): Add prototypes.
	* sbitmap.c (sbitmap_intersection_of_succs): New function to compute
	the intersection of successors with the new flow graph structures.
	(sbitmap_intersection_of_preds): New function to compute the
	intersection of predecessors with the new flow graph structures.
	(sbitmap_union_of_succs): New function to compute the union of
	successors with the new flow graph structures.
	(sbitmap_union_of_preds): New function to compute the union of
	predecessors with the new flow graph structures.
	* gcse.c (compute_rdm, compute_available): Use new sbitmap routines.
	(expr_reaches_here_p): Use edge and basic_block structures instead
	of s_preds and s_succs.
	(compute_cprop_avinout): Use new sbitmap routines.
	(pre_expr_reaches_here_p): Use edge and basic_block structures instead
	of s_preds and s_succs.
	* flow.c (compute_flow_dominators): Compute dominators using
	edges and basic blocks instead of s_preds and s_succs.

From-SVN: r28866
1999-08-25 18:01:48 +00:00
Tom Tromey
3d31bc7f58 G19990310_01.out: New file.
* libjava.lang/G19990310_01.out: New file.
	* libjava.lang/G19990310_01.java: New file.

From-SVN: r28865
1999-08-25 17:54:55 +00:00
Andrew MacLeod
5a4f6418af lists.c (unused_insn_list, [...]): New file for maintaining various types of lists.
Wed Aug 25 13:41:47 EDT 1999  Andrew MacLeod  <amacleod@cygnus.com>

	* lists.c (unused_insn_list, unused_expr_list): New file for
	maintaining various types of lists. New statics for maintaining a
	cache of available INSN_LIST and EXPR_LIST nodes.
	(free_list): Static function for freeing a list of INSN/EXPR nodes.
	(alloc_INSN_LIST): Function to get a free INSN_LIST node.
	(alloc_EXPR_LIST): Function to get a free EXPR_LIST node.
	(init_EXPR_INSN_LIST_cache): Initialize the cache lists.
	(free_EXPR_LIST_list): Free an entire list of EXPR_LIST nodes.
	(free_INSN_LIST_list): Free an entire list of INSN_LIST nodes.
	(free_EXPR_LIST_node): Free an individual EXPR_LIST node.
	(free_INSN_LIST_node): Free an individual INSN_LIST node.
	* haifa-sched.c (unused_insn_list, unused_expr_list): Moved to flow.c
	(free_list, alloc_INSN_LIST, alloc_EXPR_LIST): Moved to flow.c
	(remove_dependence, free_pending_lists): Use new global routines.
	(flush_pending_lists, sched_analyze_insn): Use new global routines.
	(sched_analyze, compute_block_backward_dependences): Use new routines.
	(sched_analyze_1, sched_analyze_2): Use new routines.
	(schedule_insns): Use new global routines.
	* rtl.h (init_EXPR_INSN_LIST_cache, free_EXPR_LIST_list): Add function
	prototypes.
	(free_INSN_LIST_list, free_EXPR_LIST_node): Add prototypes.
	(free_INSN_LIST_node, alloc_INSN_LIST, alloc_EXPR_LIST): Add function
	prototypes.
	* toplev.c (rest_of_compilation): Initialize node cache.
	* Makefile.in (OBJS): Add lists.o to list of object files.
	(lists.o): Add dependancies.

From-SVN: r28864
1999-08-25 17:50:53 +00:00
Nick Clifton
b54480a7e6 Fix compile time warning messages.
From-SVN: r28863
1999-08-25 16:39:21 +00:00
Kaveh R. Ghazi
be245ac0a0 gjavah.c (print_name, [...]): Add static prototype.
* gjavah.c (print_name, print_base_classname, utf8_cmp,
	cxx_keyword_subst, generate_access, name_is_method_p,
	get_field_name, print_field_name, super_class_name, print_include,
	decode_signature_piece, print_class_decls, usage, help,
	java_no_argument, version, add_namelet, print_namelet): Add static
	prototype.
	(print_base_classname, utf8_cmp, cxx_keyword_subst,
	name_is_method_p): Constify a char*.
	(get_field_name): Likewise.  Prefer xstrdup over malloc/strcpy.
	Provide a final else clause in an if-else-if.
	(print_field_info): Add missing final arg in function call to
	`print_field_name'.
	(print_method_info, decompile_method, decode_signature_piece,
	print_c_decl, print_full_cxx_name, print_stub,
	print_mangled_classname, super_class_name, print_include,
	add_namelet, add_class_decl, print_class_decls, process_file,
	help): Constify a char*.

	* jcf-write.c (jcf_handler, push_constant1, push_constant2,
	push_int_const, find_constant_wide, find_constant_index,
	push_long_const, field_op, maybe_wide, emit_dup, emit_pop,
	emit_iinc, emit_load_or_store, emit_load, emit_store, emit_unop,
	emit_binop, emit_reloc, emit_switch_reloc, emit_case_reloc,
	emit_if, emit_goto, emit_jsr, call_cleanups,
	make_class_file_name): Add static prototypes.
	(generate_bytecode_return, generate_bytecode_insns): Pass a
	NULL_PTR, not a NULL_TREE.

	* jv-scan.c: Include "jcf.h".
	(main): Declare using DEFUN macro.

	* jvspec.c (find_spec_file, lang_specific_pre_link,
	lang_specific_driver): Add prototypes.
	(find_spec_file): Constify a char*.

	* keyword.gperf (hash, java_keyword): Add prototypes.

	* lang.c (lang_print_error): Add static prototype.
	(lang_init): Prefer memcpy over bcopy to avoid casts.

	* lex.c (yylex): Add static prototype.

	* parse-scan.y: Include "lex.c" earlier.

	* parse.h: Remove redundant declaration for `yylex'.

	* parse.y (java_decl_equiv, binop_compound_p, search_loop,
	labeled_block_contains_loop_p): Add static prototypes.
	(not_accessible_p): Make static to match prototype.

	* verify.c (start_pc_cmp): Don't needlessly cast away const.

From-SVN: r28862
1999-08-25 13:59:28 +00:00
Kaveh R. Ghazi
ffee6d9387 genattr.c (gen_attr): Add prototype arguments for get_attr_*().
* genattr.c (gen_attr): Add prototype arguments for get_attr_*().
	Remove unused prototype for `init_lengths'.

From-SVN: r28861
1999-08-25 13:47:00 +00:00
Kaveh R. Ghazi
6a651371a7 Warning fixes:
* calls.c (emit_call_1): Mark parameter `stack_size' with
	ATTRIBUTE_UNUSED.
	(expand_call): Initialize variable `insn'.
	(emit_library_call): Likewise for variable `high_to_save'.
	(emit_library_call_value): Likewise.
	(store_one_arg): Likewise for variables `lower_bound' and
	`upper_bound'.

	* combine.c (try_combine): Likewise for variables `i2_code_number'
	and `other_code_number'.
	(find_split_point): Likewise for variables `pos', `unsignedp' and
	`inner'.
	(simplify_if_then_else): Likewise for variables `op' and `c1'.
	(simplify_and_const_int): Remove unused variable `width'.
	(merge_outer_ops): Likewise.

	* cse.c (simplify_binary_operation): Cast an INTVAL() to `unsigned
	HOST_WIDE_INT' when comparing against one.
	(simplify_relational_operation): Likewise.
	(cse_insn): Initialize variables `src_eqv_volatile',
	`src_eqv_in_memory', `src_eqv_in_struct', `src_eqv_hash' and `sets'.

	* final.c (init_final): Constify parameter `filename'.
	(final_start_function): Mark parameter `optimize' with
	ATTRIBUTE_UNUSED.
	(profile_function): Likewise for parameters `first' and `optimize'.
	(output_source_line): Likewise for parameter `file'.

	* integrate.c (subst_constants): Cast a value to `size_t' when
	comparing against one.
	(mark_stores): Initialize variable `mode'.  Cast a value to
	`size_t' when comparing against one.

	* integrate.h (MAYBE_EXTEND_CONST_EQUIV_VARRAY): Likewise.

	* loop.c (move_movables): Initialize variable `first'.
	(strength_reduce): Likewise for variable `increment'.
	(check_dbra_loop): Likewise for variable `comparison_val'.  Cast a
	value to `size_t' when comparing against one.
	(load_mems): Initialize variable `end_label'.

	* output.h (init_final): Constify parameter.

	* reload.c (decompose): Initialize variable `base'.

	* reload1.c (reload): Likewise for variable `is_scalar'.
	(spill_hard_reg): Mark parameter `dumpfile' with ATTRIBUTE_UNUSED.
	(choose_reload_regs): Initialize variable `mode'.
	(emit_reload_insns): Likewise for variable `store_insn'.
	(reload_cse_noop_set_p): Mark parameter `insn' with
	ATTRIBUTE_UNUSED.
	(reload_combine): Initialize variable `set'.

	* unroll.c (unroll_loop): Likewise for variable `local_label'.
	(copy_loop_body): Cast a value to `size_t' when comparing against
	one.

	* varasm.c (assemble_variable): Initialize variable `size_tree'.
	(const_hash): Add an `else abort()' in an if-else-if-else sequence.
	(remove_from_pending_weak_list): Mark parameter `name' with
	ATTRIBUTE_UNUSED.

From-SVN: r28860
1999-08-25 13:37:46 +00:00
Kaveh R. Ghazi
e797ff7048 Warning fixes:
* cplus-dem.c (gnu_special): Cast a `size_t' to `long' when
	comparing against a signed quantity.
	(arm_special): Likewise.
	(demangle_fund_type): Likewise.
	(do_hpacc_template_const_value): Mark parameter `work' with
	ATTRIBUTE_UNUSED.
	(main): Constify variable `valid_symbols'.

From-SVN: r28859
1999-08-25 13:29:34 +00:00
Alexandre Oliva
355298fb26 * thunk1.C: New test.
From-SVN: r28858
1999-08-25 13:03:00 +00:00
Nathan Sidwell
f4c6443e4d * g++.old-deja/g++.other/decl5.C: New test
From-SVN: r28857
1999-08-25 12:05:23 +00:00
Nathan Sidwell
d7f426dc12 decl2.c (handle_class_head): Be graceful about additional scope qualifiers.
* decl2.c (handle_class_head): Be graceful about additional
scope qualifiers. Adjust comments to reflect reality.

From-SVN: r28856
1999-08-25 12:04:47 +00:00
Bernd Schmidt
e5ad643675 Fix small problem with gcse dumps
From-SVN: r28855
1999-08-25 10:27:43 +00:00
Nick Clifton
af13ebe9d8 Do not configure or build ld for AIX native systems.
From-SVN: r28854
1999-08-25 10:12:07 +00:00
Nick Clifton
c930474726 Add support for generating .weak, .type and .size assembler directives.
From-SVN: r28853
1999-08-25 10:01:59 +00:00
Jeff Law
4e5f1329cb Fix typo.
From-SVN: r28852
1999-08-25 02:21:46 -06:00
Jeff Law
5722d61ce7 Fix typo
From-SVN: r28851
1999-08-25 02:20:52 -06:00
Jeff Law
e16ba10cd4 Fix typos.
From-SVN: r28850
1999-08-25 02:20:06 -06:00
Jeff Law
ca236658f4 Typo.
From-SVN: r28849
1999-08-25 02:18:41 -06:00
Jeff Law
80b8e8de6b Fix minor oops in last change.
From-SVN: r28848
1999-08-25 02:01:01 -06:00
Jeff Law
c4f4cf33b5 Daily bump.
From-SVN: r28847
1999-08-25 01:45:11 -06:00
John David Anglin
8bcafee358 calls.c (emit_call_1): Use call_pop/call_value_pop for all values of n_popped when...
* calls.c (emit_call_1): Use call_pop/call_value_pop for all values
	of n_popped when call/call_value are not defined.

From-SVN: r28846
1999-08-25 01:38:23 -06:00
David O'Brien
4adf204e6b * configure.in: Alphabetize selection of .ml fragments.
From-SVN: r28845
1999-08-25 01:33:08 -06:00
Jeffrey A Law
a3a15b4d14 tm.texi: GNU CC -> GCC conversion.
* tm.texi: GNU CC -> GCC conversion.
        (CC1_SPEC): Indicate it is used for all language front ends.

From-SVN: r28844
1999-08-25 01:27:13 -06:00
Rainer Orth
77c9524bad * lang-specs.h: Pass cc1 spec to f771.
From-SVN: r28843
1999-08-25 01:22:42 -06:00
Rainer Orth
1250c76046 config-ml.in: Pass compiler flag corresponding to multidirs to subdir configures.
* config-ml.in: Pass compiler flag corresponding to multidirs to
        subdir configures.

From-SVN: r28842
1999-08-25 01:14:07 -06:00
Michael Tiemann
73049ebce3 loop.c (strength_reduce): Automatically unroll loops if the unrolled loop size is smaller than the rolled...
* loop.c (strength_reduce): Automatically unroll loops if the
        unrolled loop size is smaller than the rolled loop size.

Co-Authored-By: Jeffrey A Law <law@cygnus.com>

From-SVN: r28841
1999-08-25 00:51:15 -06:00
Mark Mitchell
3ad4781182 flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and NOTE_INSN_EH_REGION_END correctly.
* flow.c (delete_block): Spell NOTE_INSN_EH_REGION_BEG and
	NOTE_INSN_EH_REGION_END correctly.

From-SVN: r28840
1999-08-25 06:44:46 +00:00
Michael Tiemann
66b9b71ff8 loop.c (insert_bct): Replace use of sdiv_optab with asr_optab and delete comment that code should be...
* loop.c (insert_bct): Replace use of sdiv_optab with asr_optab
        and delete comment that code should be rewritten.

From-SVN: r28839
1999-08-24 23:28:26 -06:00
Jeffrey A Law
50f71e6f5f haifa-sched.c (find_rgns): Mark a block found during the DFS search as reachable.
* haifa-sched.c (find_rgns): Mark a block found during the DFS search
        as reachable.

From-SVN: r28838
1999-08-24 23:24:04 -06:00
Jeffrey A Law
8f04d345d0 * haifa-sched.c (get_visual_tbl_length): Fix off-by-one error.
From-SVN: r28837
1999-08-24 22:58:36 -06:00
Mumit Khan
411c6851c3 mkfixinc.sh: Don't fix uwin headers.
* fixinc/mkfixinc.sh: Don't fix uwin headers.
        * i386/uwin.h (MD_STARTFILE_PREFIX): Define.
        (LINK_SPEC): Add -u _main when building executables.
        (ASM_DECLARE_FUNCTION): Update from Cygwin.
        (ASM_FILE_END): Use the default for ix86-pe.
        * i386/xm-uwin.h (HAVE_BCOPY): Undefine.

From-SVN: r28836
1999-08-24 22:43:17 -06:00
Bernd Schmidt
cafba4956b gcse.c (find_avail_set): Follow chains of register-register copies.
* gcse.c (find_avail_set): Follow chains of register-register copies.
        Use oprs_not_set_p to guarantee that the returned value can be
        substituted.
        (cprop_insn): Don't verify the return value of find_avail_set with
        oprs_not_set_p.

From-SVN: r28835
1999-08-24 22:24:36 -06:00
Bernd Schmidt
abd535b681 gcse.c (cprop_jump): New function, broken out of cprop_insn.
* gcse.c (cprop_jump): New function, broken out of cprop_insn.
        (cprop_cc0_jump): New function.
        (cprop_insn): Break out new function cprop_jump and use it.
        Also use cprop_cc0_jump for machines with CC0.
        (cprop): Don't crash if cprop_insn turned the insn into a NOTE.

From-SVN: r28834
1999-08-24 21:30:45 -06:00
Art Haas
b6c8689d9b final.c (output_addr_const): Handle case where ASM_OPEN_PAREN and ASM_CLOSE_PAREN are empty strings.
* final.c (output_addr_const): Handle case where ASM_OPEN_PAREN
        and ASM_CLOSE_PAREN are empty strings.

From-SVN: r28833
1999-08-24 20:52:15 -06:00
Fred Fish
d059a2395d Makefile.in (PREPROCESSOR_DEFINES): New macro.
* Makefile.in (PREPROCESSOR_DEFINES): New macro.
(protoize.o):  Use PREPROCESSOR_DEFINES and DRIVER_DEFINES.
(unprotoize.o): Ditto.
(test-protoize-simple): Don't define STD_PROTO_DIR.
* protoize.c: Use PARAMS rather than PROTO.  Minor whitespace
changes to make 'test-protoize-simple' pass.
(STD_PROTO_DIR): Remove define.
(STANDARD_EXEC_PREFIX): Supply default define.
(standard_exec_prefix): New variable, init to STANDARD_EXEC_PREFIX.
(target_machine): New variable, init to DEFAULT_TARGET_MACHINE.
(target_version): New variable, init to DEFAULT_TARGET_VERSION.
(GET_ENV_PATH_LIST): New macro.
(default_syscalls_dir): No longer initialized to STD_PROTO_DIR.
(do_processing): Initialize default_syscalls_dir using new
macros.  Use it to initialize syscalls_absolute_filename.

Co-Authored-By: Geoff Keating <geoffk@cygnus.com>

From-SVN: r28832
1999-08-25 02:49:56 +00:00
Bryce McKinlay
d55d01bdf8 * posix-threads.cc: Include <errno.h>.
From-SVN: r28831
1999-08-25 01:46:23 +01:00
Richard Henderson
1f081ffb7d jump.c (jump_optimize_1): Do cmov opt on any single-set; force B into a register before emit_conditional_move.
* jump.c (jump_optimize_1): Do cmov opt on any single-set; force
        B into a register before emit_conditional_move.

From-SVN: r28830
1999-08-24 17:00:03 -07:00
Richard Henderson
abe4f192b7 fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e)) as (+ (+ (* a b) (* d e)) c).
* fold-const.c (fold): Reassociate (+ (+ (* a b) c) (* d e))
        as (+ (+ (* a b) (* d e)) c).  Factor a common power-of-two
        multiplicand out of (+ (* a b) (* c d)).

From-SVN: r28829
1999-08-24 15:37:34 -07:00
Bob Manson
f2a1bc0267 haifa-sched.c (split_hard_reg_notes): Move to flow.c
* haifa-sched.c (split_hard_reg_notes): Move to flow.c
        (new_insn_dead_notes): Likewise.
        (update_n_sets): Likewise.
        (update_flow_info): Move to flow.c, renamed to update_life_info;
        extend to handle multiple source insns.
        * flow.c: Include resource.h
        (unlink_insn_chain): New.
        (split_hard_reg_notes): New.
        (maybe_add_dead_note): New.
        (maybe_add_dead_note_use): New.
        (find_insn_with_note): New.
        (new_insn_dead_notes): New.
        (update_n_sets): New.
        (sets_reg_or_subreg_1, sets_reg_or_subreg): New.
        (maybe_remove_dead_notes): New.
        (update_life_info): New.
        (prepend_reg_notes): New.
        (replace_insns): New.
        * output.h (update_life_info): Declare.
        * recog.c (split_block_insns): Use update_life_info.
        * resource.c (find_free_register): Use reg_alloc_order, don't use
        fixed regs, make sure the mode is supported, don't use new regs.
        (reg_dead_p): New.
        * rtl.h (replace_insns): Declare.

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

From-SVN: r28828
1999-08-24 15:35:55 -07:00
Jason Merrill
952d33b8db new
From-SVN: r28827
1999-08-24 17:25:13 -04:00
Jason Merrill
df39af7db0 call.c (build_conditional_expr): Fix typo.
* call.c (build_conditional_expr): Fix typo.
	* typeck.c (build_modify_expr, COND_EXPR): Make sure we've got an
	lvalue before trying to mess with the sides.

	* error.c (dump_expr, CONVERT_EXPR): Handle (void) properly.

From-SVN: r28826
1999-08-24 17:23:56 -04:00
Nathan Sidwell
2ac84cfe01 expr.c (expand_expr): Cope with COND_EXPRs with one non-returning branch.
* expr.c (expand_expr): Cope with COND_EXPRs with one
	non-returning branch.

From-SVN: r28825
1999-08-24 16:49:12 -04:00
Mark Mitchell
1da93fe012 expr.c (store_expr): Always pass down the target, even when not doing CSE.
* expr.c (store_expr): Always pass down the target, even when not
	doing CSE.

From-SVN: r28824
1999-08-24 18:09:10 +00:00
Nick Clifton
7a846a6c88 Handle DFmode and DImode constant addresses.
From-SVN: r28823
1999-08-24 13:58:41 +00:00
Kaveh R. Ghazi
69277eec77 genattr.c (function_unit_desc): Constify a char*.
* genattr.c (function_unit_desc): Constify a char*.  Add prototype.
	(main): Add prototypes.

	* genattrtab.c (substitute_address, write_const_num_delay_slots,
	attr_eq, attr_numeral, attr_equal_p, attr_copy_rtx): Prototype.
	(write_attr_get): Emit prototypes along with function definition.
	(write_eligible_delay): Mark a parameter with ATTRIBUTE_UNUSED.
	(write_complex_function): Emit static prototype along with
	function definition.

	* genemit.c (gen_split): Emit prototypes along with function
	definition.

	* genoutput.c (output_epilogue): Add prototype to `insn_outfun'.
	Likewise for predicates and `insn_operand_predicate'.
	(process_template): Emit static prototype along with function
	definition.

	* genrecog.c (make_insn_sequence): Constify a char*.  Add
	prototypes for get_split_*().
	(write_subroutine): Emit prototypes along with function
	definition.

From-SVN: r28822
1999-08-24 13:34:04 +00:00
Kaveh R. Ghazi
33f58a4e96 noncompile.exp: Load_lib c-torture.exp.
* noncompile/noncompile.exp: Load_lib c-torture.exp.
        (postbase_with_opts): New proc to loop over TORTURE_OPTIONS and
        call `postbase' for each one.  All callers of `postbase' changed
        to call this instead.

From-SVN: r28821
1999-08-24 13:21:46 +00:00
Bernd Schmidt
bf6bb899e1 Fix more problems from GC diffs
From-SVN: r28820
1999-08-24 12:05:09 +00:00
Philippe De Muyter
55247fce70 * strtoul.c (strtoul): Add parentheses around && within ||.
From-SVN: r28819
1999-08-24 02:51:03 -06:00
Jeffrey A Law
d60eaeffd5 expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION call.
* expr.c (convert_move): Fix arguments to TRULY_NOOP_TRUNCATION
        call.

From-SVN: r28818
1999-08-24 02:48:27 -06:00
Herman A.J. ten Brugge
5dd34fe0d5 * jump.c (delete_barrier_successors) Match (set (pc) (pc)) insn
exactly.

From-SVN: r28817
1999-08-24 02:44:47 -06:00