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