Commit Graph

70311 Commits

Author SHA1 Message Date
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
Joseph Myers
ca8bdb78ea re PR c/22192 (Rejection of valid array declaration.)
PR c/22192
	* c-typeck.c (composite_type): Prefer constant size arrays to
	VLAs.

testsuite:
	* gcc.dg/c99-vla-2.c: New test.

From-SVN: r102540
2005-07-29 03:42:19 +01:00
Joseph Myers
b608d27a8e re PR middle-end/21720 (GCC incorrectly rounds hex floats)
PR c/21720
	* real.c (real_from_string): Set last bit if there is a nonzero
	hex digit beyond GCC's internal precision.

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

From-SVN: r102539
2005-07-29 02:24:38 +01:00
Richard Henderson
a560c83ad5 re PR rtl-optimization/22619 (Compilation failure for real_const_1.f and real_const_2.f90)
PR rtl-opt/22619
        * cfgcleanup.c (try_forward_edges): Watch out for end of
        insn chain.

From-SVN: r102536
2005-07-28 17:45:57 -07:00
GCC Administrator
7c4b98b5f1 Daily bump.
[[Split portion of a mixed commit.]]

From-SVN: r102532.2
2005-07-29 00:16:31 +00:00
Steven Bosscher
7e6de2a590 * trans-types.h (gfc_array_range_type): Add missing GTY decl for this.
From-SVN: r102529
2005-07-29 00:02:38 +00:00
James E Wilson
66f33c03f3 Remove misleading use of the word "all".
PR c/23106
* doc/invoke.texi (Wstrict-aliasing=2): Fix misleading wording.

From-SVN: r102528
2005-07-28 16:37:18 -07:00
Jan Hubicka
8a76829ccf Makefile.in (rtl-profile.o): Kill all traces of it.
* Makefile.in (rtl-profile.o): Kill all traces of it.
	* common.opt (fspeculative-prefetching, ftree-based-profiling): Kill.
	* coverage.h (rtl_coverage_counter_ref): Kill.
	* opts.c (flag_speculative_prefetching_set): Kill.
	(flag_loop_optimize_set): New.
	(common_handle_option): Disable loop optimizer when profiling;
	do not handle speculative prefetching.
	* passes.c (init_optimization_passes): Replace pass_profiling combo
	by branch_prob pass.
	* profile.c (compute_value_histograms): Update for simplified value
	profiles.
	(rtl_register_profile_hooks): Kill.
	(pass_profiling): Kill.
	(rest_of_handle_branch_prob): Do not profile.
	* toplev.c (process_options): Remove speculative prefetching.
	* toplev.h (flag_tree_based_profiling): Kill.
	* tree-profile.c (prepare_instrumented_value,
	tree_gen_interval_profiler, tree_gen_pow2_profiler,
	tree_gen_one_value_profiler, do_tree_profiling): Update for
	simplified datastructures.
	* value-prof.c: Add comment that speculative prefetching was dropped;
	update rest of file for simplified datastructures.
	(NOPREFETCH_RANGE_MIN, NOPREFETCH_RANGE_MAX,
	rtl_divmod_values_to_profile, insn_prefetch_values_to_profile,
	find_mem_reference_1, find_mem_reference_2, find_mem_reference,
	rtl_values_to_profile, rtl_divmod_fixed_value, rtl_mod_pow2,
	rtl_mod_subtract, gen_speculative_prefetch,
	rtl_divmod_fixed_value_transform, rtl_mod_pow2_value_transform,
	rtl_mod_subtract_transform, speculative_prefetching_transform): Kill.
	(gate_handle_value_profile_transformations,
	rest_of_handle_value_profile_transformations,
	pass_value_profile_transformations): Kill.
	* value-prof.h (histogram_value_t): Remove IL based unions.
	(rtl_register_value_prof_hooks, rtl_register_profile_hooks,
	rtl_profile_hooks): Remove hooks.

	* invoke.texi (-ftree-based-profiling, -fspeculative-prefetching): Kill.

	* inliner-1.c: Do not dump everything.
	* tree-prof.exp: Do not pass -ftree-based-profiling.
	* bprob.exp: Likewise.

