Commit Graph

70102 Commits

Author SHA1 Message Date
Kazu Hirata b15341b8ef * decl.c, utils.c: Fix comment typos.
From-SVN: r102630
2005-08-01 12:31:40 +00:00
Jan Hubicka 5ded725413 profile.c (compute_value_histograms): Fix thinko.
* profile.c (compute_value_histograms): Fix thinko.
	* value-prof.c: Include toplev.h
	(check_counter): New function.
	(tree_divmod_fixed_value_transform, tree_mod_pow2_value_transform,
	tree_mod_subtract_transform): Add sanity check.

	* val-prof-5.c: New test.

From-SVN: r102629
2005-08-01 09:51:17 +00:00
Richard Guenther a8f82ec437 re PR tree-optimization/23133 (recip does not factor division by function parameter)
2005-08-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/23133
	* tree-ssa-math-opts.c (execute_cse_reciprocals): Walk
	current functions parameter decls to find defs to cse
	reciprocals of.

From-SVN: r102628
2005-08-01 08:58:25 +00:00
Richard Guenther ac264fef23 re PR tree-optimization/23109 (compiler generates wrong code leading to spurious division by zero with -funsafe-math-optimizations (instead of -ftrapping-math))
2005-08-01  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/23109
	* tree-ssa-math-opts.c (execute_cse_reciprocals_1):
	If trapping math is in effect, use post-dominator information
	to check if we'd in any case reach a trapping point before
	doing the reciprocal insertion.
	(execute_cse_reciprocals): Compute post-dominators, if necessary.
	* tree-ssa-loop-im.c (determine_invariantness_stmt): RDIV
	expressions are invariant only if trapping math is not in effect.

From-SVN: r102627
2005-08-01 08:52:59 +00:00
Razya Ladelsky 19734dd84e Interprocedural constant propagation.
From-SVN: r102626
2005-08-01 07:47:25 +00:00
Razya Ladelsky 57fb53415e Makefile.in: Add ipcp.c, ipa-prop.h, ipa-prop.c.
* Makefile.in: Add ipcp.c, ipa-prop.h, ipa-prop.c. Remove integrate.h
	dependency from tree-inline.o.
	Add ipa-prop.h dependency to tree-inline.o and cgraphunit.o.
        * common.opt: Add ipa-cp flag.
        * timevar.def: Add IPCP optimization.
        * tree-optimize.c (init_tree_optimization_passes): Schedule
	pass_ipa_cp.
	* tree-pass.h (pass_ipa_cp): Declare.
        * cgraph.h (update_call_expr, cgraph_copy_node_for_versioning,
        cgraph_function_versioning): New declarations.
	* cgraphunit.c: Add include to ipa-prop.h.
        (update_call_expr, cgraph_copy_node_for_versioning,
	cgraph_function_versioning): New functions.
        * integrate.c (copy_decl_for_inlining): Remove.
        * tree-inline.c: Remove include to integrate.h, Add include ipa-prop.h.
        (struct inline_data): Add versioning_p, ipa_info, new fields.
        (remap_decl, mark_local_for_remap_r, setup_one_parameter,
	declare_return_variable): Replace calls to copy_decl_for_inlining with
        copy_decl_for_dup.
        (copy_body_r, copy_bb, copy_cfg_body, copy_tree_r, inlining_p): Add
	versioning support.
        (copy_decl_for_dup): Rename from copy_decl_for_inlining.
	Add argument VERSIONING.
        (copy_arguments_for_versioning, copy_static_chain,
	function_versionable_p, tree_versionable_function_p,
	tree_function_versioning, replace_ref_tree): New functions.
	* tree-inline.h: Include varray.h.
        (tree_versionable_function_p,  tree_function_versioning,
	tree copy_decl_for_dup): New declarations.

