Commit Graph

77643 Commits

Author SHA1 Message Date
Zdenek Dvorak
d73be2683d tree-vrp.c (execute_vrp): Do not pass loops structure through arguments.
* tree-vrp.c (execute_vrp): Do not pass loops structure through
	arguments.
	* loop-unswitch.c (unswitch_loops, unswitch_single_loop,
	unswitch_loop): Ditto.
	* tree-loop-linear.c (linear_transform_loops): Ditto.
	* tree-ssa-loop-im.c (determine_lsm, tree_ssa_lim_initialize,
	tree_ssa_lim): Ditto.
	* tree-ssa-loop-niter.c (estimate_numbers_of_iterations,
	free_numbers_of_iterations_estimates): Ditto.
	* tree-ssa-loop-unswitch.c (tree_ssa_unswitch_loops,
	tree_unswitch_single_loop, tree_unswitch_loop): Ditto.
	* cfgloopmanip.c (fix_bb_placement, fix_bb_placements,
	remove_path, add_loop, loopify, unloop, fix_loop_placements,
	place_new_loop, duplicate_loop, duplicate_subloops,
	update_single_exit_for_duplicated_loops, copy_loops_to,
	duplicate_loop_to_header_edge, create_preheaders,
	force_single_succ_latches, loop_version, fix_loop_structure):
	Ditto.
	* tree-ssa-loop-manip.c (tree_duplicate_loop_to_header_edge,
	tree_unroll_loop): Ditto.
	* tree-ssa-loop-ch.c (copy_loop_headers): Ditto.
	* tree-scalar-evolution.c (select_loops_exit_conditions,
	scev_initialize, scev_analysis): Ditto.
	* tree-scalar-evolution.h (scev_initialize): Ditto.
	* cfghooks.c (cfg_hook_duplicate_loop_to_header_edge): Ditto.
	* cfgloopanal.c (mark_irreducible_loops, mark_loop_exit_edges): Ditto.
	* tree-ssa-loop-ivopts.c (tree_ssa_iv_optimize): Ditto.
	* modulo-sched.c (sms_schedule): Ditto.
	* tree-ssa-dom.c (tree_ssa_dominator_optimize): Ditto.
	* loop-init.c (loop_optimizer_init, rtl_move_loop_invariants,
	rtl_unswitch, rtl_unroll_and_peel_loops, rtl_doloop): Ditto.
	* ifcvt.c (if_convert): Ditto.
	* tree-ssa-loop-ivcanon.c (try_unroll_loop_completely,
	canonicalize_loop_induction_variables,
	canonicalize_induction_variables,
	tree_unroll_loops_completely, remove_empty_loops): Ditto.
	* tree-ssa-loop.c (tree_ssa_loop_init, tree_ssa_loop_im,
	tree_ssa_loop_unswitch, tree_vectorize, tree_linear_transform,
	tree_ssa_loop_ivcanon, tree_ssa_empty_loop, tree_ssa_loop_bounds,
	tree_complete_unroll, tree_ssa_loop_prefetch, tree_ssa_loop_ivopts,
	tree_ssa_loop_done): Ditto.
	* predict.c (predict_loops, tree_estimate_probability, estimate_loops,
	estimate_bb_frequencies): Ditto.
	* tree-vectorizer.c (slpeel_tree_duplicate_loop_to_edge_cfg,
	slpeel_tree_peel_loop_to_edge, vectorize_loops): Ditto.
	* loop-unroll.c (unroll_and_peel_loops, peel_loops_completely,
	decide_unrolling_and_peeling, peel_loop_completely,
	unroll_loop_constant_iterations, unroll_loop_runtime_iterations,
	peel_loop_simple, unroll_loop_stupid): Ditto.
	* loop-doloop.c (doloop_optimize_loops): Ditto.
	* tree-cfgcleanup.c (cleanup_tree_cfg_loop): Ditto.
	* loop-invariant.c (move_loop_invariants): Ditto.
	* tree-ssa-dce.c (tree_ssa_dce_loop): Ditto.
	* tree-ssa-loop-prefetch.c (loop_prefetch_arrays,
	tree_ssa_prefetch_arrays): Ditto.
	* lambda-code.c (gcc_loopnest_to_lambda_loopnest, perfect_nestify):
	Ditto.
	* tree-vect-transform.c (vect_do_peeling_for_loop_bound,
	vect_do_peeling_for_alignment, vect_transform_loop): Ditto.
	* cfgloop.c (flow_loops_cfg_dump, flow_loops_dump,
	mark_single_exit_loops, cancel_loop, cancel_loop_tree,
	verify_loop_structure): Ditto.
	* tree-flow.h (vectorize_loops, tree_ssa_lim, tree_ssa_unswitch_loops,
	canonicalize_induction_variables, tree_unroll_loops_completely,
	tree_ssa_prefetch_arrays, remove_empty_loops, tree_ssa_iv_optimize,
	estimate_numbers_of_iterations, free_numbers_of_iterations_estimates,
	tree_duplicate_loop_to_header_edge, tree_ssa_loop_version,
	tree_unroll_loop, linear_transform_loops): Declaration changed.
	* basic-block.h: Remove declaration of struct loops.
	* cfghooks.h (struct cfg_hooks): Change type of
	cfg_hook_duplicate_loop_to_header_edge.
	(cfg_hook_duplicate_loop_to_header_edge): Declaration changed.
	* tree-vectorizer.h (slpeel_tree_peel_loop_to_edge,
	vect_transform_loop): Declaration changed.
	* lambda.h (gcc_loopnest_to_lambda_loopnest): Declaration changed.
	* cfgloop.h (flow_loops_dump, fix_loop_structure,
	mark_irreducible_loops, mark_single_exit_loops, mark_loop_exit_edges,
	cancel_loop_tree, create_preheaders, force_single_succ_latches,
	verify_loop_structure, duplicate_loop, duplicate_loop_to_header_edge,
	loopify, loop_version, remove_path, unswitch_loops,
	unroll_and_peel_loops, doloop_optimize_loops, move_loop_invariants):
	Declaration changed.