From-SVN: r102522
2005-07-28 21:48:38 +00:00
Jan Hubicka
c5a4444c50 cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
* cgraph.c (cgraph_clone_edge): New UPDATE_ORIGINAL argument.
	(cgraph_clone_node): Likewise.
	* cgraph.h (cgraph_clone_edge): Update prototype.
	(cgraph_clone_node): Likewise.
	* ipa-inline.c (cgraph_clone_inlined_nodes): Update call of
	cgraph_clone_node.
	(lookup_recursive_calls): Consider profile.
	(cgraph_decide_recursive_inlining): Fix updating; use new
	probability argument; use profile.
	* params.def (PARAM_MIN_INLINE_RECURSIVE_PROBABILITY): New.
	* tree-inline.c (copy_bb): Update clal of clone_edge.
	* tree-optimize.c (tree_rest_of_compilation): UPdate cal of clone_node.

	* invoke.texi (min-inline-recursive-probability): Document.

From-SVN: r102521
2005-07-28 21:45:27 +00:00
Jan Hubicka
260883c898 * gcc.dg/tree-prof/update-loopch.c: Fix thinkos.
From-SVN: r102520
2005-07-28 21:40:14 +00:00
Richard Henderson
407ab83ba3 Annotate for PR.
From-SVN: r102518
2005-07-28 14:32:14 -07:00
Gerald Pfeifer
ccf548a7c0 * doc/install.texi (Configuration): Update Valgrind homepage.
From-SVN: r102514
2005-07-28 21:29:09 +00:00
Richard Henderson
2c97f8e4f3 cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on labels we want to delete.
* cfgrtl.c (rtl_merge_blocks): Call maybe_remove_eh_handler on
        labels we want to delete.
        (cfg_layout_merge_blocks): Likewise.

From-SVN: r102512
2005-07-28 14:11:30 -07:00
Richard Henderson
b188ebb19e re PR target/17692 (ICE splitting sse conditional move)
PR target/17692
        * config/i386/i386.c (ix86_split_sse_movcc): Emit DELETED note
        when expanding to nothing.

From-SVN: r102509
2005-07-28 13:51:18 -07:00
Diego Novillo
baa923061b expr.c (expand_load_internal): Fix missing parens in predicate.
* expr.c (expand_load_internal): Fix missing parens in
	predicate.

From-SVN: r102504
2005-07-28 14:28:12 -04:00
Mark Mitchell
796cccfcc3 re PR c++/22545 (ICE with pointer to class member & user defined conversion operator)
PR c++/22545
	* call.c (add_builtin_candidate): Adjust for changes in
	representation of pointer-to-member types.

	PR c++/22545
	* g++.dg/expr/ptrmem7.C: New test.

From-SVN: r102500
2005-07-28 18:08:59 +00:00
Mike Stump
8d039470f6 pt.c (check_explicit_specialization): Add visibility logic.
* pt.c (check_explicit_specialization): Add visibility logic.
        (lookup_template_class): Likewise.
        (instantiate_class_template): Likewise.

        * g++.old-deja/g++.mike/visibility-1.C: New test.
Radar 4182971.

From-SVN: r102499
2005-07-28 18:06:47 +00:00
Josh Conner
facc20ee9b ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
* ipa-inline.c (update_caller_keys): Fix estimated_growth caching.
        (cgraph_decide_inlining_of_small_functions): Likewise.

From-SVN: r102498
2005-07-28 17:18:23 +00:00
Josh Conner
9de21a2340 ipa-inline.c (cgraph_edge_badness): Update comments.
* ipa-inline.c (cgraph_edge_badness): Update comments.  Invert shift
        direction of badness if negative.
        (cgraph_default_inline_p): Add reason to parameters, and assign it
        a value.
        (cgraph_decide_inlining_of_small_functions): New parameter in call
        to cgraph_default_inline_p.
        (cgraph_decide_inlining_incrementally): Likewise.
        * cgraphunit.c (decide_is_function_needed): Likewise.
        * cgraph.h (cgraph_default_inline_p): Likewise.