From-SVN: r102625
2005-08-01 07:42:09 +00:00
Razya Ladelsky 518dc85936 ipa-cp.c: New file.
* ipa-cp.c: New file. Contains IPCP specific functionality.
	* ipa-prop.h: New file. Contains structures/definitions that can be
	used by several interprocedural data flow optimizations (and also IPCP).
	* ipa-prop.c: New file.

From-SVN: r102624
2005-08-01 07:26:30 +00:00
Jerry DeLisle ee2242a25a intrinsic.texi: Add documentation for exponent...
2005-07-31  Jerry DeLisle  <jvdelisle@verizon.net>

        * intrinsic.texi: Add documentation for exponent, floor, and fnum and
        fix description of ceiling in index.

From-SVN: r102622
2005-08-01 05:13:08 +00:00
Kazu Hirata 13a44ee0e2 class.c, [...]: Fix comment typos.
* class.c, decl.c, name-lookup.c, pt.c, typeck.c, typeck2.c:
	Fix comment typos.

From-SVN: r102621
2005-08-01 04:02:26 +00:00
Kazu Hirata 569b7f6adb dwarf2out.c, [...]: Fix comment typos.
* dwarf2out.c, fold-const.c, ipa-type-escape.c,
	loop-invariant.c, predict.c, predict.def, reload1.c, reorg.c,
	tree-sra.c, config/arm/arm.c, config/crx/crx.c,
	config/i386/i386.c, config/mips/mips.h,
	config/rs6000/rs6000.h, config/sh/sh.c,
	config/stormy16/stormy16.c: Fix comment typos.

From-SVN: r102620
2005-08-01 03:55:03 +00:00
Joseph Myers 5922c21599 re PR c/22311 (internal compiler error: in c_common_type (-fshort-enums))
PR c/22311
	* c-typeck.c (build_binary_op): Use common_type wrapper on
	shortened types.
	(common_type): Update comment.

testsuite:
	* gcc.dg/pr22311-1.c : New test.

From-SVN: r102615
2005-08-01 02:29:06 +01:00
GCC Administrator ad7574ac07 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r102612.2
2005-08-01 00:16:13 +00:00
Steven Bosscher a3f4b7d835 re PR target/23095 (ICE in regstack compensate_edge)
PR target/23095
	* common.opt (flag_gcse_after_reload): Don't initialize to 2.
	(flag_rerun_cse_after_loop): Initialize this to 2 instead.
	* postreload-gcse.c (hash_scan_set): Do not consider stack regs.

testsuite/
	PR target/23095
	* gfortran.dg/pr23095.f: New test.

	PR c++/22003
	* g++.dg/other/pr22003.C: New test.

From-SVN: r102610
2005-07-31 21:45:44 +00:00
Steven Bosscher 16275f18ff trans-decl.c (gfc_build_builtin_function_decls): Give the internal malloc functions the 'malloc' attribute.
* trans-decl.c (gfc_build_builtin_function_decls): Give the internal
	malloc functions the 'malloc' attribute.  Give runtime_error the
	'noreturn' attribute.

From-SVN: r102609
2005-07-31 21:41:39 +00:00
Jan Hubicka baf7a0d33c pretty-print.h (pp_widest_integer): New macro.
* pretty-print.h (pp_widest_integer): New macro.
	* tree-pretty-print.c (dump_bb_header): Print BB frequencies and
	counts.

From-SVN: r102608
2005-07-31 20:55:41 +00:00
Steven Bosscher 75d2cf695f trans-stmt.c (gfc_trans_goto): Jump to the known label instead of the assigned goto variable.
* trans-stmt.c (gfc_trans_goto): Jump to the known label instead
	of the assigned goto variable.

