Commit Graph

59449 Commits

Author SHA1 Message Date
Richard Henderson
4025c040c5 function.h (struct function): Remove x_whole_function_mode_p.
* 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-30 18:12:19 -07:00
Richard Henderson
6a0bec2ce1 tree.h (immediate_size_expand): Delete.
* 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-06-30 17:38:38 -07:00
GCC Administrator
1730c8f5a7 Daily bump.
From-SVN: r83944
2004-07-01 00:16:14 +00:00
Richard Henderson
90051e16b4 gimplify.c (gimplify_compound_lval): Take fallback argument instead of 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-30 17:14:43 -07:00
Richard Henderson
2b9ef4fa61 tree-gimple.c (right_assocify_expr): Kill
* 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-30 17:01:23 -07:00
Richard Henderson
521d8de07f function.h (struct function): Remove x_last_parm_insn, inl_last_parm_insn.
* 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-30 16:58:18 -07:00
Jerry Quinn
dcfbe7c7d9 Statement.java (doExecute): Fix formatting.
2004-06-30  Jerry Quinn  <jlquinn@optonline.net>

	* java/beans/Statement.java (doExecute): Fix formatting.

From-SVN: r83938
2004-06-30 22:47:39 +00:00
Joseph Myers
dd66b8e81e call.c (build_over_call), [...]): Call check_function_arguments instead of 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 23:30:34 +01:00
Richard Henderson
0671a8a0b9 * function.c, rtl.h (get_first_nonparm_insn): Remove.
From-SVN: r83936
2004-06-30 15:30:30 -07:00
Joseph Myers
9980154889 c-common.h (check_function_format): Remove first parameter.
* 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-30 23:28:02 +01:00
Eric Botcazou
a6163c2238 sparc-protos.h (output_cbranch): Constify return value.
* 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-30 21:45:28 +00:00
Zdenek Dvorak
c66b6c6689 common.opt (ftree-loop-optimize): New flag.
* 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-30 21:29:00 +00:00
Zdenek Dvorak
5f240ec46e tree-ssa-loop-ch.c: New file.
* 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-30 21:11:28 +00:00
Eric Botcazou
43e7557b6e compat-common.h: Wrap up CINT in an #ifndef SKIP_COMPLEX_INT/#endif pair.
* 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-30 21:08:03 +00:00
Richard Henderson
1d528e29aa call.c (build_over_call): Use __builtin_memcpy for copying CLASS_AS_BASE 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-30 13:01:29 -07:00
Richard Henderson
9117ccad0c init.c (build_new_1): Fill in TYPE_DOMAIN, TYPE_SIZE and TYPE_SIZE_UNIT of 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-30 12:53:14 -07:00
Aaron W. LaFramboise
aff982b111 prefix.c (lookup_key): Cast buffer to LPBYTE.
2004-05-28 Aaron W. LaFramboise <aaronraolete36@aaronwl.com>
	* prefix.c (lookup_key): Cast buffer to LPBYTE.

From-SVN: r83925
2004-06-30 11:45:58 -07:00
Per Bothner
f58f7def26 line-map.h (fileline): Remove old typedef.
* include/line-map.h (fileline):  Remove old typedef.
	* internal.h (struct cpp_reader):  Use source_location typedef instead.

From-SVN: r83924
2004-06-30 11:35:18 -07:00
Per Bothner
93409b8c45 Conditionally compile support for --enable-mapped_location.
* 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-30 11:23:35 -07:00
Per Bothner
9506ac2be5 Conditionally compile support for --enable-mapped_location.
* 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-30 11:21:54 -07:00
Per Bothner
6773e15fa5 Conditionally compile support for --enable-mapped_location.
* 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-30 11:18:01 -07:00
Per Bothner
a281759fdf Conditionally compile support for --enable-mapped_location.
* 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-30 11:11:14 -07:00
Per Bothner
3c20847b83 Conditionally compile support for --enable-mapped_location.
* 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-30 11:05:07 -07:00
Per Bothner
c166747038 Conditionally compile support for --enable-mapped_location.
* 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-30 10:58:21 -07:00
Richard Sandiford
b5674962f1 3000.md: Improve description.
2004-06-30  Richard Sandiford  <rsandifo@redhat.com>
	    Eric Christopher  <echristo@redhat.com>

	* config/mips/3000.md: Improve description.

From-SVN: r83917
2004-06-30 17:27:54 +00:00
Paul Brook
74fe2f96ca cirrus.md (cirrus_arm_movdi, [...]): Set pool ranges for coprocessor loads.
* 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 16:51:33 +00:00
Nitin Yewale
a9c085889a * gcc.dg/Wunreachable-8.c : New test.
From-SVN: r83914
2004-06-30 10:42:24 -06:00
Benjamin Kosnik
bd535dc55c linker-map.gnu: Revert.
2004-06-30  Benjamin Kosnik  <bkoz@redhat.com>

	* config/linker-map.gnu: Revert.