From-SVN: r102497
2005-07-28 17:14:57 +00:00
Volker Reichelt
206048bd41 builtins.c: Fix comment typo(s).
* builtins.c: Fix comment typo(s).
	* genautomata.c: Likewise.
	* gimplify.c: Likewise.
	* tree-dfa.c: Likewise.
	* tree-flow-inline.h: Likewise.
	* tree-into-ssa.c: Likewise.
	* tree-ssa-alias.c: Likewise.
	* tree-ssa-ccp.c: Likewise.
	* tree-ssa-copy.c: Likewise.
	* tree-ssa-dce.c: Likewise.
	* tree-ssa-dom.c: Likewise.
	* tree-ssa-operands.c: Likewise.
	* tree-tailcall.c: Likewise.
	* tree-vectorizer.c: Likewise.
	* tree-vrp.c: Likewise.
	* tree.c: Likewise.

From-SVN: r102491
2005-07-28 16:30:00 +00:00
Richard Sandiford
c987183907 re PR c/20187 (wrong code for ((unsigned char)(unsigned long long)((a?a:1)&(a*b)))?0:1))
PR c/20187
	* gcc.c-torture/execute/pr20187-1.c: New test.

From-SVN: r102490
2005-07-28 16:27:22 +00:00
Jeff Law
d579f20bb1 tree-vrp.c (test_for_singularity): Extracted from ...
* tree-vrp.c (test_for_singularity): Extracted from  ...
        (simplify_cond_using_ranges): Attempt to simplify a relational
        test to NE_EXPR.  Dump information when a COND_EXPR is simplified.

        * gcc.dg/tree-ssa/vrp17.c: Update expected output.
        * gcc.dg/tree-ssa/vrp18.c: New test.

From-SVN: r102489
2005-07-28 10:12:03 -06:00
Dorit Nuzman
3353ebf08a * gcc.dg/vect/vect-reduc-1char.c: Fix data to fit in char.
From-SVN: r102488
2005-07-28 15:27:25 +00:00
Dorit Nuzman
5bb1823dd4 re PR tree-optimization/22506 (ICE with -ftree-vectorize in var_ann, at tree-flow-inline.h:115)
PR tree-optimization/22506
        * tree-vectorizer.c (update_phi_nodes_for_guard2): Skip loop-closed
        phis whose argument is constant.

From-SVN: r102487
2005-07-28 15:12:49 +00:00
Andrew Haley
0d9f15f1a0 expr.c (expand_load_internal): Convert to destination type.
2005-07-28  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_load_internal): Convert to destination type.

From-SVN: r102486
2005-07-28 15:01:33 +00:00
Andrew Haley
c6e5d1af3f expr.c (expand_load_internal): Convert to destination type.
2005-07-15  Andrew Haley  <aph@redhat.com>

        * expr.c (expand_load_internal): Convert to destination type.

From-SVN: r102485
2005-07-28 15:00:53 +00:00
Jakub Jelinek
9603f2d849 re PR target/21149 (invalid code generation for _mm_movehl_ps SSE intrisinc)
PR target/21149
	* gcc.target/i386/sse-3.c: New test.

From-SVN: r102482
2005-07-28 16:38:13 +02:00
Volker Reichelt
dc5fef6a47 * include/std/std_valarray.h: Fix grammar in comments.
From-SVN: r102479
2005-07-28 12:23:53 +00:00
J"orn Rennecke
b92ba6ffd9 re PR rtl-optimization/18992 (delete_trivially_dead_insns made ineffective for two-address targets)
PR rtl-optimization/18992
	Back out this patch:
	  2003-10-08  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
	  PR optimization/12142
	  * cse.c (count_reg_usage): In a SET with a REG SET_DEST, count the
	  uses of the register in the SET_SRC.  Remove unnecessary argument.

	Replace it with this:
	* cse.c (count_reg_usage): In INSN, JUMP_INSN and CALL_INSN cases,
	if flag_non_call_exceptions is set and the insn may trap, pass
	pc_rtx as dest for recursion.
	In SET_SRC part of SET case, if dest is already set, pass it down
	unchanged.