From-SVN: r102607
2005-07-31 20:36:47 +00:00
Jan Hubicka 7dcbf65993 output.h (enum section_category): Export from varasm.c
* output.h (enum section_category): Export from varasm.c
	(categorize_decl_for_section): Likewise.
	* varasm.c (enum section_category): Kill.
	(categorize_decl_for_section): Make global.
	* i386-protos.h (x86_output_aligned_bss, x86_elf_aligned_common):
	Declare.
	* i386.c (ix86_section_threshold): New static variable.
	(ix86_in_large_data_p, ix86_encode_section_info,
	x86_64_elf_unique_section,
	x86_64_elf_select_section): New functions.
	(TARGET_ENCODE_SECTION_INFO): Define
	(override_options): Enable medium model for PIC.
	(ix86_expand_prologue): Expand gen_set_got_rex64.
	(legitimate_constant_p): Handle new UNSPECs.
	(legitimate_pic_address_disp_p): Likewise.
	(legitimize_pic_address): Lower MEDIUM model addressing.
	* i386.h (PIC_OFFSET_TABLE_REGNUM): Set for medium model PIC.
	(enum cmodel): Add MEDIUM_PIC.
	(SYMBOL_REF_FAR_ADDR_P): New macro.
	(SYMBOL_FLAG_FAR_ADDR): New flag.
	* i386.md (movdi): Support medium model.
	(set_got_rex64): New pattern.
	* i386.opt (mlarge-data-threshold): New flag.
	* predicates.md (zext_operand/sext_operand): Deal with medium model.
	* x86-64.h (ASM_OUTPUT_ALIGNED_BSS): Use x86_output_aligned_bss.
	(ASM_OUTPUT_ALIGNED_COMMON, TARGET_ASM_SELECT_SECTION,
	TARGET_ASM_UNIQUE_SECTION): New.

	* invoke.texi (-mlarge_data_threshold): Document

From-SVN: r102606
2005-07-31 09:12:34 +00:00
Richard Sandiford 3601aa8ab0 re PR target/20621 (ICE: in change_address_1, at emit-rtl.c:1886)
PR target/20621
	* gcc.c-torture/execute/pr20621-1.c: New test.

From-SVN: r102601
2005-07-31 08:30:15 +00:00
Francois-Xavier Coudert d4d145acd4 re PR libfortran/21787 (flush I/O before calling abort())
PR libfortran/21787
	* intrinsics/abort.c (abort): Close units before aborting.
	Updated copyright years.

From-SVN: r102600
2005-07-31 07:30:34 +00:00
GCC Administrator 41500b747d Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r102597.2
2005-07-31 00:16:13 +00:00
Andrew Pinski 31537df3e5 make_exports.pl: Pass --strip-underscores to c++filt.
2005-07-30  Andrew Pinski  <pinskia@physics.uc.edu>

        * scripts/make_exports.pl: Pass --strip-underscores to c++filt.

From-SVN: r102595
2005-07-30 15:46:25 -07:00
Jan Hubicka 0bde02b339 tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
* tree-outof-ssa.c (coalesce_ssa_name): Use coalesce_cost.
	(coalesce_vars): Likewise.
	* tree-ssa-live.c (coalesce_cost): New.
	(build_tree_conflict_graph): Use coalesce_cost.
	* tree-ssa-live.h (coalesce_cost): Declare.

From-SVN: r102593
2005-07-30 22:14:17 +00:00
Thomas Koenig ee25d4cbe3 comma_format_extension_4.f: Adjust length of string for format.
2005-07-30  Thomas Koenig  <Thomas.Koenig@online.de>

        * gfortran.dg/comma_format_extension_4.f:  Adjust length
        of string for format.
        * gfortran.dg/der_array_io_1.f:  Replace illegal internal
        print statement with internal write.
        * gfortran.dg/der_array_io_2.f:  Likewise.
        * gfortran.dg/der_array_io_3.f:  Likewise.

From-SVN: r102591
2005-07-30 20:56:02 +00:00
Francois-Xavier Coudert 6d56728a75 re PR libfortran/22436 (print *,tiny(1._10) yields asterisks)
PR libfortran/22436
	* io/write.c (write_real): Add default formats for real(10) and
	real(16).

