aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2004-07-01builtins.c (fold_builtin_classify): New.Paolo Bonzini7-5/+285
gcc/ChangeLog: 2004-07-01 Paolo Bonzini <bonzini@gnu.org> * builtins.c (fold_builtin_classify): New. (fold_builtin_unordered_cmp): Fix commentary. (fold_builtin): Use it. * builtins.def: Define builtins for isnan, isnanf, isnanl, finite, finitef, finitel, isinf, isinff, isinfl. gcc/testsuite/ChangeLog: 2004-07-01 Paolo Bonzini <bonzini@gnu.org> * gcc.dg/builtins-43.c: New. * gcc.dg/builtins-44.c: New. * gcc.dg/builtins-45.c: New. From-SVN: r83960
2004-07-01function.h (struct function): Remove dont_emit_block_notes.Richard Henderson8-54/+24
* function.h (struct function): Remove dont_emit_block_notes. * gimple-low.c (lower_function_body): Don't set it. * cfgexpand.c (expand_block): Don't check it. * cfglayout.c (insn_locators_initialize): Likewise. * expr.c (expand_expr_real, expand_expr_real_1): Likewise. * passes.c (rest_of_compilation): Likewise. * stmt.c (expand_start_bindings_and_block): Likewise. (expand_end_bindings): Likewise. From-SVN: r83959
2004-07-01cgraph.h (cgraph_build_static_cdtor): Declare.Richard Henderson13-201/+196
* cgraph.h (cgraph_build_static_cdtor): Declare. * cgraphunit.c (cgraph_build_static_cdtor): New. * c-objc-common.c (build_cdtor): Use it. * coverage.c (create_coverage): Likewise. * libfuncs.h (LTI_gcov_init, gcov_init_libfunc): Remove. * optabs.c (init_optabs): Don't set gcov_init_libfunc. java/ * class.c (registerClass_libfunc): Remove. (init_class_processing): Don't set it. (emit_register_classes): Take list_p parameter. Fill it in with _Jv_RegisterClass calls. * decl.c (java_init_decl_processing): Don't call init_resource_processing. * jcf-parse.c (java_emit_static_constructor): New. (java_parse_file): Call it. * resource.c (registerResource_libfunc): Remove. (init_resource_processing): Remove. (write_resource_constructor): Take list_p parameter. Fill it in with _Jv_RegisterResource calls. * java-tree.h: Update prototypes. From-SVN: r83958
2004-07-01* match.c (var_element): Remove unused variable.Richard Henderson2-1/+2
From-SVN: r83957
2004-07-01expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a constant as a ↵Roger Sayle2-1/+31
sequence of additions... * expmed.c (expand_shift): Consider expanding LSHIFT_EXPR by a constant as a sequence of additions depending upon the rtx_costs. (synth_mult): Update the "observed" cost of a shift, based upon the above optimization. From-SVN: r83956
2004-07-01Index: gcc/ChangeLogGeoffrey Keating20-122/+859
2004-06-28 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> PR 15813 * dwarf2out.c (reg_save): Output DW_CFA_same_value when a register is saved in itself. (initial_return_save): If the return address is a register, it's already there, don't bother to mention it in the CFI. (struct queued_reg_save): Add field saved_reg. (struct reg_saved_in_data): New. (regs_saved_in_regs): New. (num_regs_saved_in_regs): New. (queue_reg_save): Add extra parameter to specify register saved in register. Remove duplicate entries from queue. Add comment for function. (flush_queued_reg_saves): Handle registers saved in registers. Update regs_saved_in_regs. Add comment for function. (clobbers_queued_reg_save): Add comment for function. Allow for regs_saved_in_regs. (reg_saved_in): New. (dwarf2out_frame_debug_expr): Handle saving registers in other registers. (dwarf2out_frame_debug): Reset regs_saved_in_regs. * unwind-dw2.c (execute_cfa_program): Correct handling of DW_CFA_same_value. Add FIXME comment about incorrect implementation of DW_CFA_restore_extended. * config/rs6000/rs6000.c (rs6000_emit_prologue): Let dwarf2out_frame_debug_expr see instructions that save registers in other registers or save those other registers in memory. * unwind-dw2.c (DWARF_FRAME_REGISTERS): Move to unwind-dw2.h. (_Unwind_FrameState): Likewise. * unwind-dw2.h: New. * Makefile.in (LIB2ADDEHDEP): Add unwind-dw2.h. * config/rs6000/darwin-fallback.c: New file. * config/rs6000/darwin.h (MD_FALLBACK_FRAME_STATE_FOR): Define. * config/rs6000/t-darwin (LIB2FUNCS_EXTRA): Add darwin-fallback.o. Index: gcc/testsuite/ChangeLog 2004-06-26 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> * gcc.dg/cleanup-10.c: Run on all Linux platforms and powerpc-darwin. Use SA_RESETHAND rather than SA_ONESHOT. Trap SIGBUS as well as SIGSEGV. * gcc.dg/cleanup-11.c: Likewise. * gcc.dg/cleanup-8.c: Likewise. * gcc.dg/cleanup-9.c: Likewise. * gcc.dg/cleanup-5.c: Run on all platforms. Index: libjava/ChangeLog 2004-06-26 Geoffrey Keating <geoffk@apple.com> Andreas Tobler <a.tobler@schweiz.ch> * configure.host (powerpc-*-darwin*): New case, define can_unwind_signal. * configure.in (*-*-darwin*): New case, point to darwin-signal.h. * configure: Regenerate. * include/darwin-signal.h: New. Co-Authored-By: Andreas Tobler <a.tobler@schweiz.ch> From-SVN: r83953
2004-07-01rs6000.c (rs6000_mixed_function_arg): Rewrite.Alan Modra2-176/+140
* config/rs6000/rs6000.c (rs6000_mixed_function_arg): Rewrite. (function_arg): Use rs6000_arg_size rather than CLASS_MAX_NREGS in calculating gpr size for altivec. Simplify and correct rs6000_mixed_function_arg calls. Call rs6000_mixed_function_arg for ABI_V4 gpr case too. Fix off-by-one error in long double reg test. Generate the correct PARALLEL to handle long double for ABI_AIX 32-bit. Use this for -m32 -mpowerpc64 fpr case too. (function_arg_partial_nregs): Align before calculating regs left. Don't return info on partial fprs when we need info on gprs. Correct long double fpr off-by-one error. From-SVN: r83951
2004-07-01pa-protos.h (prefetch_operand): Add prototype.John David Anglin5-0/+148
* pa-protos.h (prefetch_operand): Add prototype. * pa.c (prefetch_operand): New function. * pa.h (prefetch_operand): Add to PREDICATE_CODES. * pa.md (prefetch, prefetch_32, prefetch_64): New prefetch patterns. From-SVN: r83950
2004-07-01mt_allocator.h: Handle allocations at static initialization that happen ↵Brad Spencer2-2/+25
before _S_options is... 2004-06-30 Brad Spencer <spencer@infointeractive.com> * include/ext/mt_allocator.h: Handle allocations at static initialization that happen before _S_options is (automatically) constructed; set _S_init even if _M_force_new is true. From-SVN: r83949
2004-06-30function.h (struct function): Remove x_whole_function_mode_p.Richard Henderson9-38/+22
* function.h (struct function): Remove x_whole_function_mode_p. * c-decl.c (store_parm_decls): Don't set it. * tree-optimize.c (tree_rest_of_compilation): Likewise. * passes.c (rest_of_compilation): Don't check it. * stmt.c (expand_fixup): Likewise. * function.c (fixup_var_refs_insn): Remove unused variable. fortran/ * trans-decl.c (gfc_generate_function_code): Don't set x_whole_function_mode_p. (gfc_generate_constructors): Likewise. From-SVN: r83947
2004-06-30tree.h (immediate_size_expand): Delete.Richard Henderson12-54/+25
* tree.h (immediate_size_expand): Delete. * stor-layout.c (immediate_size_expand): Delete. (variable_size): Don't look at it. * c-decl.c (push_parm_decl): Don't frob immediate_size_expand. (start_function): Likewise. * cfgexpand.c (construct_exit_block): Likewise. * function.c (init_function_start, expand_function_end): Likewise. * tree-optimize.c (tree_rest_of_compilation): Likewise. cp/ * decl.c (start_preparsed_function): Don't set immediate_size_expand. * method.c (use_thunk): Likewise. fortran/ * trans-decl.c (gfc_generate_function_code): Don't set immediate_size_expand. (gfc_generate_constructors): Likewise. From-SVN: r83946
2004-07-01Daily bump.GCC Administrator2-2/+2
From-SVN: r83944
2004-06-30gimplify.c (gimplify_compound_lval): Take fallback argument instead of ↵Richard Henderson4-245/+197
want_lvalue. * gimplify.c (gimplify_compound_lval): Take fallback argument instead of want_lvalue. (gimplify_call_expr): Take want_value argument instead of test function. Gimplify arguments to val only if reg_type; otherwise allow lvalue forms. (gimplify_expr): Update gimplify_compound_lval and gimplify_call_expr calls. * tree-gimple.c: Update GIMPLE grammer. Use true/false not 1/0. Tidy commentary globally. (get_call_expr_in): Remove RETURN_EXPR handling. Tidy. * tree-gimple.h (is_gimple_call_addr): Mark extern. * gimplify.c (gimplify_modify_expr_to_memcpy): Fix typo. From-SVN: r83941
2004-06-30tree-gimple.c (right_assocify_expr): KillRichard Henderson4-76/+5
* tree-gimple.c (right_assocify_expr): Kill (rationalize_compound_expr): Kill. * tree-gimple.h: Likewise. * tree-inline.c (expand_call_inline): Don't call it. From-SVN: r83940
2004-06-30function.h (struct function): Remove x_last_parm_insn, inl_last_parm_insn.Richard Henderson3-18/+6
* function.h (struct function): Remove x_last_parm_insn, inl_last_parm_insn. (last_parm_insn): Remove. * function.c (free_after_compilation): Don't clear them. (fixup_var_refs_insn, assign_parms): Don't set them. From-SVN: r83939
2004-06-30Statement.java (doExecute): Fix formatting.Jerry Quinn2-5/+14
2004-06-30 Jerry Quinn <jlquinn@optonline.net> * java/beans/Statement.java (doExecute): Fix formatting. From-SVN: r83938
2004-06-30call.c (build_over_call), [...]): Call check_function_arguments instead of ↵Joseph Myers5-6/+30
check_function_format. cp: * call.c (build_over_call), typeck.c (build_function_call): Call check_function_arguments instead of check_function_format. testsuite: * g++.dg/warn/nonnull1.C: New test. From-SVN: r83937
2004-06-30* function.c, rtl.h (get_first_nonparm_insn): Remove.Richard Henderson3-12/+4
From-SVN: r83936
2004-06-30c-common.h (check_function_format): Remove first parameter.Joseph Myers7-144/+124
* c-common.h (check_function_format): Remove first parameter. * c-format.c (format_check_context): Remove status. (check_format_info, check_format_info_main, maybe_read_dollar_number, avoid_dollar_number, finish_dollar_format_checking, check_format_types, check_function_format): Remove first parameter. Don't use status_warning. (check_format_arg): Don't use status_warning. (status_warning): Remove. * c-common.c (check_function_arguments): Update call to check_function_format. cp: * call.c (build_over_call), typeck.c (build_function_call): Update calls to check_function_format. From-SVN: r83935
2004-06-30sparc-protos.h (output_cbranch): Constify return value.Eric Botcazou4-26/+46
* config/sparc/sparc-protos.h (output_cbranch): Constify return value. (output_v9branch): Likewise. (sparc_v8plus_shift): Likewise. Rename into output_v8plus_shift. * config/sparc/sparc.c (output_cbranch): Constify return value. Prettify output for delay slots. (output_v9branch): Likewise. (sparc_v8plus_shift): Constify return value. Rename into output_v8plus_shift. * config/sparc/sparc.md (ashldi3_v8plus): Adjust call to sparc_v8plus_shift. (ashrdi3_v8plus): Likewise. (lshrdi3_v8plus): Likewise. (call_address_struct_value_sp32): Prettify output for delay slots. (call_symbolic_struct_value_sp32): Likewise. (call_address_untyped_struct_value_sp32): Likewise. (call_symbolic_untyped_struct_value_sp32): Likewise. From-SVN: r83934
2004-06-30common.opt (ftree-loop-optimize): New flag.Zdenek Dvorak8-2/+134
* common.opt (ftree-loop-optimize): New flag. * tree-flow.h (kill_redundant_phi_nodes): Declare. * tree-optimize.c (init_tree_optimization_passes): Add pass_loop. * tree-pass.h (pass_loop_init, pass_loop_done): Declare. * tree-ssa-loop.c (current_loops): New variable. (tree_loop_optimizer_init, gate_loop, tree_ssa_loop_init, tree_ssa_loop_done): New functions. (pass_loop, pass_loop_init, pass_loop_done): New passes. * tree-ssa.c (kill_redundant_phi_nodes): Export. * doc/invoke.texi (-ftree-loop-optimize): Document. From-SVN: r83933
2004-06-30tree-ssa-loop-ch.c: New file.Zdenek Dvorak12-402/+1201
* tree-ssa-loop-ch.c: New file. * Makefile.in (tree-ssa-loop-ch.o): Add. (tree-into-ssa.o): Add GGC_H dependency. * tree-cfg.c (tree_duplicate_bb): Copy virtual arguments. * tree-flow.h (rewrite_into_ssa): Declaration changed. (rewrite_ssa_into_ssa, compute_global_livein, duplicate_ssa_name): Declare. * tree-into-ssa.c: Include ggc.h. (struct def_blocks_d): Add phi_blocks field. (struct mark_def_sites_global_data): Add names_to_rename field. (struct ssa_name_info): New. (compute_global_livein): Export. (set_def_block, insert_phi_nodes, mark_def_sites, set_livein_block, insert_phi_nodes_1, rewrite_finalize_block, insert_phi_nodes_for, register_new_def, get_reaching_def, def_blocks_free, get_def_blocks_for, rewrite_into_ssa): Modified to work with rewrite_ssa_into_ssa. (get_ssa_name_ann, get_phi_state, set_phi_state, get_current_def, set_current_def, ssa_mark_def_sites_initialize_block, ssa_mark_phi_uses, ssa_mark_def_sites, duplicate_ssa_name, ssa_register_new_def, ssa_rewrite_initialize_block, ssa_rewrite_phi_arguments, ssa_rewrite_finalize_block, ssa_rewrite_stmt, rewrite_ssa_into_ssa, rewrite_all_into_ssa): New functions. (pass_build_ssa): Call rewrite_all_into_ssa. * tree-optimize.c (execute_todo, execute_one_pass, tree_rest_of_compilation): Allocate vars_to_rename only once. * tree-ssa-dom.c (tree_ssa_dominator_optimize): Provide parameter to rewrite_into_ssa. * tree-ssa-loop.c (should_duplicate_loop_header_p, mark_defs_for_rewrite, duplicate_blocks, do_while_loop_p, copy_loop_headers, gate_ch, pass_ch): Moved to tree-ssa-loop-ch.c. Use rewrite_ssa_into_ssa. * tree-ssa-operands.c (copy_virtual_operands): New function. * tree-ssa-operands.h (copy_virtual_operands): Declare. * tree.h (struct tree_ssa_name): Add aux field. (SSA_NAME_AUX): New macro to access it. From-SVN: r83932
2004-06-30compat-common.h: Wrap up CINT in an #ifndef SKIP_COMPLEX_INT/#endif pair.Eric Botcazou2-0/+12
* gcc.dg/compat/compat-common.h: Wrap up CINT in an #ifndef SKIP_COMPLEX_INT/#endif pair. Special-case the Sun compiler wrt to <complex.h>. From-SVN: r83931
2004-06-30call.c (build_over_call): Use __builtin_memcpy for copying CLASS_AS_BASE ↵Richard Henderson2-22/+24
rather than funny casting. * call.c (build_over_call): Use __builtin_memcpy for copying CLASS_AS_BASE rather than funny casting. From-SVN: r83928
2004-06-30init.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and TYPE_SIZE_UNIT of ↵Richard Henderson2-2/+30
full_type. * init.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and TYPE_SIZE_UNIT of full_type. From-SVN: r83927
2004-06-30prefix.c (lookup_key): Cast buffer to LPBYTE.Aaron W. LaFramboise2-2/+6
2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com> * prefix.c (lookup_key): Cast buffer to LPBYTE. From-SVN: r83925
2004-06-30line-map.h (fileline): Remove old typedef.Per Bothner3-3/+7
* include/line-map.h (fileline): Remove old typedef. * internal.h (struct cpp_reader): Use source_location typedef instead. From-SVN: r83924
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner9-31/+74
* decl.c (pop_label): Handle (imperfectly) USE_MAPPED_LOCATION case. * decl2.c: If USE_MAPPED_LOCATION, don't do some line number adjustments - which I don't understand. * error.c (dump_decl): Rename "<interrnal>" to "<built-in>". * error.c: Use LOCATION_FILE and EXPR_LOCATION macros. (print_instantiation_partial_context): Use expand_location. * decl.c (duplicate_decl): Use new DECL_IS_BUILTIN macro. * name-lookup.c: Likewise. * lex.c (cxx_init): Likewise. Also use BUILTINS_LOCATION. * name-lookup.c: Use input_line macro. * parser.c (cp_lexer_get_preprocessor_token): Use UNKNOWN_LOCATION. (cp_parser_statement): Rename locaal variable statement_locus to statement_location and use SET_EXPR_LOCATION macro. * pt.c: Handle USE_MAPPED_LOCATION case. Use new macros. * tree.c (cp_walk_subtrees): Likewise. From-SVN: r83923
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner9-20/+106
* gengtype-lex.l: Temporary kludge to avoid duplicate typedef. * gengtype.c: Update for now typdefs in input.h. More kludges. * modulo-sched.c (sms_schedule): Use NOTE_EXPANDED_LOCATION macro. * ra-debug.c (ra_print_rtl): Likewise. * sched-rgn.c: Likewise. * sched-vis.c: Likewise. * rtl.h (gen_rtx_ASM_OPERANDS): Redefine if USE_MAPPED_LOCATION. * stmt.c (expand_asm_operands): Adjust calls to gen_rtx_ASM_OPERANDS. * tree-cfg.c: Use new macros and typedefs. * tree-flow-inline.h: Likewise. From-SVN: r83922
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner22-93/+180
* cfgexpand.c: Handle USE_MAPPED_LOCATION case for function_end_locus. * cfglayout.c (insn_locators_initialize): Const cleanup. New macros. * cfgrtl.c (delete_insn): Use new NOTE_DELETED_LABEL_NAME macro. * print-rtl.c (print_rtx): Likewise. * emit-rtl.c: Don't clear NOTE_SOURCE_FILE if USE_MAPPED_LOCATION. * combine.c: Use new SET_INSN_DELETED macro. * flow.c: Likewise. * haifa-sched.c: Likewise. * ifcvt.c: Likewise. * recog.c: Likewise. * reload1.c: Likewise. * diagnostic.c: Use expand_location macro. * pretty-print.c (pp_base_format_text): Likewise. * profile.c: Likewise. * dwarf2out.c: Likewise. Also use expand_location, DECL_IS_BUILTIN. * dwarf2out.c (dwarf2out_decl: Use BUILTINS_LOCATION. * emit-rtl.c (emit_line_note): Simplify if USE_MAPPED_LOCATION. (force_next_line_note, insn_emit): Handle USE_MAPPED_LOCATION case. * final.c (final): Likewise. * haifa-sched.c: Likewise. * integrate.c: Likewise. * jump.c: Likewise. * rtl-error.c: Likewise. * stmt.c (check_seenlabel): Likewise. * tree-pretty-print.c: Likewise. From-SVN: r83921
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner12-71/+89
* tree-mudflap.c (mf_file_function_line_tree): Take a location_t rather than a pointer to one. Use expand_location. (mf_varname_tree): Use expand_location. * tree-dump.c: Use expand_location on DECL_SOURCE_LOCATION. * coverage.c: Likewise. * print-tree.c: Likewise. * c-aux-info.c (gen_aux_info_record): Likewise. * c-parse.in: Use SET_EXPR_LOCATION macro. * gimple-low.c: Likewise. * tree-mudflap.c: Likewise. * gimplify.c: Likewise. Also use EXPR_LOCATION and EXPR_HAS_LOCATION. * c-ppoutput.c: Use new source_location typedef instead of fileline. * c-semantics.c: Use new macros. * c-typeck.c: Likewise. From-SVN: r83920
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner10-28/+68
* basic-block.h (struct edge_def): Use new source_locus typedef. * c-common.c (fname_decl): Update save/clear/store of input_location. (c_do_switch_warnings): Update for USE_MAPPED_LOCATION case. * c-decl.c: Likewise. * c-dump.c (dump_stmt): Likewise. * c-gimplify.c (c-gimplify.c): Generalize using SET_EXPR_LOCATION. * c-lex.c (cb_line_change): If USE_MAPPED_LOCATION use token's src_loc to set input_location direction, rather than using linemap_lookup. (fe_file_change, cb_def_pragma): Again use source_location directly. * c-opts.c (saved_lineno): Remove static variable. (c_common_post_options, c_common_init): Don't bothner to save, clear and restore input_Location - now handled by lang_dependent_init. * function.c (init_function_start): Use new DECL_IS_BUILTIN macro. * xcoffout.c (xcoff_assign_fundamental_type_number): Likewise. From-SVN: r83919
2004-06-30Conditionally compile support for --enable-mapped_location.Per Bothner7-31/+219
* input.h: #include line-map.h for source_location typedef. (BUILTINS_LOCATION, UNKNOWN_LOCATION, expand_location, LOCATION_FILE, LOCATION_LINE): New macros and functions. (expanded_location, source_locus): New typedefs. (push_srcloc): Change parameter list if USE_MAPPED_LOCATION. * rtl.def (NOTE, ASM_OPERANDS): Modify specifcation, if USE_MAPPED_LOCATION. * rtl.h (NOTE_DELETED_LABEL_NAME): New macro. (NOTE_SOURCE_LOCATION, NOTE_EXPNDED_LOCATION, SET_INSN_DELETED): New conditional macros. (ASM_OPERANDS_SOURCE_FILE, ASM_OPERANDS_SOURCE_LINE): Replace by ASM_OPERANDS_SOURCE_LOCATION if USE_MAPPED_LOCATION. * tree.h (EXPR_LOCATION, SET_EXPR_LOCATION, EXPR_HAS_LOCATION, EXPR_LOCUS, SET_EXPR_LOCUS, EXPR_FILENAME, EXPR_LINENO, DECL_IS_BUILTIN): New macros, most depending on USE_MAPPED__LOCATION. (tree_exp): Change type of locus to use new source_locus typedef. * tree.c (build1_stat): Use SET_EXPR_LOCATION. (annotate_with_locus, annotate_with_file_line): Conditionalize. (expand_location): New function. * toplev.c (unknown_location): New static, when USE_MAPPED_LOCATION. (push_srcloc, pop_loc): Adjust parameter handling. (process_options): Don't set input_filename by itself. (lang_dependent_init): Save, set input_location to <built-in>. (warn_deprecated_use): Use expand_location. From-SVN: r83918
2004-06-303000.md: Improve description.Richard Sandiford2-37/+51
2004-06-30 Richard Sandiford <rsandifo@redhat.com> Eric Christopher <echristo@redhat.com> * config/mips/3000.md: Improve description. From-SVN: r83917
2004-06-30cirrus.md (cirrus_arm_movdi, [...]): Set pool ranges for coprocessor loads.Paul Brook2-9/+14
* config/arm/cirrus.md (cirrus_arm_movdi, cirrus_movsf_hard_insn, cirrus_movdf_hard_insn): Set pool ranges for coprocessor loads. From-SVN: r83915
2004-06-30* gcc.dg/Wunreachable-8.c : New test.Nitin Yewale2-1/+23
From-SVN: r83914
2004-06-30linker-map.gnu: Revert.Benjamin Kosnik2-4/+4
2004-06-30 Benjamin Kosnik <bkoz@redhat.com> * config/linker-map.gnu: Revert. From-SVN: r83913
2004-06-30* gcc.dg/h8300-ice2.c : New testNitin Yewale2-0/+16
From-SVN: r83912
2004-06-30linker-map.gnu: Add destructor exports for abstract base classes to conform ↵Benjamin Kosnik2-3/+10
to LSB. 2004-06-30 Benjamin Kosnik <bkoz@redhat.com> Stuart Anderson <anderson@netsweng.com> * config/linker-map.gnu: Add destructor exports for abstract base classes to conform to LSB. Co-Authored-By: Stuart Anderson <anderson@netsweng.com> From-SVN: r83910
2004-06-30Makefile.in (OBJS-common): Add tree-chrec.o.Sebastian Pop6-0/+1252
* Makefile.in (OBJS-common): Add tree-chrec.o. (tree-chrec.o): New rule. (GTFILES): Add tree-chrec.h. * gengtype.c (open_base_files): Add tree-chrec.h. * tree-chrec.c: New file. * tree-chrec.h: New file. * tree.def (SCEV_KNOWN, SCEV_NOT_KNOWN, POLYNOMIAL_CHREC): New nodes. From-SVN: r83909
2004-06-30combine.c: Include "output.h" to define dump_file.Roger Sayle3-3/+176
* combine.c: Include "output.h" to define dump_file. (uid_insn_cost, last_insn_cost): New global variables. (combine_insn_cost): New function to estimate cost of an insn. (combine_validate_cost): New function to determine whether a try_combine replacement sequence is cheaper than the original. (combine_instructions): Allocate and populate uid_insn_cost array at the start of the combine pass, and deallocate it after. (try_combine): Check combine_validate_cost to determine whether a "recombination" should be rejected as being more expensive. * Makefile.in (combine.o): Add dependency upon output.h. From-SVN: r83908
2004-06-30re PR fortran/16161 ([gfortran] IMPLICIT CHARACTER not implemented)Tobias Schlüter6-210/+250
fortran/ PR fortran/16161 * decl.c (gfc_match_type_spec): Rename second argument to 'implicit_flag', reverse meaning. Don't match_char_spec if 'implicit_flag' is set. Rename to ... (match_type_spec): ... this. (gfc_match_implicit_none, match_implicit_range): Move here from match.c. (gfc_match_implicit): Move here from match.c, try to match_char_len if match_implicit_range doesn't succeed for CHARACTER implicits. Call renamed fucntion match_type_spec. (gfc_match_data_decl, match_prefix): Call renamed function match_type_spec. * match.c (gfc_match_implicit_none, match_implicit_range, gfc_match_implicit): Move to decl.c. * match.h (gfc_match_implicit_none, gfc_match_implicit): Move protoypes to section 'decl.c'. (gfc_match_type_spec): Remove prototype. testsuite/ PR fortran/16161 * gfortran.fortran-torture/compile/implicit.f90: Add test for implicit character. From-SVN: r83907
2004-06-30rs6000.c (rs6000_rtx_costs): Handle subtractions identically to additions, ↵Roger Sayle2-0/+9
always COSTS_N_INSNS (1). * config/rs6000/rs6000.c (rs6000_rtx_costs) <MINUS_EXPR>: Handle subtractions identically to additions, always COSTS_N_INSNS (1). From-SVN: r83906
2004-06-30* expmed.c (expand_smod_pow2): Fix sign of mask.J"orn Rennecke2-1/+5
From-SVN: r83905
2004-06-30re PR fortran/16289 (Test intrinsic_nearest.f90 not portable?)David Billinghurst2-3/+8
2004-06-30 David Billinghurst (David.Billinghurst@riotinto.com) PR fortran/16289 * gfortran.fortran-torture/execute/intrinsic_nearest.f90 Use tiny() intrinsic to find smallest non-negative real From-SVN: r83904
2004-06-30struct-by-value-22_main.c: New test.Jakub Jelinek4-0/+138
* gcc.dg/compat/struct-by-value-22_main.c: New test. * gcc.dg/compat/struct-by-value-22_x.c: New. * gcc.dg/compat/struct-by-value-22_y.c: New. From-SVN: r83903
2004-06-30tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant to check for ↵Diego Novillo3-34/+25
constants. * tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant to check for constants. (set_remove): Likewise. (value_replace_in_set): Likewise. (find_leader): Likewise. * tree-vn.c (set_value_handle): Likewise. (vn_lookup): Likewise. (vn_lookup_or_add): Likewise. From-SVN: r83902
2004-06-30RTL prologue/epilogue for SPARCEric Botcazou12-993/+793
RTL prologue/epilogue for SPARC * config/sparc/sparc-protos.h (sparc_emitting_epilogue): Delete. (sparc_skip_caller_unimp): Likewise. (load_pic_register): Likewise. (leaf_return_peephole_ok): Likewise. (compute_frame_size): Rename into sparc_compute_frame_size. (sparc_expand_prologue): New prototype. (sparc_expand_epilogue): Likewise. (output_return): Likewise. (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. * config/sparc/sparc.h (INITIAL_ELIMINATION_OFFSET): Adjust call to compute_frame_size. Move comment up. (DELAY_SLOTS_FOR_EPILOGUE): Delete. (ELIGIBLE_FOR_EPILOGUE_DELAY): Likewise. (EPILOGUE_USES): Return true for %g1 if the function uses EH return. * config/sparc/sparc.md (UNSPECV_SAVEW): New constant. (type attribute): Add 'return' and 'savew'. (eligible_for_return_delay): New attribute. (return): New delay_slot. (sibcall_epilogue): Call sparc_expand_epilogue. (prologue): Likewise. Move up. (save_register_window): New expander. (save_register_windowsi): New pattern. (save_register_windowdi): Likewise. (epilogue): New expander. (return_internal): New pattern. (Return peepholes): Delete. * config/sparc/sparc.c (SIBCALL_SLOT_EMPTY_P): New macro. (sparc_emitting_epilogue): Delete. (sparc_skip_caller_unimp): Likewise. (sparc_sr_alias_set): New global variable. (frame_base_name): Delete. (frame_base_reg): New global variable. (sparc_override_options): Get new alias set for save/restore. (leaf_return_peephole_ok): Delete. (eligible_for_epilogue_delay): Rename into eligible_for_return_delay. Factor out code into eligible_for_restore_insn_delay. (eligible_for_restore_insn_delay): New function extraced from above. Use IN_UNCOND_BRANCH_DELAY_TRUE instead of IN_BRANCH_DELAY_TRUE. (eligible_for_sibcall_delay): Use SIBCALL_SLOT_EMPTY_P. Factor out code into eligible_for_restore_insn_delay. (load_pic_register): Make static. Remove check. (save_regs): Delete. (restore_regs): Likewise. (compute_frame_size): Rename into sparc_compute_frame_size. Rename leaf_function into leaf_function_p. (build_big_number): Delete. (save_or_restore_regs): New function. (emit_save_regs): Likewise. (emit_restore_regs): Likewise. (emit_stack_pointer_increment ): Likewise. (emit_stack_pointer_decrement): Likewise. (sparc_expand_prologue): Likewise. (sparc_function_prologue): Rename into sparc_asm_function_prologue. Remove all code to emit instructions. (sparc_expand_epilogue): New function. (sparc_function_epilogue): Rename into sparc_asm_function_epilogue. Remove all code to emit instructions. (output_restore): New function. (output_return): Likewise. (output_sibcall): Factor out code into output_restore. (print_operand): Adjust for frame_base_reg. * target.h (struct gcc_target): New field 'late_rtl_prologue_epilogue'. * target-def.h (TARGET_LATE_RTL_PROLOGUE_EPILOGUE): New define. (TARGET_INITIALIZER): Add it. * passes.c (rest_of_compilation): Set the conditional predicate 'current_function_uses_only_leaf_regs' before sched2. If target has 'late_rtl_prologue_epilogue', emit RTL prologue/epilogue right before sched2. * reorg.c (return_insn_p): New predicate. (find_end_label): Use it. (relax_delay_slots): Do not thread an unconditional jump that points to the end return label. * doc/tm.texi (Registers) <Leaf Functions>: Clarify the validity domain of 'current_function_uses_only_leaf_regs'. (Stack and Calling) <Function Entry>: Document new target hook TARGET_LATE_RTL_PROLOGUE_EPILOGUE. From-SVN: r83901
2004-06-30re PR tree-optimization/15310 ([tree-ssa] Optimize an addition in a bit field)Jakub Jelinek5-0/+243
* simplify-rtx.c (simplify_binary_operation): Simplify ((A & N) + B) & M -> (A + B) & M if M is pow2 minus 1 constant and N has at least all bits in M set as well. PR tree-optimization/15310 * expr.c (expand_assignment): Optimize += or -= on a bit field in most significant bits. * gcc.c-torture/execute/20040629-1.c: New test. From-SVN: r83900
2004-06-30ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use ↵Geoffrey Keating2-5/+10
'\n\t' instead. * src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead. From-SVN: r83899