From-SVN: r102478
2005-07-28 12:55:56 +01:00
Richard Sandiford
7da3fe7701 mips32-dsp.c: Use -march=mips32 instead of -mips32.
* gcc.target/mips/mips32-dsp.c: Use -march=mips32 instead of -mips32.
	* gcc.target/mips/mips32-dsp-type.c: Likewise.

From-SVN: r102475
2005-07-28 08:17:27 +00:00
Richard Sandiford
fea11803ba Fix filename in last commit
From-SVN: r102474
2005-07-28 08:14:15 +00:00
Richard Sandiford
378ba99de6 re PR c/22589 (ICE casting to long long)
PR c/22589
	* gcc.c-torture/compile/pr22589.c: New test.

From-SVN: r102467
2005-07-28 08:00:57 +00:00
Jan Hubicka
09bac500fc cfg.c (update_bb_profile_for_threading): Use RDIV.
* cfg.c (update_bb_profile_for_threading): Use RDIV.
	(scale_bbs_frequencies_int): Likewise, assert for possible overflow.
	(scale_bbs_frequencies_gcov_type): Be more curefull about overflows and
	roundoff errors.
	* tree-cfg.c (tree_duplicate_sese_region): Use counts for updating
	profile when available.
	* update-loopch.c: New testcase.

From-SVN: r102466
2005-07-28 07:41:29 +00:00
Jan Beulich
a71aef0bb3 ia64.c (ia64_load_pair_ok): New.
gcc/
2005-07-28 Jan Beulich <jbeulich@novell.com>

	* config/ia64/ia64.c (ia64_load_pair_ok): New.
	(ia64_print_operand): Describe and handle 'X'.
	(ia64_register_move_cost): Also handle FP_REGS.
	(ia64_preferred_reload_class): Likewise.
	(ia64_secondary_reload_class): Likewise.
	(ia64_dependencies_evaluation_hook): New local variable c. Initialize
	it. Also check for ITANIUM_CLASS_FLDP.
	* config/ia64/ia64.h (FP_REGNO_P): New.
	(HARD_REGNO_MODE_OK): Remove explusion of TImode.
	(reg_class): Add FP_REGS.
	(REG_CLASS_NAMES): Adjust for it.
	(REG_CLASS_CONTENTS): Likewise.
	(REGNO_REG_CLASS): Use FP_REGS where appropriate.
	(REG_CLASS_FROM_LETTER): Handle 'x'.
	(CLASS_MAX_NREGS): Handle FP_REGS.
	(MEMORY_MOVE_COST): Likewise.
	* config/ia64/ia64.md (itanium_class): Add fldp.
	(type): Handle fldp.
	(movti_internal): More allowable operand combinations. Use ldfp8 when
	splitting unnecessary. Remove predicable attribute. Adjust
	itanium_class attribute.
	(smuldi3_highpart): Remove outdated comment.
	(mulditi3, umulditi3, rotlti3): New expanders.
	(addti3, subti3, mulditi3_internal, umulditi3_internal, negti2, rotlti3_internal): New insns.
	(absti2): Disabled new insn for future reference.
	Respective new splitters.
	* config/ia64/itanium1.md (1_fldp, 1b_fldp): New insn reservations.
	* config/ia64/itanium2.md (2_fldp, 2b_fldp): Likewise.
	* config/ia64/ia64-protos.h (ia64_load_pair_ok): New.

From-SVN: r102463
2005-07-28 06:58:58 +00:00
Kenneth Zadeck
9e7705cbd1 fixed spelling error.
From-SVN: r102461
2005-07-28 04:57:07 +00:00
Andrew Pinski
b8039bde3e f95-lang.c (language_function): Remove named_labels...
2005-07-28  Andrew Pinski  <pinskia@physics.uc.edu>

        * fortran/f95-lang.c (language_function): Remove
        named_labels, shadowed_labels, returns_value, returns_abnormally,
        warn_about_return_type, and extern_inline fields.
        (named_labels): Remove variable.
        (gfc_init_decl_processing): Remove setting of named_labels.

