- 14 Aug, 2012 9 commits
-
-
2012-08-14 Richard Guenther <rguenther@suse.de> * cfgexpand.c (expand_used_vars): Use virtual_operand_p. * gimple-pretty-print.c (dump_phi_nodes): Likewise. * gimple-streamer-out.c (output_bb): Likewise. * graphite-sese-to-poly.c (scalar_close_phi_node_p): Likewise. (rewrite_reductions_out_of_ssa): Likewise. (rewrite_commutative_reductions_out_of_ss): Likewise. * ipa-split.c (verify_non_ssa_vars): Likewise. (consider_split): Likewise. (visit_bb): Likewise. (split_function): Likewise. * lto-streamer-out.c (output_ssa_names): Likewise. * sese.c (rename_uses): Likewise. * tree-cfg.c (replace_uses_by): Likewise. (gimple_merge_blocks): Likewise. (gimple_cfg2dot): Likewise. (verify_gimple_phi): Likewise. (replace_ssa_name): Likewise. (move_block_to_fn): Likewise. * tree-eh.c (cleanup_empty_eh_merge_phis): Likewise. * tree-if-conv.c (if_convertible_phi_p): Likewise. (predicate_scalar_phi): Likewise. * tree-inline.c (update_ssa_across_abnormal_edges): Likewise. (copy_phis_for_bb): Likewise. * tree-loop-distribution.c (generate_loops_for_partition): Likewise. (destroy_loop): Likewise. * tree-outof-ssa.c (eliminate_useless_phis): Likewise. (insert_backedge_copies): Likewise. * tree-parloops.c (transform_to_exit_first_loop): Likewise. (gather_scalar_reductions): Likewise. (try_create_reduction_list): Likewise. * tree-scalar-evolution.c (analyze_scalar_evolution_for_all_loop_ph): Likewise. (scev_const_prop): Likewise. * tree-ssa-ccp.c (debug_lattice_value): Likewise. (get_default_value): Likewise. (ccp_initialize): Likewise. * tree-ssa-coalesce.c (create_outofssa_var_map): Likewise. * tree-ssa-copy.c (may_propagate_copy): Likewise. (init_copy_prop): Likewise. * tree-ssa-dce.c (propagate_necessity): Likewise. (remove_dead_phis): Likewise. (forward_edge_to_pdom): Likewise. (eliminate_unnecessary_stmts): Likewise. * tree-ssa-live.c (partition_view_init): Likewise. (remove_unused_locals): Likewise. (register_ssa_partition_check): Likewise. * tree-ssa-loop-im.c (movement_possibility): Likewise. (move_computations_stmt): Likewise. * tree-ssa-loop-ivopts.c (determine_biv_step): Likewise. (record_invariant): Likewise. (find_interesting_uses_outside): Likewise. (determine_set_costs): Likewise. * tree-ssa-loop-manip.c (add_exit_phis_var): Likewise. (find_uses_to_rename_use): Likewise. (check_loop_closed_ssa_use): Likewise. (rewrite_phi_with_iv): Likewise. (canonicalize_loop_ivs): Likewise. * tree-ssa-math-opts.c (execute_cse_reciprocals): Likewise. * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise. * tree-ssa-pre.c (make_values_for_phi): Likewise. (compute_avail): Likewise. (eliminate): Likewise. * tree-ssa-propagate.c (substitute_and_fold): Likewise. * tree-ssa-reassoc.c (phi_rank): Likewise. * tree-ssa-strlen.c (strlen_enter_block): Likewise. * tree-ssa-structalias.c (compute_points_to_sets): Likewise. (ipa_pta_execute): Likewise. * tree-ssa-tail-merge.c (same_succ_hash): Likewise. (release_last_vdef): Likewise. (same_phi_alternatives_1): Likewise. (bb_has_non_vop_phi): Likewise. (vop_phi): Likewise. * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): Likewise. * tree-ssa-uninit.c (warn_uninitialized_phi): Likewise. (execute_late_warn_uninitialized): Likewise. * tree-ssa.c (verify_ssa_name): Likewise. (verify_phi_args): Likewise. (verify_ssa): Likewise. * tree-stdarg.c (execute_optimize_stdarg): Likewise. * tree-vect-loop-manip.c (slpeel_update_phi_nodes_for_guard1): Likewise. (slpeel_tree_peel_loop_to_edge): Likewise. (vect_can_advance_ivs_p): Likewise. (vect_update_ivs_after_vectorizer): Likewise. * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Likewise. * tree-vrp.c (remove_range_assertions): Likewise. * value-prof.c (gimple_divmod_values_to_profile): Likewise. From-SVN: r190385
Richard Guenther committed -
2012-08-14 Richard Guenther <rguenther@suse.de> PR tree-optimization/54146 * tree-ssa-pre.c (do_regular_insertion): Use a VEC indexed by pred edge index for avail. (do_partial_partial_insertion): Likewise. (insert_into_preds_of_block): Adjust. From-SVN: r190382
Richard Guenther committed -
2012-08-14 Richard Guenther <rguenther@suse.de> * gimplify.c (create_tmp_from_val): Mark temporary with DECL_GIMPLE_REG_P here ... (internal_get_tmp_var): ... instead of here. If we go into SSA create an SSA name instead of a VAR_DECL. (gimplify_modify_expr): Do not create SSA names here, assert we already got them. (force_gimple_operand_1): Create an SSA name if we go into SSA. * sese.c (rename_uses): Simplify. From-SVN: r190381
Richard Guenther committed -
2012-08-14 Richard Guenther <rguenther@suse.de> * tree-into-ssa.c: Include diagnostic-core.h. * Makefile.in (tree-into-ssa.o): Adjust. From-SVN: r190380
Richard Guenther committed -
2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/40881 * error.c (gfc_notify_std): Reset cur_error_buffer->flag flag when the error/warning has been printed. * gfortran.h (gfc_sl_type): Add ST_LABEL_DO_TARGET. * match.c (gfc_match_do): Use ST_LABEL_DO_TARGET. * parse.c (check_statement_label): Use ST_LABEL_DO_TARGET. (parse_executable): Add obsolescence check for DATA. * resolve.c (resolve_branch): Handle ST_LABEL_DO_TARGET. * symbol.c (gfc_define_st_label, gfc_reference_st_label): Add obsolescence diagnostics. * trans-stmt.c (gfc_trans_label_assign): Handle * ST_LABEL_DO_TARGET. 2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/40881 * gfortran.dg/data_constraints_3.f90: New. * gfortran.dg/data_constraints_1.f90: Add dg-options "" to disable -pedantic compilation. * gfortran.dg/pr37243.f: Ditto. * gfortran.dg/g77/19990826-3.f: Ditto. * gfortran.dg/g77/20020307-1.f : Ditto. * gfortran.dg/g77/980310-3.f: Ditto. From-SVN: r190379
Tobias Burnus committed -
2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/54234 * check.c (gfc_check_cmplx): Add -Wconversion warning when converting higher-precision REAL to default-precision CMPLX without kind= parameter. 2012-08-14 Tobias Burnus <burnus@net-b.de> PR fortran/54234 * gfortran.dg/warn_conversion_4.f90: New. From-SVN: r190378
Tobias Burnus committed -
2012-08-14 Richard Guenther <rguenther@suse.de> * tree-into-ssa.c (update_ssa): Verify we do not rename symbols that are already partly in SSA form. From-SVN: r190377
Richard Guenther committed -
PR middle-end/53411 PR rtl-optimization/53495 * ira.c (ira): Move delete_trivially_dead_insns call before find_moveable_pseudos call. * gcc.c-torture/compile/pr53411.c: New test. * gcc.c-torture/compile/pr53495.c: New test. From-SVN: r190376
Jakub Jelinek committed -
From-SVN: r190372
GCC Administrator committed
-
- 13 Aug, 2012 16 commits
-
-
From-SVN: r190360
Steven Bosscher committed -
tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points of potentially huge memset overhead. * tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points of potentially huge memset overhead. (do_partial_partial_insertion): Likewise. * cfgexpand.c (gimple_expand_cfg): Use XCNEWVEC instead of xcalloc. * tree-vrp.c (find_assert_locations): Use XNEWVEC instead of XCNEWVEC for arrays to be filled by pre_and_rev_post_order_compute. Allocate the right number of slots, not that number plus NUM_FIXED_BLOCKS. * tree-ssa-reassoc.c (init_reassoc): Likewise. * cfganal.c (dfs_enumerate_from): Use XNEWVEC instead of XCNEWVEC for array used as stack. * tree-ssa-sccvn.c (init_scc_vn): Use XNEWVEC instead of XCNEWVEC for arrays to be filled by pre_and_rev_post_order_compute. * cfgloopmanip.c (find_path): Use XNEWVEC instead of XCNEWVEC for array to be filled by dfs_enumerate_from. (remove_path): Likewise. (duplicate_loop_to_header_edge): Use XNEWVEC instead of XCNEWVEC for array of loops that is filled on the next lines. * cfgloop.c (get_loop_body): Use XNEWVEC instead of XCNEWVEC for array of basic blocks to be returned. (get_loop_body_in_dom_order): Likewise. (get_loop_body_in_bfs_order): Likewise. * tree-ssa-loop-manip.c (loop_renamer_obstack): New static obstack for all bitmaps used for rewriting into loop-closed SSA form. (add_exit_phis_var): Allocate the def bitmap on it. Clear the livein bitmap at the end to release a lot of memory. (add_exit_phis): Allocate the exits bitmap on the new obstack. (get_loops_exits): Allocate the exits bitmap on the new obstack. (find_uses_to_rename_use): Allocate a use_blocks bitmap if ver is seen for the first time. (find_uses_to_rename): Add "???" for why the whole function must be re-scanned if changed_bbs is empty. (rewrite_into_loop_closed_ssa): Allocate bitmaps on the new obstack. Use XNEWVEC to allocate the use_blocks array. Initialize the new obstack, and free it at the end. Remove loop over all SSA names. (check_loop_closed_ssa_stmt): Look only at SSA_OP_USE operands. * tree-cfg.c (move_sese_region_to_fn): Use XNEWVEC instead of xcalloc to allocate edge_pred and edge_flag arrays. From-SVN: r190359
Steven Bosscher committed -
2012-08-13 David Adler <d.adler.s@gmail.com> PR libstdc++/54185 * src/c++11/condition_variable.cc (condition_variable): Always destroy native type in destructor. * testsuite/30_threads/condition_variable/54185.cc: New. From-SVN: r190356
David Adler committed -
Ollie Wild <aaw@google.com> * include/bits/hashtable.h (_Hashtable<>_M_insert_multi_node(hash_code, node_type*)): New. (_Hashtable<>_M_insert(_Args&&, false_type)): Use latter. (_Hashtable<>::_M_emplace(false_type, _Args&&...)): Likewise. (_Hashtable<>::_M_insert_bucket): Replace by ... (_Hashtable<>::_M_insert_unique_node(size_type, hash_code, node_type*)): ... this, new. (_Hashtable<>::_M_insert(_Args&&, true_type)): Use latter. (_Hashtable<>::_M_emplace(true_type, _Args&&...)): Likewise. * include/bits/hashtable_policy.h (_Map_base<>::operator[]): Use latter, emplace the value_type rather than insert. * include/std/unordered_map: Include tuple. * include/std/unordered_set: Likewise. * testsuite/util/testsuite_counter_type.h: New. * testsuite/23_containers/unordered_map/operators/2.cc: New. Co-Authored-By: Ollie Wild <aaw@google.com> From-SVN: r190355
François Dumont committed -
* testsuite-management/validate_failures.py (ExpirationDate): Tidy comment. From-SVN: r190354
Diego Novillo committed -
* testsuite-management/validate_failures.py (ParseSummary): Fix comment. From-SVN: r190352
Diego Novillo committed -
I noticed recently that while the validator was accepting the 'expire=YYYYMMDD' attribute, it was not actually doing anything with it. This patch fixes the oversight. 2012-08-13 Diego Novillo <dnovillo@google.com> * testsuite-management/validate_failures.py: Import datetime. (TestResult.ExpirationDate): New. (TestResult.HasExpired): New. (ParseSummary): Call it. If it returns True, warn that the expected failure has expired and do not add it to the set of expected results. (GetResults): Clarify documentation. From-SVN: r190351
Diego Novillo committed -
* config/i386/i386.h (FIXED_REGISTERS): Do not mark REX registers here. (CALL_USED_REGISTERS): Use bitmaps to mark call-used registers for different ABIs. (enum reg_class): Move CLOBBERED_REGS just before GENERAL_REGS. (REG_CLASS_NAMES): Update. (REG_CLASS_CONTENTS): Update. Clear CLOBBERED_REGS members. * config/i386/i386.c (ix86_conditional_register_usage): Disable REX registers on 32bit targets. Handle bitmaps from CALL_USED_REGISTERS initializer. Calculate CLOBBERED_REGS register set from GENERAL_REGS also for 32bit targets. Do not change call used register set for TARGET_64BIT_MS_ABI separately. From-SVN: r190349
Uros Bizjak committed -
basic-block.h (struct basic_block): Remove loop_depth member, move flags and index members next to each other. 2012-08-13 Richard Guenther <rguenther@suse.de> * basic-block.h (struct basic_block): Remove loop_depth member, move flags and index members next to each other. * cfgloop.h (bb_loop_depth): New inline function. * cfghooks.c (split_block): Do not set loop_depth. (duplicate_block): Likewise. * cfgloop.c (flow_loop_nodes_find): Likewise. (flow_loops_find): Likewise. (add_bb_to_loop): Likewise. (remove_bb_from_loops): Likewise. * cfgrtl.c (force_nonfallthru_and_redirect): Likewise. * gimple-streamer-in.c (input_bb): Do not stream loop_depth. * gimple-streamer-out.c (output_bb): Likewise. * bt-load.c: Include cfgloop.h. (migrate_btr_defs): Use bb_loop_depth. * cfg.c (dump_bb_info): Likewise. * final.c (compute_alignments): Likewise. * ira.c (update_equiv_regs): Likewise. * tree-ssa-copy.c (init_copy_prop): Likewise. * tree-ssa-dom.c (loop_depth_of_name): Likewise. * tree-ssa-forwprop.c: Include cfgloop.h. (forward_propagate_addr_expr): Use bb_loop_depth. * tree-ssa-pre.c (insert_into_preds_of_block): Likewise. * tree-ssa-sink.c (select_best_block): Likewise. * ipa-inline-analysis.c: Include cfgloop.h. (estimate_function_body_sizes): Use bb_loop_depth. * Makefile.in (tree-ssa-forwprop.o): Depend on $(CFGLOOP_H). (ipa-inline-analysis.o): Likewise. (bt-load.o): Likewise. * gcc.dg/tree-prof/update-loopch.c: Adjust. From-SVN: r190346
Richard Guenther committed -
PR driver/54210 * config/i386/driver-i386.c (host_detect_local_cpu): Test bit_PRFCHW bit of CPUID 0x80000001 %ecx instead of CPUID 7 %ecx. * config/i386/cpuid.h (bits_PRFCHW): Move definition to CPUID 0x80000001 %ecx flags. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r190345
Ganesh Gopalasubramanian committed -
2012-08-13 Richard Guenther <rguenther@suse.de> * tree-cfg.c (print_loop): Avoid ICEing for loops marked for removal and loops with multiple latches. From-SVN: r190344
Richard Guenther committed -
PR c/53968 * tree.c (integer_pow2p): Avoid undefined signed overflows. * simplify-rtx.c (neg_const_int): Likewise. * expr.c (fixup_args_size_notes): Likewise. * stor-layout.c (set_min_and_max_values_for_integral_type): Likewise. * double-int.c (mul_double_wide_with_sign): Likewise. (double_int_mask): Likewise. * tree-ssa-loop-ivopts.c (get_address_cost): Likewise. From-SVN: r190342
Jakub Jelinek committed -
2012-08-13 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/54112 * include/c_compatibility/complex.h: Undefine complex, always include system's complex.h if present. * testsuite/26_numerics/complex/c99.cc: New testcase. * testsuite/17_intro/headers/c++1998/complex.cc: Likewise. * doc/xml/manual/numerics.xml: Document it. From-SVN: r190340
Marc Glisse committed -
2012-08-13 Richard Guenther <rguenther@suse.de> PR tree-optimization/54200 * tree-ssa-copyrename.c (rename_ssa_copies): Do not add PHI results to another partition if not all PHI arguments have the same partition. * gcc.dg/guality/pr54200.c: New testcase. * gcc.dg/tree-ssa/slsr-8.c: Adjust. From-SVN: r190339
Richard Guenther committed -
* tree-pass.h (write_summary, write_optimization_summary): Remove set and vset arguments. * ipa-cp.c (ipcp_write_summary): Remove set and vset arugments. (write_node_summary_p): Likewise; use the encoder. (ipa_reference_write_optimization_summary): Likewise. * lto-cgraph.c (output_cgraph_opt_summary): Use encoder. (lto_symtab_encoder_new): Initialize in_partition field. (lto_symtab_encoder_delete): Destroy in_partition field. (LCC_NOT_FOUND): Move to lto-streamer.h (lto_symtab_encoder_deref): Likewise. (lto_symtab_encoder_in_partition_p, lto_set_symtab_encoder_in_partition): New functions. (referenced_from_other_partition_p): Rewrite to use encoder. (reachable_from_other_partition_p): Likewise. (referenced_from_this_partition_p): Likewise. (reachable_from_this_partition_p): Likewise. (lto_output_node): Likewise. (lto_output_varpool_node): Likewise. (output_refs): Likewise. (compute_ltrans_boundary): Initialize in_partition fileds of the encoder. (output_symtab): Likewise. (input_refs): Match the changes in output_refs. (output_cgraph_opt_summary_p): Remove set argument. (output_node_opt_summary): Replace set by encoder. (output_cgraph_opt_summary): Remove set argument; use the encoder. * ipa-pure-const.c (pure_const_write_summary): Remove set and vset arguments; use the encoder. * lto-streamer-out.c (lto_output): Remove set and vset argument; use the encoder. (produce_symtab): Likewise. * ipa-inline.h (inline_write_summary): Remove set and vset arguments. * ipa-inline-analysis.c (inline_write_summary): Likewise. * ipa-prop.c (ipa_prop_write_jump_functions): Remove set argument; use encoder. * ipa-prop.h (ipa_prop_write_jump_functions): Likewise. * passes.c (ipa_write_summaries_2): Remove set and vset arguments. (ipa_write_summaries_1): Update. (ipa_write_optimization_summaries_1): Likewise. (ipa_write_optimization_summaries): Likewise. * lto-streamer.h (lto_symtab_encoder_t): Add in_partition. (lto_symtab_encoder_iterator): New type. (lto_symtab_encoder_deref): Make inline. (output_symtab, referenced_from_other_partition_p, reachable_from_other_partition_p, referenced_from_this_partition_p, reachable_from_this_partition_p): Update. (lsei_end_p, lsei_next, lsei_node, lsei_cgraph_node, lsei_varpool_node): New inline functions. (LCC_NOT_FOUND): New macro. (lto_symtab_encoder_deref, lsei_start, lsei_next_in_partition, lsei_start_in_partition, lsei_next_function_in_partition, lsei_start_function_in_partition, lsei_next_variable_in_partition, lsei_start_variable_in_partition): New inline functions. * lto-partition.c (set_referenced_from_other_partition_p, set_reachable_from_other_partition_p, set_referenced_from_this_partition_p): New functions. (lto_promote_cross_file_statics): Use them. From-SVN: r190336
Jan Hubicka committed -
From-SVN: r190335
GCC Administrator committed
-
- 12 Aug, 2012 8 commits
-
-
* config/sh/sh.md (prefetch): Simplify expander. Fix condition to allow SH3. (*prefetch_media): Move insn below expander. (*prefetch): Fix condition to allow SH3. * gcc.target/sh/prefetch.c: Add -m3* to inclusion list. From-SVN: r190332
Oleg Endo committed -
PR target/51244 * config/sh/sh.md: Add splits for inverted compare and branch opportunities. (*cmpeqsi_t): New insn. (cmpgtsi_t, cmpgesi_t): Swap r and N alternatives. (cmpgeusi_t): Use satisfies_constraint_Z. Emit sett insn in replacement insn list and not in the preparation statements. (clrt, sett): Add mt_group attribute. PR target/51244 * gcc.target/sh/pr51244-7.c: New. * gcc.target/sh/pr51244-8.c: New. * gcc.target/sh/pr51244-9.c: New. * gcc.target/sh/pr51244-10.c: New. From-SVN: r190331
Oleg Endo committed -
PR libstdc++/52681 * src/c++11/thread.cc (thread::_M_start_thread): Improve error text when threads are not enabled. From-SVN: r190330
Jonathan Wakely committed -
2012-08-12 Marc Glisse <marc.glisse@inria.fr> PR middle-end/54193 * gimple-pretty-print.c (dump_ternary_rhs): Handle 4 arguments. From-SVN: r190328
Marc Glisse committed -
* gcc.target/sh/pr50749-sf-postinc-1.c: Skip for -m3. Don't skip for -m2e or -m2a. * gcc.target/sh/pr50749-sf-postinc-3.c: Likewise. * gcc.target/sh/pr53511-1.c: Likewise. * gcc.target/sh/pr50749-sf-predec-1.c: Likewise. * gcc.target/sh/pr50749-sf-predec-3.c: Likewise. * gcc.target/sh/pr53512-1.c: Skip for -m3*. * gcc.target/sh/pr53512-3.c: Likewise. * gcc.target/sh/pr21255-3.c: Skip for single precision FPU targets. From-SVN: r190327
Oleg Endo committed -
PR target/39423 * config/sh/predicates.md (mem_index_disp_operand): Check for arith_reg_operand instead of REG_P. PR target/39423 * gcc.c-torture/compile/pr39423-1.c: New. * gcc.c-torture/compile/pr39423-2.c: New. From-SVN: r190326
Oleg Endo committed -
re PR fortran/54221 (Explicit private access specifier signals "unexpected defined but not used [-Wunused-function]" warning) 2012-08-12 Tobias Burnus <burnus@net-b.de> PR fortran/54221 * trans-decl.c (gfc_finish_var_decl, build_function_decl): Fix setting private module vars/procs as TREE_PUBLIC(...) = 0. 2012-08-12 Tobias Burnus <burnus@net-b.de> PR fortran/54221 * vect/vect-gems.f90: Don't mark module vars as PRIVATE as they appear uninitialized on the RHS. * gfortran.dg/public_private_module_6.f90: New. From-SVN: r190325
Tobias Burnus committed -
From-SVN: r190324
GCC Administrator committed
-
- 11 Aug, 2012 7 commits
-
-
* reload1.c (replaced_subreg, gen_reload): Add SECONDARY_MEMORY_NEEDED ifdefs as necessary. From-SVN: r190318
Bernd Schmidt committed -
lto-section-in.c (lto_section_name): Do not use "symtab" as part of symtab_node sectoin name; it confuses plugin. * lto-section-in.c (lto_section_name): Do not use "symtab" as part of symtab_node sectoin name; it confuses plugin. From-SVN: r190317
Jan Hubicka committed -
* config/alpha/alpha.c (alpha_stdarg_optimize_hook): Shift DECL_UID in the va_list_vars bitmap by num_ssa_names. From-SVN: r190316
Uros Bizjak committed -
* config/i386/sse.md (xop integer multiply/add insns): Use register_operand for operand 3 predicate. (xop_phadd<u>bq): Fix vec_select selectors. From-SVN: r190314
Uros Bizjak committed -
2012-08-11 Martin Jambor <mjambor@suse.cz> PR fortran/48636 * ipa-inline.h (condition): New fields offset, agg_contents and by_ref. * ipa-inline-analysis.c (agg_position_info): New type. (add_condition): New parameter aggpos, also store agg_contents, by_ref and offset. (dump_condition): Also dump aggregate conditions. (evaluate_conditions_for_known_args): Also handle aggregate conditions. New parameter known_aggs. (evaluate_properties_for_edge): Gather known aggregate contents. (inline_node_duplication_hook): Pass NULL known_aggs to evaluate_conditions_for_known_args. (unmodified_parm): Split into unmodified_parm and unmodified_parm_1. (unmodified_parm_or_parm_agg_item): New function. (set_cond_stmt_execution_predicate): Handle values passed in aggregates. (set_switch_stmt_execution_predicate): Likewise. (will_be_nonconstant_predicate): Likewise. (estimate_edge_devirt_benefit): Pass new parameter known_aggs to ipa_get_indirect_edge_target. (estimate_calls_size_and_time): New parameter known_aggs, pass it recrsively to itself and to estimate_edge_devirt_benefit. (estimate_node_size_and_time): New vector known_aggs, pass it o functions which need it. (remap_predicate): New parameter offset_map, use it to remap aggregate conditions. (remap_edge_summaries): New parameter offset_map, pass it recursively to itself and to remap_predicate. (inline_merge_summary): Also create and populate vector offset_map. (do_estimate_edge_time): New vector of known aggregate contents, passed to functions which need it. (inline_read_section): Stream new fields of condition. (inline_write_summary): Likewise. * ipa-cp.c (ipa_get_indirect_edge_target): Also examine the aggregate contents. Let all local callers pass NULL for known_aggs. * testsuite/gfortran.dg/pr48636.f90: New test. From-SVN: r190313
Martin Jambor committed -
* lto-cgraph.c (output_cgraph): Rename to ... (output_symtab): ... this one. Update for LTO_section_symtab_nodes. (input_cgraph): Rename to ... (input_symtab): ... this one. Update for LTO_section_symtab_nodes. * lto-streamer-out.c (create_output_block): Do not set section_type. (produce_asm): Likewise. (lto_output_toplevel_asms): Likewise. (produce_asm_for_decls): Likewise. (lto_output): Use output_symtab. * lto-section-in.c (lto_section_name): Update. * lto-section-out.c (lto_destroy_simple_output_block): Remove section_type. * lto-streamer.h (enum lto_section_type): Remove LTO_section_varpool; rename LTO_section_cgraph to LTO_section_symtab_nodes. (struct lto_header): Remove section_type. * lto.c (read_cgraph_and_symbols): Use input_symtab. From-SVN: r190312
Jan Hubicka committed -
Fixes issue 16. From-SVN: r190310
Ian Lance Taylor committed
-