Commit Graph

24792 Commits

Author SHA1 Message Date
Jim Wilson
7ab282a5a0 Fix i960 varargs/stdarg build failures.
* config/i960/i960.c (i960_va_start): New locals base, num.
	Use INDIRECT_REF instead of ARRAY_REF on valist.
	(i960_va_arg): Use INDIRECT_REF instead of ARRAY_REF on valist.

From-SVN: r30244
1999-10-28 10:14:59 -07:00
Mark Mitchell
9ed5879d10 gcse.c (delete_null_pointer_checks): Fix typo in this change: Thu Oct 28 02:15:22 1999 Jeffrey A Law (law@cygnus.com).
* gcse.c (delete_null_pointer_checks): Fix typo in this change:
	Thu Oct 28 02:15:22 1999  Jeffrey A Law  (law@cygnus.com).

From-SVN: r30243
1999-10-28 16:42:14 +00:00
Peter Gerwinski
2a7b629279 * tree.def (PLACEHOLDER_EXPR): Update comments.
From-SVN: r30241
1999-10-28 05:39:31 -06:00
Kaveh R. Ghazi
3014521537 c-common.c (check_format_info): Avoid non-literal format string warnings when `first_arg_num' is zero.
* c-common.c (check_format_info): Avoid non-literal format string
       warnings when `first_arg_num' is zero.

From-SVN: r30240
1999-10-28 10:53:12 +00:00
Bernd Schmidt
4404ce281d Remove prev/next/up pointers in node definitions
From-SVN: r30239
1999-10-28 10:36:01 +00:00
Richard Earnshaw
e4597bdf0b * arm.md (*casesi_insn): Add a clobber of the condition-code register.
From-SVN: r30238
1999-10-28 10:29:38 +00:00
Fred Fish
1d96e5b4b8 Document that CC1_SPEC is used by cc1plus
From-SVN: r30236
1999-10-28 09:34:40 +00:00
Nick Clifton
723ae7c17d Allow netbsd target to also set structure size boundary
From-SVN: r30234
1999-10-28 09:28:04 +00:00
David Starner
566047c21e c-pragma.c (push_alignment): Don't check the return value of xmalloc.
* c-pragma.c (push_alignment): Don't check the return value
        of xmalloc.

From-SVN: r30233
1999-10-28 03:13:40 -06:00
Matteo Frigo
0b24a660f3 * sparc.h (ADJUST_COST): Fix thinko.
From-SVN: r30232
1999-10-28 03:10:29 -06:00
Jeffrey A Law
5ae520d023 gcse.c (delete_null_pointer_checks): Only record non-null info for pseudos when examining stores.
* gcse.c (delete_null_pointer_checks): Only record non-null info
        for pseudos when examining stores.

From-SVN: r30231
1999-10-28 03:08:43 -06:00
Glen Nakamura
4ed506a4f6 cccp.c (rescan): Fixed obp pointer handling around call to check_expand subroutine.
* cccp.c (rescan): Fixed obp pointer handling around call to
        check_expand subroutine.

From-SVN: r30230
1999-10-28 02:45:37 -06:00
Nathan Sidwell
2c37514337 Makefile.in (SUBDIRS): New macro.
* Makefile.in (SUBDIRS): New macro.
	(mostlyclean, clean, distclean, maintainer-clean): Adjust to
	avoid multiple subdirectory cleaning.
	(*-subdir): Use SUBDIRS.

From-SVN: r30229
1999-10-28 08:26:42 +00:00
Jeffrey A Law
3a8de233f7 arm.md (adddi3, [...]): Add splitters for these patterns.
* arm.md (adddi3, adddi_sesidi_di, adddi_sesidi_di): Add
        splitters for these patterns.  Use "#" for output templates.
        (addsi3_carryin_shift): New pattern.

