1. 24 May, 2009 8 commits
    • Makefile.tpl (compare-target): Skip ./ada/*tools directories. · 2e6a3c8d
      	* Makefile.tpl (compare-target): Skip ./ada/*tools directories.
      	* Makefile.in: Regenerate.
      
      From-SVN: r147834
      Nicolas Roche committed
    • erf_2.F90 (dg-options): Add -mieee for alpha*-*-* targets. · 782dc37a
      	* gfortran.dg/erf_2.F90 (dg-options): Add -mieee
      	for alpha*-*-* targets.
      
      From-SVN: r147833
      Uros Bizjak committed
    • vax-protos.h (legitimate_constant_address_p): Change definition to bool (from… · 8db7b33f
      vax-protos.h (legitimate_constant_address_p): Change definition to bool (from int) to un-break build.
      
      2009-05-24  Jan-Benedict Glaw  <jbglaw@lug-owl.de>
      
      	* config/vax/vax-protos.h (legitimate_constant_address_p): Change
      	definition to bool (from int) to un-break build.
      	(legitimate_constant_p, vax_mode_dependent_address_p): Likewise.
      
      From-SVN: r147832
      Jan-Benedict Glaw committed
    • tree-ssa-operands.h (push_stmt_changes, [...]): Delete. · cff4e50d
      2009-05-24  Paolo Bonzini  <bonzini@gnu.org>
      
      	* tree-ssa-operands.h (push_stmt_changes, pop_stmt_changes,
      	discard_stmt_changes): Delete.
      	* tree-ssa-operands.c (scb_stack): Delete.
      	(init_ssa_operands): Do not initialize it.
      	(fini_ssa_operands): Do not free it.
      	(push_stmt_changes, pop_stmt_changes, discard_stmt_changes): Delete.
      
      	* tree-cfg.c (replace_uses_by): Replace pop_stmt_changes with 
      	update_stmt, remove the others.  Fix comments.
      	* tree-dfa.c (optimize_stack_restore): Likewise.
      	* tree-ssa-forwprop.c (forward_propagate_addr_expr): Likewise.
      	* tree-ssa-loop-ivopts.c (rewrite_use): Likewise.
      	* tree-ssa-dce.c (eliminate_unnecessary_stmts): Likewise.
      	* tree-ssa-ccp.c (optimize_stack_restore, execute_fold_all_builtins):
      	Likewise.
      	* tree-ssa-propagate.c (substitute_and_fold): Likewise.
      	* tree-ssa-dom.c (propagate_rhs_into_lhs): Likewise.
      	(dom_opt_finalize_block): Likewise, adjusting access to stmts_to_rescan.
      	(optimize_stmt): Likewise, adjusting access to stmts_to_rescan.
      	(stmts_to_rescan): Change item type to gimple.
      	(tree_ssa_dominator_optimize): Change type of stmts_to_rescan.
      
      From-SVN: r147831
      Paolo Bonzini committed
    • switch.adb (Is_Internal_GCC_Switch, [...]): Bodies of ... · 6e00e546
              * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ...
              * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions.
              Add -auxbase variants to the list of recognized internal switches.
              * back_end.adb (Scan_Back_End_Switches): Use the new functions and
              adjust comments.
              * lib.ads: Make comment on internal GCC switches more general.
              * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants
              as for C.
      
      From-SVN: r147830
      Olivier Hainque committed
    • passes.texi (Tree-SSA passes): Document SLP pass. · a70d6342
      
      	* doc/passes.texi (Tree-SSA passes): Document SLP pass.
      	* tree-pass.h (pass_slp_vectorize): New pass.
      	* params.h (SLP_MAX_INSNS_IN_BB): Define.
      	* timevar.def (TV_TREE_SLP_VECTORIZATION): Define.
      	* tree-vectorizer.c (timevar.h): Include.
      	(user_vect_verbosity_level): Declare.
      	(vect_location): Fix comment.
      	(vect_set_verbosity_level): Update user_vect_verbosity_level
      	instead of vect_verbosity_level.
      	(vect_set_dump_settings): Add an argument. Ignore user defined
      	verbosity if dump flags require higher level of verbosity. Print to
      	stderr only for loop vectorization.
      	(vectorize_loops): Update call to vect_set_dump_settings.
      	(execute_vect_slp): New function.
      	(gate_vect_slp): Likewise.
      	(struct gimple_opt_pass pass_slp_vectorize): New.
      	* tree-vectorizer.h (struct _bb_vec_info): Define along macros to
      	access its members.
      	(vec_info_for_bb): New function.
      	(struct _stmt_vec_info): Add bb_vinfo and a macro for its access.
      	(VECTORIZATION_ENABLED): New macro.
      	(SLP_ENABLED, SLP_DISABLED): Likewise.
      	(vect_is_simple_use): Add bb_vec_info argument.
      	(new_stmt_vec_info, vect_analyze_data_ref_dependences,
      	vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
      	vect_analyze_data_ref_accesses, vect_analyze_data_refs,
      	vect_schedule_slp, vect_analyze_slp): Likewise.
      	(vect_analyze_stmt): Add slp_tree argument.
      	(find_bb_location): Declare.
      	(vect_slp_analyze_bb, vect_slp_transform_bb): Likewise.
      	* tree-vect-loop.c (new_loop_vec_info): Adjust function calls.
      	(vect_analyze_loop_operations, vect_analyze_loop,
      	get_initial_def_for_induction, vect_create_epilog_for_reduction,
      	vect_finalize_reduction, vectorizable_reduction,
      	vectorizable_live_operation, vect_transform_loop): Likewise.
      	* tree-data-ref.c (dr_analyze_innermost): Update comment,
      	skip evolution analysis if analyzing a basic block.
      	(dr_analyze_indices): Likewise.
      	(initialize_data_dependence_relation): Skip the test whether the
      	object is invariant for basic blocks.
      	(compute_all_dependences): Skip dependence analysis for data
      	references in basic blocks.
      	(find_data_references_in_stmt): Don't fail in case of invariant
      	access in basic block.
      	(find_data_references_in_bb): New function.
      	(find_data_references_in_loop): Move code to
      	find_data_references_in_bb    and add a call to it.
      	(compute_data_dependences_for_bb): New function.
      	* tree-data-ref.h (compute_data_dependences_for_bb): Declare.
      	* tree-vect-data-refs.c (vect_check_interleaving): Adjust to the case
      	that STEP is 0.
      	(vect_analyze_data_ref_dependence): Check for interleaving in case of
      	unknown dependence in basic block and fail in case of dependence in
      	basic block.
      	(vect_analyze_data_ref_dependences): Add bb_vinfo argument, get data
      	dependence instances from either loop or basic block vectorization
      	info.
      	(vect_compute_data_ref_alignment): Check if it is loop vectorization
      	before calling nested_in_vect_loop_p.
      	(vect_compute_data_refs_alignment): Add bb_vinfo argument, get data
      	dependence instances from either loop or basic block vectorization
      	info.
      	(vect_verify_datarefs_alignment): Likewise.
      	(vect_enhance_data_refs_alignment): Adjust function calls.
      	(vect_analyze_data_refs_alignment): Likewise.
      	(vect_analyze_group_access): Fix printing. Skip different checks if
      	DR_STEP is 0. Keep strided stores either in loop or basic block
      	vectorization data structure. Fix indentation.
      	(vect_analyze_data_ref_access): Fix comments, allow zero step in
      	basic blocks.
      	(vect_analyze_data_ref_accesses): Add bb_vinfo argument, get data
      	dependence instances from either loop or basic block vectorization
      	info.
      	(vect_analyze_data_refs): Update comment. Call
      	compute_data_dependences_for_bb to analyze basic blocks.
      	(vect_create_addr_base_for_vector_ref): Check for outer loop only in
      	case of loop vectorization. In case of basic block vectorization use
      	data-ref itself   as  a base.
      	(vect_create_data_ref_ptr): In case of basic block vectorization:
      	don't advance the pointer, add new statements before the current
      	statement.  Adjust function calls.
      	(vect_supportable_dr_alignment): Support only aligned accesses in
      	basic block vectorization.
      	* common.opt (ftree-slp-vectorize): New flag.
      	* tree-vect-patterns.c (widened_name_p): Adjust function calls.
      	(vect_pattern_recog_1): Likewise.
      	* tree-vect-stmts.c (process_use): Likewise.
      	(vect_init_vector): Add new statements in the beginning of the basic
      	block in case of basic block SLP.
      	(vect_get_vec_def_for_operand): Adjust function calls.
      	(vect_finish_stmt_generation): Likewise.
      	(vectorizable_call): Add assert that it is loop vectorization, adjust
      	function calls.
      	(vectorizable_conversion, vectorizable_assignment): Likewise.
      	(vectorizable_operation): In case of basic block SLP, take
      	vectorization factor from statement's type and skip the relevance
      	check. Adjust function calls.
      	(vectorizable_type_demotion): Add assert that it is loop
      	vectorization, adjust function calls.
      	(vectorizable_type_promotion): Likewise.
      	(vectorizable_store): Check for outer loop only in case of loop
      	vectorization. Adjust function calls. For basic blocks, skip the
      	relevance check and don't advance pointers.
      	(vectorizable_load): Likewise.
      	(vectorizable_condition): Add assert that it is loop vectorization,
      	adjust function calls.
      	(vect_analyze_stmt): Add argument. In case of basic block SLP, check
      	that it is not reduction, get vector type, call only supported
      	functions, skip loop    specific parts.
      	(vect_transform_stmt): Check for outer loop only in case of loop
      	vectorization.
      	(new_stmt_vec_info): Add new argument and initialize bb_vinfo.
      	(vect_is_simple_use): Fix comment, add new argument, fix conditions
      	for external definition.
      	* passes.c (pass_slp_vectorize): New pass.
      	* tree-vect-slp.c (find_bb_location): New function.
      	(vect_get_and_check_slp_defs): Add argument, adjust function calls,
      	check for patterns only in loops.
      	(vect_build_slp_tree): Add argument, adjust function calls, fail in
      	case of multiple types in basic block SLP.
      	(vect_mark_slp_stmts_relevant): New function.
      	(vect_supported_load_permutation_p): Fix comment.
      	(vect_analyze_slp_instance): Add argument. In case of basic block
      	SLP, take vectorization factor from statement's type, check that
      	unrolling factor is 1. Adjust function call. Save SLP instance in
      	either loop or basic block vectorization structure. Return FALSE,
      	if SLP failed.
      	(vect_analyze_slp): Add argument. Get strided stores groups from
      	either loop or basic block vectorization structure. Return FALSE
      	if basic block SLP failed.
      	(new_bb_vec_info): New function.
      	(destroy_bb_vec_info, vect_slp_analyze_node_operations,
      	vect_slp_analyze_operations, vect_slp_analyze_bb): Likewise.
      	(vect_schedule_slp): Add argument. Get SLP instances from either
      	loop or basic block vectorization structure. Set vectorization factor
      	to be 1 for basic block SLP.
      	(vect_slp_transform_bb): New function.
      	* params.def (PARAM_SLP_MAX_INSNS_IN_BB): Define.
      
      From-SVN: r147829
      Ira Rosen committed
    • initializer_list (initializer_list): Add missing typedefs. · ffa52e11
      2009-05-24  Eelis van der Weegen  <eelis@eelis.net>
      	
      	* libsupc++/initializer_list (initializer_list): Add missing typedefs.
      
      From-SVN: r147828
      Eelis van der Weegen committed
    • Daily bump. · d2993707
      From-SVN: r147827
      GCC Administrator committed
  2. 23 May, 2009 10 commits
    • final.c (shorten_branches): Do not align labels for jump tables. · 0676c393
      	* final.c (shorten_branches): Do not align labels for jump tables.
      	(final_scan_insn): Use JUMP_TABLE_DATA_P.
      
      	* gcc.dg/falign-labels-1.c: New test.
      
      Co-Authored-By: Maxim Kuvyrkov <maxim@codesourcery.com>
      
      From-SVN: r147824
      Mark Mitchell committed
    • passes.texi: Standardize spelling of RTL, Tree and Tree SSA. · 94324dae
      	* doc/passes.texi: Standardize spelling of RTL, Tree and Tree SSA.
      	Remove outdated reference to flow.c and fix nits.
      	* doc/gccint.texi: Tweak RTL description.
      	* doc/rtl.texi: Likewise.
      
      From-SVN: r147821
      Eric Botcazou committed
    • decl.c (set_rm_size): Bypass the check for packed array types. · 03049a4e
      	* gcc-interface/decl.c (set_rm_size): Bypass the check for packed array
      	types.
      
      From-SVN: r147819
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Do not modify the original type because of the alignment when... · aae8570a
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not modify the
      	original type because of the alignment when there is an address clause.
      
      From-SVN: r147818
      Eric Botcazou committed
    • avr.c: Change my email address. · 92bffc14
      	* config/avr/avr.c: Change my email address.
      	* config/avr/avr.h: Likewise.
      	* config/avr/avr.md: Likewise.
      	* config/avr/avr-protos.h: Likewise.
      	* config/avr/libgcc.S: Likewise.
      
      From-SVN: r147817
      Denis Chertykov committed
    • Trevor Smigiel <Trevor_Smigiel@playstation.sony.com> · eec9405e
      	* config/spu/spu-protos.h (aligned_mem_p, spu_valid_mov): Remove.
      	(spu_split_load, spu_split_store): Change return type to int.
      	(spu_split_convert): Declare.
      	* config/spu/predicates.md (spu_mem_operand): Remove.
      	(spu_mov_operand): Update.
      	(spu_dest_operand, shiftrt_operator, extend_operator): Define.
      	* config/spu/spu.c (regno_aligned_for_load): Remove.
      	(reg_aligned_for_addr, spu_expand_load): Define.
      	(spu_expand_extv): Reimplement and handle MEM.
      	(spu_expand_insv): Handle MEM.
      	(spu_sched_reorder): Handle insn's with length 0.
      	(spu_legitimate_address_p): Reimplement.
      	(store_with_one_insn_p): Return TRUE for any mode with size
      	larger than 16 bytes.
      	(address_needs_split): Define.
      	(spu_expand_mov): Call spu_split_load and spu_split_store for MEM
      	operands.
      	(spu_convert_move): Define.
      	(spu_split_load): Use spu_expand_load and change all MEM's to
      	TImode.
      	(spu_split_store): Change all MEM's to TImode.
      	(spu_init_expanders): Preallocate registers that correspond to
      	LAST_VIRTUAL_REG+1 and LAST_VIRTUAL_REG+2 and set them with
      	mark_reg_pointer.
      	(spu_split_convert): Define.
      	* config/spu/spu.md (QHSI, QHSDI): New mode iterators.
      	(_move<mode>, _movdi, _movti): Update predicate and condition.
      	(load, store): Change to define_split.
      	(extendqiti2, extendhiti2, extendsiti2, extendditi2): Simplify to
      	extend<mode>ti2.
      	(zero_extendqiti2, zero_extendhiti2, <v>lshr<mode>3_imm): Define.
      	(lshr<mode>3, lshr<mode>3_imm, lshr<mode>3_re): Simplify to one
      	define_insn_and_split of lshr<mode>3.
      	(shrqbybi_<mode>, shrqby_<mode>): Simplify to define_expand.
      	(<v>ashr<mode>3_imm): Define.
      	(extv, extzv, insv): Allow MEM operands.
      	(trunc_shr_ti<mode>, trunc_shr_tidi, shl_ext_<mode>ti,
      	shl_ext_diti, sext_trunc_lshr_tiqisi, zext_trunc_lshr_tiqisi,
      	sext_trunc_lshr_tihisi, zext_trunc_lshr_tihisi): Define for combine.
      	(_spu_convert2): Change to define_insn_and_split and remove the
      	corresponding define_peephole2.
      	(stack_protect_set, stack_protect_test, stack_protect_test_si):
      	Change predicates to memory_operand.
      
      From-SVN: r147814
      Trevor Smigiel committed
    • Fix typo in ChangeLog · 6cfd7dcf
      From-SVN: r147813
      Mark Mitchell committed
    • thumb2.md: Add 16-bit multiply instructions. · 7d31a807
      	* config/arm/thumb2.md: Add 16-bit multiply instructions.
      	gcc/testsuite/
      
      	* lib/target-supports.exp (check_effective_target_arm_thumb2_ok):
      	New function.
      	* gcc.target/arm/thumb2-mul-space.c: New file.
      	* gcc.target/arm/thumb2-mul-space-2.c: New file.
      	* gcc.target/arm/thumb2-mul-space-3.c: New file.
      	* gcc.target/arm/thumb2-mul-speed.c: New file.
      
      From-SVN: r147812
      Mark Mitchell committed
    • Daily bump. · 67f43f51
      From-SVN: r147811
      GCC Administrator committed
  3. 22 May, 2009 13 commits
    • Fix PR tree-optimization/40219 · d021d274
      From-SVN: r147807
      Michael Meissner committed
    • re PR tree-optimization/38964 (TBAA side-effects of C++ new still missing) · 4d7a65ea
      2009-05-22  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/38964
      	* alias.c (write_dependence_p): Do not use TBAA for answering
      	anti-dependence or output-dependence.
      	* tree-ssa-structalias.c (set_uids_in_ptset): Remove TBAA pruning
      	code.
      	(emit_pointer_definition): Remove.
      	(emit_alias_warning): Likewise.
      	(find_what_var_points_to): Remove TBAA pruning code.
      	(find_what_p_points_to): Likewise.  Do not warn about strict-aliasing
      	violations.
      	(compute_points_to_sets): Remove code computing the set of
      	dereferenced pointers.
      	* tree-data-ref.c (dr_may_alias_p): Properly use the split
      	oracle for querying anti and output dependencies.
      	* tree-ssa-alias.c (refs_may_alias_p_1): Add argument specifying
      	if TBAA may be applied.
      	(refs_anti_dependent_p): New function.
      	(refs_output_dependent_p): Likewise.
      	* tree-ssa-alias.h (refs_anti_dependent_p): Declare.
      	(refs_output_dependent_p): Likewise.
      
      	* doc/tree-ssa.texi (Memory model): New section.
      
      	testsuite/
      	* g++.dg/warn/Wstrict-aliasing-float-ref-int-obj.C: XFAIL.
      	* gcc.dg/Wstrict-aliasing-converted-assigned.c: Likewise.
      	* gcc.dg/Wstrict-aliasing-float-ptr-int-obj.c: Likewise.
      
      	* doc/c-tree.texi (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
      	* doc/gimple.texi (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.
      
      	* cfgexpand.c (expand_gimple_basic_block): Do not handle
      	GIMPLE_CHANGE_DYNAMIC_TYPE or CHANGE_DYNAMIC_TYPE_EXPR.
      	* expr.c (expand_expr_real_1): Likewise.
      	* gimple-low.c (lower_stmt): Likewise.
      	* gimple-pretty-print.c (dump_gimple_stmt): Likewise.
      	(dump_gimple_cdt): Remove.
      	* gimple.c (gss_for_code): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
      	(gimple_size): Likewise.
      	(walk_gimple_op): Likewise.
      	(is_gimple_stmt): Likewise.
      	(walk_stmt_load_store_addr_ops): Likewise.
      	(gimple_build_cdt): Remove.
      	* gimple.def (GIMPLE_CHANGE_DYNAMIC_TYPE): Remove.
      	* gimple.h (gimple_cdt_new_type): Remove.
      	(gimple_cdt_new_type_ptr): Likewise.
      	(gimple_cdt_set_new_type): Likewise.
      	(gimple_cdt_location): Likewise.
      	(gimple_cdt_location_ptr): Likewise.
      	(gimple_cdt_set_location): Likewise.
      	* gimplify.c (gimplify_expr): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
      	* tree-cfg.c (remove_useless_stmts_1): Do not handle
      	GIMPLE_CHANGE_DYNAMIC_TYPE.
      	(verify_types_in_gimple_stmt): Likewise.
      	* tree-inline.c (estimate_num_insns): Likewise.
      	(expand_call_inline): Do not copy DECL_NO_TBAA_P.
      	(copy_decl_to_var): Likewise.
      	(copy_result_decl_to_var): Likewise.
      	* tree-pretty-print.c (dump_generic_node): Do not handle
      	CHANGE_DYNAMIC_TYPE_EXPR.
      	* tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise.
      	* tree-ssa-operands.c (get_expr_operands): Likewise.
      	* tree-ssa-structalias.c (struct variable_info): Remove
      	no_tbaa_pruning member.
      	(new_var_info): Do not set it based on DECL_NO_TBAA_P.
      	(unify_nodes): Do not copy it.
      	(find_func_aliases): Do not handle GIMPLE_CHANGE_DYNAMIC_TYPE.
      	(dump_solution_for_var): Do not dump no_tbaa_pruning state.
      	(set_uids_in_ptset): Do not check it.
      	(find_what_var_points_to): Likewise.
      	(compute_tbaa_pruning): Remove.
      	(compute_points_to_sets): Do not call it.
      	* tree.c (walk_tree_1): Do not handle CHANGE_DYNAMIC_TYPE_EXPR.
      	* tree.def (CHANGE_DYNAMIC_TYPE_EXPR): Remove.
      	* tree.h (CHANGE_DYNAMIC_TYPE_NEW_TYPE): Remove.
      	(CHANGE_DYNAMIC_TYPE_LOCATION): Likewise.
      	(DECL_NO_TBAA_P): Likewise.
      	(struct tree_decl_common): Move no_tbaa_flag to unused flags section.
      	* omp-low.c (copy_var_decl): Do not copy DECL_NO_TBAA_P.
      	(expand_omp_atomic_pipeline): Do not set it.
      	* print-tree.c (print_node): Do not dump it.
      	* tree-ssa-copyrename.c (copy_rename_partition_coalesce): Remove
      	redundant check.
      
      	cp/
      	* init.c (avoid_placement_new_aliasing): Remove.
      	(build_new_1): Do not call it.
      
      From-SVN: r147805
      Richard Guenther committed
    • re PR target/39856 (ICE in subst_stack_regs_pat, at reg-stack.c:1386) · 83a6ac60
      2009-05-22 Vladimir Makarov <vmakarov@redhat.com>
      
      	PR target/39856
      	* reg-stack.c (subst_stack_regs_pat): Remove gcc_assert for note
      	for clobber.
      
      From-SVN: r147804
      Vladimir Makarov committed
    • win32.S (_ffi_closure_STDCALL): New function. · 84c40c4a
      	* src/x86/win32.S (_ffi_closure_STDCALL):  New function.
      	(.eh_frame):  Add FDE for it.
      
      From-SVN: r147802
      Dave Korn committed
    • configure.ac: Also check if assembler supports pc-relative relocs on X86_WIN32 targets. · 8353cd27
      	* configure.ac:  Also check if assembler supports pc-relative
      	relocs on X86_WIN32 targets.
      	* configure:  Regenerate.
      	* src/x86/win32.S (ffi_prep_args):  Declare extern, not global.
      	(_ffi_call_SYSV):  Add missing function type symbol .def and
      	add EH markup labels.
      	(_ffi_call_STDCALL):  Likewise.
      	(_ffi_closure_SYSV):  Likewise.
      	(_ffi_closure_raw_SYSV):  Likewise.
      	(.eh_frame):  Add hand-crafted EH data.
      
      From-SVN: r147800
      Dave Korn committed
    • tree.c (handle_dll_attribute): Mark dllexport'd inlines as non-external. · fe2978fb
      	gcc/
      	* tree.c (handle_dll_attribute): Mark dllexport'd inlines as
      	non-external.
      
      	gcc/cp
      	* decl2.c (decl_needed_p): Consider dllexport'd functions needed.
      	* semantics.c (expand_or_defer_fn): Similarly.
      
      	gcc/testsuite/
      	* gcc.dg/dll-6.c: New test.
      	* gcc.dg/dll-6a.c: Likewise.
      	* gcc.dg/dll-7.c: Likewise.
      	* gcc.dg/dll-7a.c: Likewise.
      	* g++.dg/ext/dllexport2.C: Likewise.
      	* g++.dg/ext/dllexport2a.cc: Likewise.
      
      From-SVN: r147799
      Mark Mitchell committed
    • re PR bootstrap/40221 (Powerpc bootstrap is broken in building libstdc++) · e4c29fbc
      2009-05-21  Benjamin Kosnik  <bkoz@redhat.com>
      
      	PR libstdc++/40221
      	* include/tr1_impl/functional: Add explicit cast.
      
      From-SVN: r147794
      Benjamin Kosnik committed
    • re PR fortran/40195 (Cannot unlink existing module file) · eebc710d
      	PR fortran/40195
      	* module.c (read_md5_from_module_file): Close file before returning.
      
      From-SVN: r147793
      François-Xavier Coudert committed
    • Makefile.in (bversion.h, s-bversion): New targets. · 134ef638
      	* Makefile.in (bversion.h, s-bversion): New targets.
      	(TOPLEV_H): Add bversion.h.
      	* toplev.h: Include "bversion.h".
      	(ATTRIBUTE_GCC_DIAG): When building with checking disabled, use
      	the __format__ attribute only if compiling with the same version
      	of GCC as the sources (the "build version").
      
      From-SVN: r147792
      Ben Elliston committed
    • * c-format.c (handle_format_attribute): Fix comment typo. · 52fc669d
      From-SVN: r147790
      Ben Elliston committed
    • re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test) · aaf19a50
      2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      	
      	PR libstdc++/40094
      	Revert:
      	2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
      	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
      	out of line member functions definitions.
      	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
      	Remove, use static locals instead.
      	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
      	* src/throw_allocator.cc: New.
      	* src/Makefile.am: Add.
      	* config/abi/pre/gnu.ver: Add exports.
      	* src/Makefile.in: Regenerate.
      
      From-SVN: r147789
      Paolo Carlini committed
    • re PR libstdc++/40094 (FAIL: ext/throw_allocator/deallocate_global.cc execution test) · e2792913
      2009-05-21  Paolo Carlini  <paolo.carlini@oracle.com>
      	
      	PR libstdc++/40094
      	Revert:
      	2009-05-07  Paolo Carlini  <paolo.carlini@oracle.com>
      	* include/ext/throw_allocator.h (throw_allocator_base): Avoid
      	out of line member functions definitions.
      	(throw_allocator_base::_S_g, _S_map, _S_throw_prob, _S_label):
      	Remove, use static locals instead.
      	(throw_allocator_base::do_check_allocated, print_to_string): Declare.
      	* src/throw_allocator.cc: New.
      	* src/Makefile.am: Add.
      	* config/abi/pre/gnu.ver: Add exports.
      	* src/Makefile.in: Regenerate.
      
      From-SVN: r147788
      Paolo Carlini committed
    • Daily bump. · e0d0bf47
      From-SVN: r147786
      GCC Administrator committed
  4. 21 May, 2009 9 commits
    • re PR target/37846 (Option -mno-fused-madd should be supported on IA-64) · 265b3b8d
      	PR target/37846
      	* gcc.target/ia64/mfused-madd-vect.c: New test.
      	* gcc.target/ia64/mfused-madd.c: New test.
      	* gcc.target/ia64/mno-fused-madd-vect.c: New test.
      	* gcc.target/ia64/mno-fused-madd.c: New test.
      
      From-SVN: r147783
      Steve Ellcey committed
    • re PR target/37846 (Option -mno-fused-madd should be supported on IA-64) · 583ca921
      	PR target/37846
      	* config/ia64/ia64.opt (mfused-madd): New.
      	* config/ia64/ia64.h (TARGET_DEFAULT): Set MASK_FUSED_MADD.
      	* config/ia64/hpux.h (TARGET_DEFAULT): Ditto.
      	* config/ia64/ia64.md (maddsf4, msubsf4, nmaddsf4,
      	madddf4, madddf4_trunc, msubdf4, msubdf4_trunc, nmadddf4,
      	nmadddf4_truncsf, maddxf4, maddxf4_truncsf, maddxf4_truncdf,
      	msubxf4, msubxf4_truncsf msubxf4_truncdf, nmaddxf4,
      	nmaddxf4_truncsf, nmaddxf4_truncdf): Check TARGET_FUSED_MADD.
      	* config/ia64/vect.md (addv2sf3, subv2sf3): Force fpma/fpms 
      	instruction if !TARGET_FUSED_MADD.
      	(fpma, fpms): Remove colon from name.
      
      From-SVN: r147782
      Steve Ellcey committed
    • tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record TMR_ORIGINAL. · 150e3929
      2009-05-22  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record
      	TMR_ORIGINAL.  Always either record TMR_SYMBOL or TMR_BASE.
      	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Handle
      	TARGET_MEM_REF.
      	(create_expression_by_pieces): Only convert if necessary.
      	* gimplify.c (gimplify_expr): Handle TARGET_MEM_REF.
      	* tree-ssa-loop-im.c (gen_lsm_tmp_name): Handle INTEGER_CST.
      
      From-SVN: r147779
      Richard Guenther committed
    • mips.md (*extzv_trunc<mode>_exts): Turn into a regular pattern from a template and rename it ... · 9a2b090c
      	* config/mips/mips.md (*extzv_trunc<mode>_exts): Turn into a
      	regular pattern from a template and rename it ...
      	(*extzv_truncsi_exts): ... to this.
      
      From-SVN: r147778
      Adam Nemet committed
    • cgraph.h (struct cgraph_node): Remove inline_decl member. · 33b92c9d
      2009-05-21  Richard Guenther  <rguenther@suse.de>
      
      	* cgraph.h (struct cgraph_node): Remove inline_decl member.
      	* ipa-inline.c (cgraph_mark_inline_edge): Do not check it.
      	(cgraph_default_inline_p): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise.
      
      From-SVN: r147776
      Richard Guenther committed
    • * MAINTAINERS: Update my e-mail address. · 63487d11
      From-SVN: r147775
      Denis Chertykov committed
    • cpuid.h (bit_MOVBE): New. · cabf85c3
      gcc/
      
      2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>
      	    Uros Bizjak  <ubizjak@gmail.com>
      
      	* config/i386/cpuid.h (bit_MOVBE): New.
      
      	* config/i386/driver-i386.c (host_detect_local_cpu): Check movbe.
      
      	* config/i386/i386.c (OPTION_MASK_ISA_MOVBE_SET): New.
      	(OPTION_MASK_ISA_MOVBE_UNSET): Likewise.
      	(ix86_handle_option): Handle OPT_mmovbe.
      	(ix86_target_string): Add -mmovbe.
      	(pta_flags): Add PTA_MOVBE.
      	(processor_alias_table): Add PTA_MOVBE to "atom".
      	(override_options): Handle PTA_MOVBE.
      
      	* config/i386/i386.h (TARGET_MOVBE): New.
      
      	* config/i386/i386.md (bswapsi2): Check TARGET_MOVBE.
      	(*bswapsi_movbe): New.
      	(*bswapdi_movbe): Likewise.
      	(bswapdi2): Renamed to ...
      	(*bswapdi_1): This.
      	(bswapdi2): New expander.
      
      	* config/i386/i386.opt (mmovbe): New.
      
      	* doc/invoke.texi: Document -mmovbe.
      
      gcc/testsuite/
      
      2009-05-21  H.J. Lu  <hongjiu.lu@intel.com>
      
      	* gcc.target/i386/movbe-1.c: New.
      	* gcc.target/i386/movbe-2.c: Likewise.
      
      From-SVN: r147773
      H.J. Lu committed
    • plugin.c (try_init_one_plugin): Updated to new plugin_init API. · 9fefa0aa
      gcc/ChangeLog
      	* plugin.c (try_init_one_plugin): Updated to new plugin_init API.
      	* gcc-plugin.h (plugin_init): Updated signature.
      	* gcc-plugin.h (plugin_name_args): Moved to this header.
      	* doc/plugins.texi (plugin_init): Updated documention to reflect API change.
      	* doc/plugins.texi (plugin_name_args): Added to documention.
      gcc/testsuite/ChangeLog
      	* gcc.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
      	* g++.dg/plugin/selfassign.c (plugin_init): Updated to new plugin_init signature.
      	* g++.dg/plugin/dumb_plugin.c (plugin_init): Updated to new plugin_init signature.
      	* g++.dg/plugin/attribute_plugin.c (plugin_init): Updated to new plugin_init signature.
      
      From-SVN: r147772
      Taras Glek committed
    • neon.md (*mul<mode>3add<mode>_neon): New pattern. · 1ea9fe56
      	* config/arm/neon.md (*mul<mode>3add<mode>_neon): New pattern.
      	(*mul<mode>3neg<mode>add<mode>_neon): Likewise.
      
      	* gcc.dg/target/arm/neon-vmla-1.c: New.
      	* gcc.dg/target/arm/neon-vmls-1.c: Likewise.
      
      From-SVN: r147771
      Mark Mitchell committed