Commit Graph

70115 Commits

Author SHA1 Message Date
James A. Morrison
08303d5bb4 re PR tree-optimization/23129 (VRP propagates division of antiranges incorrectly)
2005-08-02  James A. Morrison  <phython@gcc.gnu.org>

        PR tree-optimization/23129
        * tree-vrp.c (extract_range_from_binary_expr): Set value range to
        varying for divisions with anti-ranges.

From-SVN: r102653
2005-08-02 05:08:40 +00:00
GCC Administrator
bf2f958806 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r102650.2
2005-08-02 00:16:21 +00:00
Jan Hubicka
5e5a504e30 tree-ssa-dom.c (thread_across_edge): Remove updating here.
* tree-ssa-dom.c (thread_across_edge): Remove updating here.
	(thread_block): Add it here.
	* update-threading.c: New test.

From-SVN: r102648
2005-08-02 00:12:50 +00:00
James E Wilson
4dbdb06186 Add long_call attribute to mips port.
* config/mips/mips.c (mips_encode_section_info, mips_attribute_table,
TARGET_ENCODE_SECTION_INFO, TARGET_ATTRIBUTE_TABLE): New.
* config/mips/mips.h (SYMBOL_FLAG_LONG_CALL, SYMBOL_REF_LONG_CALL_P):
New.
* config/mips/predicates.md (const_call_insn_operand): Add check for
SYMBOL_REF_LONG_CALL_P.
* doc/extend.texi (long_call): Document the new attribute.

From-SVN: r102646
2005-08-01 15:25:52 -07:00
Ian Lance Taylor
9e254451d2 Makefile.in (RTL_BASE_H): Add real.h.
* Makefile.in (RTL_BASE_H): Add real.h.
        * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Use structure copy
        instead of memcpy.
        * emit-rtl.c (const_double_from_real_value): Likewise; use rtx.u.rv
        directly.
        * rtl.c (rtl_check_failed_code_mode): New.
        * rtl.h (struct rtx_def): Add u.rv.
        (XCMWINT, XCNMPRV): New.
        (CONST_DOUBLE_LOW, CONST_DOUBLE_HIGH): Use XCMWINT.
        (CONST_DOUBLE_REAL_VALUE): Use XCNMPRV; constify.

Co-Authored-By: Richard Henderson <rth@redhat.com>

From-SVN: r102643
2005-08-01 14:16:31 -07:00
François-Xavier Coudert
5e9d09007d re PR libfortran/23178 (Undefined symbol: __gfortran_flush_i8)
PR libfortran/23178
	* intrinsics/flush.c (flush_i8): Add function flush_i8. Update
	copyright years.

From-SVN: r102641
2005-08-01 21:13:39 +00:00
Richard Henderson
75735872fa dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG, with auto-inc codes.
* dwarf2out.c (mem_loc_descriptor): Use XEXP, not SUBREG_REG,
        with auto-inc codes.

From-SVN: r102640
2005-08-01 14:10:26 -07:00
Richard Henderson
5671655ef9 * config/alpha/predicates.md (and_operand): Test mode of CONST_DOUBLE.
From-SVN: r102639
2005-08-01 14:07:59 -07:00
Jan Hubicka
72ce3d4ac1 i386-protos.h (asm_preferred_eh_data_format): Declare.
* i386-protos.h (asm_preferred_eh_data_format): Declare.
	* i386.c: Include dwarf2.h
	(asm_preferred_eh_data_format): New.
	* i386.h (ASM_PREFERRED_EH_DATA_FORMAT): Move offline.

From-SVN: r102638
2005-08-01 18:56:14 +00:00
Ian Lance Taylor
23d28bfe80 host-linux.c (linux_gt_pch_get_address): Add new name randomize_va_space for virtual address randomization control.
* config/host-linux.c (linux_gt_pch_get_address): Add new name
	randomize_va_space for virtual address randomization control.

From-SVN: r102636
2005-08-01 17:43:33 +00:00
Andrew Pinski
f8aa1785b6 20050801-1.c: New test.
2005-08-01  Andrew Pinski  <pinskia@physics.uc.edu>

        * gcc.c-torture/compile/20050801-1.c: New test.
        * gcc.c-torture/compile/20050801-2.c: New test.

From-SVN: r102634
2005-08-01 09:29:17 -07:00
Razya Ladelsky
68a976f2c4 * tree-inline.c (copy_decl_for_dup): Add missing condition.
From-SVN: r102632
2005-08-01 15:25:28 +00:00
Steven Bosscher
d6e14e8f8a common.opt (flag_ipa_cp): Put in right place to maintain alphabetic sort.
* common.opt (flag_ipa_cp): Put in right place to maintain
	alphabetic sort.

From-SVN: r102631
2005-08-01 12:34:19 +00:00
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