From-SVN: r30227
1999-10-28 02:22:34 -06:00
Jeff Law
dfc42584a8 Daily bump.
From-SVN: r30226
1999-10-28 01:45:08 -06:00
Mark Mitchell
f31c0a32f5 cp-tree.h (make_temp_vec): Remove.
* cp-tree.h (make_temp_vec): Remove.
	(make_scratch_vec): Likewise.
	* call.c (add_function_candidate): Use make_tree_vec.
	(add_conv_candidate): Likewise.
	(build_builtin_candidate): Likewise.
	(add_template_candidate_real): Likewise.
	* class.c (resolve_address_of_overloaded_function): Likewise.
	* decl.c (start_function): Don't fool with the momentary obstack.
	(finish_function): Likewise.
	* init.c (expand_direct_vtbls_init): Likewise.
	(begin_init_stmts): Likewise.
	(finish_init_stmts): Likewise.
	* pt.c (add_to_template_args): Use make_tree_vec.
	(check_explicit_specialization): Likewise.
	(coerce_template_parms): Likewise.
	(lookup_template_class): Don't fool with the momentary obstack.
	(instantiate_class_template): Likewise.
	(tsubst_template_arg_vector): Use make_tree_vec.
	(tsubst_aggr_type): Don't fool with the momentary obstack.
	(tsubst_decl): Likewise.  Use make_tree_vec.
	(try_one_overload): Likewise.
	(try_class_unification):  Don't fool with the momentary obstack.
	(get_bindings_real): Use make_tree_vec.
	(set_mangled_name_for_template_decl): Likewise.
	* rtti.c (synthesize_tinfo_fn): Don't fool with the momentary obstack.
	* semantics.c (finish_expr_stmt): Likewise.
	(finish_do_stmt): Likewise.
	(finish_for_expr): Likewise.
	(finish_switch_cond): Likewise.
	(do_pushlevel): Likewise.
	(do_poplevel): Likewise.
	* tree.c (make_temp_vec): Remove.

From-SVN: r30225
1999-10-28 05:10:05 +00:00
Geoff Keating
62961522f7 rs6000.md (movsf): Don't convert a SUBREG of the function return register into a plain REG until...
* config/rs6000/rs6000.md (movsf): Don't convert a SUBREG
of the function return register into a plain REG until
after function inlining is done.

From-SVN: r30224
1999-10-28 00:24:32 +00:00
Richard Henderson
e218fc41a8 jump.c (jump_optimize_1): If we did cross-jumping, and the data will matter, rebuild the CFG.
* jump.c (jump_optimize_1): If we did cross-jumping, and
        the data will matter, rebuild the CFG.
        * reg-stack.c (reg_to_stack): Only (re)build the CFG if
        not optimizing.  Don't run shorten_branches.
        * toplev.c (rest_of_compilation): Run shorten_branches after
        reg_to_stack.

From-SVN: r30223
1999-10-27 15:22:34 -07:00
Jason Eckhardt
163537f7f1 Add myself to list with write after approval access.
From-SVN: r30222
1999-10-27 21:29:24 +00:00
Mark Mitchell
848323170b rtl.h (note_stores): Add additional paramter.
* rtl.h (note_stores): Add additional paramter.
	* rtlanal.c (reg_set_p_1): Take additional paramter.
	(reg_set_last_1): Likewise.
	(reg_set_p): Adjust call to note_stores.
	(reg_set_last): Likewise.
	(note_stores): Pass data parameter to worker function.
	* alias.c (record_set): Take additional parameter.
	(init_alias_analysis): Pass it.
	* caller-save.c (mark_set_regs): Take additional parameter.
	(save_call_clobbered_regs): Pass NULL to note_stores.
	* combine.c (set_nonzero_bits_and_sign_copies): Take additional
	parameter.
	(record_dead_and_set_regs_1): Likewise.
	(reg_dead_at_p_1): Likewise.
	(combine_instructions): Adjust calls to note_stores.
	(try_combine): Likewise.
	(record_dead_insn): Remove.
	(record_dead_and_set_regs): Adjust calls to note_stores.
	(reg_dead_at_p): Likewise.
	* cse.c (invalidate_skipped_set): Take additional parameter.
	(cse_check_loop_start): Likewise.
	(cse_check_loop_start_value): Remove.
	(cse_set_around_loop): Adjust calls to note_stores.
	* flow.c (notice_stack_pointer_modification): Take additional
	parameter.  Remove duplicate declaration.
	(record_volatile_insns): Adjust calls to note_stores.
	* gcse.c (record_set_info): Take additional parameter.
	(record_last_set_info): Likewise.
	(invalidate_nonnull_info): Likewise.
	(record_set_insn): Remove.
	(compute_sets): Adjust calls to note_stores.
	(last_set_insn): Remove.
	(compute_hash_table): Adjust calls to note_stores.
	(insert_insn_end_bb): Likewise.
	(delete_null_pointer_checks): Likewise.
	* global.c (mark_reg_store): Take additional parameter.
	(mark_reg_clobber): Likewise.
	(reg_becomes_live): Likewise.
	(global_conflicts): Adjust calls to note_stores.
	(build_insn_chain): Likewise.
	* integrate.c (note_modified_parmregs): Take additional parameter.
	(mark_stores): Likewise.  Make it static.
	(save_for_inline_nocopy): Adjust calls to note_stores.
	(try_constants): Likewise.
	* integrate.h (mark_stores): Remove declaration.
	* jump.c (mark_modified_reg): Take additional parameter.
	(thread_jumps): Adjust calls to note_stores.
	* local-alloc.c (validate_equiv_mem_from_store): Take additional
	parameter.
	(no_equiv): Likewise.
	(reg_is_set): Likewise.
	(validate_equiv_mem): Adjust calls to note_stores.
	(update_equiv_regs): Likewise.
	(block_alloc): Likewise.
	* loop.c (note_set_pseudo_multiple_uses_retval): Remove.
	(note_addr_stored): Take additional parameter.
	(note_set_pseudo_multiple_uses): Likewise.
	(record_initial): Likewise.
	(prescan_loop): Adjust calls to note_stores.
	(strength_reduce): Likewise.
	(check_dbra_loop): Likewise.
	* regmove.c (flags_set_1): Take additional paramter.
	(mark_flags_life_zones): Adjust calls to note_stores.
	* reload1.c (mark_not_eliminable): Take additional parameter.
	(forget_old_reloads_1): Likewise.
	(reload_cse_invalidate_rtx): Likewise.
	(reload_cse_check_clobber): Likewise.
	(reload_combine_note_store): Likewise.
	(move2add_note_store): Likewise.
	(reload): Adjust calls to note_stores.
	(reload_as_needed): Likewise.
	(emit_reload_insns): Likewise.
	(reload_cse_regs_1): Likewise.
	(reload_cse_record_set): Adjust calls to reload_cse_invalidate_rtx.
	(reload_combine): Adjust calls to note_stores.
	* resource.c (update_live_status): Take additional paramter.
	(mark_target_live_regs): Adjust calls to note_stores.
	* stupid.c (find_clobbered_regs): Take additional parameter.
	(stupid_life_analysis): Adjust calls to note_stores.