From-SVN: r102590
2005-07-30 20:45:02 +00:00
Richard Earnshaw a4ccc33614 arm.md (all peepholes for post-increment operations): Delete.
* arm.md (all peepholes for post-increment operations): Delete.
	(strqi_preinc, strqi_predec, loadqi_preinc, loadqi_predec)
	(loadqisi_preinc, loadqisi_predec, strsi_preinc, strsi_predec)
	(loadsi_preinc, loadsi_predec, strqi_shiftpreinc, strqi_shiftpredec)
	(loadqi_shiftpreinc, loadqi_shiftpredec, strsi_shiftpreinc)
	(strsishift_predec, loadsi_shiftpreinc, loadsi_shiftpredec): Delete.

From-SVN: r102589
2005-07-30 18:23:51 +00:00
James A. Morrison 06581725b9 fold-const.c (tree_expr_nonnegative_p): Always return true for non-integral types.
2005-07-30  James A. Morrison  <phython@gcc.gnu.org>

        * fold-const.c (tree_expr_nonnegative_p): Always return true for
        non-integral types.

From-SVN: r102587
2005-07-30 14:39:12 +00:00
Paul Thomas b6f571b7d3 PR fortran/22570 and related issues.
2005-07-30 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/22570 and related issues.
	* transfer.c (formatted_transfer): Make sure that there
	really is data present before X- or T- editing. Move all
	treatment of tabbing during writes to start of next data
	producing format. Suppress incorrect zeroing of bytes_left
	in slash formating. Insert int cast for assignment of a
	difference of two gfc_offsets.

	PR fortran/22570 an related issues.
	* gfortran.dg/x_slash_1.f: New test.

From-SVN: r102583
2005-07-30 05:33:39 +00:00
Wolfgang Bangerth 0cbc4d773a re PR target/22582 (-rdynamic is undocumented)
Patch from Wolfgang Bangerth.
PR target/22582
* doc/invoke.texi: Document -rdynamic.

From-SVN: r102582
2005-07-29 19:12:12 -07:00
Joseph Myers 91d975b88e re PR c/23143 (parameter forward declarations broken)
PR c/23143
	* c-parser.c (c_parser_parms_list_declarator): Call
	mark_forward_parm_decls.
	* c-decl.c (merge_decls): Only check DECL_IN_SYSTEM_HEADER for
	decls with visibility structure.

testsuite:
	* gcc.dg/parm-forwdecl-1.c, gcc.dg/parm-forwdecl-2.c,
	gcc.dg/parm-forwdecl-3.c, gcc.dg/parm-forwdecl-4.c: New tests.

From-SVN: r102581
2005-07-30 02:34:58 +01:00
GCC Administrator 94ad79eaf5 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r102577.2
2005-07-30 00:17:15 +00:00
Paul Brook f26b8ec98a arm.c (arm_coproc_mem_operand): Fix inaccurate comment.
2005-07-30  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm.c (arm_coproc_mem_operand): Fix inaccurate comment.

From-SVN: r102575
2005-07-30 00:16:35 +00:00
Paul Brook a14b88bb20 arm-protos.h (arm_canonicalize_comparison): Update prototype.
2005-07-30  Paul Brook  <paul@codesourcery.com>

	* config/arm/arm-protos.h (arm_canonicalize_comparison): Update
	prototype.
	* config/arm/arm.c (arm_canonicalize_comparison): Use correct limit
	value for mode.
	* config/arm/arm.h (CANONICALIZE_COMPARISON): Pass mode argument.

From-SVN: r102574
2005-07-30 00:11:27 +00:00
Joseph Myers 7c47d6e984 re PR c/529 (-Wshadow warns on function prototypes vs. global vars)
PR c/529
	* c-decl.c (warn_if_shadowing): Don't check for PARM_DECL in
	nested function declarators.
	(pushdecl): Don't call warn_if_shadowing for PARM_DECL.
	(grokparms): Call warn_if_shadowing for parameters used within the
	parameter list.
	(store_parm_decls_newstyle): Call warn_if_shadowing for parameters
	not used within the parameter list.
	(store_parm_decls_oldstyle): Call warn_if_shadowing for parameters.

