- 14 Apr, 2011 15 commits
-
-
gcc/ * tree-vectorizer.h (vect_strided_store_supported): Add a HOST_WIDE_INT argument. (vect_strided_load_supported): Likewise. (vect_permute_store_chain): Return void. (vect_transform_strided_load): Likewise. (vect_permute_load_chain): Delete. * tree-vect-data-refs.c (vect_strided_store_supported): Take a count argument. Check that the count is a power of two. (vect_strided_load_supported): Likewise. (vect_permute_store_chain): Return void. Update after above changes. Assert that the access is supported. (vect_permute_load_chain): Likewise. (vect_transform_strided_load): Return void. * tree-vect-stmts.c (vectorizable_store): Update calls after above interface changes. (vectorizable_load): Likewise. (vect_analyze_stmt): Don't check for strided powers of two here. From-SVN: r172428
Richard Sandiford committed -
2011-04-14 Richard Guenther <rguenther@suse.de> PR tree-optimization/48590 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Handle BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE. (call_may_clobber_ref_p_1): Handle BUILT_IN_ALLOCA and BUILT_IN_STACK_SAVE. * tree-ssa-dce.c (propagate_necessity): Handle BUILT_IN_ALLOCA, BUILT_IN_STACK_SAVE and BUILT_IN_STACK_RESTORE. From-SVN: r172427
Richard Guenther committed -
In gcc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * c-parser.c (c_parser_objc_class_declaration): Updated call to objc_declare_class. In gcc/c-family/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * stub-objc.c (objc_declare_class): Updated argument name. In gcc/cp/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * parser.c (cp_parser_objc_class_declaration): Updated for change in objc_declare_class(). In gcc/objc/: 2011-04-14 Nicola Pero <nicola.pero@meta-innovation.com> * objc-act.c (objc_declare_class): Changed to take a single identifier as argument instead of a tree list. This means callers don't have to build temporary tree lists to call this function. (synth_module_prologue): Updated calls to objc_declare_class. From-SVN: r172425
Nicola Pero committed -
2011-04-14 Richard Guenther <rguenther@suse.de> * tree.h (get_object_alignment_1): Declare. * builtins.c (get_object_alignment_1): Split out worker from ... (get_object_alignment): ... here. * fold-const.c (get_pointer_modulus_and_residue): Use get_object_alignment_1. * gcc.dg/fold-bitand-4.c: Move ... * c-c++-common/fold-bitand-4.c: ... here. Adjust slightly. From-SVN: r172424
Richard Guenther committed -
gcc/ * tree-vectorizer.h (vect_create_data_ref_ptr): Add an extra type parameter. * tree-vect-data-refs.c (vect_create_data_ref_ptr): Add an aggr_type parameter. Generalise code to handle arrays as well as vectors. (vect_setup_realignment): Update accordingly. * tree-vect-stmts.c (vectorizable_store): Likewise. (vectorizable_load): Likewise. From-SVN: r172423
Richard Sandiford committed -
gcc/ * tree-vect-stmts.c (vectorizable_load): Allocate and free dr_chain within the per-copy loop. From-SVN: r172422
Richard Sandiford committed -
From-SVN: r172421
Richard Sandiford committed -
gcc/ * tree-vect-stmts.c (vectorizable_load): Print the number of copies in the dump file. From-SVN: r172420
Richard Sandiford committed -
gcc/ * doc/options.texi (Negative): Explicitly mention that the Negative chain must be circular. From-SVN: r172419
Richard Sandiford committed -
gcc/ada/ * gcc-interface/utils.c (gnat_poplevel): Use block_chainon. gcc/ * function.h (block_chainon): Declare. * function.c (block_chainon): Define. gcc/cp/ * decl.c (poplevel): Use block_chainon. gcc/fortran// * f95-lang.c (poplevel): Use BLOCK_CHAIN and block_chainon. gcc/java/ * decl.c (poplevel): Use BLOCK_CHAIN and block_chainon. From-SVN: r172418
Nathan Froyd committed -
* gcc.target/avr/trivial.c: Fix line endings. Make PROGMEM variables const. * gcc.target/avr/torture/trivial.c: Ditto. From-SVN: r172417
Georg-Johann Lay committed -
* config/avr/avr.c: ("insn-codes.h", "optabs.h", "langhooks.h"): New Includes (avr_init_builtins, avr_expand_builtin, avr_expand_delay_cycles, avr_expand_unop_builtin, avr_expand_binop_builtin ): New functions. (avr_builtin_id): New enum (struct avr_builtin_description): New struct (bdesc_1arg, bdesc_2arg): New arrays describing some RTL builtins. (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN): Define. * config/avr/avr.md (UNSPEC_FMUL, UNSPEC_FMULS, UNSPEC_FMULSU, UNSPECV_ENABLE_IRQS, UNSPECV_NOP, UNSPECV_SLEEP, UNSPECV_WDR, UNSPECV_DELAY_CYCLES): new enumeration values (UNSPEC_SEI, UNSPEC_CLI): Remove enumeration values ("enable_interrupt"): Use UNSPECV_ENABLE_IRQS ("disable_interrupt"): Use UNSPECV_ENABLE_IRQS ("*rotlqi3_4"): rename insn to "rotlqi3_4" ("delay_cycles_1", "delay_cycles_2", "delay_cycles_3", "delay_cycles_4", "nopv", "sleep", "wdr", "fmul", "fmuls", "fmulsu"): New insns * config/avr/avr-c.c: fix line endings (avr_cpu_cpp_builtins): New builtin defines: __BUILTIN_AVR_NOP, __BUILTIN_AVR_SEI, __BUILTIN_AVR_CLI, __BUILTIN_AVR_WDR, __BUILTIN_AVR_SLEEP, __BUILTIN_AVR_SWAP, __BUILTIN_AVR_DELAY_CYCLES, __BUILTIN_AVR_FMUL, __BUILTIN_AVR_FMULS, __BUILTIN_AVR_FMULSU. * doc/extend.texi (AVR Built-in Functions): New node (Target Builtins): Add documentation of AVR built-in functions. Co-Authored-By: Eric Weddington <eric.weddington@atmel.com> Co-Authored-By: Georg-Johann Lay <avr@gjlay.de> From-SVN: r172416
Anatoly Sokolov committed -
PR target/44643 * config/avr/avr.c (avr_insert_attributes): Leave TREE_READONLY alone. Error if non-const data has attribute progmem. From-SVN: r172415
Georg-Johann Lay committed -
* tree.h (struct tree_constructor): Include tree_typed instead of tree_common. * tree.c (initialize_tree_contains_struct): Mark TS_CONSTRUCTOR as TS_TYPED instead of TS_COMMON. From-SVN: r172409
Nathan Froyd committed -
From-SVN: r172408
GCC Administrator committed
-
- 13 Apr, 2011 25 commits
-
-
* config/i386/sse.md (*sse2_uavgv16qi3): Merge with *avx_uavgv16qi3. (*sse2_uavgv8hi3): Merge with *avx_uavgv8hi3. (sse2_psadbw): Merge with *avx_psadbw. (ssse3_phaddwv8hi3): Merge with *avx_phaddwv8hi3. (ssse3_phadddv4si3): Merge with *avx_phadddv4si3. (ssse3_phaddswv8hi3): Merge with *avx_phaddswv8hi3. (ssse3_phsubwv8hi3): Merge with *avx_phsubwv8hi3. (ssse3_phsubdv4si3): Merge with *avx_phsubdv4si3. (ssse3_phsubswv8hi3): Merge with *avx_phsubswv8hi3. (ssse3_pmaddubsw128): Merge with *avx_pmaddubsw128. (*ssse3_pmulhrswv8hi3): Merge with *avx_pmulhrswv8hi3. (ssse3_pshufbv16qi3): Merge with *avx_pshufbv16qi3. (ssse3_psign<mode>3): Merge with *avx_psign<mode>3. (ssse3_palignrti): Merge with *avx_palignrti. From-SVN: r172403
Uros Bizjak committed -
Change defer stack from tree to Expression. From-SVN: r172402
Ian Lance Taylor committed -
2011-04-13 Daniel Krugler <daniel.kruegler@googlemail.com> Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/48526 * include/std/type_traits (struct is_constructible): Re-implement, according to n3290. (struct is_default_constructible): Add. (struct is_destructible): Likewise. (struct __and_, __or_, __not_): Add and use throughout; reorder some facilities, other minor tweaks. * testsuite/util/testsuite_tr1.h: Add test types. * testsuite/20_util/is_constructible/value-2.cc: New. * testsuite/20_util/is_default_constructible/value.cc: Likewise. * testsuite/20_util/is_default_constructible/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_default_constructible/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_destructible/value.cc: Likewise. * testsuite/20_util/is_destructible/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_destructible/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/make_signed/requirements/typedefs_neg.cc: Adjust dg-error line numbers. * testsuite/20_util/make_unsigned/requirements/typedefs_neg.cc: Likewise. * testsuite/20_util/declval/requirements/1_neg.cc: Likewise. * testsuite/20_util/ratio/cons/cons_overflow_neg.cc: Likewise. 2011-04-13 Paolo Carlini <paolo.carlini@oracle.com> * testsuite/20_util/is_function/value.cc: Add, adapted from the tr testsuite. * testsuite/20_util/is_function/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_function/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_function/24808.cc: Likewise. * testsuite/20_util/is_function/35637.cc: Likewise. * testsuite/20_util/is_object/value.cc: Likewise. * testsuite/20_util/is_object/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_object/requirements/explicit_instantiation.cc: : Likewise. * testsuite/20_util/is_object/24808.cc: Likewise. * testsuite/20_util/is_compound/value.cc: Likewise. * testsuite/20_util/is_compound/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_compound/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_member_object_pointer/value.cc: Likewise. * testsuite/20_util/is_member_object_pointer/requirements/ typedefs.cc: Likewise. * testsuite/20_util/is_member_object_pointer/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_fundamental/value.cc: Likewise. * testsuite/20_util/is_fundamental/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_fundamental/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_member_pointer/value.cc: Likewise. * testsuite/20_util/is_member_pointer/requirements/typedefs.cc: Likewise. * testsuite/20_util/is_member_pointer/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_member_function_pointer/value.cc: Likewise. * testsuite/20_util/is_member_function_pointer/ requirements/typedefs.cc: Likewise. * testsuite/20_util/is_member_function_pointer/requirements/ explicit_instantiation.cc: Likewise. * testsuite/20_util/is_convertible/value.cc: Minor tweak, adjust Copyright years. From-SVN: r172401
Paolo Carlini committed -
From-SVN: r172398
Joseph Myers committed -
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 -
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. * 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. * 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 -
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. * 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. * configure: Regenerate. From-SVN: r172387
Rainer Orth committed -
* 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 -
From-SVN: r172385
Georg-Johann Lay committed -
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 -
2011-04-13 Georg-Johann Lay <avr@gjlay.de> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r172382
Georg-Johann Lay committed -
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 -
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 -
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 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. (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 -
* config/rx/rx.md (movmemsi): Do not use this pattern when volatile pointers are involved. From-SVN: r172368
Nick Clifton committed -
* gcc.target/i386/sse2-init-v2di-2.c: Update scan pattern. From-SVN: r172366
Uros Bizjak committed -
* 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 -
From-SVN: r172364
Eric Botcazou committed -
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
-