Commit Graph

87191 Commits

Author SHA1 Message Date
Sebastian Pop
a3ced85e05 patch_tester.sh (report): Do not print "Checker: ".
2008-05-08  Sebastian Pop  <sebastian.pop@amd.com>

	* patch_tester.sh (report): Do not print "Checker: ".

From-SVN: r135083
2008-05-08 15:14:47 +00:00
Uros Bizjak
d78228927a ChangeLog: Whitespace fixes.
* ChangeLog: Whitespace fixes.
	* testsuite/Changelog: Ditto.

From-SVN: r135081
2008-05-08 15:26:02 +02:00
Richard Guenther
e8d6aaee64 i386-protos.h (ix86_return_in_memory): Adjust return type to bool.
2008-05-08  Richard Guenther  <rguenther@suse.de>

	* config/i386/i386-protos.h (ix86_return_in_memory): Adjust
	return type to bool.
	(ix86_sol10_return_in_memory): Likewise.
	(ix86_i386elf_return_in_memory): Likewise.
	(ix86_i386interix_return_in_memory): Likewise.
	* config/i386/i386.c (ix86_return_in_memory): Likewise.
	(ix86_sol10_return_in_memory): Likewise.
	(ix86_i386elf_return_in_memory): Likewise.
	(ix86_i386interix_return_in_memory): Likewise.

From-SVN: r135080
2008-05-08 12:25:39 +00:00
Kai Tietz
033df0b9d2 calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to fndecl argument.
2008-05-08  Kai Tietz  <kai.tietz@onevision.com>

	PR/36180
	* calls.c (compute_argument_block_size ): Add ATTRIBUTE_UNUSED to
	fndecl argument.
	(emit_library_call_value_1): Add ATTRIBUTE_UNUSED to variable
	fndecl.
	* target-def.h: Check that TARGET_RETURN_IN_MEMORY isn't declared in front.

From-SVN: r135079
2008-05-08 13:32:55 +02:00
Andreas Schwab
a1b6607115 utils.c (handle_pure_attribute, [...]): Rename DECL_IS_PURE to DECL_PURE_P.
* utils.c (handle_pure_attribute, init_gigi_decls): Rename
DECL_IS_PURE to DECL_PURE_P.