testsuite:
	* gcc.dg/Wshadow-3.c: New test.

From-SVN: r102571
2005-07-30 00:58:37 +01:00
Jan Hubicka 3bc751bdfe expr.c (expand_expr_real_1): Do not load mem targets into register.
* expr.c (expand_expr_real_1): Do not load mem targets into register.
	* i386.c (ix86_fixup_binary_operands): Likewise.
	(ix86_expand_unary_operator): Likewise.
	(ix86_expand_fp_absneg_operator): Likewise.
	* optabs.c (expand_vec_cond_expr): Validate dest.

From-SVN: r102570
2005-07-29 22:22:41 +00:00
Thomas Koenig 0bab7d3f43 matmul_1.f90: Correct LHS of matmul test (it used to have the wrong bounds).
2005-07-29  Thomas Koenig  <Thomas.Koenig@online.de>

        * gfortran.dg/matmul_1.f90:  Correct LHS of matmul test (it
        used to have the wrong bounds).

From-SVN: r102568
2005-07-29 21:47:00 +00:00
Joseph Myers bc1594c142 re PR middle-end/21720 (GCC incorrectly rounds hex floats)
PR c/21720
	* real.c (real_from_string): Also set last bit if there is a
	nonzero hex digit beyond GCC's internal precision after ".".

testsuite:
	* gcc.dg/hex-round-1.c: Test more cases.
	* gcc.dg/hex-round-2.c: New test.

From-SVN: r102567
2005-07-29 22:14:22 +01:00
David Edelsohn 3aca4bff53 altivec.md: Convert UNSPEC numerical values to define_constants.
* config/rs6000/altivec.md: Convert UNSPEC numerical values to
        define_constants.  Change duplicate values to unassigned numbers.
        Change UNSPEC_SUBS to UNSPEC_VSUBS.
        (*altivec_vspltsf): New.
        (altivec_vperm_v4sf): Delete.
        (altivec_vperm_<mode>): Use mode macro V.
        (altivec_vsldoi_<mode>): Convert to mode macro pattern.
        (altivec_predicate_v4sf): Delete.
        (altivec_predicate_<mode>): Use mode macro V.
        (*altivec_lvesfx): New.
        (*altivec_stvesfx): New.
        (vec_realign_load_v4sf): Delete.
        (vec_realign_load_<mode>): Use mode macro V.
        * config/rs6000/rs6000.c (generate_set_vrsave): Use
        UNSPECV_SET_VRSAVE.

From-SVN: r102566
2005-07-29 17:01:19 -04:00
Mark Mitchell b28250ab6f re PR bootstrap/23131 (Fixincludes on cross-build is scanning /usr/include)
PR bootstrap/23131
	* configure.ac (SYSTEM_HEADER_DIR): Avoid setting to empty
	string.
	* configure: Regenerated.

From-SVN: r102562
2005-07-29 19:20:44 +00:00
Paul Brook eae50c8759 install.texi: Add link to GFortran binaries wiki page.
2005-07-29  Paul Brook  <paul@codesourcery.com>

	* doc/install.texi: Add link to GFortran binaries wiki page.

From-SVN: r102561
2005-07-29 18:04:34 +00:00
David Ung 79dad081a1 mips.c (mips_cpu_info_table): Add 5kf to the table.
* config/mips/mips.c (mips_cpu_info_table): Add 5kf to the table.
(mips_rtx_cost_data): Add costs for 5kc and 5kf.
* config/mips/mips.h (processor_type): Add PROCESSOR_5KF.
* config/mips/mips.md (cpu): Add 5kf name.
(includes): Includes 5k.md.
* config/mips/5k.md: New DFA pipeline for the 5kc/5kf.
* doc/invoke.texi (MIPS Options): Updated cpu name supported with
-march flag.

