1. 13 Apr, 2011 23 commits
    • Unify handling of runtime support functions. · b39c10b8
      This introduces the new approach, and rewrites the lowering
      code which uses runtime functions.  The code which calls
      runtime functions at GENERIC conversion time is not yet
      rewritten.
      
      From-SVN: r172396
      Ian Lance Taylor committed
    • re PR c++/48594 (Rejects valid with pointer-to-member in template) · 516d9427
      	PR c++/48594
      	* decl2.c (build_offset_ref_call_from_tree): Fix calling a functor
      	or pointer to (non-member) function.
      
      From-SVN: r172394
      Jason Merrill committed
    • tree-flow.h (struct gimple_df): Make free_ssanames a VEC. · 4b1a4694
      	* tree-flow.h (struct gimple_df): Make free_ssanames a VEC.
      	* tree-ssanames.c (fini_ssanames): VEC_free it.
      	(make_ssa_name_fn): Update for VECness of free_ssanames.
      	(release_ssa_name, release_dead_ssa_names): Likewise.
      	* tree.h (struct tree_ssa_name): Include tree_typed instead of
      	tree_common.
      	* tree.c (initialize_tree_contains_struct): Mark TS_SSA_NAME as
      	TS_TYPED instead of TS_COMMON.
      
      From-SVN: r172393
      Nathan Froyd committed
    • postreload-gcse.c (gcse_after_reload_main): Add calls to statistics_counter_event. · 4da3b811
      	* postreload-gcse.c (gcse_after_reload_main): Add calls to
      	statistics_counter_event.
      	* tree-ssa-copyrename.c (stats): Define.
      	(rename_ssa_copies): Count coalesced SSA_NAMEs.  Add call to
      	statistics_counter_event.
      	* tree-ssa-math-opts.c (reciprocal_stats, sincos_stats): Define.
      	(bswap_stats, widen_mul_stats): Define.
      	(insert_reciprocals): Increment rdivs_inserted.
      	(execute_cse_reciprocals): Zeroize reciprocal_stats.  Increment
      	rfuncs_inserted.  Add calls to statistics_counter_event.
      	(execute_cse_sincos_1): Increment inserted.
      	(execute_cse_sincos): Zeroize sincos_stats.  Add call to
      	statistics_counter_event.
      	(execute_optimize_bswap): Zeroize bswap_stats.  Increment fields
      	of bswap_stats.  Add calls to statistics_counter_event.
      	(convert_mult_to_widen): Increment widen_mults_inserted.
      	(convert_plusminus_to_widen): Increment maccs_inserted.
      	(convert_mult_to_fma): Increment fmas_inserted.
      	(execute_optimize_widening_mul): Zeroize widen_mul_stats.  Add
      	calls to statistics_counter_event.
      
      From-SVN: r172392
      Nathan Froyd committed
    • re PR rtl-optimization/48455 (Huge code size regression for all ARM configurations) · 89fa552a
      2011-04-13  Vladimir Makarov  <vmakarov@redhat.com>
      
      	PR rtl-optimization/48455
      	* ira-costs.c (find_costs_and_classes): Use i_mem_cost instead of
      	`temp_costs->mem_cost'.
      
      From-SVN: r172389
      Vladimir Makarov committed
    • ipa-inline.h: New file. · 03dfc36d
      	* ipa-inline.h: New file.
      	* ipa-inline-analysis.c: New file. Broken out of ...
      	* ipa-inline.c: ... this file; update toplevel comment;
      	include ipa-inline.h
      	(inline_summary): Move to ipa-inline.h
      	(cgraph_estimate_edge_time): Rename to estimate_edge_time; move to
      	ipa-inline-analysis.c.
      	(cgraph_estimate_time_after_inlining): Rename to estiamte_time_after_inlining;
      	move to ipa-inline-analysis.c
      	(cgraph_estimate_edge_growth): Move to ipa-inline-analysis.c; rename
      	to estimate_edge_growth.
      	(cgraph_estimate_size_after_inlining): Move to ipa-inline-analysis.c;
      	rename to estimate_size_after_inlining.
      	(cgraph_mark_inline_edge): Update for new naming convention.
      	(cgraph_check_inline_limits): Likewise.
      	(cgraph_edge_badness): Likewise.
      	(cgraph_decide_recursive_inlining): Likewise.
      	(cgraph_decide_inlining_of_small_functions): Likewise.
      	(cgraph_decide_inlining_incrementally): Likewise.
      	(cgraph_estimate_growth): Rename to estimate_growth; move to ipa-inline-analysis.c.
      	(eliminated_by_inlining_prob): Move to ipa-inline-analysis.c.
      	(estimate_function_body_sizes): Move to ipa-inline-analysis.c.
      	(compute_inline_parameters): Likewise.
      	(compute_inline_parameters_for_current): Likewise.
      	(pass_inline_parameters): Likewise.
      	(inline_indirect_intraprocedural_analysis): Likewise.
      	(analyze_function): Rename to inline_analyze_function; likewise.
      	(add_new_function): Move to ipa-inline-analysis.c.
      	(inline_generate_summary): Likewise.
      	(inline_read_summary): Likewise.
      	(inline_write_summary): Likewise.
      	* Makefile.in (ipa-inline-analysis.c): New file.
      
      From-SVN: r172388
      Jan Hubicka committed
    • configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check. · 7673c962
      	* configure.ac (gcc_cv_as_sparc_gotdata_op): Remove GNU ld check.
      	* configure: Regenerate.
      
      From-SVN: r172387
      Rainer Orth committed
    • tree.h (struct tree_int_cst, [...]): Include tree_typed instead of tree_common. · 9698252f
      	* tree.h (struct tree_int_cst, struct real_value): Include tree_typed
      	instead of tree_common.
      	(struct tree_fixed_cst, struct tree_string, struct tree_complex):
      	Likewise.
      	* tree.c (initialize_tree_contains_struct): Mark such nodes as being
      	TS_TYPED rather than TS_COMMON.
      	* print-tree.c (print_node) [STRING_CST]: Don't print TREE_CHAIN.
      
      From-SVN: r172386
      Nathan Froyd committed
    • Fix ChangeLog entry for PR target/45263 · 86d83530
      From-SVN: r172385
      Georg-Johann Lay committed
    • re PR target/45263 (registers used in __do_global_ctors can get clobbered) · 3a7bfdd5
      	PR target/45263
      	* config/avr/libgcc.S (__do_global_ctors, __do_global_dtors): Save
      	R20 around calls of __tablejump_elpm__
      
      From-SVN: r172384
      Georg-Johann Lay committed
    • MAINTAINERS (Write After Approval): Add myself. · 3a78d31f
      2011-04-13  Georg-Johann Lay  <avr@gjlay.de>
      
      	* MAINTAINERS (Write After Approval): Add myself.
      
      From-SVN: r172382
      Georg-Johann Lay committed
    • re PR middle-end/48591 (OpenMP ICE with atomics on __float128 in 32-bit only i686 cc1) · 20790697
      	PR middle-end/48591
      	* omp-low.c (expand_omp_atomic_fetch_op): Return false if decl is
      	NULL.
      	(expand_omp_atomic_pipeline): Return false if cmpxchg is NULL.
      
      	* gcc.dg/gomp/pr48591.c: New test.
      
      	* testsuite/libgomp.c/pr48591.c: New test.
      
      From-SVN: r172379
      Jakub Jelinek committed
    • re PR regression/48570 (wrong subscription with -std=c++0x) · 9c76a19e
      	PR c++/48570
      	* semantics.c (cxx_eval_array_reference): Handle reading from
      	wchar_t, char16_t and char32_t STRING_CST.
      
      	* g++.dg/cpp0x/constexpr-wstring1.C: New test.
      	* g++.dg/cpp0x/constexpr-wstring2.C: New test.
      
      From-SVN: r172377
      Jakub Jelinek committed
    • re PR c++/48574 (ICE) · 91d8b4bd
      Fix PR c++/48574
      
      gcc/cp/
      
      	* class.c (fixed_type_or_null): We cannot determine the dynamic
      	type of a reference variable if its initializer is dependent.
      
      gcc/testsuite/
      
      	* g++.dg/template/dependent-expr7.C: New test case.
      
      From-SVN: r172375
      Dodji Seketeli committed
    • pt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if… · ba9c349e
      pt.c (tsubst_copy_and_build): Don't complain about unqualified lookup failing if we're still in a template.
      
      	* pt.c (tsubst_copy_and_build) [CALL_EXPR]: Don't complain about
      	unqualified lookup failing if we're still in a template.
      
      From-SVN: r172372
      Jason Merrill committed
    • dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next. · 094d7661
      	* dwarf2out.c (struct dw_cfi_struct): Remove member dw_cfi_next.
      	(dw_cfi_ref): Add DEF_VEC_P and some DEF_VEC_ALLOC_Ps.
      	(cfi_vec): New typedef.
      	(struct dw_fde_struct): Make dw_fde_cfi a cfi_vec. Replace
      	dw_fde_switch_cfi with an integer dw_fde_switch_cfi_index.
      	(cie_cfi_vec): New static variable.
      	(cie_cfi_head): Delete.
      	(add_cfi): Accept a cfi_vec * as first argument. All callers and
      	declaration changed. Use vector rather than list operations.
      	(new_cfi): Don't initialize the dw_cfi_next field.
      	(add_fde_cfi): Allocate cie_cfi_vec if necessary. Use vector
      	rather than list operations.
      	(lookup_cfa): Use vector rather than list operations.
      	(output_cfis): New argument upto. Accept a cfi_vec rather than
      	a dw_cfi_ref list head as argument. All callers changed.
      	Iterate over the vector using upto as a maximum index.
      	(output_all_cfis): New static function.
      	(output_fde): Use vector rather than list operations. Use the
      	new upto argument for output_cfis rather than manipulating a
      	list.
      	(dwarf2out_begin_prologue): Change initializations to match
      	new struct members.
      	(dwarf2out_switch_text_section): Initialize dw_fde_switch_cfi_index
      	from the vector length rather than searching for the end of a list.
      	Use output_all_cfis.
      	(convert_cfa_to_fb_loc_list): Use vector rather than list operations.
      
      From-SVN: r172369
      Bernd Schmidt committed
    • rx.md (movmemsi): Do not use this pattern when volatile pointers are involved. · 673a5740
      	* config/rx/rx.md (movmemsi): Do not use this pattern when
      	volatile pointers are involved.
      
      From-SVN: r172368
      Nick Clifton committed
    • sse2-init-v2di-2.c: Update scan pattern. · 4ea1a162
      	* gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern.
      
      From-SVN: r172366
      Uros Bizjak committed
    • sse.md (pinsrbits): Remove. · 1ee8b298
      	* config/i386/sse.md (pinsrbits): Remove.
      	(sse2_packsswb): Merge with *avx_packsswb.
      	(sse2_packssdw): Merge with *avx_packssdw.
      	(sse2_packuswb): Merge with *avx_packuswb.
      	(vec_interleave_highv16qi): Merge with *avx_interleave_highv16qi.
      	(vec_interleave_lowv16qi): Merge with *avx_interleave_lowv16qi.
      	(vec_interleave_highv8hi): Merge with *avx_interleave_highv8hi.
      	(vec_interleave_lowv8hi): Merge with *avx_interleave_lowv8hi.
      	(vec_interleave_highv4si): Merge with *avx_interleave_highv4si.
      	(vec_interleave_lowv4si): Merge with *avx_interleave_lowv4si.
      	(*sse4_1_pinsrb): Merge with *avx_pinsr<ssevecsize>.
      	(*sse2_pinsrw): Merge with *avx_pinsr<ssevecsize>.
      	(*sse4_1_pinsrd): Merge with *avx_pinsr<ssevecsize>.
      	(*sse4_1_pinsrq): Merge with *avx_pinsrq.
      	(sse2_loadld): Merge with *avx_loadld.
      	(*vec_extractv2di_1_rex64): Merge with *vec_extractv2di_1_rex64_avx.
      	(*vec_extractv2di_1_sse2): Merge with *vec_extractv2di_1_avx.
      	(*vec_concatv2si_sse4_1): Merge with *vec_concatv2si_avx.
      	(*vec_concatv2di_rex64_sse4_1): Merge with *vec_concatv2di_rex64_avx.
      	(vec_concatv2di): Merge with *vec_concatv2di_avx.
      
      From-SVN: r172365
      Uros Bizjak committed
    • Fix minor formatting issues · b4867846
      From-SVN: r172364
      Eric Botcazou committed
    • In gcc/objc/: 2011-04-13 Nicola Pero <nicola.pero@meta-innovation.com> · 1328049a
      In gcc/objc/:
      2011-04-13  Nicola Pero  <nicola.pero@meta-innovation.com>
      
      	* objc-act.c (build_keyword_selector): Use get_identifier_with_length
      	instead of get_identifier.
      
      From-SVN: r172360
      Nicola Pero committed
    • ada-tree.h (union lang_tree_node): Check for TS_COMMON before calling TREE_CHAIN. · 81f653d6
      gcc/ada/
      	* gcc-interface/ada-tree.h (union lang_tree_node): Check for
      	TS_COMMON before calling TREE_CHAIN.
      	* gcc-interface/misc.c (gnat_init_ts): New function.
      	(LANG_HOOKS_INIT_TS): Define.
      
      gcc/
      	* c-decl.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      	* print-tree.c (print_node): Likewise.
      	* tree-inline.c (copy_tree_r): Likewise.
      	* c-lang.c (LANG_HOOKS_INIT_TS): Define.
      	* lto-streamer-in.c (lto_input_tree_pointers): Check for TS_TYPED
      	instead of TS_COMMON.
      	* lto-streamer-out.c (lto_output_tree_pointers): Likewise.
      	* tree.c (initialize_tree_contains_struct): Handle TS_TYPED.
      	(copy_node_stat): Zero TREE_CHAIN only if necessary.
      	(MARK_TS_BASE, MARK_TS_TYPED, MARK_TS_COMMON): Move these...
      	(MARK_TS_DECL_COMMON, MARK_TS_DECL_COMMON, MARK_TS_DECL_WRTL):
      	...and these...
      	(MARK_TS_DECL_WITH_VIS, MARK_TS_DECL_NON_COMMON): ...and these...
      	* tree.h: ...here.
      	(TREE_CHAIN): Check for a TS_COMMON structure.
      	(TREE_TYPE): Check for a TS_TYPED structure.
      
      gcc/c-family/
      	* c-common.h (c_common_init_ts): Declare.
      	* c-common.c (c_common_init_ts): Define.
      
      gcc/cp/
      	* cp-lang.c (cp_init_ts): Call cp_common_init_ts.  Move
      	tree_contains_struct initialization to...
      	* cp-objcp-common.c (cp_common_init_ts): ...here.  Use MARK_*
      	macros.
      	* cp-objcp-common.h (cp_common_init_ts): Declare.
      	* cp-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/fortran/
      	* f95-lang.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/go/
      	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/java/
      	* java-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      
      gcc/lto/
      	* lto-tree.h (union lang_tree_node): Check for TS_COMMON before
      	calling TREE_CHAIN.
      	* lto.c (lto_fixup_common): Likewise.
      
      gcc/objc/
      	* objc-lang.c (objc_init_ts): Move code for this function...
      	* objc-act.c (objc_common_init_ts): ...here. Define.
      	* objc-act.h (objc_common_init_ts): Declare.
      
      gcc/objcp/
      	* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
      	cp_common_init_ts.
      
      From-SVN: r172359
      Nathan Froyd committed
    • Daily bump. · d8347947
      From-SVN: r172353
      GCC Administrator committed
  2. 12 Apr, 2011 17 commits