From-SVN: r102460
2005-07-27 21:47:23 -07:00
James A. Morrison
77d1d8e01f re PR rtl-optimization/23047 (Combine ignores flag_wrapv)
2005-07-27  James A. Morrison  <phython@gcc.gnu.org>

        PR rtl-optimization/23047
        * simplify-rtx.c (simplify_const_relational_operation): Respect
        flag_wrapv for comparisons with ABS.

From-SVN: r102459
2005-07-28 04:40:05 +00:00
James A. Morrison
ff08cbee5d re PR tree-optimization/22493 (with -fwrapv -INT_MIN is still not positive)
2005-07-27  James A. Morrison  <phython@gcc.gnu.org>

        PR tree-optimization/22493
        * tree-vrp.c (extract_range_from_unary_expr): Deal with -fwrapv and
        VR_ANTI_RANGEs properly for NEGATE_EXPRs and ABS_EXPRs.

From-SVN: r102458
2005-07-28 04:35:01 +00:00
Ben Elliston
b089e33adc * MAINTAINERS: Update for removed CPU targets.
From-SVN: r102457
2005-07-28 13:47:15 +10:00
Aldy Hernandez
e3bdaa4127 all-builtin-read8.c: Delete.
* gcc.target/frv/all-builtin-read8.c: Delete.
        * gcc.target/frv/all-builtin-read16.c: Delete.
        * gcc.target/frv/all-builtin-read32.c: Delete.
        * gcc.target/frv/all-builtin-read64.c: Delete.
        * gcc.target/frv/all-builtin-write8.c: Delete.
        * gcc.target/frv/all-builtin-write16.c: Delete.
        * gcc.target/frv/all-builtin-write32.c: Delete.
        * gcc.target/frv/all-builtin-write64.c: Delete.
        * gcc.target/frv/all-read-write-1.c: New.

From-SVN: r102456
2005-07-28 02:05:54 +00:00
Aldy Hernandez
38c28a2564 frv.opt (moptimize-membar): New.
* config/frv/frv.opt (moptimize-membar): New.

	* doc/invoke.texi: Document -moptimize-membar and its inverse.

	* config/frv/frv.h: Remove machine_function definition.

        * config/frv/frv.c (struct frv_io): New.
        (struct machine_function): Moved from frv.h.  Add has_membar_p.
        (frv_same_doubleword_p, frv_io_fixed_order_p, frv_io_union)
        (frv_extract_membar, frv_io_check_address, frv_io_handle_set)
        (frv_io_handle_use_1, frv_io_handle_use, frv_optimize_membar_local)
        (frv_optimize_membar_global, frv_optimize_membar): New functions.
        (frv_reorg): Call frv_optimize_membar when appropriate.
        (bdesc_loads, bdesc_stores): Use the membar code as the icode field.
        (frv_expand_builtin): Adjust calls accordingly.
        (frv_io_address_cookie): New function.
        (frv_expand_load_builtin, frv_expand_store_builtin): Emit a normal
        load or store rather than a special insn.  Add ccnstant address and
        io-type operands to the membar.
	(frv_ifcvt_modify_tests): Unsign regno.
	(frv_ifcvt_modify_tests): Same.

	* config/frv/frv.md: Remove UNSPEC_BUILTIN_{LOAD,STORE}.  Change
	UNSPEC_OPTIONAL_MEMBAR constant.
	(builtin_read_<mode>): Delete.
	(builtin_write_<mode>): Delete.
	("optional_membar_<mode>"): Add operand.

	* testsuite/gcc.target/frv/all-builtin-read8.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-read16.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-read32.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-read64.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-write8.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-write16.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-write32.c: Delete.
	* testsuite/gcc.target/frv/all-builtin-write64.c: Delete.
	* testsuite/gcc.target/frv/all-read-write-1.c: New.

From-SVN: r102455
2005-07-28 02:03:45 +00:00
Kaz Kojima
47c504ea5b * df.c (df_uses_record): Handle SCRATCH.
From-SVN: r102454
2005-07-28 01:47:06 +00:00