1. 05 Jul, 2010 3 commits
  2. 04 Jul, 2010 18 commits
    • Change 8bit divmod to HImode. · c2a78352
      gcc/
      
      2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/44695
      	* config/i386/i386.md (extract_code): Removed.
      	(<u>divmodqi4): Likewise.
      	(divmodqi4): New.
      	(udivmodqi4): Likewise.
      	(divmodhiqi3): Change div/mod to HImode and extend operand 2 to
      	HImode.
      	(udivmodhiqi3): Likewise.
      
      gcc/testsuite/
      
      2010-07-04  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR rtl-optimization/44695
      	* gcc.dg/torture/pr44695.c: New.
      
      From-SVN: r161813
      H.J. Lu committed
    • cgraphunit.c (init_cgraph): Only initialize dump file if it is not already initialized. · a05541a9
      
              * cgraphunit.c (init_cgraph): Only initialize dump file if it is not already
              initialized.
              * lto.c (read_cgraph_and_symbols): Dump cgraph before merging.
      
      From-SVN: r161811
      Jan Hubicka committed
    • gcc/ · f9621cc4
      	* optabs.h (reload_in_optab, reload_out_optab, code_to_optab)
      	(vcond_gen_code, vcondu_gen_code, movmem_optab, setmem_optab)
      	(cmpstr_optab, cmpstrn_optab, cmpmem_optab, sync_add_optab)
      	(sync_sub_optab, sync_ior_optab, sync_and_optab, sync_xor_optab)
      	(sync_nand_optab, sync_old_add_optab, sync_old_sub_optab)
      	(sync_old_ior_optab, sync_old_and_optab, sync_old_xor_optab)
      	(sync_old_nand_optab, sync_new_add_optab, sync_new_sub_optab)
      	(sync_new_ior_optab, sync_new_and_optab, sync_new_xor_optab)
      	(sync_new_nand_optab): Redefine as macros.
      	(sync_compare_and_swap, sync_lock_test_and_set, sync_lock_release):
      	Delete.
      	(direct_optab_index): New enum.
      	(direct_optab_d): New structure.
      	(direct_optab): New typedef.
      	(direct_optab_table): Declare.
      	(direct_optab_handler, set_direct_optab_handler): New functions.
      	(sync_compare_and_swap_optab, sync_lock_test_and_set_optab)
      	(sync_lock_release_optab): New macros.
      	* optabs.c (direct_optab_table): New variable.
      	(movcc_gen_code, vcond_gen_code, vcondu_gen_code): Delete.
      	(prepare_cmp_insn): Use direct_optab_handler for cmpmem_optab,
      	cmpstr_optab and cmpstrn_optab.
      	(emit_conditional_move): Likewise for movcc_optab.
      	(can_conditionally_move_p): Likewise for movcc_gen_code.
      	(init_insn_codes): Clear direct_optab_table.
      	(init_optabs): Don't initialize the new "direct optabs" here.
      	(get_vcond_icode): Use direct_optab_handler for vcondu_gen_code and
      	vcond_gen_code.
      	(expand_val_compare_and_swap): Likewise sync_compare_and_swap_optab.
      	(expand_bool_compare_and_swap): Likewise sync_compare_and_swap_optab.
      	(expand_compare_and_swap_loop): Likewise sync_compare_and_swap_optab.
      	(expand_sync_operation): Likewise other sync_*_optabs.
      	(expand_sync_fetch_operation): Likewise.  Rename sync_compare_and_swap
      	to sync_compare_and_swap_optab.
      	(expand_sync_lock_test_and_set): Use direct_optab_handler for
      	sync_lock_test_and_set and sync_compare_and_swap, adding "_optab"
      	to the names of both.
      	* builtins.c (expand_builtin_strcmp): Use direct_optab_handler for
      	cmpstr_optab and cmpstrn_optab.
      	(expand_builtin_lock_release): Likewise sync_lock_release.
      	* expr.c (movmem_optab, setmem_optab, cmpstr_optab, cmpstrn_optab)
      	(cmpmem_optab, sync_add_optab, sync_sub_optab, sync_ior_optab)
      	(sync_and_optab, sync_xor_optab, sync_nand_optab, sync_old_add_optab)
      	(sync_old_sub_optab, sync_old_ior_optab, sync_old_and_optab)
      	(sync_old_xor_optab, sync_old_nand_optab, sync_new_add_optab)
      	(sync_new_sub_optab, sync_new_ior_optab, sync_new_and_optab)
      	(sync_new_xor_optab, sync_new_nand_optab, sync_compare_and_swap)
      	(sync_lock_test_and_set, sync_lock_release): Delete.
      	(emit_block_move_via_movmem): Use direct_optab_handler for movmem_optab.
      	(emit_block_move_via_setmem): Use direct_optab_handler for setmem_optab.
      	* genopinit.c (optabs): Use set_direct_optab_handler for the new
      	macro optabs.
      	* omp-low.c (expand_omp_atomic_fetch_op): Update the type of
      	the "optab" local variable.  Use direct_optab_handler for optab and
      	sync_compare_and_swap_optab.
      	* reload1.c (reload_in_optab, reload_out_optab): Delete.
      	* targhooks.c (default_secondary_reload): Use direct_optab_handler for
      	reload_in_optab and reload_out_optab.
      	* config/alpha/alpha.c (alpha_secondary_reload): Likewise.
      	* config/frv/frv.c (frv_alloc_temp_reg): Likewise.
      	* config/pa/pa.c (pa_secondary_reload): Likewise.
      	* java/builtins.c (compareAndSwapInt_builtin): Use direct_optab_handler
      	for sync_compare_and_swap, renaming it to sync_compare_and_swap_optab.
      	(compareAndSwapLong_builtin, compareAndSwapObject_builtin): Likewise.
      	(VMSupportsCS8_builtin): Likewise.
      
      From-SVN: r161810
      Richard Sandiford committed
    • optabs.h (optab_handlers): Change type of insn_code to int. · 596455ce
      gcc/
      	* optabs.h (optab_handlers): Change type of insn_code to int.
      	(optab_handler, set_optab_handler, convert_optab_handler)
      	(set_convert_optab_handler): Treat the insn_code field as "insn_code -
      	CODE_FOR_nothing".
      	* optabs.c (optab_table, convert_optab_table): Always zero-initialize.
      	(init_insn_codes): Zero both the above arrays.
      	(init_optabs): Never call init_insn_codes first time around.
      
      From-SVN: r161809
      Richard Sandiford committed
    • optabs.h (optab_handler, [...]): Turn into inline functions that return an insn code. · 947131ba
      gcc/
      	* optabs.h (optab_handler, convert_optab_handler): Turn into
      	inline functions that return an insn code.
      	(set_optab_handler, set_convert_optab_handler): New functions.
      	* builtins.c: Replace optab_handler(X)->insn_code with
      	optab_handler or set_optab_handler thoughout.  Likewise
      	convert_optab_handler(X)->insn_code with convert_optab_handler
      	and set_convert_optab_handler.
      	* expmed.c, expr.c, genopinit.c, ifcvt.c, optabs.c, reload.c,
      	reload1.c, stmt.c, targhooks.c, tree-ssa-loop-prefetch.c,
      	tree-ssa-math-opts.c, tree-vect-data-refs.c, tree-vect-generic.c,
      	tree-vect-loop.c, tree-vect-patterns.c, tree-vect-slp.c,
      	tree-vect-stmts.c, config/m32c/m32c.c, config/rs6000/rs6000.c,
      	config/spu/spu.c: Likewise.
      
      From-SVN: r161808
      Richard Sandiford committed
    • re PR target/44531 ([SH] Multilib configuration does not work as expected on darwin) · 47e5ff44
      	PR target/44531
      	* config.gcc (sh*-*-*): Use regular expressions instead of
      	the 'i' modifier for sed substitutions.
      
      From-SVN: r161807
      Kaz Kojima committed
    • gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE. · b8e0aa85
      2010-07-04  Daniel Kraft  <d@domob.eu>
      
      	* gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.
      
      From-SVN: r161806
      Daniel Kraft committed
    • re PR c++/16630 (missing type name in __PRETTY_FUNCTION__) · de8e41bc
      2010-07-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>
      
      	PR c++/16630
      	* g++.dg/ext/pretty3.C: New.
      
      From-SVN: r161805
      Manuel López-Ibáñez committed
    • gimple.c (gimple_body): Comments added. · abbd64b9
      2010-07-04  Jeremie Salvucci  <jeremie.salvucci@free.fr>
      
      	* gimple.c (gimple_body): Comments added.
      
      From-SVN: r161804
      Jeremie Salvucci committed
    • re PR middle-end/44809 (Mozilla build fails in gimplification.) · 7f5ad6d7
      2010-07-04  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/44809
      	* gimplify.c (gimplify_expr): Properly build a MEM_REF instead
      	of an INDIRECT_REF.
      
      	* g++.dg/torture/pr44809.C: New testcase.
      
      From-SVN: r161803
      Richard Guenther committed
    • re PR rtl-optimization/44479 (false dependencies are computed after vectorization) · 17fc049f
      2010-07-04  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44479
      	* tree-ssa-loop-ivopts.c (rewrite_use_nonlinear_expr): Avoid
      	extra SSA name copy statements which preserves points-to
      	information.
      	* tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
      	Copy points-to information for all pointers.  Properly handle
      	MEM_REFs.
      	(vect_create_data_ref_ptr): Likewise.  Avoid extra SSA name
      	copy statements.
      	* Makefile.in (tree-ssa-loop-ivopts.o): Add tree-ssa-propagate.h
      	dependency.
      
      From-SVN: r161802
      Richard Guenther committed
    • re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types) · c9dfc414
      2010-07-04  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/44596
      	PR fortran/44745
      	* trans-types.c (gfc_get_derived_type): Derived type fields
      	with the vtype attribute must have TYPE_REF_CAN_ALIAS_ALL set.
      
      From-SVN: r161801
      Paul Thomas committed
    • re PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03) · 72aa3dca
      2010-07-04  Richard Guenther  <rguenther@suse.de>
      
      	PR middle-end/44785
      	* tree-inline.c (initialize_inlined_parameters): Do not
      	re-use pointer-map slot over remap_type call.
      
      From-SVN: r161800
      Richard Guenther committed
    • 2010-07-4 Richard Guenther <rguenther@suse.de> · ef2a9157
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit.
      
      From-SVN: r161799
      Richard Guenther committed
    • re PR tree-optimization/44656 (VN should value-replace operands during alias-oracle walk) · 4fa4929e
      2010-07-04  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/44656
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Try disambiguation
      	again after value-replacing in the defintions lhs.
      
      	* gcc.dg/tree-ssa/loadpre6.c: Remove XFAIL.
      
      From-SVN: r161798
      Richard Guenther committed
    • tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document new arguments. · 720f5239
      
      	* doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST):
      	Document new arguments.
      	* doc/tm.texi: Regenerate.
      	* targhooks.c (default_builtin_vectorization_cost): Add new arguments.
      	Handle unaligned store.
      	* targhooks.h (default_builtin_vectorization_cost): Add new arguments.
      	* target.def (builtin_vectorization_cost): Add new arguments.
      	* target.h (enum vect_cost_for_stmt): Add unaligned_store.
      	* tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop): Take number
      	of iterations of prolog loop directly from LOOP_PEELING_FOR_ALIGNMENT.
      	(vect_vfa_segment_size): Fix indentation.
      	* tree-vectorizer.h (struct _vect_peel_info): New.
      	(struct _vect_peel_extended_info): New.
      	(struct _loop_vec_info): Add new field for peeling hash table and a
      	macro for its access.
      	(VECT_MAX_COST): Define.
      	(vect_get_load_cost): Declare.
      	(vect_get_store_cost, vect_get_known_peeling_cost, 
      	vect_get_single_scalar_iteraion_cost): Likewise.
      	(vect_supportable_dr_alignment): Add new argument.
      	* tree-vect-loop.c (new_loop_vec_info): Initialize peeling hash table
      	field.
      	(destroy_loop_vec_info): Free peeling hash table.
      	(vect_analyze_loop_form): Update call to builtin_vectorization_cost.
      	(vect_analyze_loop): Move vect_enhance_data_refs_alignment before
      	vect_analyze_slp. Fix indentation.
      	(vect_get_single_scalar_iteraion_cost): New function.
      	(vect_get_known_peeling_cost): Likewise.
      	(vect_estimate_min_profitable_iters): Rename byte_misalign to npeel. 
      	Call vect_get_single_scalar_iteraion_cost instead of cost_for_stmt per 
      	statement. Move outside cost calculation inside unknown peeling case.
      	Call vect_get_known_peeling_cost for known amount of peeling.
      	* tree-vect-data-refs.c (vect_compute_data_ref_alignment): Add data
      	reference to the print message of forced alignment.
      	(vect_verify_datarefs_alignment): Update call to 
      	vect_supportable_dr_alignment.
      	(vect_get_data_access_cost): New function.
      	(vect_peeling_hash, vect_peeling_hash_eq, vect_peeling_hash_insert,
      	vect_peeling_hash_get_most_frequent, vect_peeling_hash_get_lowest_cost,
      	vect_peeling_hash_choose_best_peeling): Likewise.
      	(vect_enhance_data_refs_alignment): Fix documentation. Use hash table
      	to store all the accesses in the loop and find best possible access to
      	align using peeling for known alignment case. For unknown alignment
      	check if stores are preferred or if peeling is worthy.
      	(vect_find_same_alignment_drs): Analyze pairs of loads too.
      	(vect_supportable_dr_alignment): Add new argument and check aligned
      	accesses according to it. 
      	* tree-vect-stmts.c (vect_get_stmt_cost): New function.
      	(cost_for_stmt): Call vect_get_stmt_cost. 
      	(vect_model_simple_cost): Likewise.
      	(vect_model_store_cost): Call vect_get_stmt_cost. Call 
      	vect_get_store_cost to calculate the cost of the statement.
      	(vect_get_store_cost): New function.
      	(vect_model_load_cost): Call vect_get_stmt_cost. Call 
      	vect_get_load_cost to calculate the cost of the statement.
      	(vect_get_load_cost): New function.
      	(vectorizable_store): Update call to vect_supportable_dr_alignment.
      	(vectorizable_load): Likewise.
      	* config/spu/spu.c (spu_builtin_vectorization_cost): Add new
      	arguments. 
      	* config/i386/i386.c (ix86_builtin_vectorization_cost): Add new
      	arguments. Handle unaligned store.
      	* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): New.
      	(rs6000_builtin_support_vector_misalignment): Return true for word and
      	double word alignments for VSX.
      	* tree-vect-slp.c (vect_build_slp_tree): Update calls to 
      	vect_supportable_dr_alignment and builtin_vectorization_cost.
      
      
      Co-Authored-By: Revital Eres <eres@il.ibm.com>
      
      From-SVN: r161797
      Ira Rosen committed
    • Daily bump. · addced2e
      From-SVN: r161795
      GCC Administrator committed
  3. 03 Jul, 2010 19 commits