Commit Graph

25026 Commits

Author SHA1 Message Date
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
Jeffrey A Law
543c94cc93 * gcc.c-torture/compile/991026-1.c: New test.
From-SVN: r30184
1999-10-26 00:47:05 -06:00
Bernd Schmidt
c2b4b17147 reload1.c (reload_reg_free_for_value_p): Show RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER reloads.
* reload1.c (reload_reg_free_for_value_p): Show
        RELOAD_FOR_OTHER_ADDRESS reloads can conflict with RELOAD_OTHER
        reloads.

From-SVN: r30183
1999-10-26 00:43:36 -06:00
Jeffrey A Law
c2897436c3 collect2.c (IS_DIR_SEPARATOR): Define.
* collect2.c (IS_DIR_SEPARATOR): Define.
        (prefix_from_string): Use IS_DIR_SEPARATOR and DIR_SEPARATOR.

From-SVN: r30182
1999-10-26 00:03:19 -06:00
Geoff Keating
7f6dae2a45 loop.c (basic_induction_var): A non-integer variable which is being set by a paradoxical subreg is probably...
* loop.c (basic_induction_var): A non-integer variable which is
        being set by a paradoxical subreg is probably not a biv.

From-SVN: r30181
1999-10-25 23:56:15 -06:00
Herman A.J. ten Brugge
7146dfdd90 * prefix.c (translate_name) Check for empty prefix string.
From-SVN: r30180
1999-10-25 23:54:13 -06:00
Andreas Schwab
1722c704a2 * configure: Fix quoting inside arguments of eval.
From-SVN: r30179
1999-10-25 23:47:42 -06:00
Jeffrey A Law
92bcb3808e som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static functions too.
* som.h (ASM_DECLARE_FUNCTION_NAME): Set PRIV_LEV for static
        functions too.

From-SVN: r30178
1999-10-25 23:43:52 -06:00
Andreas Schwab
9799e470fb Makefile.in (CPP_CROSS_NAME): New variable.
* Makefile.in (CPP_CROSS_NAME): New variable.
        (install-cpp): Use it instead of CPP_INSTALL_NAME for the cross
        xcpp.
        (uninstall-cpp): Use CPP_INSTALL_NAME and CPP_CROSS_NAME for the
        names of the files to be uninstalled.

From-SVN: r30177
1999-10-25 23:12:14 -06:00
Jeffrey A Law
4525e22851 haifa-sched.c (add_dependence): Update the true dependency cache the first time we add a true dependence to the...
* haifa-sched.c (add_dependence): Update the true dependency
        cache the first time we add a true dependence to the LOG_LINKS chain.

From-SVN: r30176
1999-10-25 23:05:00 -06:00
Jim Kingdon
a82cecdad5 cplus-dem.c: Move declarations of standard_symbol_characters and hp_symbol_characters inside...
* cplus-dem.c: Move declarations of standard_symbol_characters and
        hp_symbol_characters inside #ifdef MAIN to avoid compiler
        warnings.

From-SVN: r30175
1999-10-25 22:30:08 -06:00
Jim Kingdon
a36335da46 * fold-const.c (fold): Fix comment.
From-SVN: r30174
1999-10-25 22:27:50 -06:00
Kaveh R. Ghazi
a996cbd49c dbxout.c (lastfile, [...]): Constify a char*.
* dbxout.c (lastfile, cwd, dbxout_type_method_1,
	dbxout_symbol_location, dbxout_symbol_name, dbxout_init,
	dbxout_start_new_source_file, dbxout_source_file,
	dbxout_source_line, dbxout_finish, dbxout_type_fields,
	dbxout_type_methods, dbxout_symbol, dbxout_prepare_symbol):
	Constify a char*.
	(dbxout_types, dbxout_args, dbxout_symbol): Delete prototypes.
	(dbxout_symbol): Mark parameter `local' with ATTRIBUTE_UNUSED.
	(dbxout_block): Initialize variable `blocknum'.

	* dbxout.h (dbxout_init, dbxout_finish,
	dbxout_start_new_source_file, dbxout_source_file, dbxout_types,
	dbxout_args, dbxout_source_line): Constify a char*.

	* dwarfout.c (dwarf_tag_name, dwarf_attr_name,
	dwarf_stack_op_name, dwarf_typemod_name, dwarf_fmt_byte_name,
	dwarf_fund_type_name, name_attribute, stmt_list_attribute,
	low_pc_attribute, high_pc_attribute, body_begin_attribute,
	body_end_attribute, comp_dir_attribute, sf_names_attribute,
	src_info_attribute, mac_info_attribute, producer_attribute,
	lookup_filename, generate_macinfo_entry, fundamental_type_code,
	dwarfout_line, dwarfout_start_new_source_file, dwarfout_define,
	dwarfout_undef): Constify a char*.
	(add_incomplete_type, retry_incomplete_types): Add prototypes.

	* dwarfout.h (dwarfout_define, dwarfout_undef,
	dwarfout_start_new_source_file, dwarfout_line): Constify a char*.

From-SVN: r30173
1999-10-26 02:54:22 +00:00
Gavin Romig-Koch
ea09f03262 mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
* config/mips/mips.h (MIPS_ISA_DEFAULT): Insure it's defined.
	(MULTILIB_ISA_DEFAULT): New.
	(MULTILIB_DEFAULTS): Use it.
	* config/mips/mips.c (): Remove the now unnecessary definition
	of MIPS_ISA_DEFAULT.
	* config/mips/elf64.h (MULTILIB_DEFAULTS): Remove the now
	unnecessary definition.

From-SVN: r30171
1999-10-25 21:44:39 +00:00
Richard Earnshaw
f12c5ef37a * arm.md (pic_load_addr): Add constraints to operand 1.
From-SVN: r30170
1999-10-25 21:11:18 +00:00
Jeffrey A Law
2ca129355b arm.c (arm_override_options): Correct initialization of arm_fast_multiply...
* arm.c (arm_override_options): Correct initialization of
	arm_fast_multiply, arm_arch4, arm_arch5, arm_ld_sched,
	arm_is_strong, and arm_is_6_or_7.

From-SVN: r30169
1999-10-25 13:24:40 -06:00
Bruce Korb
627dba375c oops - typo
From-SVN: r30166
1999-10-25 16:11:12 +00:00