From-SVN: r30221
1999-10-27 19:27:41 +00:00
Nick Clifton
6ead9ba5a2 allow all arm targets to use -mstructure-size-boundary=XX
From-SVN: r30220
1999-10-27 18:31:35 +00:00
Mark Mitchell
a2edce31a6 dump.c (dequeue_and_dump): Dump HANDLERs and SAVE_EXPRs.
* dump.c (dequeue_and_dump): Dump HANDLERs and SAVE_EXPRs.  Dump
	CLEANUP_P for a TRY_BLOCK.
	* ir.texi: Document SAVE_EXPR.

From-SVN: r30218
1999-10-27 18:19:17 +00:00
Mark Mitchell
e05e2395bd alias.c (init_alias_analysis): Allocate reg_known_value and reg_known_equiv_p on the heap.
* alias.c (init_alias_analysis): Allocate reg_known_value and
 	reg_known_equiv_p on the heap.  Likewise for new_reg_base_value
	and reg_seen.
	(end_alias_analysis): Free reg_known_value and reg_known_equiv_p.
	* cse.c (cse_main): Call end_alias_analysis.
	* haifa-sched.c (schedule_insns): Likewise.
	* local-alloc. (update_equiv_regs): Likewise.
	* reload1.c (reload_cse_regs): Likewise.

From-SVN: r30217
1999-10-27 17:34:59 +00:00
Rainer Orth
46cc13b3e0 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>
* sparc/sparc.c (sparc_override_options): Clear MASK_FPU_SET.
        * sparc/sparc.h (TARGET_SWITCHES): Add "fpu" entry for reverse
        mapping from MASK_FPU.

From-SVN: r30215
1999-10-27 01:49:39 -07:00
Scott Christley
8232d28f13 Scott Christley <scottc@net-community.com>
* sparc.md (call): Don't bound structure return size to 0xfff.

From-SVN: r30214
1999-10-27 01:43:23 -07:00
Alan Modra
d9b830ce25 Alan Modra <alan@SPRI.Levels.UniSA.Edu.Au>
* Makefile.in (config.status): Fix leading whitespace.
        (clean): Remove libchill.a.

From-SVN: r30213
1999-10-27 01:14:18 -07:00
Richard Henderson
0b8d60fa5d resource.c (mark_target_live_regs): Check that the target insn wasn't created after compute_bb_for_insn.
* resource.c (mark_target_live_regs): Check that the target
        insn wasn't created after compute_bb_for_insn.

From-SVN: r30212
1999-10-27 00:57:32 -07:00
Jeff Law
646997096c Daily bump.
From-SVN: r30211
1999-10-27 01:45:07 -06:00
Jeffrey A Law
b3b5ad95e6 alias.c: Update comments for ADDRESS.
* alias.c: Update comments for ADDRESS.
        (nonlocal_reference_p): Look inside the ADDRESS to determine if
        it is a local memory reference.

