Commit Graph

87175 Commits

Author SHA1 Message Date
Kenneth Zadeck
becfd6e57b [multiple changes]
2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>

        PATCH rtl/7335
        PATCH rtl/33826
        * see.c (see_copy_insn): Copy new pure const attributes for new
        call.
        * c-decl.c (merge_decls): Ditto.
        * postreload.c (record_opr_changes): Change CONST_OR_PURE_CALL_P
        to RTL_CONST_OR_PURE_CALL_P.
        * tree.c (define_local_buitin): Rename DECL_IS_PURE to
        DECL_PURE_P.  Initialized DECL_LOOPING_CONST_PURE.
        (process_call_operands): Set tree_side_effects properly.
        * tree.h (TREE_READONLY_DECL_P): Removed.
        (DECL_IS_PURE): Renamed to DECL_PURE_P.
        (DECL_LOOPING_OR_CONST_P): New macro.
        (struct tree_function_decl): Added looping_const_or_pure_p.
        (ECF_*) Renumbered.
        (ECF_LOOPING_OR_CONST_P): New macro,
        * rtlanal.c (pure_const_p): Removed.
        * builtins.c (expand_builtin): Rename DECL_IS_PURE to DECL_PURE_P.
        * reorg.c (delete_prior_computation) Changed CONST_OR_PURE_CALL_P
        to RTL_CONST_CALL_P.
        * ipa-pure-const.c (pure_const_state_e): Added looping field.
        (check_decl, check_tree, check_call, scan_function): Initialize
        looping.
        (analyze_function): Rename DECL_IS_PURE to DECL_PURE_P.
        (static_execute): Set looping true for recursive functions.
        Undo setting state to IPA_NEITHER for recursive functions.
        * cse.c (cse_insn): 
        * ifcvt.c (noce_can_store_speculate_p): Changed
        CONST_OR_PURE_CALL_P and pure_call_p to RTL_CONST_CALL_P or 
        RTL_CONST_OR_PURE_CALL_P.
        * dse.c (scan_insn): Ditto.
        * local-alloc.c (validate_equiv_mem, memref_used_between_p): Ditto.
        * gcse.c (oprs_not_seen_p) Changed CONST_OR_PURE_CALL_P to
        RTL_CONST_OR_PURE_CALL_P.
        (store_killed_in_insn): Changed CONST_OR_PURE_CALL_P and
        pure_call_p to RTL_CONST_CALL_P.
        * gimplify.c (gimplify_call_expr): Clear side effects for
        non-looping pure and constant calls.
        * calls.c (emit_call_1): Set rtl flags from ecf flags.
        (flags_from_decl_or_type): Set ecf flags from decl flags.
        (initialize_argument_information): Turn off
        ECF_LOOPING_CONST_OR_PURE when turning off ECF_CONST.
        Change const to pure if callee_copies is true rather than just
        turning off const.
        (expand_call): Turn off ECF_LOOPING_PURE_CONST_CALL and remove old
        way of marking pure calls.
        (emit_library_call_value_1): Turn off ECF_LOOPING_PURE_CONST_CALL.
        Remove hack that was supposed to fix pr7335 and remove old
        way of marking pure calls.
        * emit-rtl.c (emit_copy_of_insn_after): Copy RTL_CONST_CALL_P,
        RTL_PURE_CALL_P, RTL_LOOPING_CONST_OR_PURE_CALL_P.
        * cselib.c (cselib_process_insn): Changed CONST_OR_PURE_CALL_P to
        RTL_CONST_OR_PURE_CALL_P.
        * tree-ssa-pre.c (can_value_number_call): Fixed spacing.
        * loop-invariant.c (find_exits, find_invariant_bb): Changed
        CONST_OR_PURE_CALL_P to RTL_CONST_OR_PURE_CALL_P.
        * sched-deps.c (schedule_analyze): Ditto.
        * rtl.h (struct rtx_def): Use call field, unchanging field, and
        return_val field of calls to represent pure and const function
        info.
        (CONST_OR_PURE_CALL_P): Deleted macro.
        (RTL_CONST_CALL_P, RTL_PURE_CALL_P,
        RTL_LOOPING_CONST_OR_PURE_CALL_P, RTL_CONST_OR_PURE_P): New macros.
        * tree-inline.c (copy_body_r): Changed TREE_READONLY_DECL_P to
        TREE_READONLY.
        * tree-optimize.c (execute_fixup_cfg): Added test for
        ECF_LOOPING_CONST_OR_PURE.
        * c-common.c (handle_pure_attribute): Changed DECL_IS_PURE to
        DECL_PURE_P.
        * tree-cfg.c (update_call_expr_flags): Do not clear tree side
        effects for looping pure or const calls.
        (verify_gimple_expr): Added verification code. 
        * config/alpha/alpha.c (alpha_legitimize_address,
        alpha_emit_xfloating_libcall): Changed CONST_OR_PURE_CALL_P to
        RTL_CONST_CALL_P.
        * config/s390/s390.c (s390_emit_tls_call_insn): Ditto.
        * config/rs6000/rs6000.c (rs6000_legitimize_tls_address): Ditto.
        * config/mips/mips.c (mips_call_tls_get_addr): Ditto.
        * cfgrtl.c (need_fake_edge_p): Changed CONST_OR_PURE_CALL_P to
        RTL_CONST_OR_PURE_CALL_P.
        * dce.c (deletable_insn_p): Allow non looping, non sibling, pure
        and const calls to be deleted.

java:
2008-05-07  Kenneth Zadeck <zadeck@naturalbridge.com>

	* decl.c (java_init_decl_processing): Change DECL_IS_PURE to
	DECL_PURE_P.

cp:
2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>

	 * decl.c (duplicate_decls): Merge in DECL_PURE_P, TREE_READONLY,
	 DECL_LOOPING_CONST_OR_PURE_P attributes.
	 * rtti.c (build_dynamic_cast_1): Rename DECL_IS_PURE to
	 DECL_PURE_P.

gfortran:
2008-05-07 Kenneth Zadeck <zadeck@naturalbridge.com>

	 * trans-decl.c (gfc_get_extern_function_decl, build_function_decl):
	 Rename DECL_IS_PURE to DECL_PURE_P.