From-SVN: r102560
2005-07-29 17:25:27 +00:00
Diego Novillo 89e80dd495 re PR tree-optimization/22550 (ICE in vrp_evaluate_conditional)
PR 22550
	* tree-cfgcleanup.c (cleanup_tree_cfg_1): Extract from ...
	(cleanup_tree_cfg): ... here.
	Call cleanup_tree_cfg_1 until there are no more cleanups to
	do.

testsuite/ChangeLog

	PR 22550
	* g++.dg/tree-ssa/pr22550.C: New test.

From-SVN: r102559
2005-07-29 12:32:00 -04:00
James A. Morrison d2f3ffba9a tree-vrp.c (compare_range_with_value): Return true or false for ~[VAL_1...
2005-07-29  James A. Morrison  <phython@gcc.gnu.org>

        * tree-vrp.c (compare_range_with_value): Return true or false
        for ~[VAL_1, VAL_2] OP VAL if VAL_1 <= VAL <= VAL_2 for NE_EXPR and
        EQ_EXPR respectively.

From-SVN: r102558
2005-07-29 15:22:07 +00:00
Kazu Hirata 9e4eb5598d * decl.c, init.c, initialize.c: Fix comment typos.
From-SVN: r102556
2005-07-29 15:01:51 +00:00
Kazu Hirata 536fa7b7bb cfg.c, [...]: Fix comment typos.
* cfg.c, tree-complex.c, config/frv/frv.c, config/i386/i386.c:
	Fix comment typos.

From-SVN: r102555
2005-07-29 14:52:00 +00:00
Kazu Hirata b2b800a052 * method.c: Fix a comment typo.
From-SVN: r102554
2005-07-29 14:45:54 +00:00
Diego Novillo 6a2cf9dce7 tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
* tree-ssa-dom.c (struct opt_stats_d): Add field num_iterations.
	(tree_ssa_dominator_optimize): Increment it.
	(dump_dominator_optimization_stats): Print it.

From-SVN: r102553
2005-07-29 10:41:53 -04:00
H.J. Lu 216edb224f re PR libstdc++/22284 (ia64 exception handling broken)
2005-07-29  H.J. Lu  <hongjiu.lu@intel.com>

	PR libstdc++/22284
	* libsupc++/eh_personality.cc (PERSONALITY_FUNCTION): Revert
	the change to info.ttype_base.

From-SVN: r102552
2005-07-29 06:35:59 -07:00
Richard Earnshaw abf86bf227 re PR rtl-optimization/23117 (ICE on valid code while building libgcc)
Richard Earnshaw  <richard.earnshaw@arm.com>
Steven Bosscher  <stevenb@suse.de>

	PR rtl-optimization/23117
	* sched-rgn.c (add_branch_dependences): Handle COND_EXEC correctly
	when head == tail.  Tidy comment.

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

From-SVN: r102551
2005-07-29 09:32:14 +00:00
Richard Henderson 37cf61167f cse.c (exp_equiv_p): Special case CONST_DOUBLE.
* cse.c (exp_equiv_p): Special case CONST_DOUBLE.
        * cselib.c (rtx_equal_for_cselib_p): Likewise.
        * jump.c (rtx_renumbered_equal_p): Likewise.
        * loop.c (rtx_equal_for_loop_p): Tidy and special case PC, CC0,
        CONST_INT and CONST_DOUBLE.
        (rtx_equal_for_prefetch_p): Likewise, plus LABEL_REF.
        * reload.c (operands_match_p): Special case CONST_INT and
        CONST_DOUBLE; check mode earlier.

From-SVN: r102548
2005-07-28 22:57:44 -07:00
Joseph Myers 13b22d3a86 re PR c/22240 (ICE with transparent unions, function pointers and -pedantic)
PR c/22240
	* c-typeck.c (convert_for_assignment): Do not check
	DECL_IN_SYSTEM_HEADER on NULL fundecl.

testsuite:
	* gcc.dg/transparent-union-4.c: New test.

From-SVN: r102541
2005-07-29 03:46:50 +01:00