From-SVN: r135078
2008-05-08 11:11:05 +00:00
Richard Guenther
5611cf0bf5 tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS.
2008-05-08  Richard Guenther  <rguenther@suse.de>

	* tree-data-ref.c (dr_analyze_alias): Do not set DR_SUBVARS.
	* tree-data-ref.h (struct dr_alias): Remove subvars field.
	(DR_SUBVARS): Remove.
	* tree-dfa.c (dump_subvars_for): Remove.
	(debug_subvars_for): Likewise.
	(dump_variable): Do not dump subvars.
	(remove_referenced_var): Do not remove subvars.
	* tree-flow-inline.h (clear_call_clobbered): SFTs no longer exist.
	(lookup_subvars_for_var): Remove.
	(get_subvars_for_var): Likewise.
	(get_subvars_at): Likewise.
	(get_first_overlapping_subvar): Likewise.
	(overlap_subvar): Likewise.
	* tree-flow.h (subvar_t): Remove.
	(struct var_ann_d): Remove subvars field.
	* tree-ssa-alias.c (mark_aliases_call_clobbered): Remove queued
	argument.  Remove special handling of SFTs.
	(compute_tag_properties): Likewise.
	(set_initial_properties): Likewise.
	(compute_call_clobbered): Likewise.
	(count_mem_refs): Likewise.
	(compute_memory_partitions): Likewise.
	(compute_flow_insensitive_aliasing): Likewise.
	(setup_pointers_and_addressables): Likewise.
	(new_type_alias): Likewise.
	(struct used_part): Remove.
	(used_portions): Likewise.
	(struct used_part_map): Likewise.
	(used_part_map_eq): Likewise.
	(used_part_map_hash): Likewise.
	(free_used_part_map): Likewise.
	(up_lookup): Likewise.
	(up_insert): Likewise.
	(get_or_create_used_part_for): Likewise.
	(create_sft): Likewise.
	(create_overlap_variables_for): Likewise.
	(find_used_portions): Likewise.
	(create_structure_vars): Likewise.
	* tree.def (STRUCT_FIELD_TAG): Remove.
	* tree.h (MTAG_P): Adjust.
	(struct tree_memory_tag): Remove base_for_components and
	unpartitionable flags.
	(struct tree_struct_field_tag): Remove.
	(SFT_PARENT_VAR): Likewise.
	(SFT_OFFSET): Likewise.
	(SFT_SIZE): Likewise.
	(SFT_NONADDRESSABLE_P): Likewise.
	(SFT_ALIAS_SET): Likewise.
	(SFT_UNPARTITIONABLE_P): Likewise.
	(SFT_BASE_FOR_COMPONENTS_P): Likewise.
	(union tree_node): Remove sft field.
	* alias.c (get_alias_set): Remove special handling of SFTs.
	* print-tree.c (print_node): Remove handling of SFTs.
	* tree-dump.c (dequeue_and_dump): Likewise.
	* tree-into-ssa.c (mark_sym_for_renaming): Likewise.
	* tree-nrv.c (dest_safe_for_nrv_p): Remove special handling of SFTs.
	* tree-predcom.c (set_alias_info): Do not set subvars.
	* tree-pretty-print.c (dump_generic_node): Do not handle SFTs.
	* tree-ssa-loop-ivopts.c (get_ref_tag): Likewise.
	* tree-ssa-operands.c (access_can_touch_variable): Likewise.
	(add_vars_for_offset): Remove.
	(add_virtual_operand): Remove special handling of SFTs.
	(add_call_clobber_ops): Likewise.
	(add_call_read_ops): Likewise.
	(get_asm_expr_operands): Likewise.
	(get_modify_stmt_operands): Likewise.
	(get_expr_operands): Likewise.
	(add_to_addressable_set): Likewise.
	* tree-ssa.c (verify_ssa_name): Do not handle SFTs.
	* tree-tailcall.c (suitable_for_tail_opt_p): Likewise.
	* tree-vect-transform.c (vect_create_data_ref_ptr): Do not
	set subvars.
	* tree.c (init_ttree): Remove STRUCT_FIELD_TAG initialization.
	(tree_code_size): Remove STRUCT_FIELD_TAG handling.
	(tree_node_structure): Likewise.
	* tree-ssa-structalias.c (set_uids_in_ptset): Remove special
	handling of SFTs.
	(find_what_p_points_to): Likewise.

From-SVN: r135077
2008-05-08 09:27:29 +00:00
Kai Tietz
8e17a4cf37 pr36172.c: Replace unsigned long by __SIZE_TYPE__.
2008-05-08  Kai Tietz  <kai.tietz@onevision.com>

        * gcc.c-torture/compile/pr36172.c: Replace unsigned long by
        __SIZE_TYPE__.

From-SVN: r135076
2008-05-08 10:53:39 +02:00
Sa Liu
fb4b5171a0 fixed subti3 pattern
From-SVN: r135075
2008-05-08 08:45:15 +00:00
Sa Liu
dc4918499f test subti3
From-SVN: r135074
2008-05-08 08:42:38 +00:00
Sa Liu
f51de793f1 fixed subti3 pattern
From-SVN: r135073
2008-05-08 08:39:45 +00:00
Richard Guenther
1b674de053 re PR middle-end/36154 (internal compiler error: in get_constraint_for_component_ref, at tree-ssa-structalias.c:2727)
2008-05-08  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36154
	* tree-ssa-structalias.c (push_fields_onto_fieldstack): Make
	sure to create a representative for trailing arrays for PTA.

	* gcc.c-torture/compile/pr36154.c: New testcase.

From-SVN: r135071
2008-05-08 08:20:45 +00:00
Richard Guenther
b13e7b6cfc re PR middle-end/36172 (ice for legal code with -O3)
2008-05-08  Richard Guenther  <rguenther@suse.de>

	PR middle-end/36172
	* fold-const.c (operand_equal_p): Two objects which types
	differ in pointerness are not equal.

	* gcc.c-torture/compile/pr36172.c: New testcase.