From-SVN: r30210
1999-10-27 00:18:11 -06:00
Mark Mitchell
c831fdea4b * ggc-page.c (poison_pages): Don't be overzealous.
From-SVN: r30209
1999-10-27 06:12:31 +00:00
Jeffrey A Law
95815af9d2 c-typeck.c (build_function_call): Check that the built-in function is of class BUILT_IN_NORMAL before trying to...
* c-typeck.c (build_function_call): Check that the built-in
        function is of class BUILT_IN_NORMAL before trying to recongize
        it as BUILT_IN_ABS.
        * calls.c (calls_function_1): Similarly for BUILT_IN_ALLOCA.
        * stmt.c (expand_end_cae): Similarly for BUILT_IN_CLASSIFY_TYPE.

        * call.c (build_over_call):  Check that the built-in function is
        of class BUILT_IN_NORMAL before trying to recongize it as BUILT_IN_ABS.
        * typeck.c (build_function_call_real): Similarly.

From-SVN: r30208
1999-10-26 23:32:43 -06:00
Robert Lipe
283a25451f gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead of alloca.
* gcse.c (expr_reaches_here_p): Use xcalloc and explit free instead
        of alloca.
        (pre_gcse): Likewise.
        (hoist_expr_reaches_here_p): Likewise.
        (hoist_code): Likewise.
        (pre_expr_reaches_here_p): Replace alloca with xcalloc.   Move core
        code to ...
        (pre_expr_reaches_here_p_work): ... here.
        (expr_reaches_here_p): Replace alloca with xcalloc.   Move core
        code to ...
        (expr_reaches_here_p_work): ... here.

From-SVN: r30207
1999-10-27 05:16:12 +00:00
Richard Henderson
d024732666 resource.c (find_basic_block): Delete.
* resource.c (find_basic_block): Delete.
        (mark_target_live_regs, incr_ticks_for_insn): Use BLOCK_NUM instead.
        (init_resource_info): Call compute_bb_for_insn.

From-SVN: r30206
1999-10-26 20:44:08 -07:00
Richard Henderson
3965abd030 * gcc.c-torture/compile/991026-2.c: New test.
From-SVN: r30205
1999-10-26 20:26:12 -07:00
Richard Henderson
02db399d6a toplev.c (rest_of_compilation): Open jump1 dump file before jump and close after, as opposed to just using dump_rtl.
* toplev.c (rest_of_compilation): Open jump1 dump file before
        jump and close after, as opposed to just using dump_rtl.

From-SVN: r30204
1999-10-26 20:24:38 -07:00
Richard Henderson
93cba9936e flow.c (merge_blocks_move_predecessor_nojumps): Cope with already adjacent blocks, but no fallthru.
* flow.c (merge_blocks_move_predecessor_nojumps): Cope
        with already adjacent blocks, but no fallthru.
        (merge_blocks_move_successor_nojumps): Simplify.
        (debug_flow_info): New.

From-SVN: r30203
1999-10-26 20:24:24 -07:00
J"orn Rennecke
09a308fe08 reload.h (earlyclobber_operand_p): Declare.
* reload.h (earlyclobber_operand_p): Declare.
	* reload.c (earlyclobber_operand_p): Don't declare.  No longer static.
	* reload1.c (reload_reg_free_for_value_p):  RELOAD_OTHER reloads with
	an earlyclobbered output conflict with RELOAD_INPUT reloads - handle
	case where the RELOAD_OTHER reload is new.  Use earlyclobber_operand_p.

From-SVN: r30202
1999-10-27 03:14:12 +01:00
Jan Hubicka
a05924f91b Reorg reg-stack to use the standard CFG.
Co-Authored-By: Richard Henderson <rth@cygnus.com>

From-SVN: r30201
1999-10-26 18:25:13 -07:00
Richard Henderson
b517dcd29e alpha.h (TARGET_MEM_FUNCTIONS): Define here.
* alpha.h (TARGET_MEM_FUNCTIONS): Define here.
        * linux.h, netbsd.h, vms.h: Not here.

From-SVN: r30200
1999-10-26 13:31:33 -07:00
Gavin Romig-Koch
1d5d552e7b mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY, [...]): New.
* config/mips/mips.h (ISA_HAS_64BIT_REGS,ISA_HAS_BRANCHLIKELY,
	ISA_HAS_FP4,ISA_HAS_CONDMOVE): New.
	(GENERATE_BRANCHLIKELY,HAVE_SQRT_P,
	CONDITIONAL_REGISTER_USEAGE): Use them.
	* config/mips/mips.c (mips_move_1word,mips_move_2words,
	gen_conditional_branch,override_options) : Use them.
	* config/mips/mips.md : Use them.

