- 05 Jul, 2010 18 commits
-
-
2010-07-05 Richard Guenther <rguenther@suse.de> * tree.c (reference_alias_ptr_type): New function. * tree.h (reference_alias_ptr_type): Declare. * tree-ssa-loop-ivopts.c (copy_ref_info): Restructure to allow non-TARGET_MEM_REF new refs. (rewrite_use_address): Pass old alias pointer type to create_mem_ref. * tree-ssa-address.c (create_mem_ref_raw): Get alias pointer type. Build a MEM_REF instead of a TARGET_MEM_REF if possible. (create_mem_ref): Get alias pointer type. Adjust calls to create_mem_ref_raw. (maybe_fold_tmr): Likewise. * tree-flow.h (create_mem_ref): Adjust prototype. From-SVN: r161840
Richard Guenther committed -
constants.c (build_constants_constructor): Use build_constructor instead of build_constructor_from_list. * constants.c (build_constants_constructor): Use build_constructor instead of build_constructor_from_list. * class.c (make_method_value): Likewise. (get_dispatch_table): Likewise. (make_class_data): Likewise. (emit_indirect_register_classes): Likewise. (emit_symbol_table): Likewise. (add_assertion_table_entry): Likewise. (emit_assertion_table): Likewise. (make_field_value): Use build_constructor_single instead of build_constructor_from_list. From-SVN: r161839
Nathan Froyd committed -
PR c++/44808 * gimplify.c (gimplify_modify_expr): Only SET_DECL_DEBUG_EXPR if *from_p is VAR_DECL. * g++.dg/opt/nrv16.C: New test. From-SVN: r161838
Jakub Jelinek committed -
* tree.h (build_call_list): Remove. * tree.c (build_call_list): Remove. From-SVN: r161837
Nathan Froyd committed -
2010-07-05 Richard Guenther <rguenther@suse.de> * double-int.h (double_int_sub): Declare. * double-int.c (double_int_sub): New function. * dwarf2out.c (field_byte_offset): Use it. * fixed-value.c (do_fixed_add): Likewise. (do_fixed_multiply): Likewise. (do_fixed_divide): Likewise. * tree-predcom.c (add_ref_to_chain): Likewise. (determine_roots_comp): Likewise. * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise. From-SVN: r161836
Richard Biener committed -
2010-07-05 Richard Guenther <rguenther@suse.de> * double-int.h (double_int_sub): Declare. * double-int.c (double_int_sub): New function. * dwarf2out.c (field_byte_offset): Use it. * fixed-value.c (do_fixed_add): Likewise. (do_fixed_multiply): Likewise. (do_fixed_divide): Likewise. * tree-predcom.c (add_ref_to_chain): Likewise. (determine_roots_comp): Likewise. * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise. From-SVN: r161835
Richard Biener committed -
gcc/ * vec.h (VEC_splice, VEC_safe_splice): New macros. Add function implementations. gcc/fortran/ * trans.h (gfc_conv_procedure_call): Take a VEC instead of a tree. * trans-intrinsic.c (gfc_conv_intrinsic_funcall): Adjust for new type of gfc_conv_procedure_call. (conv_generic_with_optional_char_arg): Likewise. * trans-stmt.c (gfc_trans_call): Likewise. * trans-expr.c (gfc_conv_function_expr): Likewise. (gfc_conv_procedure_call): Use build_call_vec instead of build_call_list. From-SVN: r161834
Nathan Froyd committed -
* config/arm/arm.c (get_arm_condition_code): Remove CC_NOTBmode case. * arm-modes.def (CC_NOTB): Don't define. * config/arm/arm.md (arm_adddi3): Generate canonical RTL. (adddi_sesidi_di, adddi_zesidi_di): Likewise. (LTUGEU): New code_iterator. (cnb, optab): New corresponding code_attrs. (addsi3_carryin_<optab>): Renamed from addsi3_carryin. Change pattern to canonical form. Operands 1 and 2 are commutative. Parametrize using LTUGEU. (addsi3_carryin_shift_<optab>): Likewise. (addsi3_carryin_alt2_<optab>): Renamed from addsi3_carryin_alt2. Operands 1 and 2 are commutative. Parametrize using LTUGEU. (addsi3_carryin_alt1, addsi3_carryin_alt3): Remove. (subsi3_compare): Renamed from subsi3_compare0_c. Change CC_NOTB to CC. (arm_subsi3_insn): Allow constants for operand 0. (compare_scc peephole for eq case): New. (compare_scc splitters): Change CC_NOTB to CC. From-SVN: r161831
Bernd Schmidt committed -
2010-07-05 Richard Guenther <rguenther@suse.de> * tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF. (gen_lsm_tmp_name): Likewise. * tree-dump.c (dequeue_and_dump): Likewise. * tree-pretty-print.c (dump_generic_node): Likewise. (op_code_prio): Likewise. (op_symbol_code): Likewise. * tree.c (staticp): Likewise. (build1_stat): Likewise. * tree.h (INDIRECT_REF_P): Likewise. * fold-const.c (maybe_lvalue_p): Likewise. (operand_equal_p): Likewise. * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Likewise. (ao_ref_init_from_vn_reference): Likewise. * tree-ssa-loop-ivopts.c (idx_find_step): Likewise. (find_interesting_uses_address): Likewise. * dwarf2out.c (loc_list_from_tree): Likewise. * gimplify.c (gimplify_expr): Likewise. * tree-eh.c (tree_could_trap_p): Likewise. * emit-rtl.c (set_mem_attributes_minus_bitpos): Likewise. * cfgexpand.c (expand_debug_expr): Likewise. * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise. * tree-ssa-loop-prefetch.c (idx_analyze_ref): Likewise. * tree-cfg.c (verify_types_in_gimple_min_lval): Likewise. * config/rs6000/rs6000 (rs6000_check_sdmode): Likewise. * tree-ssa-operands.c (get_expr_operands): Likewise. * expr.c (safe_from_p): Likewise. (expand_expr_real_1): Likewise. TER BIT_AND_EXPRs into MEM_REFs. * tree-vect-data-refs.c (vect_setup_realignment): Build BIT_AND_EXPR and MEM_REF instead of ALIGN_INDIRECT_REF. * tree-vect-stmts.c (vectorizable_load): Likewise. * tree.def (ALIGN_INDIRECT_REF): Remove. From-SVN: r161830
Richard Guenther committed -
2010-07-05 Richard Guenther <rguenther@suse.de> PR tree-optimization/44784 * tree-ssa-pre.c (bitmap_find_leader): Fix dominance check for inserted stmts. (find_or_generate_expression): Fix SCCVN insertion check. * gcc.c-torture/compile/pr44784.c: New testcase. From-SVN: r161829
Richard Guenther committed -
* config/rs6000/e500crtsavg64gprctr.asm: Correct done label name. * config/rs6000/e500crtsav64gprctr.asm: Likewise. * config/rs6000/e500crtres64gprctr.asm: Likewise. Add FUNC_END directives. From-SVN: r161828
Nathan Sidwell committed -
* tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements that are not vectorized. * tree-vect-stmts.c (vect_get_load_cost): Update the value stored in INSIDE_COST. From-SVN: r161827
Ira Rosen committed -
2010-07-05 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout. From-SVN: r161825
Paolo Carlini committed -
2010-07-05 Mikael Pettersson <mikpe@it.uu.se> PR bootstrap/44820 * config/arm/arm.c (arm_attr_length_move_neon): Delete regno. From-SVN: r161822
Mikael Pettersson committed -
2010-07-05 Richard Guenther <rguenther@suse.de> * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly. From-SVN: r161821
Richard Biener committed -
* gcc.dg/vect/costmodel/ppc/costmodel-vect-31d.c: Remove. * gcc.dg/vect/costmodel/ppc/costmodel-vect-76a.c: Increase loop bound. * gcc.dg/vect/costmodel/ppc/costmodel-vect-76b.c: Likewise. * gcc.dg/vect/costmodel/ppc/costmodel-vect-68d.c: Remove. * gcc.dg/vect/pr35821-altivec.c, gcc.dg/vect/pr35821-spu.c: Likewise. From-SVN: r161819
Ira Rosen committed -
gcc/cp/ 2010-07-05 Shujing Zhao <pearly.zhao@oracle.com> PR c++/22138 * parser.c (cp_parser_primary_expression): Error if local template is declared. gcc/testsuite/ 2010-07-05 Shujing Zhao <pearly.zhao@oracle.com> PR c++/22138 * g++.dg/parse/template25.C: New. From-SVN: r161818
Shujing Zhao committed -
From-SVN: r161817
GCC Administrator committed
-
- 04 Jul, 2010 18 commits
-
-
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 -
From-SVN: r161812
Jan Hubicka committed -
* 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 -
* 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 -
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 -
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 -
PR target/44531 * config.gcc (sh*-*-*): Use regular expressions instead of the 'i' modifier for sed substitutions. From-SVN: r161807
Kaz Kojima committed -
2010-07-04 Daniel Kraft <d@domob.eu> * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE. From-SVN: r161806
Daniel Kraft committed -
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 -
2010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr> * gimple.c (gimple_body): Comments added. From-SVN: r161804
Jeremie Salvucci committed -
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 -
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 -
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 -
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 -
* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit. From-SVN: r161799
Richard Guenther committed -
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 -
* 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 -
From-SVN: r161795
GCC Administrator committed
-
- 03 Jul, 2010 4 commits
-
-
2010-07-03 H.J. Lu <hongjiu.lu@intel.com> PR c/44806 * gcc.dg/torture/pr44806.c: New. From-SVN: r161787
H.J. Lu committed -
PR target/44597 * config/pa/predicates.md (prefetch_cc_operand): Remove. (prefetch_nocc_operand): Likewise. * config/pa/pa.md (prefetch): Revise expander to use prefetch_20. (prefetch_20): New insn. (prefetch_cc): Remove. (prefetch_nocc): Likewise. From-SVN: r161786
John David Anglin committed -
2010-07-03 Manuel López-Ibáñez <manu@gcc.gnu.org> * c-family/c-common.c (IN_GCC_FRONTEND): Do not undef. Do not include expr.h (vector_mode_valid_p): Move here. * expr.c (vector_mode_valid_p): Move to c-common.c. * expr.h (vector_mode_valid_p): Do not declare here. * system.h: Poison GCC_EXPR_H in front-ends. * Makefile.in: Update dependencies. From-SVN: r161785
Manuel López-Ibáñez committed -
PR target/44705 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF. From-SVN: r161781
John David Anglin committed
-