aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2010-07-05vec.h (VEC_splice, [...]): New macros.Nathan Froyd7-43/+155
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
2010-07-05arm.c (get_arm_condition_code): Remove CC_NOTBmode case.Bernd Schmidt4-70/+88
* 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
2010-07-05tree-ssa-loop-im.c (for_each_index): Do not handle ALIGN_INDIRECT_REF.Richard Guenther23-89/+88
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
2010-07-05re PR middle-end/44784 (Failed to build 403.gcc in SPEC CPU 2006)Richard Guenther4-3/+66
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
2010-07-05e500crtsavg64gprctr.asm: Correct done label name.Nathan Sidwell4-51/+76
* 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
2010-07-05tree-vect-loop.c (vect_get_single_scalar_iteraion_cost): Skip statements ↵Ira Rosen6-5/+27
that are not vectorized. * 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
2010-07-05pt.c (tsubst): Early declare code = TREE_CODE (t) and use it throughout.Paolo Carlini2-28/+28
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
2010-07-05re PR bootstrap/44820 (ARM bootstrap failure: regno set but unused in ↵Mikael Pettersson2-2/+6
arm_attr_length_move_neon) 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
2010-07-05tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs ↵Richard Biener2-8/+15
properly. 2010-07-05 Richard Guenther <rguenther@suse.de> * tree-cfg.c (verify_gimple_return): Handle DECL_BY_REFERENCE RESULT_DECLs properly. From-SVN: r161821
2010-07-05costmodel-vect-31d.c: Remove.Ira Rosen7-149/+10
* 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
2010-07-05re PR c++/22138 (Better error message for rejecting local template declaration.)Shujing Zhao4-0/+35
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
2010-07-05Daily bump.GCC Administrator1-1/+1
From-SVN: r161817
2010-07-04Change 8bit divmod to HImode.H.J. Lu4-29/+91
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
2010-07-04* lto-cgraph.c (input_edge): Do not care about resolution decisions.Jan Hubicka2-8/+4
From-SVN: r161812
2010-07-04cgraphunit.c (init_cgraph): Only initialize dump file if it is not already ↵Jan Hubicka4-1/+18
initialized. * 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
2010-07-04gcc/Richard Sandiford13-253/+308
* 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
2010-07-04optabs.h (optab_handlers): Change type of insn_code to int.Richard Sandiford3-54/+24
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
2010-07-04optabs.h (optab_handler, [...]): Turn into inline functions that return an ↵Richard Sandiford23-433/+459
insn code. 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
2010-07-04re PR target/44531 ([SH] Multilib configuration does not work as expected on ↵Kaz Kojima2-1/+7
darwin) PR target/44531 * config.gcc (sh*-*-*): Use regular expressions instead of the 'i' modifier for sed substitutions. From-SVN: r161807
2010-07-04gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE.Daniel Kraft2-0/+31
2010-07-04 Daniel Kraft <d@domob.eu> * gfc-internals.texi (gfc_code): Document BLOCK and ASSOCIATE. From-SVN: r161806
2010-07-04re PR c++/16630 (missing type name in __PRETTY_FUNCTION__)Manuel López-Ibáñez2-0/+24
2010-07-04 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c++/16630 * g++.dg/ext/pretty3.C: New. From-SVN: r161805
2010-07-04gimple.c (gimple_body): Comments added.Jeremie Salvucci2-1/+8
2010-07-04 Jeremie Salvucci <jeremie.salvucci@free.fr> * gimple.c (gimple_body): Comments added. From-SVN: r161804
2010-07-04re PR middle-end/44809 (Mozilla build fails in gimplification.)Richard Guenther4-1/+18
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
2010-07-04re PR rtl-optimization/44479 (false dependencies are computed after ↵Richard Guenther4-21/+50
vectorization) 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
2010-07-04re PR fortran/44596 ([OOP] Dynamic dispatch uses broken types)Paul Thomas2-0/+11
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
2010-07-04re PR middle-end/44785 (Invalid memory access in gfortran.dg/extends_3.f03)Richard Guenther2-5/+12
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
2010-07-042010-07-4 Richard Guenther <rguenther@suse.de>Richard Guenther2-4/+8
* tree-ssa-sccvn.c (vn_reference_lookup_3): Fix last commit. From-SVN: r161799
2010-07-04re PR tree-optimization/44656 (VN should value-replace operands during ↵Richard Guenther4-3/+30
alias-oracle walk) 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
2010-07-04tm.texi.in (TARGET_VECTORIZE_BUILTIN_VECTORIZATION_COST): Document new ↵Ira Rosen29-196/+1176
arguments. * 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
2010-07-04Daily bump.GCC Administrator1-1/+1
From-SVN: r161795
2010-07-03Add a testcase for PR 44806.H.J. Lu2-0/+95
2010-07-03 H.J. Lu <hongjiu.lu@intel.com> PR c/44806 * gcc.dg/torture/pr44806.c: New. From-SVN: r161787
2010-07-03re PR target/44597 (FAIL: gcc.c-torture/execute/builtin-prefetch-2.c ↵John David Anglin3-122/+23
compilation, ICE) 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
2010-07-03c-common.c (IN_GCC_FRONTEND): Do not undef.Manuel López-Ibáñez7-44/+50
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
2010-07-03re PR target/44705 (FAIL: gcc.dg/pr44674.c (internal compiler error))John David Anglin2-3/+6
PR target/44705 * config/pa/pa.h (GO_IF_LEGITIMATE_ADDRESS): Reject LABEL_REF. From-SVN: r161781
2010-07-03Move c-family/* ChangeLog entries to their proper place.Steven Bosscher2-10/+20
From-SVN: r161780
2010-07-03timevar.def (TV_OUT_OF_SSA, [...]): New timevars.Jan Hubicka6-8/+43
* timevar.def (TV_OUT_OF_SSA, TV_VAR_EXPAND, TV_POST_EXPAND, TV_VAR_TRACKING_DATAFLOW, TV_VAR_TRACKING_EMIT): New timevars. * cfgexpand.c (gimple_expand_cfg): Use new timevars. * var-tracking.c (vt_find_locations, variable_tracking_main_1): Likewise. * lto-stramer-out.c (pass_ipa_lto_gimple_out, pass_ipa_lto_finish_out): Update timevars.V * timevar.def (TV_IPA_LTO_GIMPLE_IO, TV_IPA_LTO_DECL_IO): Remove. (TV_IPA_LTO_GIMPLE_IN, TV_IPA_LTO_GIMPLE_OUT, TV_IPA_LTO_DECL_IN, TV_IPA_LTO_DECL_OUT): New. * lto.c (read_cgraph_and_symbols, materialize_cgraph): Update timevars. From-SVN: r161779
2010-07-03ipa-inline.c (update_edge_key): Break out from ...Jan Hubicka2-23/+86
* ipa-inline.c (update_edge_key): Break out from ... update_callers_keys): ... here; (update_callee_keys): Update only the edges from caller to callee. (update_all_calle_keys): Do what update_calle_keys did. (decide_inlining_of_small_functions): Avoid recomputing of all callees when badness increase. From-SVN: r161778
2010-07-03re PR objc/24867 (many N^2 loops in objc frontend)Nathan Froyd2-235/+172
PR objc/24867 * objc-act.c (build_sized_array_type): New function. (add_objc_string): Use it. (generate_protocol_list): Likewise. (generate_objc_image_info): Likewise. (add_field_decl): New function. (objc_build_struct): Use a VEC rather than building a TREE_LIST. (generate_struct_by_value_array): Use add_field_decl. (build_objc_symtab_template): Likewise. (build_module_descriptor): Likewise. (build_objc_exception_stuff): Likewise. (build_protocol_template): Likewise. (build_method_prototype_list_template): Likewise. (build_method_prototype_template): Likewise. (build_category_template): Likewise. (build_selector_template): Likewise. (build_class_template): Likewise. (build_super_template): Likewise. (build_ivar_template): Likewise. (build_ivar_list_template): Likewise. (build_method_list_template): Likewise. (build_method_template): Likewise. From-SVN: r161777
2010-07-03arm.c (arm_attr_length_move_neon): New.Jie Zhang4-4/+61
* config/arm/arm.c (arm_attr_length_move_neon): New. * config/arm/arm-protos.h (arm_attr_length_move_neon): Declare. * config/arm/neon.md (define_mode_attr V_slen): Remove. (neon_mov<mode> for VSTRUCT): Use arm_attr_length_move_neon to compute length attribute. From-SVN: r161776
2010-07-03vfp.md (*push_multi_vfp): Use vfp_register_operand as predicate for operand ↵Jie Zhang4-3/+27
1 and remove its constraint. * config/arm/vfp.md (*push_multi_vfp): Use vfp_register_operand as predicate for operand 1 and remove its constraint. * config/arm/predicates.md (vfp_register_operand): New. * config/arm/arm.md (*push_multi): Remove the constraint of operand 1. (*push_fp_multi): Likewise. From-SVN: r161775
2010-07-03* gimplify.c (mostly_copy_tree_r): Deal with BIND_EXPR.Eric Botcazou4-8/+20
From-SVN: r161774
2010-07-03* config/i386/i386.c (override_options): Revert accidental commit.Jan Hubicka2-1/+5
From-SVN: r161772
2010-07-03Add missing e-mail address.Kai Tietz1-1/+1
From-SVN: r161771
2010-07-03decl.c (gnat_to_gnu_entity): Branch to common code handling the alignment of ↵Eric Botcazou5-11/+68
discrete types. * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Branch to common code handling the alignment of discrete types. <E_Signed_Integer_Type>: Likewise. <E_Modular_Integer_Type>: Likewise. From-SVN: r161770
2010-07-03re PR testsuite/44518 (objc++ encode-2.mm and encode-3.mm fail on several ↵Iain Sandoe3-5/+17
platforms) 2010-07-03 Iain Sandoe <iains@gcc.gnu.org> Mikael Pettersson <mikpe@it.uu.se> PR testsuite/44518 * obj-c++.dg/encode-2.mm: Produce object and save temps. Make signed-ness of chars explicit. Scan the object for strings that are split by some target assemblers. * obj-c++.dg/encode-3.mm: Make the signed-ness of chars explicit. Co-Authored-By: Mikael Pettersson <mikpe@it.uu.se> From-SVN: r161769
2010-07-03Fix long linesEric Botcazou1-6/+6
From-SVN: r161768
2010-07-03* gfortran.dg/char_bounds_check_fail_1.f90: Correct dg-output string.Hans-Peter Nilsson2-1/+5
From-SVN: r161767
2010-07-03invoke.texi: Update documentation of -Wshadow.Le-Chun Wu6-11/+86
PR/44128 * gcc/doc/invoke.texi: Update documentation of -Wshadow. * gcc/cp/name-lookup.c (pushdecl_maybe_friend): Warn when a local decl (variable or type) shadows another type. * gcc/testsuite/g++.dg/warn/Wshadow-7.C: New test. From-SVN: r161765
2010-07-02arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons.Daniel Jacobowitz10-37/+448
2010-07-02 Daniel Jacobowitz <dan@codesourcery.com> Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/arm/arm.c (arm_canonicalize_comparison): Canonicalize DImode comparisons. Adjust to take both operands. (arm_select_cc_mode): Handle DImode comparisons. (arm_gen_compare_reg): Generate a scratch register for DImode comparisons which require one. Use xor for Thumb equality checks. (arm_const_double_by_immediates): New. (arm_print_operand): Allow 'Q' and 'R' for constants. (get_arm_condition_code): Handle new CC_CZmode and CC_NCVmode. * config/arm/arm.h (CANONICALIZE_COMPARISON): Always use arm_canonicalize_comparison. * config/arm/arm-modes.def: Add CC_CZmode and CC_NCVmode. * config/arm/arm-protos.h (arm_canonicalize_comparison): Update prototype. (arm_const_double_by_immediates): Declare. * config/arm/constraints.md (Di): New constraint. * config/arm/predicates.md (arm_immediate_di_operand) (arm_di_operand, cmpdi_operand): New. * config/arm/arm.md (cbranchdi4): Handle non-Cirrus also. (*arm_cmpdi_insn, *arm_cmpdi_unsigned) (*arm_cmpdi_zero, *thumb_cmpdi_zero): New insns. (cstoredi4): Handle non-Cirrus also. gcc/testsuite/ * gcc.c-torture/execute/20100416-1.c: New test case. Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r161764
2010-07-02re PR target/43703 (Unexpected floating point precision loss due to ARM NEON ↵Julian Brown7-18/+63
autovectorization) 2010-07-02 Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> PR target/43703 gcc/ * config/arm/vec-common.md (add<mode>3, sub<mode>3, smin<mode>3) (smax<mode>3): Disable for NEON float modes when flag_unsafe_math_optimizations is false. * config/arm/neon.md (*add<mode>3_neon, *sub<mode>3_neon) (*mul<mode>3_neon) (mul<mode>3add<mode>_neon, mul<mode>3neg<mode>add<mode>_neon) (reduc_splus_<mode>, reduc_smin_<mode>, reduc_smax_<mode>): Disable for NEON float modes when flag_unsafe_math_optimizations is false. (quad_halves_<code>v4sf): Only enable if flag_unsafe_math_optimizations is true. * doc/invoke.texi (ARM Options): Add note about floating point vectorization requiring -funsafe-math-optimizations. gcc/testsuite/ * gcc.dg/vect/vect.exp: Add -ffast-math for NEON. * gcc.dg/vect/vect-reduc-6.c: Add XFAIL for NEON. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r161763