From-SVN: r30199
1999-10-26 20:29:35 +00:00
Richard Henderson
044bdac117 * i386.md (zero_extendqihi2): Use SImode register name with andl.
From-SVN: r30198
1999-10-26 13:10:28 -07:00
Richard Henderson
cd8cee7b53 integrate.c (function_cannot_inline_p): Don't allow inlining if setjmp is used.
* integrate.c (function_cannot_inline_p): Don't allow inlining
        if setjmp is used.

From-SVN: r30197
1999-10-26 12:36:18 -07:00
Kaveh R. Ghazi
ec0ce6e261 c-parse.in (cast_expr): Constify.
* c-parse.in (cast_expr): Constify.

        * cccp.c (special_symbol): Likewise.

        * cse.c (hash_cse_reg_info, cse_reg_info_equal_p): Likewise.

        * dwarf2out.c (base_type_die): Likewise.

        * global.c (allocno_compare): Likewise.

        * local-alloc.c (qty_compare_1, qty_sugg_compare_1): Likewise.

        * regclass.c (fix_register): Likewise.

        * rtl.h (fix_register): Likewise.

        * stupid.c (stupid_reg_compare): Likewise.

        * toplev.c (decode_f_option): Likewise.

        * tree.c (build_complex_type): Likewise.

From-SVN: r30196
1999-10-26 18:13:38 +00:00
Richard Earnshaw
d8d79d1588 * output.h: Don't unnecessarily conditionalize prototypes on TREE_CODE.
From-SVN: r30195
1999-10-26 17:44:42 +00:00
Bernd Schmidt
67e61fe7f3 Small reload cleanups
From-SVN: r30193
1999-10-26 13:45:31 +00:00
Marc Espie
35f86a5003 Makefile.in (AR_FOR_TARGET, [...]): Fix target name substitution.
* Makefile.in (AR_FOR_TARGET, RANLIB_FOR_TARGET):  Fix target name
        substitution.

From-SVN: r30190
1999-10-26 02:51:50 -06:00
Mark Mitchell
2af0ac2840 tree.h (BLOCK_TYPE_TAGS): Remove.
* tree.h (BLOCK_TYPE_TAGS): Remove.
	(BLOCK_END_NOTE): Likewise.
	(BLOCK_LIVE_RANGE_FLAG): Likewise.
	(BLOCK_LIVE_RANGE_START): Likewise.
	(BLOCK_LIVE_RANGE_END): Likewise.
	(tree_block): Remove live_range_flag, live_range_var_flag, and
	type_tags.  Remove end_note, live_range_start, and live_range_end.
	(remember_end_note): Remove prototype.
	* tree.c (build_block): Don't set BLOCK_TYPE_TAGS.
	* c-decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
	remember_end_note.
	* ggc-common.c (ggc_mark_tree_children): Don't mark
	BLOCK_TYPE_TAGS or BLOCK_END_NOTE.
	* integrate.c (adjust_copied_decl_tree): Remove.
	* print-tree.c (print_node): Don't print BLOCK_TYPE_TAGS.
	* stmt.c (last_block_end_note): Remove.
	(init_stmt): Don't add a GC root for it.
	(expand_fixup): Don't set it.
	(remember_end_note): Remove.
	(expand_end_bindings): Don't set last_block_end_note.

	* ch-tree.h (remember_end_note): Remove prototype.
	* decl.c (poplevel): Don't call remember_end_note.

	* decl.c (poplevel): Don't set BLOCK_TYPE_TAGS.  Don't call
	remember_end_note.

	* com.c (poplevel): Don't call remember_end_note.

	* decl.c (poplevel): Don't set BLOCK_TYPE_TAGS or call
	remember_end_note.

From-SVN: r30188
1999-10-26 08:34:46 +00:00
Jeff Law
ce7cbc7639 Daily bump.
From-SVN: r30187
1999-10-26 01:45:07 -06:00
Jeff Law
608b12276c Also make sure to define DIR_SEPARATOR if it wasn't previously defined.
From-SVN: r30186
1999-10-26 00:59:43 -06:00
Geoff Keating
3306eb80e9 expmed.c (extract_bit_field): Allow for the case of non-integer objects that are smaller than a word (like...
* expmed.c (extract_bit_field): Allow for the case of non-integer
        objects that are smaller than a word (like SFmode on a 64-bit
        machine).

From-SVN: r30185
1999-10-26 00:48:38 -06:00