From-SVN: r135070
2008-05-08 08:19:16 +00:00
Kai Tietz
81464b2cd8 2008-05-07 Kai Tietz <kai,tietz@onevision.com>
* calls.c (compute_argument_block_size): Add argument tree fndecl.
	(OUTGOING_REG_PARM_STACK_SPACE): Add function type argument.
	(emit_library_call_value_1): Add new variable fndecl initialized by
	NULL_TREE. It should be the decl type of orgfun, but this information
	seems not to be available here, so it uses the default calling abi.
	* config/arm/arm.c (arm_return_in_memory): Add fntype argumen.
	* config/arm/arm.h (RETURN_IN_MEMORY): Replace RETURN_IN_MEMORY
	by TARGET_RETURN_IN_MEMORY.
	* config/i386/i386-interix.h: Likewise.
	* config/i386/i386.h: Likewise.
	* config/i386/i386elf.h: Likewise.
	* config/i386/ptx4-i.h: Likewise.
	* config/i386/sol2-10.h: Likewise.
	* config/i386/sysv4.h: Likewise.
	* config/i386/vx-common.h: Likewise.
	* config/cris/cris.h: Removed #if 0 clause.
	* config/arm/arm-protos.h (arm_return_in_memory): Add fntype
	argument.
	* config/i386/i386-protos.h (ix86_return_in_memory): Add fntype
	argument.
	(ix86_sol10_return_in_memory): Likewise.
	(ix86_i386elf_return_in_memory): New.
	(ix86_i386interix_return_in_memory): New.
	* config/mt/mt-protos.h (mt_return_in_memory): New.
	* config/mt/mt.c: Likewise.
	* config/mt/mt.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
	(RETURN_IN_MEMORY):  Replace by TARGET_RETURN_IN_MEMORY.
	* config/bfin/bfin.h: Likewise.
	* config/bfin/bfin-protos.h (bfin_return_in_memory): Add fntype
	argument.
	* config/bfin/bfin.c: Likewise.
	* config/pa/pa.h (OUTGOING_REG_PARM_STACK_SPACE): Add FNTYPE argument.
	* config/alpha/unicosmk.h: Likewise.
	* config/i386/cygming.h: Likewise.
	* config/iq2000/iq2000.h: Likewise.
	* config/mips/mips.h: Likewise.
	* config/mn10300/mn10300.h: Likewise.
	* config/rs6000/rs6000.h: Likewise.
	* config/score/score.h: Likewise.
	* config/spu/spu.h: Likewise.
	* config/v850/v850.h: Likewise.
	* defaults.h: Likewise.
	* doc/tm.texi (OUTGOING_REG_PARM_STACK_SPACE): Adjust documentation.
	* expr.c (emit_block_move): Adjust use of OUTGOING_REG_PARM_STACK_SPACE.
	* function.c (STACK_DYNAMIC_OFFSET): Adjust use of
	OUTGOING_REG_PARM_STACK_SPACE.
	* targhooks.c (default_return_in_memory): Remove RETURN_IN_MEMORY.

From-SVN: r135069
2008-05-08 09:10:49 +02:00
GCC Administrator
2fada7f3f3 Daily bump.
From-SVN: r135064
2008-05-08 00:17:37 +00:00
Jakub Jelinek
1f16b47cd0 re PR debug/35896 (gfortran TLS symbols broken with debug info)
PR debug/35896
	* dwarf2out.c (dw_expand_expr, common_check): Removed.
	(fortran_common): New function.
	(gen_variable_die): Call fortran_common instead of common_check,
	adjust for it returning tree instead of rtx.    Formatting.

From-SVN: r135060
2008-05-08 01:15:50 +02:00
Jakub Jelinek
4218dc2db0 tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT on OMP_RETURN for OMP_FOR.
* tree-parloops.c (create_parallel_loop): Set OMP_RETURN_NOWAIT
	on OMP_RETURN for OMP_FOR.

From-SVN: r135059
2008-05-08 01:14:13 +02:00
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