From-SVN: r135053
2008-05-07 20:48:07 +00:00
Joseph Myers
d320458418 * sv.po: Update.
From-SVN: r135049
2008-05-07 21:43:26 +01:00
Uros Bizjak
3a3f9d87f6 i386.c (struct_builtin_description): Use CODE_FOR_sse_loadhps_exp.
* config/i386/i386.c (struct_builtin_description)
        [IX86_BUILTIN_LOADHPS]: Use CODE_FOR_sse_loadhps_exp.
        [IX86_BUILTIN_STOREHPS]: Use CODE_FOR_sse_loadlps_exp.
        [IX86_BUILTIN_LOADHPD]: Use CODE_FOR_sse2_loadhpd_exp.
        [IX86_BUILTIN_LOADLPD]: Use CODE_FOR_sse2_loadlpd_exp.
        [IX86_BUILTIN_MOVHLPS]: Use CODE_FOR_sse_movhlps_exp.
        [IX86_BUILTIN_MOVLHPS]: Use CODE_FOR_sse_movlhps_exp.
        [IX86_BUILTIN_UNPCKHPD]: Use FOR_sse2_unpckhpd_exp.
        [IX86_BUILTIN_UNPCKLPD]: Use FOR_sse2_unpcklpd_exp.

From-SVN: r135047
2008-05-07 21:08:53 +02:00
Uros Bizjak
ffbaf3373c re PR target/35714 (x86 poor code with pmaddwd)
PR target/35714
	* config/i386/mmx.md (mmx_subv2sf3): New expander.
	(*mmx_subv2sf3): Rename from mmx_subv2sf3 insn pattern.
	(*mmx_eqv2sf3): Rename from mmx_eqv2sf3 insn pattern.
	(mmx_eqv2sf3): New expander.  Use ix86_fixup_binary_operands_no_copy
	to handle nonimmediate operands.
	(*mmx_paddwd): Rename from mmx_paddwd insn pattern.
	(mmx_paddwd): New expander.  Use ix86_fixup_binary_operands_no_copy
	to handle nonimmediate operands.
	(*mmx_pmulhrwv4hi3): Rename from mmx_pmulhrwv4hi3 insn pattern.
	(mmx_pmulhrwv4hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_umulv1siv1di3): Rename from sse2_umulv1siv1di3 insn pattern.
	(sse2_umulv1siv1di3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*mmx_eq<mode>3): Rename from mmx_eq<mode>3 insn pattern.
	(mmx_eq<mode>3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*mmx_uavgv8qi3): Rename from mmx_uavgv8qi3 insn pattern.
	(mmx_uavgv8qi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*mmx_uavgv4hi3): Rename from mmx_uavgv4hi3 insn pattern.
	(mmx_uavgv4hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.

	* config/i386/sse.md
	(*sse_movhlps): Rename from sse_movhlps insn pattern.
	(sse_movhlps): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse_movlhps): Rename from sse_movlhps insn pattern.
	(sse_movlhps): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse_loadhps): Rename from sse_loadhps insn pattern.
	(sse_loadhps): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse_loadlps): Rename from sse_loadlps insn pattern.
	(sse_loadlps): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse2_unpckhpd): Rename from sse2_unpckhpd insn pattern.
	(sse2_unpckhpd): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_unpcklpd): Rename from sse2_unpcklpd insn pattern.
	(sse2_unpcklpd): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse_loadhpd): Rename from sse_loadhpd insn pattern.
	(sse_loadhpd): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse_loadlpd): Rename from sse_loadlpd insn pattern.
	(sse_loadlpd): New expander.  Use ix86_fixup_binary_operands
	to handle nonimmediate operands.
	(*sse2_<plusminus_insn><mode>3): Rename from
	sse2_<plusminus_insn><mode>3 insn pattern.
	(sse2_<plusminus_insn><mode>3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_umulv2siv2di3): Rename from sse2_umulv2siv2di3 insn pattern.
	(sse2_umulv2siv2di3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse4_1_mulv2siv2di3): Rename from sse4_1_mulv2siv2di3 insn pattern.
	(sse4_1_mulv2siv2di3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_pmaddwd): Rename from sse2_pmaddwd insn pattern.
	(sse2_pmaddwd): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_eq<mode>3): Rename from sse2_eq<mode>3 insn pattern.
	(sse2_eq<mode>3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse4_1_eqv2di3): Rename from sse4_1_eqv2di3 insn pattern.
	(sse4_1_eqv2di3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
	(sse2_uavgv16qi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_uavgv16qi3): Rename from sse2_uavgv16qi3 insn pattern.
	(sse2_uavgv16qi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*sse2_uavgv8hi3): Rename from sse2_uavgv8hi3 insn pattern.
	(sse2_uavgv8hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*ssse3_pmulhrswv8hi3): Rename from ssse3_pmulhrswv8hi3 insn pattern.
	(ssse3_pmulhrswv8hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*ssse3_pmulhrswv4hi3): Rename from ssse3_pmulhrswv4hi3 insn pattern.
	(ssse3_pmulhrswv4hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.

	(<sse>_vm<plusminus_insn><mode>3): Do not use ix86_binary_operator_ok.
	(<sse>_vmmul<mode>3): Ditto.
	(divv4sf3): Do not use ix86_fixup_binary_operands_no_copy.
	(divv2df3): Ditto.
	(ssse3_pmaddubsw128): Use register_operand for operand 1.
	(ssse3_pmaddubsw): Ditto.

	* config/i386/sse.md (ix86_fixup_binary_operands): Assert that src1
	and src2 must have the same mode when swapped.
	(ix86_expand_binop_builtin): Do not use ix86_fixup_binary_operands
	and ix86_binary_operator_ok.  Do not force operands in registers
	when optimizing.

testsuite/ChangeLog:

	PR target/35714
	* gcc.target/i386/pr35714.c: New test.

From-SVN: r135041
2008-05-07 15:12:02 +02:00
Johannes Singler
a273a42537 quicksort.h: (parallel_sort_qs_conquer) Explicitly request number of threads in the parallel...
2008-05-07  Johannes Singler  <singler@ira.uka.de>

       * include/parallel/quicksort.h:
       (parallel_sort_qs_conquer) Explicitly request number of threads
       in the parallel clause.
       (parallel_sort_qs) Remove setting the number of threads globally.

From-SVN: r135038
2008-05-07 11:14:05 +00:00
Jan Hubicka
9562228040 cgraph.c (dump_cgraph_node): Update.
* cgraph.c (dump_cgraph_node): Update.
	* cgraph.h (cgraph_local_info): Break out inline summary.
	* cgraphunit.c (cgraph_process_new_functions): Use inliner analysis
	hook.
	* ipa-inline (inline_summary): New accestor function.
	(cgraph_clone_inlined_nodes, cgraph_check_inline_limits,
	cgraph_decide_inlining, compute_inline_parameters): Update.
	* ipa.c (cgraph_remove_unreachable_nodes): Remove statistics.

From-SVN: r135037
2008-05-07 09:44:30 +00:00
Maxim Kuvyrkov
96fcacb7d3 Cleanup ColdFire scheduling support and add V4 pipeline model.
* config/m68k/m68k.md (UNSPEC_TIE): New constant.
	(define_attr cpu): Add cfv4 value.
	(define_attr type, define_attr type1): Merge into a single 'type'
	attribute.  Update all uses.
	(define_attr opx_type, define_attr opy_type, define_attr opx_access):
	Rearrange and update.  Rename value 'reg' to 'Rn', add value 'FPn'.
	Update all uses.
	(define_attr opx_mem, define_attr opy_mem): Remove.
	(define_attr op_mem): Clean up, update comment.
	(define_attr size): Use specific values instead of general int.
	(define_attr guess, define_attr split): Remove.  Update all uses.
	(movdf_internal, tstsi_internal, tsthi_internal, tstqi_internal,
	tst<mode>_68881, pushexthisi_const, movsi_const0_68000_10,
	movsi_const0_68040_60, movsi_const0, movsi_cf, movstrictqi_cf,
	zero_extendhisi2_cf, zero_extendqisi2_cfv4, cfv4_extendhisi2,
	68k_extendhisi2, extendqihi2, cfv4_extendqisi2, 68k_extendqisi2,
	floatsi<mode>2_68881, ftrunc<mode>2_68881, ftrunc<mode>2_cf,
	fix<mode>qi2_68881, fix<mode>hi2_68881, fix<mode>si2_68881,
	adddi_dishl32, addsi3_5200, add<mode>3_floatsi_68881,
	add<mode>3_floathi_68881, add<mode>3_floatqi_68881,
	add<mode>3_68881, add<mode>3_cf, subdi_dishl32, subsi3,
	sub<mode>3_floatsi_68881, sub<mode>3_floathi_68881,
	sub<mode>3_floatqi_68881, sub<mode>3_68881, sub<mode>3_cf,
	mulhi3, mulhisi3, mulhisisi3_s, mulsi3_68020, mulsi3_cf,
	umulhisi3, mulhisisi3_z, mul<mode>3_floatsi_68881,
	mul<mode>3_floathi_68881, mul<mode>3_floatqi_68881, fmul<mode>3_cf,
	div<mode>3_cf, sqrt<mode>2_cf, abs<mode>2_cf, clzsi2,
	one_cmplsi2_5200, subreghi1ashrdi_const32, ashrsi3, lshrsi3,
	bsetmemqi, bsetmemqi_ext, bclrmemqi, bclrmemqi_ext,
	beq, bne, bgt, blt, bordered, bunordered, buneq, bunge, bungt, bunle,
	bunlt, bltgt, tablejump_internal, call, non_symbolic_call_value,
	symbolic_call_value_jsr, symbolic_call_value_bsr, link):
	Update or set attributes.
	(stack_tie): New fake instruction.

	* config/m68k/m68k.h (TUNE_CFV4): New macro.
	(m68k_sched_attr_size): Update declaration.
	(m68k_sched_attr_type2): Remove.
	(m68k_sched_address_bypass_p, m68k_sched_indexed_address_bypass_p):
	Declare new bypass predicates.

	* config/m68k/m68k.c (m68k_sched_issue_rate,
	m68k_sched_first_cycle_multipass_dfa_lookahead): Declare hook
	implementations.
	(TARGET_SCHED_ISSUE_RATE,
	TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Override hooks.
	(override_options): Handle scheduling for ColdFire V4 core.
	(m68k_expand_prologue): Emit stack_tie.
	(enum attr_op_type): Split value 'OP_TYPE_REG' to 'OP_TYPE_RN' and
	'OP_TYPE_FPN'.  Update all uses.
	(sched_guess_p): Remove.
	(sched_address_type): Handle symbolic addresses.
	(sched_get_operand): New static function.
	(sched_operand_type): Merge into sched_attr_op_type.
	(sched_attr_op_type): Handle FP registers, handle quick constants,
	update.
	(m68k_sched_attr_opx_type, m68k_sched_attr_opy_type): Update.
	(m68k_sched_attr_size): Update.  Move logic to ...
	(sched_get_attr_size_int): New static function.
	(sched_get_opxy_mem_type): New static function.
	(m68k_sched_attr_op_mem): Update.
	(m68k_sched_attr_type2): Remove.
	(sched_cfv4_bypass_data): New static variable.
	(m68k_sched_adjust_cost): Handle ColdFire V4 bypass.
	(m68k_sched_issue_rate): Implement scheduler hook.
	(struct _sched_ib: enabled_p): New field.
	(m68k_sched_variable_issue): Update.  Handle V4.
	(SCHED_DUMP_TODO, SCHED_DUMP_DONE, SCHED_DUMP_NOTHING,
	sched_dump_class_func_t, sched_dump_split_class,
	sched_dump_dfa_guess_unit_code, sched_dump_dfa_state,
	sched_dump_dfa_class, m68k_sched_dump): Remove.
	(m68k_sched_first_cycle_multipass_dfa_lookahead): Implement scheduler
	hook.
	(m68k_sched_init_global): Remove statisctics dumping, introduce
	sanity check that all instructions have pipeline reservations.  Handle
	ColdFire V4 core.
	(m68k_sched_dfa_pre_advance_cycle, m68k_sched_dfa_post_advance_cycle):
	Handle ColdFire V4 core.
	(sched_mem_operand_p, sched_get_reg_operand, sched_get_mem_operand):
	New static functions.
	(m68k_sched_address_bypass_p): New bypass predicate.
	(sched_get_indexed_address_scale): New static function.
	(m68k_sched_indexed_address_bypass_p): New bypass predicate.

	* cf.md: Update comments.
	(define_attr type2): Remove.  Use 'type' attribute instead.
	Update all uses.
	(cf_ib): Rename to cfv123_ib.  Update all uses.
	(cf_oep): Rename to cfv123_oep.  Update all uses.
	(cf_chr): Rename to cfv123_chr.  Update all uses.
	(cf_mem): Rename to cfv123_mem.  Update all uses.
	(cf_mac): Move to more appropriate place.
	(cfv123_guess): New automaton and cpu_unit.
	(cfv123_*, cfv12_*, cfv1_*, cfv2_*, cfv3_*): Use type attribute.
	Update uses of 'size' attribute.  Handle before reload scheduling.
	(cfv123_guess): New dummy reservation for unhandled instructions.
	(cfv4_*): Pipeline description of ColdFire V4 core.
	(ignore): New reservation to handle 'ignore' type.

From-SVN: r135033
2008-05-07 08:09:27 +00:00
Ian Lance Taylor
2ee510b422 re PR middle-end/36013 (Wrong code involving restricted pointers to non-restricted pointers)
PR middle-end/36013
	* gimplify.c (find_single_pointer_decl_1): Don't look through
	indirections.
	(find_single_pointer_decl): Adjust comments.

	* gcc.c-torture/execute/20080506-2.c: New test.

From-SVN: r135029
2008-05-07 09:45:17 +02:00
Jakub Jelinek
f61edbf65f re PR middle-end/36137 (gcc can't do math)
PR middle-end/36137
	* fold-const.c (fold_binary): Use STRIP_SIGN_NOPS instead of
	STRIP_NOPS on arguments even for MIN_EXPR and MAX_EXPR.

	* gcc.c-torture/execute/20080506-1.c: New test.

From-SVN: r135028
2008-05-07 09:40:01 +02:00
Jakub Jelinek
c18c98c0ad re PR middle-end/36106 (#pragma omp atomic issues with floating point types)
PR middle-end/36106
	* omp-low.c (expand_omp_atomic_pipeline): Load value using the
	integral type rather than floating point, then VIEW_CONVERT_EXPR
	to the floating point type.

	* testsuite/libgomp.c/atomic-5.c: New test.
	* testsuite/libgomp.c/atomic-6.c: New test.
	* testsuite/libgomp.c/autopar-1.c: New test.

From-SVN: r135027
2008-05-07 09:28:14 +02:00
Uros Bizjak
537d4fa684 i386.c (ix86_expand_copysign): Force non-zero constant TFmode op0 to register.
* config/i386/i386.c (ix86_expand_copysign): Force non-zero constant
	TFmode op0 to register.

From-SVN: r135025
2008-05-07 09:19:01 +02:00
Jerry DeLisle
73f1509d26 re PR libfortran/34974 (null bytes when reverse-tabbing long records (regression vs. g77))
2008-05-06  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/34974
	gfortran.dg/fmt_t_7.f: XFAIL this until we get issue resolved.

From-SVN: r135017
2008-05-07 02:28:45 +00:00
Alan Modra
5f04ff8070 c-decl.c (grokdeclarator): Comment typo.
* c-decl.c (grokdeclarator): Comment typo.

From-SVN: r135016
2008-05-07 11:16:50 +09:30
Benjamin Kosnik
4db6bc0f6e mutex (mutex::mutex): Fix usage of initializing macro.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/mutex (mutex::mutex): Fix usage of initializing macro.
	(recursive_mutex::recursive_mutex): Same.
	(once_flag::once_flag): Same.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: Fix line numbers.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: Same.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: Same.

From-SVN: r135015
2008-05-07 00:55:51 +00:00
GCC Administrator
77fa554dfc Daily bump.
From-SVN: r135013
2008-05-07 00:17:45 +00:00
Aldy Hernandez
c6c6b7aa02 tree-flow.h: Remove prototype for computed_goto_p.
* tree-flow.h: Remove prototype for computed_goto_p.
        * tree-cfg.c (computed_goto_p): Make static.

From-SVN: r135009
2008-05-06 22:16:50 +00:00
H.J. Lu
4247363384 re PR testsuite/36155 (UTF tests doesn't work on Linux)
2008-05-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/36155
	* g++.dg/ext/utf32-4.C: Fix a typo.

From-SVN: r135008
2008-05-06 14:35:33 -07:00
Benjamin Kosnik
68a97d242c condition_variable: New.
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	* include/std/condition_variable: New.
	* include/std/mutex: New.
	* src/condition_variable.cc: New.
	* src/mutex.cc: New.
	* include/bits/functexcept.h: Add __throw_system_error varients.
	* src/functexcept.cc: Same.
	* config/abi/pre/gnu.ver: Add exports.

	* doc/xml/manual/using.xml: Add new includes.
	* doc/doxygen/user.cfg.in: Doxygen support.
	* doc/doxygen/doxygroups.cc: Same.

	* include/Makefile.am: Add mutex, condition_variable.
	* include/Makefile.in: Regenerated.
	* src/Makefile.am: Add mutex.cc, condition_variable.cc.
	* src/Makefile.in: Regenerated.

	* testsuite/30_threads: New.
	* testsuite/30_threads/lock_error: New.
	* testsuite/30_threads/mutex: New.
	* testsuite/30_threads/mutex/dest: New.
	* testsuite/30_threads/mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/mutex/native_handle: New.
	* testsuite/30_threads/mutex/native_handle/1.cc: New.
	* testsuite/30_threads/mutex/cons: New.
	* testsuite/30_threads/mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/mutex/cons/1.cc: New.
	* testsuite/30_threads/mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/mutex/requirements: New.
	* testsuite/30_threads/mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/mutex/try_lock: New.
	* testsuite/30_threads/mutex/try_lock/1.cc: New.
	* testsuite/30_threads/mutex/try_lock/2.cc: New.
	* testsuite/30_threads/mutex/lock: New.
	* testsuite/30_threads/mutex/lock/1.cc: New.
	* testsuite/30_threads/mutex/unlock: New.
	* testsuite/30_threads/mutex/unlock/1.cc: New.
	* testsuite/30_threads/recursive_mutex: New.
	* testsuite/30_threads/recursive_mutex/dest: New.
	* testsuite/30_threads/recursive_mutex/dest/destructor_locked.cc: New.
	* testsuite/30_threads/recursive_mutex/native_handle: New.
	* testsuite/30_threads/recursive_mutex/native_handle/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons: New.
	* testsuite/30_threads/recursive_mutex/cons/assign_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/1.cc: New.
	* testsuite/30_threads/recursive_mutex/cons/copy_neg.cc: New.
	* testsuite/30_threads/recursive_mutex/requirements: New.
	* testsuite/30_threads/recursive_mutex/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard: New.
	* testsuite/30_threads/lock_guard/requirements: New.
	* testsuite/30_threads/lock_guard/requirements/typedefs.cc: New.
	* testsuite/30_threads/lock_guard/requirements/
	explicit_instantiation.cc: New.
	* testsuite/30_threads/headers: New.
	* testsuite/30_threads/headers/mutex: New.
	* testsuite/30_threads/headers/mutex/types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/mutex/std_c++0x_neg.cc: New.
	* testsuite/30_threads/headers/condition_variable: New.
	* testsuite/30_threads/headers/condition_variable/
	types_std_c++0x.cc: New.
	* testsuite/30_threads/headers/condition_variable/std_c++0x_neg.cc: New.
	* testsuite/30_threads/once_flag: New.
	* testsuite/30_threads/unique_lock: New.
	* testsuite/30_threads/unique_lock/requirements: New.
	* testsuite/30_threads/unique_lock/requirements/typedefs.cc: New.
	* testsuite/30_threads/unique_lock/requirements/
	explicit_instantiation.cc: New.
	* testsuite/17_intro/headers/c++200x/all.cc: Add new includes.

From-SVN: r135007
2008-05-06 21:11:47 +00:00
Francois-Xavier Coudert
006601890b arith.c: (gfc_arith_concat...
* arith.c: (gfc_arith_concat, gfc_compare_string,
	gfc_compare_with_Cstring, hollerith2representation,
	gfc_hollerith2int, gfc_hollerith2real, gfc_hollerith2complex,
	gfc_hollerith2character, gfc_hollerith2logical): Use wide
	characters for character constants.
	* data.c (create_character_intializer): Likewise.
	* decl.c (gfc_set_constant_character_len): Likewise.
	* dump-parse-tree.c (show_char_const): Correctly dump wide
	character strings.
	error.c (print_wide_char): Rename into gfc_print_wide_char.
	(show_locus): Adapt to new prototype of gfc_print_wide_char.
	expr.c (free_expr0): Representation is now disjunct from
	character string value, so we always free it.
	(gfc_copy_expr, find_substring_ref, gfc_simplify_expr): Adapt
	to wide character strings.
	* gfortran.h (gfc_expr): Make value.character.string a wide string.
	(gfc_wide_toupper, gfc_wide_strncasecmp, gfc_wide_memset,
	gfc_widechar_to_char, gfc_char_to_widechar): New prototypes.
	(gfc_get_wide_string): New macro.
	(gfc_print_wide_char): New prototype.
	* io.c (format_string): Make a wide string.
	(next_char, gfc_match_format, compare_to_allowed_values, 
	gfc_match_open): Deal with wide strings.
	* module.c (mio_expr): Convert between wide strings and ASCII ones.
	* primary.c (match_hollerith_constant, match_charkind_name): 
	Handle wide strings.
	* resolve.c (build_default_init_expr): Likewise.
	* scanner.c (gfc_wide_toupper, gfc_wide_memset,
	gfc_char_to_widechar): New functions.
	(wide_strchr, gfc_widechar_to_char, gfc_wide_strncasecmp):
	Changes in prototypes.
	(gfc_define_undef_line, load_line, preprocessor_line,
	include_line, load_file, gfc_read_orig_filename): Handle wide
	strings.
	* simplify.c (gfc_simplify_achar, gfc_simplify_adjustl,
	gfc_simplify_adjustr, gfc_simplify_char, gfc_simplify_iachar,
	gfc_simplify_ichar, simplify_min_max, gfc_simplify_new_line,
	gfc_simplify_repeat): Handle wide strings.
	(wide_strspn, wide_strcspn): New helper functions.
	(gfc_simplify_scan, gfc_simplify_trim, gfc_simplify_verify):
	Handle wide strings.
	* symbol.c (generate_isocbinding_symbol): Likewise.
	* target-memory.c (size_character, gfc_target_expr_size,
	encode_character, gfc_target_encode_expr, gfc_interpret_character,
	gfc_target_interpret_expr): Handle wide strings.
	* trans-const.c (gfc_conv_string_init): Lower wide strings to
	narrow ones.
	(gfc_conv_constant_to_tree): Likewise.
	* trans-expr.c (gfc_conv_substring_expr): Handle wide strings.
	* trans-io.c (gfc_new_nml_name_expr): Likewise.
	* trans-stmt.c (gfc_trans_label_assign): Likewise.

From-SVN: r135006
2008-05-06 21:06:20 +00:00
Francois-Xavier Coudert
1b38192d61 simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1, [...]): Mark arguments with ATTRIBUTE_UNUSED.
* simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1,
	gfc_simplify_bessel_jn,gfc_simplify_bessel_y0,
	gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): Mark arguments
	with ATTRIBUTE_UNUSED.

From-SVN: r134998
2008-05-06 20:28:19 +00:00
Francois-Xavier Coudert
37a2dc4270 check.c (gfc_check_sizeof): Switch to ATTRIBUTE_UNUSED.
* check.c (gfc_check_sizeof): Switch to ATTRIBUTE_UNUSED.
	* simplify.c (gfc_simplify_lgamma): Likewise.

From-SVN: r134997
2008-05-06 20:24:05 +00:00
Benjamin Kosnik
86ff5c5049 re PR libstdc++/36130 (Atomics regression test fail to compile when parallel mode is enabled)
2008-05-06  Benjamin Kosnik  <bkoz@redhat.com>

	PR libstdc++/36130
	* include/bits/c++config: Namespace macros and setup only in C++.
	* testsuite/29_atomics/headers/stdatomic.h/debug_mode.c: New.

From-SVN: r134995
2008-05-06 18:57:46 +00:00
H.J. Lu
a6ce277401 re PR testsuite/36155 (UTF tests doesn't work on Linux)
2008-05-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR testsuite/36155
	* gcc.dg/utf32-4.c: Fix a typo.

	* lib/target-supports.exp (check_effective_target_4byte_wchar_t):
	Use __WCHAR_TYPE__ instead of wchar_t.

From-SVN: r134994
2008-05-06 11:37:03 -07:00
Mark Shinwell
85b56a901c enum6.C, [...]: Broaden dg-options pattern.
* g++.old-deja/g++.jason/enum6.C, g++.old-deja/g++.law/enum9.C,
	g++.old-deja/g++.other/enum4.C, gfortran/enum_9.f90,
	gfortran.dg/enum_10.f90: Broaden dg-options pattern.

Co-Authored-By: Andrew Jenner <andrew@codesourcery.com>
Co-Authored-By: Daniel Jacobowitz <dan@codesourcery.com>

From-SVN: r134993
2008-05-06 18:34:53 +00:00
Francois-Xavier Coudert
8fc541d3a5 openmp.c (gfc_match_omp_eos): Use gfc_next_ascii_char and gfc_peek_ascii_char.
* openmp.c (gfc_match_omp_eos): Use gfc_next_ascii_char and
	gfc_peek_ascii_char.
	* decl.c (gfc_match_kind_spec, gfc_match_type_spec,
	gfc_match_implicit_none, match_implicit_range, gfc_match_implicit,
	match_string_p, match_attr_spec, gfc_match_suffix,
	match_procedure_decl, gfc_match_entry, gfc_match_subroutine):
	Likewise.
	* gfortran.h (gfc_char_t): New type.
	(gfc_linebuf): Make line member a gfc_char_t.
	(locus): Make nextc member a gfc_char_t.
	(gfc_wide_is_printable, gfc_wide_is_digit, gfc_wide_fits_in_byte,
	gfc_wide_tolower, gfc_wide_strlen, gfc_next_ascii_char,
	gfc_peek_ascii_char, gfc_check_digit): New prototypes.
	* error.c (print_wide_char): New function.
	(show_locus): Use print_wide_char and gfc_wide_strlen.
	* io.c (next_char): Use gfc_char_t type.
	(match_io): Use gfc_peek_ascii_char and gfc_next_ascii_char.
	* match.c (gfc_match_parens, gfc_match_eos,
	gfc_match_small_literal_int, gfc_match_name, gfc_match_name_C,
	gfc_match_intrinsic_op, gfc_match_char,  gfc_match_return,
	gfc_match_common): Likewise.
	* match.h (gfc_match_special_char): Change prototype.
	* parse.c (decode_specification_statement, decode_statement,
	decode_omp_directive, next_free, next_fixed): Use
	gfc_peek_ascii_char and gfc_next_ascii_char.
	* primary.c (gfc_check_digit): Change name.
	(match_digits, match_hollerith_constant, match_boz_constant,
	match_real_constant, next_string_char, match_charkind_name,
	match_string_constant, match_logical_constant_string,
	match_complex_constant, match_actual_arg, match_varspec,
	gfc_match_rvalue, match_variable): Use gfc_peek_ascii_char and
	gfc_next_ascii_char.
	* scanner.c (gfc_wide_fits_in_byte, wide_is_ascii,
	gfc_wide_is_printable, gfc_wide_tolower, gfc_wide_is_digit,
	gfc_wide_is_digit, wide_atoi, gfc_wide_strlen, wide_strcpy,
	wide_strchr, widechar_to_char, wide_strncmp, wide_strncasecmp,
	gfc_next_ascii_char, gfc_peek_ascii_char):
	New functions.
	(next_char, gfc_define_undef_line, skip_free_comments,
	gfc_next_char_literal, gfc_next_char, gfc_peek_char,
	gfc_error_recovery, load_line, preprocessor_line, include_line,
	load_file, gfc_read_orig_filename): Use gfc_char_t for source
	characters and the {gfc_,}wide_* functions to manipulate wide
	strings.

From-SVN: r134992
2008-05-06 18:28:32 +00:00
Uros Bizjak
d0b48c6701 mmx.md: Rename "*..." insn patterns from my previous commit to "*mmx_...".
* config/i386/mmx.md: Rename "*..." insn patterns from my
	previous commit to "*mmx_...".

From-SVN: r134991
2008-05-06 19:41:46 +02:00
Tom Tromey
71c10038d1 PR preprocessor/35313, PR preprocessor/36088:
gcc/testsuite
	PR preprocessor/35313, PR preprocessor/36088:
	* gcc.dg/cpp/pr35313.c: New file.
	* gcc.dg/cpp/if-oppr.c: Remove test for ',' in a conditional
	expression.
	* gcc.dg/cpp/if-oppr2.c: New file.
libcpp
	PR preprocessor/35313, PR preprocessor/36088:
	* expr.c (optab) <QUERY, COMMA>: Set precedence to 4.
	(reduce) <case CPP_QUERY>: Special case CPP_COMMA and CPP_COLON.

From-SVN: r134989
2008-05-06 17:15:07 +00:00
Tobias Burnus
3c3f426502 re PR fortran/36117 (Use MPFR for bessel function (optimization, rejects valid F2008))
2008-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36117
        * intrinsic.c (add_functions): Call gfc_simplify_bessel_*.
        * intrinsic.h: Add prototypes for gfc_simplify_bessel_*.
        * simplify.c (gfc_simplify_bessel_j0,gfc_simplify_bessel_j1,
        gfc_simplify_bessel_jn,gfc_simplify_bessel_y0,
        gfc_simplify_bessel_y1,gfc_simplify_bessel_yn): New.

2008-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/36117
        * gfortran.dg/bessel_2.f90: New.

From-SVN: r134988
2008-05-06 19:06:54 +02:00
H.J. Lu
4317a2fa51 re PR target/35657 (Alignments of DFP types aren't consistent)
2008-05-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/35657
	* config/i386/i386.c (contains_128bit_aligned_vector_p): Renamed
	to ...
	(contains_aligned_value_p): This.  Handle _Decimal128.
	(ix86_function_arg_boundary): Only align _Decimal128 to its
	natural boundary and handle it properly.

From-SVN: r134987
2008-05-06 08:41:08 -07:00
H.J. Lu
2fc794f279 Fix another typo in ChangeLog.
From-SVN: r134986
2008-05-06 07:28:58 -07:00
H.J. Lu
d65defb275 Fix a typo in ChangeLog.
From-SVN: r134985
2008-05-06 07:26:01 -07:00
Martin Jambor
c43f07af14 ipa-cp.c (ipcp_method_orig_node): Renamed to ipcp_get_orig_node.
2008-05-06  Martin Jambor  <mjambor@suse.cz>

        * ipa-cp.c (ipcp_method_orig_node): Renamed to ipcp_get_orig_node.
        (ipcp_method_is_cloned): Renamed to ipcp_node_is_clone
        (ipcp_method_set_orig_node): Removed.
        (ipcp_cval_get_cvalue_type): Removed.
        (ipcp_method_get_scale): Renamed to ipcp_get_node_scale.
        (ipcp_method_set_scale): Renamed to ipcp_set_node_scale.
        (ipcp_cval_set_cvalue_type): Removed.
        (ipcp_cval_get_cvalue): Removed.
        (ipcp_cval_set_cvalue): Removed.
        (ipcp_type_is_const): Renamed to ipcp_lat_is_const.
        (ipcp_cval_equal_cvalues): Renamed to ipcp_lats_are_equal
        (ipcp_lats_are_equal): Changed parameters to two ipcp_lattice's
        (ipcp_cval_meet): Renamed to ipa_lattice_meet
        (ipcp_cval_changed): Changed to use ipcp_lat_is_const
        (ipcp_method_cval): Renamed to ipcp_get_ith_lattice
        (ipcp_get_ith_lattice): Changed parameters.
        (ipcp_cval_compute): Renamed to ipcp_lattice_from_jfunc
        (ipcp_lattice_from_jfunc): Changed parameters.
	(ipcp_redirect): Local lattice pointer instead of lattice type variable.
	(ipcp_method_cval_print): Added temporary variable info.
	(ipcp_redirect): Removed already unused local variable caller.
	(ipcp_redirect): New temporary variable orig_callee_info
	(ipcp_redirect): Removed newly unused local variable callee.
	(ipcp_redirect): Removed (a bit confusing) local variable type.
	(ipcp_insert_stage): Added local variable info.
	(ipcp_cval_changed): Renamed to ipcp_lattice_changed, parameters 
	renamed too
	(ipcp_formal_create): Removed.
	(ipcp_method_cval_set): Removed.
	(ipcp_propagate_stage): Renamed lattice variables.
	(ipcp_method_cval_set_cvalue_type): Removed.
	(ipcp_method_cval_print): Renamed to ipcp_print_all_lattices
	(ipcp_print_all_lattices): Changed printed strings to refer to 
	lattices rather than cvals.
	(ipcp_method_cval_init): Renamed to ipcp_initialize_node_lattices
	(ipcp_propagate_const): Changed formal parameters.
	(build_const_val): Changed formal parameters.
	(ipcp_insert_stage): Removed useless variable cvalue
	(build_const_val): Changed formal parameters.
	(ipcp_method_compute_scale): Renamed to ipcp_compute_node_scale
	(ipcp_after_propagate): Renamed to ipcp_change_tops_to_bottom
	(ipcp_callsite_param_print): Renamed to ipcp_print_all_jump_functions
	(ipcp_profile_mt_count_print): Renamed to ipcp_print_func_profile_counts
	(ipcp_print_func_profile_counts): Changed string from "method" to 
	"function"
	(ipcp_profile_cs_count_print): Renamed to ipcp_print_call_profile_counts
	(ipcp_profile_edge_print): Renamed to ipcp_print_edge_profiles
	(ipcp_profile_bb_print): Renamed to ipcp_print_bb_profiles
	(ipcp_structures_print): Renamed to ipcp_print_all_structures
	(ipcp_profile_print): Renamed to ipcp_print_profile_data
	(ipcp_lat_is_const): Changed parameters and made inline.
	(ipcp_replace_map_create): Renamed to ipcp_create_replace_map
	(ipcp_redirect): Renamed to ipcp_need_redirect_p
	(ipcp_need_redirect_p): Calls ipcp_lat_is_const instead of using 
	the predicate condition directly
	(ipcp_propagate_stage): Added local variable args. Removed local
	variable callee.  (Both are mere code simplifications.)
	(ipcp_method_dont_insert_const): Renamed to
	ipcp_node_not_modifiable_p.
	(ipcp_node_not_modifiable_p): Made inline.
	(ipcp_cloned_create): Renamed to ipcp_init_cloned_node
	(ipcp_propagate_const): Renamed to ipcp_propagate_one_const
	(ipcp_print_all_lattices): Removed variable cvalue
	(ipcp_method_scale_print): Renamed to ipcp_function_scale_print
	Updated comments.

From-SVN: r134984
2008-05-06 16:15:18 +02:00
Olivier Hainque
2b9d6cf30e tree-sra.c (try_instantiate_multiple_fields): Early return if field has POINTER_TYPE.
* tree-sra.c (try_instantiate_multiple_fields): Early return
        if field has POINTER_TYPE.
               
        testsuite/
        * gnat.dg/fatp_sra.adb: New test.

From-SVN: r134982
2008-05-06 12:13:07 +00:00
Kai Tietz
18efb17965 i386.c (output_set_got): Fix for x86_64 output_emit_asm by using 'q' specifier for instruction.
2008-05-06  Kai Tietz  <kai.tietz@onevision.com>

	* config/i386/i386.c (output_set_got): Fix for x86_64 output_emit_asm
	by using 'q' specifier for instruction.
	(ix86_file_end): Replaced case TARGET_64BIT_MS_ABI by TARGET_64BIT.

From-SVN: r134981
2008-05-06 12:07:13 +02:00
Anatoly Sokolov
38ce04d982 avr.md (*sbrx_branch, [...]): Change mode of zero_extract from QImode to HImode.
* config/avr/avr.md (*sbrx_branch, *sbix_branch, *sbix_branch_tmp):
	Change mode of zero_extract from QImode to HImode.
	(sign bit tests peepholes): (Ditto.).

From-SVN: r134979
2008-05-06 13:30:17 +04:00
Johannes Singler
3234d6b0b0 2008-05-06 Johannes Singler <singler@ira.uka.de>
* include/parallel/multiway_merge.h:
          (multiway_merge_*_unguarded):
          Pass sentinel directly, to allow correct determination.
          (multiway_merge_loser_tree_unguarded):
          Remove over-cautious assertion.
          (calls to multiway_merge_*_splitting):
          Parametrize with type that is correct in all cases.
        * include/parallel/losertree.h:
          (delete_min_insert (in many classes)):
          Correct and standardize assertions.

From-SVN: r134977
2008-05-06 08:55:57 +00:00
Uros Bizjak
333d8f61a2 mmx.md: Remove double backslashes from asm templates.
* config/i386/mmx.md: Remove double backslashes from asm templates.
	(*addv2sf3): Rename from mmx_addv2sf3 insn pattern.
	(mmx_addv2sf3): New expander.  Use ix86_fixup_binary_operands_no_copy
	to handle nonimmediate operands.
	(*mulv2sf3): Rename from mmx_mulv2sf3 insn pattern.
	(mmx_mulv2sf3): New expander.  Use ix86_fixup_binary_operands_no_copy
	to handle nonimmediate operands.
	(*<code>v2sf3_finite): New insn pattern.
	(*<code>v2sf3): Rename from mmx_<code>v2sf3 insn pattern.
	(mmx_<code>v2sf3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(mmx_<plusminus_insn><mode>3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*<plusminus_insn><mode>3): New insn pattern.
	(mmx_add<mode>3): Removed.
	(mmx_ssadd<mode>3): Ditto.
	(mmx_usadd<mode>3): Ditto.
	(mmx_sub<mode>3): Ditto.
	(mmx_sssub<mode>3): Ditto.
	(mmx_ussub<mode>3): Ditto.
	(*mulv4hi3): Rename from mmx_mulv4hi3 insn pattern.
	(mmx_mulv4hi3): New expander.  Use ix86_fixup_binary_operands_no_copy
	to handle nonimmediate operands.
	(*smulv4hi3_highpart): Rename from mmx_smulv4hi3_highpart
	insn pattern.
	(mmx_smulv4hi3_highpart): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*umulv4hi3_highpart): Rename from mmx_umulv4hi3_highpart
	insn pattern.
	(mmx_umulv4hi3_highpart): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*<code>v4hi3): Rename from mmx_<code>v4hi3 insn pattern.
	(mmx_<code>v4hi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*<code>v8qi3): Rename from mmx_<code>v8qi3 insn pattern.
	(mmx_<code>v8qi3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.
	(*<code><mode>3): Rename from mmx_<code><mode>3 insn pattern.
	(mmx_<code><mode>3): New expander.  Use
	ix86_fixup_binary_operands_no_copy to handle nonimmediate operands.

From-SVN: r134976
2008-05-06 10:39:51 +02:00
Jan Hubicka
3716f2332c re PR tree-optimization/36118 ([4.4 Regressions] inline-related regressions)
PR tree-optimization/36118
	* passes.c (pass_init_dump_file): Fix dump header.

From-SVN: r134975
2008-05-06 07:59:54 +00:00
Jerry DeLisle
d0d51277e2 re PR libfortran/36131 (wrong IO)
2008-05-05  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

	PR libfortran/36131
	* io/transfer.c (formatted_transfer_scalar): Revert patch for PR34974.
	(next_record_w): Likewise.

From-SVN: r134973
2008-05-06 04:00:38 +00:00
Andrew Pinski
1aee3ab6f3 re PR middle-end/36141 (Gcc 4.4 failed to boostrap)
2008-05-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36141
        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): Don't create VCE
        for function decls.

2008-05-05  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        PR middle-end/36141
        * gcc.c-torture/pr36141.c: New testcase.

From-SVN: r134972
2008-05-05 20:47:29 -07:00
Danny Smith
ab1cde2399 target_supports.exp (check_effective_target_4byte_wchar_t): New proc.
* lib/target_supports.exp (check_effective_target_4byte_wchar_t):
	New proc.
	* gcc.dg/utf16-4.c: Use it.
	* gcc.dg/utf32-4.c: Use it.
	* g++.dg/ext/utf16-4.C: Use it.
	* gcc.dg/ext/utf32-4.C: Use it.

From-SVN: r134971
2008-05-06 02:59:12 +00:00
H.J. Lu
0d07fcad08 sse.md (sse2_<plusminus_insn><mode>3): Fix a typo.
2008-05-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/sse.md (sse2_<plusminus_insn><mode>3): Fix a typo.

From-SVN: r134966
2008-05-05 17:17:57 -07:00
GCC Administrator
9ff9991f9a Daily bump.
From-SVN: r134965
2008-05-06 00:17:57 +00:00
H.J. Lu
d1c3b58718 i386.md (sat_plusminus): New.
2008-05-05  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (sat_plusminus): New.
	(plusminus_insn): Likewise.
	(plusminus_mnemonic): Likewise.
	(addsub): Removed.
	(comm): Add ss_plus, us_plus, ss_minus and us_minus.
	(*<addsub><mode>3_cc_overflow): Renamed to ...
	(*<plusminus_insn><mode>3_cc_overflow): This.
	(*<addsub>si3_zext_cc_overflow): Renamed to ...
	(*<plusminus_insn>si3_zext_cc_overflow): This.

	* gcc/config/i386/sse.md (<addsub><mode>3): Renamed to ...
	(<plusminus_insn><mode>3): This.
	(*<addsub><mode>3): Renamed to ...
	(*<plusminus_insn><mode>3): This.
	(<sse>_vm<addsub><mode>3): Renamed to ...
	(<sse>_vm<plusminus_insn><mode>3): This.
	(sse3_h<addsub>v4sf3): Renamed to ...
	(sse3_h<plusminus_insn>v4sf3): This.
	(sse3_h<addsub>v2df3): Renamed to ...
	(sse3_h<plusminus_insn>v2df3): This.
	(<plusminus_insn><mode>3): New.
	(*<plusminus_insn><mode>3): Likewise.
	(sse2_<plusminus_insn><mode>3): Likewise.
	(add<mode>): Removed.
	(*add<mode>3): Likewise.
	(sse2_ssadd<mode>3): Likewise.
	(sse2_usadd<mode>3): Likewise.
	(sub<mode>3): Likewise.
	(*sub<mode>3): Likewise.
	(sse2_sssub<mode>3): Likewise.
	(sse2_ussub<mode>3): Likewise.

From-SVN: r134957
2008-05-05 14:34:17 -07:00
Danny Smith
33437ca004 * gfortran.dg/dev_null.f90. Remove and replace with...
* gfortran.dg/dev_null.F90: Use preprocessor define to
	generalize the DEV_NULL name.

From-SVN: r134955
2008-05-05 21:15:51 +00:00
Eric Botcazou
bba74577c5 * decl.c (maybe_pad_type): Add ??? comment.
From-SVN: r134953
2008-05-05 19:44:55 +00:00
Benjamin Kosnik
2368848178 gthr-single.h: Add in required interface elements as per gthr.h.
2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>

        * gthr-single.h: Add in required interface elements as per gthr.h.
        Add stub types for __gthread_key_t, __gthread_once_t. Add defines
        for __GTHREAD_ONCE_INIT, __GTHREAD_RECURSIVE_MUTEX_INIT.
        Generalize UNUSED macro. 
        (__gthread_once): Add.
        (__gthread_key_create): Add.
        (__gthread_key_delete): Add.    
        (__gthread_getspecific): Add.
        (__gthread_setspecific): Add.

From-SVN: r134951
2008-05-05 17:42:26 +00:00
Benjamin Kosnik
1d3d8fff36 testsuite_visualization.h: Move contents into...
2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>

	* testsuite/util/testsuite_visualization.h: Move contents into...
	* testsuite/util/testsuite_performance.h: ...here.
	* testsuite/util/testsuite_common_types.h: Move
	performance-related test infrastructure into
	testsuite_performance.
	* testsuite/performance/25_algorithms/search_n.cc: Fix includes.
	* testsuite/performance/23_containers/find/map.cc: Same.
	* testsuite/performance/23_containers/create/map.cc: Same.
	* testsuite/performance/23_containers/insert_erase/associative.cc: Same.
	* testsuite/performance/23_containers/insert/sequence.cc: Same.
	* testsuite/performance/23_containers/insert/associative.cc: Same.
	* testsuite/performance/23_containers/create_from_sorted/set.cc: Same.
	* testsuite/performance/23_containers/index/map.cc: Same.
	* testsuite/performance/23_containers/insert_from_sorted/set.cc: Same.
	* testsuite/performance/23_containers/create_sort/list.cc: Same.
	* testsuite/performance/23_containers/sort_search/list.cc: Same.
	* testsuite/performance/23_containers/producer_consumer/sequence.cc:
	Same.
	* testsuite/performance/23_containers/producer_consumer/associative.cc:
	Same.

	* testsuite/29_atomics/atomic/cons/assign_neg.cc: Adjust line numbers.
	* testsuite/29_atomics/atomic/cons/copy_neg.cc: Same.

From-SVN: r134949
2008-05-05 17:22:02 +00:00
Benjamin Kosnik
ce72d1aa87 typedefs-1.cc: Correct requirements.
2008-05-05  Benjamin Kosnik  <bkoz@redhat.com>

	* 20_util/make_signed/requirements/typedefs-1.cc: Correct requirements.
	* 20_util/make_unsigned/requirements/typedefs-1.cc: Same.

From-SVN: r134948
2008-05-05 17:16:44 +00:00
Andrew Pinski
e06f0ff9f8 tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have the same size types for...
2008-05-05  Andrew Pinski  <Andrew.Pinski@playstation.sony.com>

        * tree-ssa-forwprop.c (forward_propagate_addr_expr_1): If we have the
        same size types for the indirect reference on the rhs, then create a VCE.

2008-05-05  Andrew Pinski  <andrew.pinski@playstation.sony.com>

        * gcc.dg/tree-ssa/forwprop-5.c: New testcase.
        * gcc.dg/tree-ssa/forwprop-6.c: New testcase.
        * gcc.dg/tree-ssa/forwprop-7.c: New testcase.
        * gcc.dg/tree-ssa/forwprop-8.c: New testcase.
        * gcc.dg/tree-ssa/forwprop-9.c: New testcase.

From-SVN: r134947
2008-05-05 09:10:43 -07:00