From-SVN: r83913
2004-06-30 16:38:42 +00:00
Nitin Yewale
11012cd697 * gcc.dg/h8300-ice2.c : New test
From-SVN: r83912
2004-06-30 10:36:47 -06:00
Benjamin Kosnik
9abf398dd9 linker-map.gnu: Add destructor exports for abstract base classes to conform 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-30 16:19:45 +00:00
Sebastian Pop
c8a2ab6d0c Makefile.in (OBJS-common): Add tree-chrec.o.
* 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-30 15:37:42 +00:00
Roger Sayle
64b8935d48 combine.c: Include "output.h" to define dump_file.
* 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-30 13:02:36 +00:00
Tobias Schlüter
e5ddaa24be re PR fortran/16161 ([gfortran] IMPLICIT CHARACTER not implemented)
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-30 14:48:51 +02:00
Roger Sayle
521903292c rs6000.c (rs6000_rtx_costs): Handle subtractions identically to additions, 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 12:46:52 +00:00
J"orn Rennecke
4c6fd544cc * expmed.c (expand_smod_pow2): Fix sign of mask.
From-SVN: r83905
2004-06-30 13:30:00 +01:00
David Billinghurst
807a7d143d re PR fortran/16289 (Test intrinsic_nearest.f90 not portable?)
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-30 11:50:45 +00:00
Jakub Jelinek
0984ba100b struct-by-value-22_main.c: New test.
* 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-30 13:44:50 +02:00
Diego Novillo
bddeccfe5d tree-ssa-pre.c (phi_trans_add): Use is_gimple_min_invariant to check for 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-30 07:06:28 -04:00
Eric Botcazou
9ac617d495 RTL prologue/epilogue for SPARC
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-30 10:31:30 +00:00
Jakub Jelinek
df62f18ae1 re PR tree-optimization/15310 ([tree-ssa] Optimize an addition in a bit field)
* 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-30 12:09:55 +02:00
Geoffrey Keating
e6a0022b28 ffi_darwin.c (flush_icache): ';' is a comment character on Darwin, use '\n\t' instead.
* src/powerpc/ffi_darwin.c (flush_icache): ';' is a comment
	character on Darwin, use '\n\t' instead.

From-SVN: r83899
2004-06-30 09:55:13 +00:00
Steven Bosscher
852a13111d * config/c4x/c4x.md: Fix comment.
From-SVN: r83898
2004-06-30 09:32:41 +00:00
Paolo Carlini
badd64ad92 [multiple changes]
2004-06-30  Gabriel Dos Reis  <gdr@integrable-solutions.net>
            Paolo Carlini  <pcarlini@suse.de>

	* include/bits/cpp_type_traits.h: Add __is_pointer and
	__is_trivially_copyable.
	* include/bits/stl_algobase.h (fill, fill_n): Slightly
	tweak to use the latter.
	(__copy_backward_dispatch): Remove.
	(__copy_backward_aux): Rewrite to use __is_pointer and
	__is_trivially_copyable and __copy_backward::copy_b.
	(__copy_backward): Rewrite as a class template and two
	specializations.

2004-06-30  Paolo Carlini  <pcarlini@suse.de>

	* testsuite/25_algorithms/copy.cc: Move to...
	* testsuite/25_algorithms/copy/1.cc: ... here, extend.
	* testsuite/25_algorithms/copy/2.cc: New.
	* testsuite/25_algorithms/copy/3.cc: New.
	* testsuite/25_algorithms/copy/4.cc: New.

From-SVN: r83897
2004-06-30 09:20:18 +00:00
Akos Kiss
3e1b8dc08b arm.md (cond_return_inverted): Add "length" attribute.
2004-0630  Akos Kiss  <akiss@inf.u-szeged.hu>
* arm.md (cond_return_inverted): Add "length" attribute.

From-SVN: r83896
2004-06-30 09:17:43 +00:00
Steve Kargl
fd53dbe051 rand.c (rand): Wrap the irand() call from the previous commit in prefix.
* intrinsics/rand.c (rand): Wrap the irand() call from the previous
	commit in prefix.

Co-Authored-By: Steven Bosscher <stevenb@suse.de>

From-SVN: r83895
2004-06-30 08:21:54 +00:00
Per Bothner
dd0d10e80c tree.c (build_min_nt, [...]): Don't set TREE_COMPLEXITY from input_line.
* tree.c (build_min_nt, build_min, build_min_non_dep):
	Don't set TREE_COMPLEXITY from input_line.

From-SVN: r83894
2004-06-29 23:42:43 -07:00
Per Bothner
ce7f2acdd9 winnt.c (i386_pe_encode_section_info): Smash rtlname's XSTR in place, so we don't lose SYMBOL_REF_DECL info.
* config/i386/winnt.c (i386_pe_encode_section_info):  Smash rtlname's
	XSTR in place, so we don't lose SYMBOL_REF_DECL info.

From-SVN: r83893
2004-06-29 22:04:38 -07:00
Per Bothner
8319dc8709 jni.cc (_Jv_JNI_NewGlobalRef, [...]): Remove needless parenthesis...
* jni.cc (_Jv_JNI_NewGlobalRef, JNICALL _Jv_JNI_DeleteGlobalRef,
	etc etc):  Remove needless parenthesis, which causes __stdcall__
	attribute on MinGW to get ignored.

From-SVN: r83892
2004-06-29 21:52:11 -07:00
Zack Weinberg
4877790048 * config/ia64/hpux.h: Target does too support thread-local storage.
From-SVN: r83891
2004-06-30 03:50:55 +00:00
Zack Weinberg
02bbc6ffc0 Revert accidental commit
From-SVN: r83890
2004-06-30 03:29:59 +00:00