aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-06-14re PR c++/49369 (typeof() strips const from member when used in const method)Jason Merrill4-16/+31
PR c++/49369 * class.c (build_base_path): Fix cv-quals in unevaluated context. From-SVN: r175042
2011-06-14re PR c++/49290 ([C++0x] ICE in in cxx_eval_indirect_ref, at ↵Jason Merrill4-40/+175
cp/semantics.c:6795) PR c++/49290 * semantics.c (cxx_fold_indirect_ref): Local, more permissive copy of fold_indirect_ref_1. (cxx_eval_indirect_ref): Use it. From-SVN: r175041
2011-06-14fix utf-8Jason Merrill1-1/+1
From-SVN: r175040
2011-06-14Properly expand strlen to Pmode.H.J. Lu2-2/+15
2011-06-14 H.J. Lu <hongjiu.lu@intel.com> PR middle-end/47364 * builtins.c (expand_builtin_strlen): Expand strlen to Pmode and properly handle result not in Pmode. From-SVN: r175034
2011-06-14kfreebsd-gnu.h: Resync with `config/i386/linux.h'.Robert Millan7-17/+56
* config/i386/kfreebsd-gnu.h: Resync with `config/i386/linux.h'. * config/kfreebsd-gnu.h (GNU_USER_DYNAMIC_LINKER): Resync with `config/linux.h'. * config/i386/kfreebsd-gnu64.h: New file. * config.gcc (x86_64-*-kfreebsd*-gnu): Replace `i386/kfreebsd-gnu.h' with `i386/kfreebsd-gnu64.h'. * config/i386/linux64.h (GNU_USER_LINK_EMULATION32) (GNU_USER_LINK_EMULATION64): New macros. * config/i386/gnu-user64.h (LINK_SPEC): Rely on `GNU_USER_LINK_EMULATION32' and `GNU_USER_LINK_EMULATION64' instead of hardcoding `elf_i386' and `elf_x86_64'. From-SVN: r175031
2011-06-14re PR target/49403 (v850e-elf: incompatible pointer type (near ↵Nick Clifton3-2/+12
initialization for ‘targetm.memory_move_cost’)) PR target/49403 * config/v850/v850.c (v850_memory_move_cost): Add reg_class_t parameter. PR target/49402 * config.gcc(v850*-*-*): Avoid duplication of v850.opt. From-SVN: r175030
2011-06-14re PR fortran/49103 (local variables exchange values / wrong code with -O3)Jakub Jelinek6-3/+64
PR fortran/49103 * tree.h (DECL_NONSHAREABLE): Define. (struct tree_decl_common): Change decl_common_unused to decl_nonshareable_flag. * cfgexpand.c (expand_used_vars_for_block, clear_tree_used): Ignore vars with DECL_NONSHAREABLE bit set. * tree-cfg.c (gimple_duplicate_bb): Set DECL_NONSHAREABLE on stores to automatic aggregate vars. * gfortran.dg/pr49103.f90: New test. From-SVN: r175028
2011-06-14re PR middle-end/45098 (Missed induction variable optimization)Tom de Vries4-0/+80
2011-06-14 Tom de Vries <tom@codesourcery.com> PR target/45098 * gcc.target/arm/ivopts-3.c: New test. * gcc.target/arm/ivopts-4.c: New test. * gcc.target/arm/ivopts-5.c: New test. From-SVN: r175025
2011-06-14re PR rtl-optimization/49390 (GCSE miscompilation)Jakub Jelinek4-6/+118
PR rtl-optimization/49390 Revert: 2010-06-29 Bernd Schmidt <bernds@codesourcery.com> * cse.c (exp_equiv_p): For MEMs, if for_gcse, only compare MEM_ALIAS_SET. * gcc.c-torture/execute/pr49390.c: New test. From-SVN: r175023
2011-06-14re PR middle-end/45098 (Missed induction variable optimization)Zdenek Dvorak10-116/+185
2011-06-14 Zdenek Dvorak <ook@ucw.cz> Tom de Vries <tom@codesourcery.com> PR target/45098 * cfgloop.h (nb_iterations_upper_bound, nb_iterations_estimate): Document changed semantics. (max_stmt_executions, max_stmt_executions_int): Declare. * tree-data-ref.c (estimated_loop_iterations) (estimated_loop_iterations_int): Move functions... * tree-ssa-loop-niter.c (estimated_loop_iterations) (estimated_loop_iterations_int): here. (record_estimate): Change nb_iterations_upper_bound and nb_iterations_estimate semantics. (max_stmt_executions, max_stmt_executions_int): New function. * tree-data-ref.c (estimated_loop_iterations_tree): Rename to ... (max_stmt_executions_tree): this. (analyze_miv_subscript): Use max_stmt_executions_tree instead of estimated_loop_iterations_tree. tree-ssa-loop-ivopts.c (avg_loop_niter): Use max_stmt_executions_int instead of estimated_loop_iterations_int. * predict.c (predict_loops): Idem. * tree-parloops.c (parallelize_loops): Idem. * tree-data-ref.c (analyze_siv_subscript_cst_affine) (compute_overlap_steps_for_affine_1_2, analyze_subscript_affine_affine) (init_omega_for_ddr_1): Idem. * tree-ssa-loop-prefetch.c (determine_loop_nest_reuse) (loop_prefetch_arrays): Idem * graphite-sese-to-poly.c (build_loop_iteration_domains): Use max_stmt_executions instead of estimated_loop_iterations. * tree-data-ref.c (estimated_loop_iterations_tree): Idem. * tree-vrp.c (adjust_range_with_scev): Use estimated_loop_iterations instead of nb_iterations_upper_bound. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r175022
2011-06-14* ipa.c (cgraph_address_taken_from_non_vtable_p): Check the ref type.Jan Hubicka2-8/+13
From-SVN: r175021
2011-06-14* g++.dg/torture/pr48954.C: Use dg-require-effective-target lto.Rainer Orth2-0/+6
From-SVN: r175019
2011-06-14re PR debug/48459 (avr: Assertion failure with -gdwarf-2)Richard Henderson2-7/+23
PR debug/48459 * dwarf2out.c (frame_pointer_fb_offset_valid): New. (based_loc_descr): Assert it's true. (compute_frame_pointer_to_fb_displacement): Set it, rather than aborting immediately. From-SVN: r175018
2011-06-14invoke.texi: Re-add missing -mcpu docs for Faraday cores.Sanjin Liu2-1/+8
2011-06-14 Sanjin Liu <scliu@faraday-tech.com> Mingfeng Wu <mingfeng@faraday-tech.com> * doc/invoke.texi: Re-add missing -mcpu docs for Faraday cores. Co-Authored-By: Mingfeng Wu <mingfeng@faraday-tech.com> From-SVN: r175017
2011-06-14* ipa-cp.c (ipcp_iterate_stage): Revert accidental commit.Jan Hubicka2-1/+5
From-SVN: r175016
2011-06-14cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY similarly to ↵Jan Hubicka4-5/+12
DECL_COMDAT. * cgraph.c (cgraph_make_decl_local): Handle DECL_ONE_ONLY similarly to DECL_COMDAT. * cgraphunit.c (cgraph_analyze_function): Likewise. * ipa.c (function_and_variable_visibility): Likewise. From-SVN: r175015
2011-06-14lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output ↵Jan Hubicka2-1/+10
BINFO_VIRTUALS when streaming for ltrans unit. * lto-streamer-out.c (lto_output_ts_binfo_tree_pointers): Do not output BINFO_VIRTUALS when streaming for ltrans unit. From-SVN: r175014
2011-06-14cmpsi-2.c: Undo 172757.Georg-Johann Lay8-4/+28
testsuite/ * gcc.c-torture/execute/cmpsi-2.c: Undo 172757. * gcc.c-torture/execute/cmpsi-2.x: New file. * gcc.c-torture/execute/pr45262.c: Undo 172757. * gcc.c-torture/execute/pr45262.x: New file. * gcc.c-torture/compile/pr46534.c: Skip for AVR. * gcc.c-torture/compile/pr49029.c: Add dg-require-effective-target int32plus * gcc.c-torture/compile/pr49163.c: Ditto. From-SVN: r175012
2011-06-14Fix long linesEric Botcazou1-9/+11
From-SVN: r175011
2011-06-14vect-16.c: Rename to...Ira Rosen6-10/+26
* gcc.dg/vect/vect-16.c: Rename to... * gcc.dg/vect/no-fast-math-vect16.c: ...this. * gcc.dg/vect/vect-peel-3.c: Adjust misalignment values for double-word vectors. * gcc.dg/vect/vect-peel-4.c: Likewise. * gcc.dg/vect/bb-slp-10.c: Replace vect_hw_misalign with vect_element_align. * gcc.dg/vect/vect.exp: Run no-fast-math-* tests with -fno-fast-math. From-SVN: r175009
2011-06-14Change builtin make to runtime call at lowering time.Ian Lance Taylor8-598/+256
Use kindNoPointers as 6g does. * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H). From-SVN: r175008
2011-06-14Daily bump.GCC Administrator1-1/+1
From-SVN: r175006
2011-06-13[multiple changes]David Edelsohn2-26/+210
2011-06-13 David Edelsohn <dje.gcc@gmail.com> * config/rs6000/rs6000.md (movdi_mfpgpr): Remove POWER mnemonic. (movdi_internal64): Same. 2011-06-13 Edmar Wienskoski <edmar@freescale.com> * config/rs6000/rs6000.md (save_gpregs_<mode>): Replaced pattern with a set of similar patterns, where the MATCH_OPERAND for the function argument is replaced with individual references to hardware registers. (save_fpregs_<mode>): Ditto (restore_gpregs_<mode>): Ditto (return_and_restore_gpregs_<mode>): Ditto (return_and_restore_fpregs_<mode>): Ditto (return_and_restore_fpregs_aix_<mode>): Ditto From-SVN: r174997
2011-06-13* gcc.target/powerpc/outofline_rnreg.c: New testcase.Edmar Wienskoski2-0/+19
From-SVN: r174995
2011-06-13ipa-inline.c (reset_edge_caches): Walk aliases.Jan Hubicka2-3/+8
* ipa-inline.c (reset_edge_caches): Walk aliases. (update_caller_keys): Do not test inlinability of aliases. * ipa-inline-analysis.c (do_estimate_edge_time): Look through alias. (do_estimate_growth): Fix typo. From-SVN: r174992
2011-06-13ipa-utils.c (postorder_stack): New structure.Jan Hubicka2-37/+61
* ipa-utils.c (postorder_stack): New structure. (ipa_reverse_postorder): Handle aliases. From-SVN: r174991
2011-06-13ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from...Jan Hubicka2-7/+40
* ipa-inline-transform.c (+can_remove_node_now_p_1): Break out from... (can_remove_node_now_p): ... here; handle same comdat groups. (clone_inlined_nodes): Update use of can_remove_node_now_p add TODO. (inline_call): Update use of can_remove_node_now_p. From-SVN: r174989
2011-06-13Correct typos.H.J. Lu1-2/+2
From-SVN: r174988
2011-06-13Remove duplicated lines.H.J. Lu3-16/+8
2011-06-13 H.J. Lu <hongjiu.lu@intel.com> * gcc.dg/h8300-bit-insn-ice2.2: Remove duplicated lines. From-SVN: r174987
2011-06-13h8300.md (bsetqi_msx, [...]): Added condition to disallow non-identical ↵Kaushik Phatak3-30/+76
memory locations. * config/h8300/h8300.md (bsetqi_msx, bclrqi_msx, bnotqi_msx): Added condition to disallow non-identical memory locations. (*andqi3_2, andqi3_1, iorqi3_1, xorqi3_1): Reorder insn to give preference to bit manipulation instructions. * gcc.dg/h8300-bit-insn-ice2.2: New testcase. From-SVN: r174986
2011-06-13cgraph.c (cgraph_for_node_thunks_and_aliases, [...]): Fix thinko in ↵Jan Hubicka5-26/+74
recursive walking. * cgraph.c (cgraph_for_node_thunks_and_aliases, cgraph_for_node_and_aliases): Fix thinko in recursive walking. (nonremovable_p): New function. (cgraph_can_remove_if_no_direct_calls_p): New function. (used_from_object_file_p): New functoin. (cgraph_will_be_removed_from_program_if_no_direct_calls): Look for references from aliases. * cgraph.h (cgraph_can_remove_if_no_direct_calls_p): Bring offline. * ipa-inline.c (check_caller_edge): New function. (want_inline_function_called_once_p): Use it; accept aliases called once, too. * ipa-inline-analysis.c (do_estimate_growth): Remove FIXME. From-SVN: r174985
2011-06-13re PR target/48454 (gfortran.dg/char_result_13.f90 fails with -O3 ↵Ramana Radhakrishnan2-2/+9
-funroll-loops -mvectorize-with-neon-quad) PR target/48454 Fix vmovn lengths. 2011-06-13 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org> PR target/48454 * config/arm/neon.md (vec_pack_trunc<mode>): Set the lengths correctly for the case with Quad vectors. From-SVN: r174984
2011-06-13frontend-passes.c (remove_trim): New function.Thomas Koenig4-43/+61
2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (remove_trim): New function. (optimize_assignment): Use it. (optimize_comparison): Likewise. Return correct status for previous change. 2011-06-13 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.dg/trim_optimize_8.f90: New test case. From-SVN: r174983
2011-06-13re PR tree-optimization/49352 (-fcompare-debug failure with -O2 ↵Jakub Jelinek4-85/+113
-ftree-vectorize) PR tree-optimization/49352 * tree-vect-loop.c (vect_is_slp_reduction): Don't count debug uses at all, make sure loop_use_stmt after the loop is a def stmt of a used SSA_NAME that is the only one defined inside of the loop. Don't check for COND_EXPR and GIMPLE_BINARY_RHS. (vect_is_simple_reduction_1): Call vect_is_slp_reduction only if check_reduction is true. Co-Authored-By: Ira Rosen <ira.rosen@linaro.org> From-SVN: r174982
2011-06-13Daily bump.GCC Administrator1-1/+1
From-SVN: r174979
2011-06-12re PR middle-end/49373 (Many testcase failures)Jan Hubicka2-0/+7
PR middle-end/49373 * ipa.c (cgraph_externally_visible_p): Check resolution info. From-SVN: r174972
2011-06-12re PR middle-end/48836 (internal compiler error: in execute_todo, at ↵Jan Hubicka3-1/+11
passes.c:1261) PR middle-end/48836 * ipa-inline-transform.c: Include tree-pass.h (inline_transform): Set TODO_update_ssa_only_virtuals. * Makefile.in (ipa-inline-transform.o): Add tree-pass.h. From-SVN: r174970
2011-06-12re PR middle-end/49378 (C++ is broken)Jan Hubicka2-1/+15
PR middle-end/49378 * ipa.c (cgraph_non_local_node_p_1, cgraph_local_node_p): Rule out aliases and thunks. From-SVN: r174969
2011-06-12Fix moxie comparisonsAnthony Green1-1/+1
From-SVN: r174966
2011-06-12tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent): Take number of ↵Ira Rosen2-1/+9
iterations to peel into account for equally frequent... * tree-vect-data-refs.c (vect_peeling_hash_get_most_frequent): Take number of iterations to peel into account for equally frequent misalignment values. From-SVN: r174965
2011-06-12Daily bump.GCC Administrator1-1/+1
From-SVN: r174964
2011-06-122011-06-12 Tobias BurnusTobias Burnus5-3/+58
PR fortran/49324 * trans-expr.c (gfc_trans_assignment_1): Tell gfc_trans_scalar_assign to also deep-copy RHS nonvariables with allocatable components. * trans-array.c (gfc_conv_expr_descriptor): Ditto. 2011-06-12 Tobias Burnus PR fortran/49324 * gfortran.dg/alloc_comp_assign_11.f90: New. From-SVN: r174959
2011-06-11lto-streamer-out.c (produce_symtab): Stream out the newly represented aliases.Jan Hubicka2-2/+7
* lto-streamer-out.c (produce_symtab): Stream out the newly represented aliases. From-SVN: r174956
2011-06-11ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting varying args.Jan Hubicka2-4/+13
* ipa-prop.c (ipa_make_edge_direct_to_target): Fix code setting varying args. (ipa_update_after_lto_read): Likewise. (ipa_write_node_info): Do not sream call_with_var_arguments. (ipa_read_node_info): Likewise. From-SVN: r174955
2011-06-11* ipa.c (cgraph_comdat_can_be_unshared_p): Fix pasto.Jan Hubicka2-1/+5
From-SVN: r174954
2011-06-11lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code.Jan Hubicka19-342/+472
* lto-symtab.c (lto_cgraph_replace_node): Kill same body alias code. (lto_symtab_resolve_can_prevail_p): Likewise. (lto_symtab_merge_cgraph_nodes): Update merging of aliases. * cgraph.c (same_body_aliases_done): New global var. (cgraph_same_body_alias_1): Rename to ... (cgraph_create_function_alias): ... this one; reorg to new representation. (cgraph_same_body_alias): Use cgraph_create_function_alias; record references when asked to. (cgraph_add_thunk): Fix formating. (cgraph_get_node): Kill same body alias code. (cgraph_node_for_asm): Likewise. (cgraph_remove_same_body_alias): Remove. (cgraph_remove_node): Kill same body alias code. (cgraph_mark_address_taken_node): Mark also the aliased function as having address taken. (dump_cgraph_node): Dump same body aliases. (cgraph_for_node_thunks_and_aliases): Update for new alias representation. (cgraph_for_node_and_aliases): Likewise. * cgraph.h (same_body): Kll pointer. (same_body_alias): Update comment. (same_body_aliases_done): Declare. (cgraph_remove_same_body_alias): Remove declaration. (cgraph_create_function_alias): Declare. (cgraph_process_same_body_aliases): Declare. (cgraph_function_with_gimple_body_p): Check for alias. (cgraph_can_remove_if_no_direct_calls_p): Look for aliases. (cgraph_alias_aliased_node): New function. (cgraph_function_node): Update for new aliases. (cgraph_function_or_thunk_node): Likewise. * ipa-inline-transform.c (can_remove_node_now_p): Look for aliases. (inline_call): Remove dead aliases. * cgraphunit.c (cgraph_decide_is_function_needed): Disable assembler name hack for same body aliases. (clone_of_p): Look through aliases. (verify_cgraph_node): Verify aliases. (cgraph_analyze_function): Analyze aliases; fixup C++ bugs. (cgraph_process_same_body_aliases): New function. (process_function_and_variable_attributes): Disable weakref warning on alias. (cgraph_analyze_functions): Handle aliases. (cgraph_mark_functions_to_output): Handle aliases same way as thunks. (assemble_thunks): Rename to ... (assemble_thunks_and_aliases): ... this one; handle aliases, too. (cgraph_expand_function): Remove alias output code. (cgraph_output_in_order): Skip aliases. (cgraph_preserve_function_body_p): Aliases don't need preserving. * ipa-ref.c (ipa_ref_use_name): Add alias reference. (ipa_record_reference): Do not assert on alias references. (ipa_ref_has_aliases_p): New function. * ipa-ref.h (enum ipa_ref_use): Add IPA_REF_ALIAS. (ipa_ref_has_aliases_p): Declare. * lto-cgraph.c (lto_output_node): Handle aliases. (input_node): Likewise. * lto-streamer-out.c (lto_output): Skip aliases. (produce_symtab): Kill same_body_alias code. * ipa-utils.c (ipa_reverse_postorder): Add FIXME. (ipa_reverse_postorder): Use cgraph_only_called_directly_or_aliased_p. * ipa-inline.c (update_caller_keys): Walk aliases. (inline_small_functions): Fix thinko in previous patch. * ipa.c (cgraph_externally_visible_p): Do not walk aliases. (function_and_variable_visibility): Do not walk same body aliases. * tree-ssa-structalias.c (associate_varinfo_to_alias): New function. (ipa_pta_execute): Use it. * lto.c (add_cgraph_node_to_partition_1): Break out from ... (add_cgraph_node_to_partition) ... here; walk aliases. (lto_1_to_1_map): Remove same body alias code. (promote_fn): Likewise. (lto_promote_cross_file_statics): Update comment. * decl2.c (cp_write_global_declarations): Process aliases; look trhough same body aliases. From-SVN: r174952
2011-06-11sse.md (vec_dupv4sf): Correct mode of forced register.Uros Bizjak2-30/+64
* config/i386/sse.md (vec_dupv4sf): Correct mode of forced register. (*vec_dupv2df): Rename from vec_dupv2df. (vec_dupv2df): New expander. * config/i386/sse.md (AVX_VEC_DUP_MODE): Rename from AVX256MODE24P. From-SVN: r174948
2011-06-11i386.md: Use default value in "isa" attribute.Uros Bizjak3-66/+136
* config/i386/i386.md: Use default value in "isa" attribute. * config/i386/sse.md: Ditto. * config/i386/mmx.md: Ditto. From-SVN: r174945
2011-06-11frontend-passes.c (optimize_assignment): Follow chains of concatenation ↵Thomas Koenig4-0/+37
operators to the end for removing trailing TRIMS... 2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (optimize_assignment): Follow chains of concatenation operators to the end for removing trailing TRIMS for assignments. 2011-05-11 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.dg/trim_optimize_7.f90: New test. From-SVN: r174944
2011-06-11Use backend interface for map descriptors.Ian Lance Taylor6-155/+145
From-SVN: r174943