- 28 Apr, 2011 8 commits
-
-
2011-04-28 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (dump_constraint): Don't end the line. (debug_constraint): Do it here. (dump_constraints): And here. (rewrite_constraints): And here. (dump_constraint_edge): Remove. (dump_constraint_graph): Rewrite to produce DOT output. (solve_constraints): Build succ graph as late as possible. Dump constraint graphs before and after solving. From-SVN: r173061
Richard Guenther committed -
2011-04-28 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): New function split out from ... (find_func_aliases): ... here. Call it. (find_func_aliases_for_call): Likewise. From-SVN: r173060
Richard Guenther committed -
2011-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/48112 * resolve.c (resolve_fl_var_and_proc): Print diagnostic of function results only once. (resolve_symbol): Always resolve function results. PR fortran/48279 * expr.c (gfc_check_vardef_context): Fix handling of generic EXPR_FUNCTION. * interface.c (check_interface0): Reject internal functions in generic interfaces, unless -std=gnu. 2011-04-28 Tobias Burnus <burnus@net-b.de> PR fortran/48112 PR fortran/48279 * gfortran.dg/interface_35.f90: New. * gfortran.dg/erfc_scaled_1.f90: Don't compile with -pedantic. * gfortran.dg/func_result_6.f90: Add dg-warning. * gfortran.dg/bessel_1.f90: Ditto. * gfortran.dg/hypot_1.f90: Ditto. * gfortran.dg/proc_ptr_comp_20.f90: Ditto. * gfortran.dg/proc_ptr_comp_21.f90: Ditto. * gfortran.dg/interface_assignment_4.f90: Ditto. From-SVN: r173059
Tobias Burnus committed -
PR libstdc++/48760 Implement list-initialization of _Complex. * decl.c (reshape_init_r): Allow {real,imag} for _Complex. (check_initializer): Likewise. * call.c (build_complex_conv): New. (implicit_conversion): Call it. (convert_like_real): Handle it. * typeck2.c (check_narrowing): Handle it. From-SVN: r173058
Jason Merrill committed -
* init.c (build_vec_delete_1): Look for sfk_deleting_destructor to decide whether to delete. (build_vec_init): Pass sfk_complete_destructor. From-SVN: r173057
Jason Merrill committed -
PR c++/40975 * cp-tree.def (VEC_INIT_EXPR): Add third operand. * cp-tree.h (VEC_INIT_EXPR_NELTS): New. * cp-gimplify.c (cp_gimplify_expr) [VEC_INIT_EXPR]: Handle it. * tree.c (build_vec_init_expr): Handle getting pointer/nelts. (build_vec_init_elt): Don't expect an array type. (build_array_copy): Adjust. * init.c (perform_member_init): Adjust. (build_new_1): Use build_vec_init_expr. From-SVN: r173056
Jason Merrill committed -
* internal-fn.h (internal_fn_name_array): Declare. (internal_fn_flags_array): Likewise. From-SVN: r173055
Gabriel Dos Reis committed -
From-SVN: r173054
GCC Administrator committed
-
- 27 Apr, 2011 26 commits
-
-
re PR fortran/48788 (ICE: SIGSEGV in resolve_global_procedure (resolve.c:2190) on invalid (?) fortran code) 2011-04-27 Tobias Burnus <burnus@net-b.de> PR fortran/48788 * resolve.c (resolve_global_procedure): Error recovery - avoid segfault for (non)character-returning functions. 2011-04-27 Tobias Burnus <burnus@net-b.de> PR fortran/48788 * gfortran.dg/whole_file_34.f90: New. From-SVN: r173048
Tobias Burnus committed -
2011-04-27 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/move.h (move_if_noexcept): Add. * testsuite/20_util/move_if_noexcept/requirements/ explicit_instantiation.cc: New. * testsuite/20_util/move_if_noexcept/1.cc: Likewise. From-SVN: r173044
Paolo Carlini committed -
i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp. * config/i386/i386.md (ssemodesuffix): Merge with ssevecsize, ssemodefsuffix, ssescalarmodesuffix and avxmodesuffixp. Move from sse.md. (ssemodefsuffix): Remove. (ssevecmodesuffix): New mode attribute. (fix_trunc<mode>di_sse, fix_trunc<mode>si_sse, *float<SSEMODEI24:mode><MODEF:mode>2_mixed_interunit, *float<SSEMODEI24:mode><MODEF:mode>2_mixed_nointerunit, *float<SSEMODEI24:mode><MODEF:mode>2_sse_interunit, *float<SSEMODEI24:mode><MODEF:mode>2_sse_nointerunit, setcc_<mode>_sse, *sqrt<mode>2_sse, sse4_1_round<mode>2, <smaxmin:code><mode>3, *ieee_smin<mode>3, *ieee_smax<mode>3): Adjust assembler templates for ssemodesuffix mode attribute. (float splitters): Use ssevecmodesuffix mode attribute. * config/i386/sse.md (ssescalarmode): Merge with avxscalarmode. (sseinsmode): Rename from avxvecmode. (avxsizesuffix): Rename from avxmodesuffix. (sseintvecmode): Rename from avxpermvecmode. (ssedoublevecmode): Rename from ssedoublesizemode. (ssehalfvecmode): Rename from avxhalfvecmode. (ssescalarmode): Rename from avxscalarmode. (<sse>_comi, <sse>_ucomi, sse4a_movnt<mode>): Adjust assembler templates for ssemodesuffix mode attribute. (*andnot<mode>3, *<any_logic:code><mode>3): Use ssevecmodesuffix mode attribute. Adjust RTX patterns globally for renamed mode attributes. From-SVN: r173043
Uros Bizjak committed -
* testsuite/gcc.dg/tree-ssa/inline-9.c: New testcase. * ipa-inline.h (struct inline_edge_summary): Add predicate pointer. * ipa-inline-analysis.c: Include alloc-pool.h. (edge_predicate_pool): New. (trye_predicate_p): New function (false_predicate_p): New function. (add_clause): Sanity check that false clauses are "optimized"; never add clauses to predicate that is already known to be false. (and_predicate): Use flase_predicate_p. (evaulate_predicate): Rename to ... (evaluate_predicate): ... this one; update all callers; assert that false is not listed among possible truths. (dump_predicate): Use true_predicate_p. (account_size_time): Use false_predicate_p. (evaulate_conditions_for_edge): Rename to ... (evaluate_conditions_for_edge) ... this one. (edge_set_predicate): New function. (inline_edge_duplication_hook): Duplicate edge predicates. (inline_edge_removal_hook): Free edge predicates. (dump_inline_edge_summary): Add INFO parameter; dump edge predicates. (dump_inline_summary): Update. (estimate_function_body_sizes): Set edge predicates. (estimate_calls_size_and_time): Handle predicates. (estimate_callee_size_and_time): Update. (remap_predicate): Add toplev_predicate; update comment. (remap_edge_predicates): New function. (inline_merge_summary): Compute toplev predicate; update. (read_predicate): New function. (read_inline_edge_summary): Use it. (inline_read_section): Likewise. (write_predicate): New function. (write_inline_edge_summary): Use it. (inline_write_summary): Likewise. (inline_free_summary): Free alloc pool and edge summary vec. From-SVN: r173042
Jan Hubicka committed -
2011-04-27 Richard Guenther <rguenther@suse.de> * tree-ssa-structalias.c (changed_count): Remove. (changed): Use a bitmap. (unify_nodes): Adjust. (do_sd_constraint): Likewise. (do_ds_constraint): Likewise. (do_complex_constraint): Likewise. (solve_graph): Likewise. From-SVN: r173040
Richard Guenther committed -
From-SVN: r173039
Jan Hubicka committed -
* class.c (resolve_address_of_overloaded_function): Don't change OVERLOAD to TREE_LIST. * pt.c (print_candidates_1): Remove nonsensical assert. From-SVN: r173037
Jason Merrill committed -
re PR c++/48046 (Expected diagnostic "reference to 'type' is ambiguous" not given for function-local static declaration) PR c++/48046 * parser.c (cp_parser_diagnose_invalid_type_name): Commit to tentative parse sooner. From-SVN: r173036
Jason Merrill committed -
* gcc.dg/20020312-2.c: Add definition for RX. * lib/target-supports.exp (add_options_for_ieee): Use -mnofpu option with RX targets. * gcc.target/rx/pack.c: Replace C++ style // comments with C style /* */ comments. From-SVN: r173034
Nick Clifton committed -
* config/i386/predicates.md (avx_vpermilp_*_operand): Remove. (avx_vperm2f128_*_operand): Ditto. * config/i386/sse.md (*avx_vpermilp<mode>): Remove operand2 predicate. Use avx_vpermilp_parallel in insn condition. (*avx_vperm2f128<mode>_nozero): Remove operand3 predicate. Use avx_vperm2f128_parallel in insn condition. From-SVN: r173031
Uros Bizjak committed -
2011-04-27 Richard Guenther <rguenther@suse.de> * Makefile.in (tree-ssa-structalias.o): Remove gt-tree-ssa-structalias.h dependency. (GTFILES): Remove tree-ssa-structalias.c. * tree.c (allocate_decl_uid): New function. (make_node_stat): Use it. (copy_node_stat): Likewise. * tree.h (allocate_decl_uid): Declare. * tree-ssa-alias.h (delete_alias_heapvars): Remove. * tree-ssa.c (delete_tree_ssa): Do not call delete_alias_heapvars. * tree-flow.h (struct var_ann_d): Remove is_heapvar flag. * tree-ssa-live.c (remove_unused_locals): Do not check is_heapvar flag. * tree-ssa-structalias.c (heapvar_for_stmt): Remove. (struct heapvar_map): Likewise. (heapvar_map_eq, heapvar_map_hash, heapvar_lookup, heapvar_insert): Likewise. (make_heapvar_for): Rename to ... (make_heapvar): ... this. Simplify. (fake_var_decl_obstack): New global var. (build_fake_var_decl): New function. (make_constraint_from_heapvar): Adjust. (handle_lhs_call): Likewise. (create_function_info_for): Likewise. (intra_create_variable_infos): Likewise. (init_alias_vars): Allocate fake_var_decl_obstack. (init_alias_heapvars, delete_alias_heapvars): Remove. (compute_points_to_sets): Do not call init_alias_heapvars. (ipa_pta_execute): Likewise. (delete_points_to_sets): Free fake_var_decl_obstack. * gcc.dg/tree-ssa/pr23382.c: Remove. From-SVN: r173030
Richard Guenther committed -
* config/spu/divmovti4.c (union qword_UTItype): New data type. (si_from_UTItype, si_to_UTItype): New functions. (__udivmodti4): Use them to implement type-punning. * config/spu/multi3.c (union qword_TItype): New data type. (si_from_TItype, si_to_TItype): New functions. (__multi3): Use them to implement type-punning. From-SVN: r173029
Ulrich Weigand committed -
From-SVN: r173028
Ulrich Weigand committed -
* ipa-prop.c (function_insertion_hook_holder): New holder. (ipa_add_new_function): New function. (ipa_register_cgraph_hooks, ipa_unregister_cgraph_hooks): Register/deregister holder. From-SVN: r173026
Jan Hubicka committed -
* gcc.c-torture/compile/pr48767.c: New test. From-SVN: r173020
Kaz Kojima committed -
re PR tree-optimization/48772 (ICE: SIGSEGV in walk_non_aliased_vuses (gimple.h:1100) with -O -fnon-call-exceptions -fno-tree-ccp -fno-tree-dce) 2011-04-27 Richard Guenther <rguenther@suse.de> PR tree-optimization/48772 * tree-ssa-pre.c (eliminate): Update call stmts after elimination only. * g++.dg/pr48772.C: New testcase. From-SVN: r173019
Richard Guenther committed -
2011-04-27 Richard Guenther <rguenther@suse.de> * tree-ssa-alias.c (indirect_refs_may_alias_p): Fix TARGET_MEM_REF handling. From-SVN: r173018
Richard Guenther committed -
From-SVN: r173017
Nick Clifton committed -
* config/frv/frv.h (enum reg_class): Delete EVEN_ACC_REGS, ACC_REGS, FEVEN_REGS, FPR_REGS, EVEN_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (EVEN_ACC_REGS): New macro. Alias for QUAD_ACC_REGS. (ACC_REGS): New macro. Alias for QUAD_ACC_REGS. (FEVEN_REGS): New macro. Alias for QUAD_ACC_REGS. (FPR_REGS): New macro. Alias for QUAD_ACC_REGS. (EVEN_REGS): New macro. Alias for QUAD_REGS. * config/frv/frv.c (frv_secondary_reload_class): Remove use of duplicate register classes. (frv_class_likely_spileld_p): Likewise. (frv_register_move_cost): Likewise. From-SVN: r173016
Nick Clifton committed -
* config/mcore/mcore.h (REGNO_REG_CLASS): Do not index beyond the end of the regno_reg_class array. From-SVN: r173015
Nick Clifton committed -
PR c/48742 * c-typeck.c (build_binary_op): Don't wrap arguments if int_operands is true. * gcc.c-torture/compile/pr48742.c: New test. From-SVN: r173011
Jakub Jelinek committed -
PR c++/42687 * parser.c (cp_parser_primary_expression): Set *idk to CP_ID_KIND_NONE for a parenthesized identifier. From-SVN: r173007
Jason Merrill committed -
* ptree.c (cxx_print_type) [TYPENAME_TYPE]: Dump fullname. (cxx_print_identifier): Correct indentation. From-SVN: r173006
Jason Merrill committed -
From-SVN: r173005
Jason Merrill committed -
* go-gcc.cc (Gcc_backend::struct_type): Implement. From-SVN: r173004
Ian Lance Taylor committed -
From-SVN: r173002
GCC Administrator committed
-
- 26 Apr, 2011 6 commits
-
-
* config/sh/sh.c (sh_gimplify_va_arg_expr): Don't call targetm.calls.must_pass_in_stack for void type. From-SVN: r172991
Kaz Kojima committed -
2011-04-26 Thomas Koenig <tkoenig@gcc.gnu.org> * decl.c (gfc_match_end): Check that the block name starts with "block@". * parse.c (gfc_build_block_ns): Make block names unique by numbering them. From-SVN: r172990
Thomas Koenig committed -
cgraphbuild.c (build_cgraph_edges): Update call of cgraph_create_edge and cgraph_create_indirect_edge. * cgraphbuild.c (build_cgraph_edges): Update call of cgraph_create_edge and cgraph_create_indirect_edge. * cgraph.c (cgraph_create_edge_including_clones, cgraph_create_edge_1, cgraph_allocate_init_indirect_info, cgraph_update_edges_for_call_stmt_node): Do not take nest argument; do not initialize call_stmt_size/time. (dump_cgraph_node): Do not dump nest. (cgraph_clone_edge): Do not take loop_nest argument; do not propagate it; do not clone call_stmt_size/time. (cgraph_clone_node): Likewise. (cgraph_create_virtual_clone): Update. * cgraph.h (struct cgraph_edge): Remove call_stmt_size/call_stmt_time/loop_nest. (cgraph_create_edge, cgraph_create_indirect_edge, cgraph_create_edge_including_clones, cgraph_clone_node): Update prototype. * tree-emutls.c (gen_emutls_addr): Update. * ipa-inline-transform.c (update_noncloned_frequencies): Do not handle loop_nest; handle indirect calls, too. (clone_inlined_nodes): Do not care about updating inline summaries. * cgraphunit.c (cgraph_copy_node_for_versioning): Update. * lto-cgraph.c (lto_output_edge, input_node, input_edge): Do not stream call_stmt_size/call_stmt_time/loop_nest. * ipa-inline.c (edge_badness): Update. (ipa_inline): dump summaries after inlining. * ipa-inline.h (struct inline_edge_summary, inline_edge_summary_t): new. (inline_edge_summary): New function. * ipa-inline-analysis.c (edge_duplication_hook_holder): New holder. (inline_edge_removal_hook): Handle edge summaries. (inline_edge_duplication_hook): New hook. (inline_summary_alloc): Alloc hooks. (initialize_growth_caches): Do not register removal hooks. (free_growth_caches); Do not free removal hook. (dump_inline_edge_summary): New function. (dump_inline_summary): Use it. (estimate_function_body_sizes, estimate_edge_size_and_time): Update. (inline_update_callee_summaries): New function. (inline_merge_summary): Use it. (do_estimate_edge_time, do_estimate_edge_growth): Update. (read_inline_edge_summary): New function. (inline_read_section): Use it. (write_inline_edge_summary): New function. (inline_write_summary): Use it. (inline_free_summary): Free edge new holders. * tree-inline.c (copy_bb): Update. From-SVN: r172989
Jan Hubicka committed -
* tree-eh.c (lower_try_finally_switch): Create the label along with the CASE_LABEL_EXPR. From-SVN: r172988
Jason Merrill committed -
* objc-act.c (objc_fold_objc_type_ref): Remove. * objc-act.h: Remove prototype. From-SVN: r172986
Jason Merrill committed -
PR c++/48530 * decl.c (cxx_maybe_build_cleanup): Add complain parm. * tree.c (force_target_expr): Add complain parm. (build_target_expr_with_type): Likewise. (get_target_expr_sfinae): Split out. (build_vec_init_expr, bot_manip): Adjust. * init.c (build_vec_delete, build_vec_delete_1): Add complain parm. (build_delete, build_dtor_call): Likewise. (perform_direct_initialization_if_possible): Adjust. (build_vec_init): Handle error return. * cvt.c (force_rvalue): Add complain parm. Call build_special_member_call directly. * decl2.c (delete_sanity): Add complain parm. (build_cleanup): Adjust. * pt.c (tsubst_copy_and_build, tsubst_expr): Adjust. * semantics.c (finish_stmt_expr_expr): Adjust. (finish_compound_literal): Adjust. * parser.c (cp_parser_delete_expression): Adjust. * typeck2.c (build_functional_cast): Adjust. * cp-tree.h: Adjust. From-SVN: r172985
Jason Merrill committed
-