1. 14 Aug, 2012 9 commits
    • cfgexpand.c (expand_used_vars): Use virtual_operand_p. · ea057359
      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
    • re PR middle-end/54146 (Very slow compile with attribute((flatten))) · 1c8f7377
      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
    • gimplify.c (create_tmp_from_val): Mark temporary with DECL_GIMPLE_REG_P here ... · 2ad728d2
      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
    • tree-into-ssa.c: Include diagnostic-core.h. · d8d707b4
      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
    • re PR fortran/40881 ([F03] warn for obsolescent features) · f3e7b9d6
      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
    • re PR fortran/54234 (-Wconversion or -Wconversion-extra should warn for CMPLX(dp,dp)) · 2e60cfaa
      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
    • tree-into-ssa.c (update_ssa): Verify we do not rename symbols that are already partly in SSA form. · 343c5d46
      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
    • re PR middle-end/53411 (ICE in move_unallocated_pseudos) · dbabddf3
      	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
    • Daily bump. · 2ad74f71
      From-SVN: r190372
      GCC Administrator committed
  2. 13 Aug, 2012 16 commits
    • Fix patch merge error in previous commit. · 0fc4dd09
      From-SVN: r190360
      Steven Bosscher committed
    • tree-ssa-pre.c (do_regular_insertion): Add FIXME markers at points of… · c302207e
      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
    • re PR libstdc++/54185 (condition_variable not properly destructed) · 2942db63
      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
    • 2012-08-10 François Dumont <fdumont@gcc.gnu.org> · 181a5a13
      	    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
    • validate_failures.py (ExpirationDate): Tidy comment. · a327112f
      	* testsuite-management/validate_failures.py (ExpirationDate): Tidy
      	comment.
      
      From-SVN: r190354
      Diego Novillo committed
    • validate_failures.py (ParseSummary): Fix comment. · 6baa7225
      	* testsuite-management/validate_failures.py (ParseSummary): Fix
      	comment.
      
      From-SVN: r190352
      Diego Novillo committed
    • Implement support for expiring expected results in validate_failures.py. · c577382e
      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
    • i386.h (FIXED_REGISTERS): Do not mark REX registers here. · 621bc046
      	* 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… · 391886c8
      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
    • re PR driver/54210 (gcc unable to detect -mprfchw flag in bulldozer machines) · 9006f7f3
      	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
    • tree-cfg.c (print_loop): Avoid ICEing for loops marked for removal and loops with multiple latches. · 755a1ca5
      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
    • re PR c/53968 (integer undefined behaviors in GCC) · eb87c7c4
      	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
    • re PR libstdc++/54112 (including complex.h and complex fails in C++03) · 6a9573cc
      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
    • re PR tree-optimization/54200 (copyrename generates wrong debuginfo) · 61f7b9ae
      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, [...]): Remove set and vset arguments. · f27c1867
      
      	* 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
    • Daily bump. · 56142d02
      From-SVN: r190335
      GCC Administrator committed
  3. 12 Aug, 2012 8 commits
  4. 11 Aug, 2012 7 commits
    • reload1.c (replaced_subreg, gen_reload): Add SECONDARY_MEMORY_NEEDED ifdefs as necessary. · 3f5bd0f5
      	* 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… · 15d0e7a0
      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
    • alpha.c (alpha_stdarg_optimize_hook): Shift DECL_UID in the va_list_vars bitmap by num_ssa_names. · fcecf84f
      	* 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
    • sse.md (xop integer multiply/add insns): Use register_operand for operand 3 predicate. · 920ac804
      	* 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
    • re PR fortran/48636 (Enable more inlining with -O2 and higher) · 8810cc52
      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 ... · ab96cc5b
      
      	* 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
    • compiler: Reject type switch using non-interface type. · 3af76e5a
      Fixes issue 16.
      
      From-SVN: r190310
      Ian Lance Taylor committed