From-SVN: r119189
2006-11-25 10:34:13 +00:00
Uros Bizjak
013021041a config/i386/i386.md (UNSPEC_TRUNC_NOOP): New unspec definition.
(X87MODEF): New mode macro.
        (ssemodefsuffix): New mode attribute.
        (truncxf<mode>2_i387_noop_unspec): New insn pattern.
        (sqrt_extend<mode>xf2_i387): New insn pattern.
        (sqrt<mode>2): For non-SSE sqrt, emit sqrt_extend<mode>xf2_i387
        insn and truncate result back to original mode using
        UNSPEC_TRUNC_NOOP truncation.
        (*sqrt<mode>2_sse): Implement using SSEMODEF mode macro and
        ssemodefsuffix mode attribute.
        (*sqrtsf2_mixed, *sqrtsf2_i387, *sqrtdf2_mixed, *sqrtdf2_i387)
        (*sqrtextendsfdf2_i387, *sqrtextendsfxf2_i387)
        (*sqrtextenddfxf2_i387): Remove insn patterns.

        (fmodsf3, fmoddf3, remaindersf3, remainderdf3): Use noop
        truncation patterns.

        reg-stack.c (get_true_reg): Handle UNSPEC_TRUNC_NOOP.

From-SVN: r119188
2006-11-25 10:17:57 +01:00
Jerry DeLisle
0513be5bc3 re PR libfortran/29936 (Missed constraint on RECL=specifier in unformatted sequential WRITE)
2006-11-24  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libgfortran/29936
	* gfortran.dg/write_check3.f90: New test.

From-SVN: r119183
2006-11-25 06:56:51 +00:00
GCC Administrator
daf26d0ca3 Daily bump.
From-SVN: r119181
2006-11-25 00:17:47 +00:00
Andrew Pinski
5a7e31e646 20061124-1.c: Add "exit(0);" to the end of main.
2006-11-24  Andrew Pinski  <andrew_pinski@playstation.sony.com

        * gcc.dg/20061124-1.c: Add "exit(0);" to the end of main.

From-SVN: r119176
2006-11-24 15:08:08 -08:00
Paul Thomas
536afc35bc re PR fortran/20880 (USE association of procedure's own interface)
2006-11-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* parse.c (parse_interface): Error if procedure name is that of
	encompassing scope.
	* resolve.c (resolve_fl_procedure): Error if procedure is
	ambiguous.

	PR fortran/29387
	* interface.c (compare_actual_formal): Add missing condition
	that 'where' be present for error that asserts that actual
	arguments be definable.

2006-11-24  Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/20880
	* gfortran.dg/interface_3.f90: New test.

	PR fortran/29387
	* gfortran.dg/generic_8.f90: New test.

From-SVN: r119173
2006-11-24 22:22:40 +00:00
Francois-Xavier Coudert
e7c1c8d1a1 resolve.c (resolve_actual_arglist): Remove the special case for CHAR.
* resolve.c (resolve_actual_arglist): Remove the special case for
	CHAR.
	* intrinsic.c (add_functions): Remove the special case for CHAR.

	* gfortran.dg/specifics_1.f90: Remove check for CHAR.
	* gfortran.dg/specifics_2.f90: Remove check for CHAR.
	* gfortran.dg/specifics_3.f90: Remove.

From-SVN: r119170
2006-11-24 21:45:36 +00:00
Jakub Jelinek
5c386a95ee re PR c/29955 (ICE with -fopenmp -fexceptions)
PR c/29955
	* c-tree.h (c_maybe_initialize_eh): New prototype.
	* c-decl.c (finish_decl): Move EH initialization...
	(c_maybe_initialize_eh): ... here.  New function.
	* c-parser.c (c_parser_omp_construct): Call c_maybe_initialize_eh
	if not #pragma omp atomic.

	* gcc.dg/gomp/pr29955.c: New test.

From-SVN: r119168
2006-11-24 22:28:38 +01:00
Jakub Jelinek
238564598b re PR c/29736 (ICE on duplicate vector attribute)
PR c/29736
	* c-common.c (handle_vector_size_attribute): Disallow VECTOR_TYPE
	or UNION_TYPE inner types.

	* gcc.dg/pr29736.c: New test.

From-SVN: r119165
2006-11-24 22:23:23 +01:00
Andrew Pinski
13335ae664 re PR tree-optimization/29964 (function with volatile operators still found to be pure)
2006-11-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29964
        * ipa-pure-const.c (check_tree): If the original tree
        is volatile return early and say the function is not pure
        nor const.  Remove the volatile check for writes.
        (analyze_function): Print out the result of the local
        analysis pass.

2006-11-24  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR tree-opt/29964
        * gcc.dg/pure-1.c: New test.

From-SVN: r119162
2006-11-24 10:32:14 -08:00
Joseph Myers
db2675d3c0 eabispe.h (TARGET_DEFAULT): Include MASK_STRICT_ALIGN.
* config/rs6000/eabispe.h (TARGET_DEFAULT): Include
	MASK_STRICT_ALIGN.
	* config/rs6000/linuxspe.h (TARGET_DEFAULT): Likewise.
	* config/rs6000/rs6000.c (rs6000_override_options): Use
	MASK_STRICT_ALIGN for 8540 and 8548.  Add MASK_STRICT_ALIGN to
	POWERPC_MASKS.

From-SVN: r119156
2006-11-24 16:25:25 +00:00
Joseph Myers
2cc96acce8 simd-2.C: Use -O -w in general for PowerPC.
* g++.dg/eh/simd-2.C: Use -O -w in general for PowerPC.
	* gcc.dg/debug/dwarf2/const-2.c: Use powerpc_altivec_ok.

From-SVN: r119152
2006-11-24 14:06:26 +00:00
Andreas Krebbel
8bb501bb10 s390.c (s390_emit_compare_and_swap): New function.
2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* config/s390.c (s390_emit_compare_and_swap): New function.
	(s390_expand_cs_hqi, s390_expand_atomic): Call 
	s390_emit_compare_and_swap.

2006-11-24  Andreas Krebbel  <krebbel1@de.ibm.com>

	* gcc.dg/20061124-1.c: New testcase.

From-SVN: r119151
2006-11-24 13:30:59 +00:00
John David Anglin
af1e323e93 pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.
* pa.c (return_addr_rtx): Change 0xe0400002 to -532676606.

From-SVN: r119145
2006-11-24 04:30:57 +00:00
Eric Christopher
08cdc89a54 inline-16.c: Use __SIZE_TYPE__.
2006-11-23  Eric Christopher  <echristo@apple.com>

        * gcc.dg/inline-16.c: Use __SIZE_TYPE__.

From-SVN: r119144
2006-11-24 02:46:33 +00:00
Manuel López-Ibáñez
422c3a54ea re PR c/2707 (gcc does not warn on truncate)
2006-11-24  Manuel Lopez-Ibanez <manu@gcc.gnu.org>

	PR c/2707
	PR c++/26167
	* c-common.c (conversion_warning): New.
	(convert_and_check): Call conversion_warning unless there is an
	overflow warning.
	* doc/invoke.texi (-Wconversion): Update description.

testsuite/

	* gcc.dg/Wconversion-integer.c: New. Supersedes	
	Wconversion-negative-constants.c 
	* gcc.dg/Wconversion-real.c: New.
	* gcc.dg/Wconversion-real-integer.c: New.
	* gcc.dg/Wconversion-negative-constants.c: Deleted.
	* g++.dg/warn/Wconversion1.C: Modified.

From-SVN: r119143
2006-11-24 01:50:33 +00:00
Daniel Berlin
2941f691d9 tree-ssa-alias.c (tree_pointer_compare): New function.
2006-11-23  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-alias.c (tree_pointer_compare): New function.
	(compact_name_tags): New function.
	(group_aliases): Call compact_name_tags.

From-SVN: r119142
2006-11-24 01:26:26 +00:00
GCC Administrator
29f4e539a9 Daily bump.
From-SVN: r119140
2006-11-24 00:17:28 +00:00
Tobias Schlüter
83647bf451 * gfortran.dg/overload_1.f90: New test.
From-SVN: r119135
2006-11-24 00:35:59 +01:00
Joern Rennecke
3a2a61a221 Add PR marker for libstdc++/29920
From-SVN: r119133
2006-11-23 21:10:20 +00:00
Manuel López-Ibáñez
313f234ba1 real.h (real_isinteger): Declare.
2006-11-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* real.h (real_isinteger): Declare.
	* real.c (real_isinteger): Define.
	* builtins.c (integer_valued_real_p): Use it.

From-SVN: r119130
2006-11-23 18:49:22 +00:00
Manuel López-Ibáñez
05170031ab re PR c/9072 (-Wconversion should be split into two distinct flags)
2006-11-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	PR c/9072 
	* c.opt (Wtraditional-conversion): New.
	(Wconversion): Update description.
	* c-typeck.c (convert_arguments): Warnings for prototypes causing
	type conversions different from what would happen in the absence
	of prototype are now handled by Wtraditional-conversion.
	* doc/invoke.texi (Wtraditional-conversion): New.
	(Wconversion): Update description.
	* doc/trouble.texi (Wconversion): Replace Wconversion by
	Wtraditional-conversion.

testsuite/

	PR c/9072 
	* gcc.dg/builtin-protos-1.c: Replace Wconversion by
	Wtraditional-conversion.
	* gcc.dg/overflow-warn-2.c: Likewise.
	* gcc.dg/Wconversion.c: Likewise. Renamed as
	Wtraditional-conversion.c .
	* gcc.dg/Wconversion-2.c: Likewise. Renamed as
	Wtraditional-conversion-2.c .
	* gcc.dg/dfp/Wconversion-2.c: Likewise. Renamed as
	Wtraditional-conversion-2.c 
	* gcc.dg/Wconversion-negative-constants.c: New.

From-SVN: r119129
2006-11-23 18:39:32 +00:00
Andrew Pinski
61968738d5 predict.c (tree_estimate_probability): Check to make sure current_loops is non null before calling flow_loops_dump.
2006-11-23  Andrew Pinski  <pinskia@gmail.com>

        * predict.c (tree_estimate_probability): Check to make
        sure current_loops is non null before calling flow_loops_dump.
2006-11-23  Andrew Pinski  <pinskia@gmail.com>

        * gcc.dg/tree-ssa/dump-1.c: New test.

From-SVN: r119128
2006-11-23 09:59:53 -08:00
Bernd Schmidt
b33614eef2 var-tracking.c (emit_note_insn_var_location): Revert previous patch.
* var-tracking.c (emit_note_insn_var_location): Revert previous patch.

From-SVN: r119127
2006-11-23 17:50:52 +00:00
Manuel López-Ibáñez
3a971f154d MAINTAINERS (Write After Approval): Add myself.
2006-11-23  Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r119126
2006-11-23 17:34:34 +00:00
David Ung
6f42806295 mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu combination.
gcc:
	* config/mips/mips.h (ISA_HAS_FP4): Add MIPS32R2 + 64bit fpu
	combination.
	(ISA_HAS_MXHC1): True if ISA supports mfhc1 and mthc1 opcodes.
	(ASM_SPEC): Pass along -mfp32 and -mfp64.
	* config/mips/mips.c (mips_split_64bit_move): Use gen_mthc1 to set
	high part of FP register when in 64-bit FP register mode.  Similarly
	use gen_mfhc1 to load high part of FP register.
	(override_options): Allow -mgp32 and -mfp64 combination if
	ISA_HAS_MXHC1 (currently for O32 only).
	(mips_cannot_change_mode_class): If floating-point registers are
	bigger than word size. disallow conversion of float register from a
	large integer mode to a float mode smaller than the float register
	size.
	(mips_class_max_nregs): Handle float registers case seperately.
	* config/mips/mips.md (define_constants): Add UNSPEC_MFHC1,
	UNSPEC_MTHC1.
	(movdi_32bit): Use !TARGET_FLOAT64 in condition pattern.
	(movdf_hardfloat_32bit): Similarly.
	(movdi_gp32_fp64): New DImode pattern for MIPS32R2 which optionally
	support a full 64-bit fpu.
	(mthc1): New pattern to generate MTHC1 instruction.
	(mfhc1): New pattern to generate MFHC1 instruction.
	* doc/invoke.texi (MIPS Options): Document the -mgp32 -mfp64
	option for the MIPS32R2 and mention its use under O32 ABI.

gcc/testsuite:
	* gcc.target/mips/mips.exp (dg-mips-options): Handle parsing of
	-mfp64, allowable when ISA >= 33 and float is enabled.
	* gcc.target/mips/mips32r2-mxhc1.c: New test for checking the use
	of mthc1 and mfhc1 patterns.

From-SVN: r119124
2006-11-23 16:13:46 +00:00
Bernd Schmidt
49bcb41649 var-tracking.c (emit_note_insn_var_location): Take care not to cause verify_flow_info failures.
* var-tracking.c (emit_note_insn_var_location): Take care not to
	cause verify_flow_info failures.

From-SVN: r119116
2006-11-23 12:53:15 +00:00
Daniel Berlin
57250223c0 tree-ssa-structalias.c: Remove edge weights in favor of just processing them as complex constraints.
2006-11-22  Daniel Berlin  <dberlin@dberlin.org>

	* tree-ssa-structalias.c: Remove edge weights in favor of just
	processing them as complex constraints.
	(struct constraint_graph): Remove weighted succs and preds. Rename
	nonweighted succs and preds.
	(constraint_edge): Removed.
	(constraint_edge_t): Ditto.
	(constraint_edge_pool): Ditto.
	(new_constraint_edge): Ditto.
	(constraint_edge_equal): Ditto.
	(constraint_edge_less): Ditto.
	(constraint_edge_vec_find): Ditto.
	(erase_self_graph_edge): Ditto.
	(add_graph_edge): Removed.
	(get_graph_weights): Ditto.
	(allocate_graph_weights): Ditto.	(
	(valid_weighted_graph_edge): Ditto
	(bitmap_other_than_zero_bit_set): Ditto.
	(int_add_graph_edge): Renamed to add_graph_edge.
	(clear_edges_for_node): Remove support for weighted edges.
	(merge_graph_nodes): Ditto.
	(valid_graph_edge): Ditto.
	(build_constraint_graph): Ditto.
	(scc_visit): Ditto.
	(collapse_nodes): Ditto.
	(process_unification_queue): Ditto.
	(topo_visit): Ditto.
	(do_ds_constraint): Ditto.
	(perform_var_subsitution): Ditto.
	(solve_graph): Ditto.
	(init_alias_vars): Ditto.
	(delete_points_to_sets): Ditto.
	(do_complex_constraint): Support offsetted copies here.

From-SVN: r119114
2006-11-23 03:37:56 +00:00
Daniel Berlin
f71ef09df3 Revert accidental commit (patch coming for this :P)
From-SVN: r119113
2006-11-23 02:19:39 +00:00
Daniel Berlin
78ab22b9d3 Remove weighted edges from the graph
From-SVN: r119112
2006-11-23 02:07:03 +00:00
Ben Elliston
dc6ba965fe spu_intrinsics.h (SPU_RdEventStatMask): Rename to SPU_RdEventMask.
* config/spu/spu_intrinsics.h (SPU_RdEventStatMask): Rename to
	SPU_RdEventMask.
	* config/spu/spu_mfcio.h (spu_read_event_mask): Update.

From-SVN: r119111
2006-11-23 12:58:15 +11:00
Ben Elliston
a991f101ae spu_mfcio.h (struct mfc_list_element): Change width of size bitfield.
* config/spu/spu_mfcio.h (struct mfc_list_element): Change width
	of size bitfield.

From-SVN: r119110
2006-11-23 12:23:42 +11:00
GCC Administrator
617b6ec062 Daily bump.
From-SVN: r119108
2006-11-23 00:17:30 +00:00
Ben Elliston
6db20516db * config/spu/spu-elf.h (LIB_SPEC): Do not link with -lc_p.
From-SVN: r119103
2006-11-23 10:46:27 +11:00
Zdenek Dvorak
0446c9f3a7 re PR tree-optimization/29921 (internal compiler error: in set_lattice_value, at tree-ssa-ccp.c:437)
PR tree-optimization/29921
	* fold-const.c (operand_equal_p): Without HONOR_SIGNED_ZEROS, consider
	signed and unsigned zero equal.

	* gcc.dg/pr29921.c: New test.

From-SVN: r119102
2006-11-22 23:11:15 +00:00
Tobias Schlüter
cbad228156 re PR fortran/29441 ([4.1/4.2 only] non-constant parameter (constant) accepted)
fortran/
        PR fortran/29441
        * intrinsic.c (gfc_intrinsic_func_interface): Always check if
        intrinsic is allowed in initialization expression.
testsuite/
        PR fortran/29441
        * gfortran.dg/initialization_4.f90: New test.

From-SVN: r119101
2006-11-22 23:09:14 +01:00
Peter Bergner
e3a0e20064 rs6000.c (get_store_dest): New.
* config/rs6000/rs6000.c (get_store_dest): New.
	(adjacent_mem_locations): Use get_store_dest() to get
	the rtl of the store destination.

From-SVN: r119099
2006-11-22 13:06:41 -06:00
Joseph Myers
61c7623949 spe.md (SPE64): New mode macro.
* config/rs6000/spe.md (SPE64): New mode macro.
	(mov_sidf_e500_subreg0): Change to mov_si<mode>_e500_subreg0.  Add
	memory load.
	(mov_si<mode>_e500_subreg0_2): New.
	(mov_sidf_e500_subreg4): Change to mov_si<mode>_e500_subreg4.  Add
	memory load.
	(mov_si<mode>_e500_subreg4_2): New.
	* config/rs6000/predicates.md (input_operand): Do not allow
	invalid E500 subregs.
	(rs6000_nonimmediate_operand): Check for invalid E500 subregs also
	if TARGET_SPE.
	* config/rs6000/rs6000.c (invalid_e500_subreg): Check for subregs
	involving DFmode if TARGET_E500_DOUBLE.  Check for subregs
	involving vector modes if TARGET_SPE.

From-SVN: r119094
2006-11-22 16:41:29 +00:00
Kaz Kojima
7c21975d47 revert: reorg.c (emit_delay_sequence): Copy the delay slot insn.
Revert
	2006-11-12  Kaz Kojima  <kkojima@gcc.gnu.org>
	* reorg.c (emit_delay_sequence): Copy the delay slot insn.

From-SVN: r119093
2006-11-22 15:29:02 +00:00
Philipp Thomas
431041eaa3 Update e-mail address in MAINTAINERS
From-SVN: r119092
2006-11-22 15:21:16 +00:00
Antony King
302ece507d Makefile.am (stamp-host): Remove CCODECVT_H line.
2006-11-22  Antony King <anthony.king@st.com>
            J"orn Rennecke <joern.rennecke@st.com>

	* include/Makefile.am (stamp-host): Remove CCODECVT_H line.
	* include/Makefile.in: Regenerate.

Co-Authored-By: J"orn Rennecke <joern.rennecke@st.com>

From-SVN: r119091
2006-11-22 14:42:32 +00:00
Bernd Schmidt
36662eb11d predicates.md (d_register_operand, [...]): New predicates.
* config/bfin/predicates.md (d_register_operand, mem_p_address_operand,
	mem_i_address_operand): New predicates.
	* config/bfin/bfin.c (bfin_issue_rate): New function.
	(TARGET_SCHED_ISSUE_RATE): New macro.
	* config/bfin/bfin.md (addrtype): New attribute.
	(slot0, slot1, slot2, store, pregs): New cpu_units.
	(core): Now a define_reservation.
	(alu): Remove some insn types from this reservation.
	(dsp32, load32, loadp, loadi, store32, storep, storei, multi): New
	insn reservations.
	(dummy reservation): Don't trigger for mcld insns.
	(absence_sets): Two new absence sets to enforce slot ordering.
	(popsi_insn): Set addrtype.

From-SVN: r119090
2006-11-22 14:12:46 +00:00
Ira Rosen
98b44b0eea c-tree.texi: Document new tree codes.
* doc/c-tree.texi: Document new tree codes.
        * doc/md.texi: Document new optabs.
        * tree-pretty-print.c (dump_generic_node): Handle print of new tree
        codes.
        * optabs.c (optab_for_tree_code, init_optabs): Handle new optabs.
        * optabs.h (optab_index): Add new.
        (vec_extract_even_optab, vec_extract_odd_optab,
        vec_interleave_high_optab, vec_interleave_low_optab): New optabs.
        * genopinit.c (vec_extract_even_optab, vec_extract_odd_optab,
        vec_interleave_high_optab, vec_interleave_low_optab): Initialize
        new optabs.
        * expr.c (expand_expr_real_1): Add implementation for new tree codes.
        * tree-vectorizer.c (new_stmt_vec_info): Initialize new fields.
        * tree-vectorizer.h (stmt_vec_info): Add new fields for interleaving
        along with macros for their access.
        * tree-data-ref.h (first_location_in_loop, data_reference): Update
        comment.
        * tree-vect-analyze.c (toplev.h): Include.
        (vect_determine_vectorization_factor): Fix indentation.
        (vect_insert_into_interleaving_chain,
        vect_update_interleaving_chain, vect_equal_offsets): New functions.
        (vect_analyze_data_ref_dependence): Add argument for interleaving
        check. Check for interleaving if it's true.
        (vect_check_dependences): New function.
        (vect_analyze_data_ref_dependences): Call vect_check_dependences for
        every ddr. Call vect_analyze_data_ref_dependence with new argument.
        (vect_update_misalignment_for_peel): Update for interleaving.
        (vect_verify_datarefs_alignment): Check only first data-ref for
        interleaving.
        (vect_enhance_data_refs_alignment): Update for interleaving. Check
        only first data-ref for interleaving.
        (vect_analyze_data_ref_access): Check interleaving, update
        interleaving data.
        (vect_analyze_data_refs): Call compute_data_dependences_for_loop
        with different parameters.
        * tree.def (VEC_EXTRACT_EVEN_EXPR, VEC_EXTRACT_ODD_EXPR,
        VEC_INTERLEAVE_HIGH_EXPR, VEC_INTERLEAVE_LOW_EXPR): New tree codes.
        * tree-inline.c (estimate_num_insns_1): Add cases for new codes.
        * tree-vect-transform.c (vect_create_addr_base_for_vector_ref):
        Update step in case of interleaving.
        (vect_strided_store_supported, vect_permute_store_chain): New
        functions.
        (vectorizable_store): Handle strided stores.
        (vect_strided_load_supported, vect_permute_load_chain,
        vect_transform_strided_load): New functions.
        (vectorizable_load): Handle strided loads.
        (vect_transform_stmt): Add argument. Handle strided stores. Check
        that vectorized stmt exists for patterns.
        (vect_gen_niters_for_prolog_loop): Update calculation for
        interleaving.
        (vect_transform_loop): Remove stmt_vec_info for strided stores after
        whole chain vectorization.
        * config/rs6000/altivec.md (UNSPEC_EXTEVEN, UNSPEC_EXTODD,
        UNSPEC_INTERHI, UNSPEC_INTERLO): New constants.
        (vpkuhum_nomode, vpkuwum_nomode, vec_extract_even<mode>,
        vec_extract_odd<mode>, altivec_vmrghsf, altivec_vmrglsf,
        vec_interleave_high<mode>, vec_interleave_low<mode>): Implement.

From-SVN: r119088
2006-11-22 08:46:03 +00:00
Jerry DeLisle
b0c6db58ad io.h (unit_flags): Add new flag has_recl.
2006-11-22  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	* io/io.h (unit_flags): Add new flag has_recl.
	* io.open.c (new_unit): Set flag if RECL= was specified.
	* io/transfer.c (us_write): If flag set, leave recl as initialized by
	new_unit.

From-SVN: r119087
2006-11-22 07:32:09 +00:00
GCC Administrator
50bc8a4d6e Daily bump.
From-SVN: r119084
2006-11-22 00:17:59 +00:00
Steven Bosscher
7dad9fb498 cse.c (enum taken): Remove PATH_AROUND.
* cse.c (enum taken): Remove PATH_AROUND.
	(addr_affects_sp_p, invalidate_skipped_set,
	invalidate_skipped_block): Remove.
	(cse_end_of_basic_block): Remove skip_blocks and related code.
	(cse_main): Don't test for flag_cse_skip_blocks.
	Update cse_end_of_basic_block call.
	(cse_basic_block): Likewise.  Remove PATH_AROUND case.  Remove
	code to lengthen the path if a jump was simplified.

From-SVN: r119079
2006-11-22 00:13:42 +00:00
Zdenek Dvorak
7d93d98774 re PR rtl-optimization/29924 (pr24626-4.c fails on powerpc-aix and others)
PR rtl-optimization/29924
	* loop-unroll.c (split_edge_and_insert): Handle the case insns is NULL.
	(unroll_loop_runtime_iterations): Assert that the argument passed to
	split_edge_and_insert is not NULL.
	* loop-doloop.c (add_test): Ditto.

From-SVN: r119078
2006-11-22 00:12:52 +00:00
Paul Thomas
92c59193a1 re PR fortran/25087 (Error for missing explicit interface needed.)
2006-11-22 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25087
	* resolve.c (resolve_fl_procedure): Add an error if an external
	automatic character length function does not have an explicit
	interface.

2006-11-22 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/25087
	* gfortran.dg/auto_char_len_4.f90: New test.

From-SVN: r119077
2006-11-22 00:05:10 +00:00
Paul Thomas
991f3b1289 re PR fortran/29652 (ambiguous interface declaration undetected)
2006-11-22 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29652
	* interface.c (check_interface1): Use a local value, instead of
	the dummy, as the inner iterator over interface symbols.

2006-11-22 Paul Thomas  <pault@gcc.gnu.org>

	PR fortran/29652
	* gfortran.dg/generic_7.f90: New test.
	* gfortran.dg/defined_operators_1.f90: Add new error.

From-SVN: r119076
2006-11-22 00:02:02 +00:00
Zdenek Dvorak
ac8f6c6903 tree-loop-linear.c (linear_transform_loops): Use single_exit accessor functions.
* tree-loop-linear.c (linear_transform_loops): Use single_exit accessor
	functions.
	* tree-ssa-loop-niter.c (loop_only_exit_p): Ditto.
	* cfgloopmanip.c (update_single_exits_after_duplication,
	update_single_exit_for_duplicated_loop, loop_version): Ditto.
	* tree-scalar-evolution.c (get_loop_exit_condition,
	get_exit_conditions_rec, loop_closed_phi_def,
	number_of_iterations_in_loop, scev_const_prop): Ditto.
	* tree-ssa-loop-ivopts.c (single_dom_exit): Ditto.
	* modulo-sched.c (generate_prolog_epilog, loop_canon_p, sms_schedule):
	Ditto.
	* tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
	Ditto.
	* tree-vectorizer.c (slpeel_update_phis_for_duplicate_loop,
	slpeel_update_phi_nodes_for_guard1, slpeel_update_phi_nodes_for_guard2,
	slpeel_make_loop_iterate_ntimes,
	slpeel_tree_duplicate_loop_to_edge_cfg, slpeel_can_duplicate_loop_p,
	slpeel_verify_cfg_after_peeling, slpeel_tree_peel_loop_to_edge):
	Ditto.
	* tree-if-conv.c (if_convertible_loop_p): Ditto.
	* tree-vect-analyze.c (vect_analyze_operations, vect_stmt_relevant_p,
	vect_analyze_loop_form): Ditto.
	* lambda-code.c (lambda_loopnest_to_gcc_loopnest, exit_phi_for_loop_p,
	can_convert_to_perfect_nest, perfect_nestify): Ditto.
	* tree-vect-transform.c (vect_create_epilog_for_reduction,
	vect_update_ivs_after_vectorizer, vect_do_peeling_for_loop_bound,
	vect_transform_loop): Ditto.
	* cfgloop.c (mark_single_exit_loops, verify_loop_structure): Ditto.
	(single_exit, set_single_exit): New functions.
	* cfgloop.h (struct loop): Rename single_exit field to single_exit_.
	(single_exit, set_single_exit): Declare.
	* doc/loop.texi: Undocument single_exit field.  Document single_exit
	accessor function.

From-SVN: r119075
2006-11-21 23:54:16 +00:00