- 16 Nov, 2011 6 commits
-
-
PR bootstrap/51098 * acinclude.m4 (LIBITM_CHECK_AS_AVX): Fix target selector. * configure: Regenerate. From-SVN: r181408
Uros Bizjak committed -
* Fix name in ChangeLog entry. From-SVN: r181407
Paolo Carlini committed -
2011-11-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com> PR middle-end/50325 * expmed.c (store_bit_field_1): Use extract_bit_field on big endian targets if the source cannot be exactly covered by word mode chunks. From-SVN: r181405
Andreas Krebbel committed -
2011-11-16 Tristan Gingold <gingold@adacore.com> * config/alpha/qrnnd.S: Use specific pseudos for VMS. From-SVN: r181403
Tristan Gingold committed -
* config/i386/i386elf.h (ASM_OUTPUT_ASCII): Change STRING_LIMIT to ELF_STRING_LIMIT. From-SVN: r181400
Joseph Myers committed -
From-SVN: r181399
GCC Administrator committed
-
- 15 Nov, 2011 17 commits
-
-
From-SVN: r181395
Richard Henderson committed -
2011-11-15 Paolo Carlini <paolo.carlini@oracle.com> PR libstdc++/51142 * include/debug/unordered_map (unordered_map<>::erase(iterator), unordered_multimap<>::erase(iterator)): Add, consistently with LWG 2059. * include/debug/unordered_set (unordered_set<>::erase(iterator), unordered_multiset<>::erase(iterator)): Likewise. * include/debug/map.h (map<>::erase(iterator)): Likewise. * include/debug/multimap.h (multimap<>::erase(iterator)): Likewise. * include/profile/map.h (map<>::erase(iterator)): Likewise. * include/profile/multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/hashtable.h (_Hashtable<>::erase(iterator)): Likewise. * include/bits/stl_map.h (map<>::erase(iterator)): Likewise. * include/bits/stl_multimap.h (multimap<>::erase(iterator)): Likewise. * include/bits/stl_tree.h (_Rb_tree<>::erase(iterator)): Likewise. * testsuite/23_containers/unordered_map/erase/51142.cc: New. * testsuite/23_containers/multimap/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/set/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multimap/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_set/erase/51142.cc: Likewise. * testsuite/23_containers/multiset/modifiers/erase/51142.cc: Likewise. * testsuite/23_containers/unordered_multiset/erase/51142.cc: Likewise. * testsuite/23_containers/map/modifiers/erase/51142.cc: Likewise. From-SVN: r181394
Paolo Carlini committed -
2011-11-16 Tom de Vries <tom@codesourcery.com> * gcc.dg/pr43864.c: Check for absence of 'Invalid sum' in pre tree-dump. * gcc.dg/pr43864-2.c: Same. * gcc.dg/pr43864-3.c: Same. * gcc.dg/pr43864-4.c: Same. From-SVN: r181393
Tom de Vries committed -
2011-11-16 Tom de Vries <tom@codesourcery.com> * tree-ssa-tail-merge.c (replace_block_by): Add frequency of bb2 to bb1. From-SVN: r181392
Tom de Vries committed -
PR rtl-optimization/51051 PR bootstrap/51086 * function.c (thread_prologue_and_epilogue_insns): Guard emitting return with single_succ_p test. From-SVN: r181391
Alan Modra committed -
* gcc.target/i386/sse2-cvt-vec.c: New test. * gcc.target/i386/avx-cvt-vec.c: Ditto. * gcc.target/i386/avx-cvt-2-vec.c: Ditto. From-SVN: r181390
Uros Bizjak committed -
* config/epiphany/epiphany.md (mov<mode>cc): Fix code to get mode from CMP_OP1 if CMP_OP0 is VOIDmode. From-SVN: r181388
Joern Rennecke committed -
* config/i386/sse.md (vec_pack_trunc_v2df): Optimize sequence for AVX. (vec_pack_sfix_trunc_v2df): Ditto. (vec_pack_sfix_v2df): Ditto. (vec_pack_sfix_trunc_v4df): Generate fix_truncv4dfv4si2 and avx_vec_concatv8si patterns. (vec_pack_sfix_v4df): Generate avx_cvtpd2dq256 and avx_vec_concatv8si patterns. testsuite/ChangeLog: * gcc.target/i386/avx-floor-sfix-2-vec.c: New test. * gcc.target/i386/avx-ceil-sfix-2-vec.c: Ditto. * gcc.target/i386/avx-rint-sfix-2-vec.c: Ditto. * gcc.target/i386/avx-round-sfix-2-vec.c: Ditto. From-SVN: r181387
Uros Bizjak committed -
gcc/testsuite: * lib/gcc-simulate-thread.exp (simulate-thread): Do not run on powerpc*-*-darwin* targets. From-SVN: r181384
Iain Sandoe committed -
gcc/ * c-parser.c (c_parser_transaction_expression): Require parentheses when parsing transaction expressions. gcc/cp/ * parser.c (cp_parser_transaction_expression): Require parentheses when parsing transaction expressions. gcc/testsuite/ * c-c++-common/tm/trxn-expr-3.c: New test. From-SVN: r181383
Torvald Riegel committed -
2011-11-15 Jason Dick <dickphd@gmail.com> PR libstdc++/51133 * include/tr1/poly_hermite.tcc (__poly_hermite_recursion): Fix wrong sign in recursion relation. From-SVN: r181381
Jason Dick committed -
2011-11-15 Tristan Gingold <gingold@adacore.com> * incpath.c (get_added_cpp_dirs): New function. * incpath.h (get_added_cpp_dirs): Declare. * config/vms/vms-c.c (vms_c_register_includes): New function. (vms_std_modules): New variable. * config/vms/vms.h (TARGET_EXTRA_INCLUDES): Define. (vms_c_register_includes): Declare. From-SVN: r181380
Tristan Gingold committed -
2011-11-15 Tristan Gingold <gingold@adacore.com> * c-family/c-pragma.h (pragma_extern_prefix): Declare. * c-family/c-pragma.c (pragma_extern_prefix): Make it public. * config/vms/vms-c.c (saved_extern_prefix): New variable. (vms_pragma_extern_prefix): New function. (vms_c_register_pragma): Register vms_pragma_extern_prefix. From-SVN: r181379
Tristan Gingold committed -
gcc/ PR target/49868 * config/avr/avr.h (ADDR_SPACE_PGM): New address spaces. (REGISTER_TARGET_PRAGMAS): New define. * config/avr/avr-protos.h (avr_mem_pgm_p): New. (avr_load_libgcc_p): New. (asm_output_external_libcall): Remove. (avr_register_target_pragmas): New. (avr_log_t): Add field "progmem". Order alphabetically. * config/avr/avr-log.c (avr_log_set_avr_log): Set avr_log.progmem. * config/avr/avr-c.c (langhooks.h): New include. (avr_register_target_pragmas): New function. Register address space __pgm. (avr_cpu_cpp_builtins): Add built-in define __PGM. * config/avr/avr.c: Include "c-family/c-common.h". (TARGET_LEGITIMATE_ADDRESS_P): Remove define. (TARGET_LEGITIMIZE_ADDRESS): Remove define. (TARGET_ADDR_SPACE_SUBSET_P): Define to... (avr_addr_space_subset_p): ...this new static function. (TARGET_ADDR_SPACE_CONVERT): Define to... (avr_addr_space_convert): ...this new static function. (TARGET_ADDR_SPACE_ADDRESS_MODE): Define to... (avr_addr_space_address_mode): ...this new static function. (TARGET_ADDR_SPACE_POINTER_MODE): Define to... (avr_addr_space_pointer_mode): ...this new static function. (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define to... (avr_addr_space_legitimate_address_p): ...this new static function. (TARGET_ADDR_SPACE_LEGITIMIZE_ADDRESS): Define to... (avr_addr_space_legitimize_address): ...this new static function. (avr_mode_code_base_reg_class): Handle address spaces. (avr_regno_mode_code_ok_for_base_p): Ditto. (lpm_addr_reg_rtx, lpm_reg_rtx, all_regs_rtx): New static variables. (avr_option_override): Initialize them. (output_reload_in_const): Use all_regs_rtx. Fix signedness of loop variables. (avr_pgm_segment): New static function. (avr_decl_pgm_p, avr_mem_pgm_p): New static functions. (avr_out_lpm, avr_out_lpm_no_lpmx): New static functions. (output_movqi, output_movhi, output_movsisf, avr_out_movpsi): Call avr_out_lpm to handle loads from progmem. (avr_load_libgcc_p): New static function. (avr_progmem_p): Test if decl is in flash. (avr_pgm_pointer_const_p): New static function. (avr_nonconst_pointer_addrspace): New static function. (avr_pgm_check_var_decl): New static function. (avr_insert_attributes): Use it. Change error message to report cause (progmem or address space) when code wants to write to flash. (avr_section_type_flags): Unset section flag SECTION_BSS for data in progmem. * config/avr/predicates.md (nop_general_operand): New predicate. (nox_general_operand): New predicate. * config/avr/avr.md (LPM_REGNO): New define_constant. (load<mode>_libgcc): New expander. (*load.<mode>.libgcc): New insn. (mov<mode>): Handle loads from non-generic AS. (movmemhi): Ditto. Propagate address space information to newly created MEM. (movqi_insn, *movhi, *movpsi, *movsi, *movsf): Change predicate #1 to nox_general_operand. (ashrqi3, ashrhi3, ashrsi3): Change predicate #1 to nop_general_operand. (ashlqi3, *ashlqi3, ashlhi3, ashlsi3): Ditto. (lshrqi3, *lshrqi3, lshrhi3, lshrsi3): Ditto. (split-lpmx): New split. (*ashlhi3_const, *ashlsi3_const, *ashrhi3_const, *ashrsi3_const, *lshrhi3_const, *lshrsi3_const): Indent, unquote C. libgcc/ PR target/49868 * config/avr/t-avr (LIB1ASMFUNCS): Add _load_3, _load_4. * config/avr/lib1funcs.S (__load_3, __load_4, __xload_2): New functions. From-SVN: r181378
Georg-Johann Lay committed -
* ipa-cp.c (ipa_value_from_jfunc): Make global. (ipa_cst_from_jfunc): Remove, use ipa_value_from_jfunc instead. (get_indirect_edge_target): Rename, make global. (devirtualization_time_bonus, estimate_local_effects,) (ipcp_discover_new_direct_edges): Update. * ipa-inline-analysis.c (evaluate_conditions_for_edge): Generalize to also handle types. Rename to ... (evaluate_properties_for_edge): Use instead of evaluate_conditions_for_edge. (estimate_edge_devirt_benefit): New function. (estimate_calls_size_and_time): Use it. (estimate_node_size_and_time, estimate_ipcp_clone_size_and_time,) (inline_merge_summary): Update. (do_estimate_edge_time, do_estimate_edge_growth): Update. Calculate parameter information at the call site and pass it on to subroutines. * tree-inline.c (estimate_num_insns): Distinguish between direct and indirect calls. (init_inline_once): Set size and time costs or indirect calls. * tree-inline.h (eni_weights): Add indirect_call_cost. From-SVN: r181377
Maxim Kuvyrkov committed -
From-SVN: r181376
GCC Administrator committed -
2011-11-15 Tom de Vries <tom@codesourcery.com> PR tree-optimization/51005 * tree-ssa-tail-merge.c (delete_basic_block_same_succ): Rename to mark_basic_block_deleted. (update_worklist): Inline purge_bbs. (purge_bbs, unlink_virtual_phi, update_vuses, vop_at_entry) (delete_block_update_dominator_info): Remove. (replace_block_by): Remove update_vops parameter. Partially evaluate for update_vops == false. (apply_clusters): Remove update_vops parameter. Remove update_vops argument in replace_block_by call. (update_debug_stmts): Remove MAY_HAVE_DEBUG_STMTS test. (tail_merge_optimize): Remove update_vops argument to apply_clusters. Remove call to purge_bbs. Add calls to calculate_dominance_info and free_dominance_info. Add MAY_HAVE_DEBUG_STMTS before calling update_debug_stmts. Mark vop var for renaming, if necessary. From-SVN: r181372
Tom de Vries committed
-
- 14 Nov, 2011 17 commits
-
-
PR rtl-optimization/51051 * cfgrtl.c (cfg_layout_can_merge_blocks_p): Return FALSE if the move would cause fallthrough into the exit block. From-SVN: r181371
Bernd Schmidt committed -
The conversion of the __sync post-reload splitters was half complete. Since there are nearly no restrictions on what may appear between LL and SC, expand all the patterns immediatly. This allows significantly easier code generation for subword atomic operations. From-SVN: r181370
Richard Henderson committed -
* config/i386/sse.md (round<mode>2): Use register_operand for operand 1 predicate. (round<mode>2_sfix): Ditto. (round<mode>2_vec_pack_sfix): Ditto for operand 1 and operand 2. From-SVN: r181369
Uros Bizjak committed -
From-SVN: r181368
Ian Lance Taylor committed -
From-SVN: r181367
Nathan Sidwell committed -
gcc/testsuite: * g++.dg/tm/template-1.C: Add cleanup-tree-dump. Fix typo in comment. From-SVN: r181366
Torvald Riegel committed -
gcc: 2011-11-14 Jan Hubicka <jh@suse.cz> * config/i386/i386.c (core cost model): Correct pasto. From-SVN: r181365
Jan Hubicka committed -
* gcc.target/i386/avx-recip-vec.c: New test. * gcc.target/i386/avx-lrintf-vec.c: Ditto. * gcc.target/i386/avx-lrint-vec.c: Ditto. * gcc.target/i386/avx-ceilf-vec.c: Include sse4_1-ceilf-vec.c. * gcc.target/i386/avx-ceil-vec.c: Include sse4_1-ceil-vec.c. * gcc.target/i386/avx-floorf-vec.c: Include sse4_1-floorf-vec.c. * gcc.target/i386/avx-floor-vec.c: Include sse4_1-floor-vec.c. * gcc.target/i386/avx-rintf-vec.c: Include sse4_1-rintf-vec.c. * gcc.target/i386/avx-rint-vec.c: Include sse4_1-rint-vec.c. * gcc.target/i386/avx-roundf-vec.c: Include sse4_1-roundf-vec.c. * gcc.target/i386/avx-round-vec.c: Include sse4_1-round-vec.c. * gcc.target/i386/avx-truncf-vec.c: Include sse4_1-truncf-vec.c. * gcc.target/i386/avx-trunc-vec.c: Include sse4_1-trunc-vec.c. * gcc.target/i386/avx-copysignf-vec.c: Include sse-copysignf-vec.c. * gcc.target/i386/avx-copysign-vec.c: Include sse2-copysign-vec.c. From-SVN: r181364
Uros Bizjak committed -
PR c++/51107 * typeck.c (check_literal_operator_args): Add processing_specialization to check for void template fn. Test for exact arity for non-template fn. From-SVN: r181363
Ed Smith-Rowland committed -
* config/i386/sse.md (round<mode>2_sfix): New expander. (round<mode>2_vec_pack_sfix): Ditto. (<sse4_1>_round<ssemodesuffix>_sfix<avxsizesuffix>): Ditto. (<sse4_1>_round<ssemodesuffix>_vec_pack_sfix<avxsizesuffix>): Ditto. * config/i386/builtin-types.def (V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND, V8SI_FTYPE_V4DF_V4DF_ROUND): New builtin types. * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_{FLOORPD,CEILPD,ROUNDPD_AZ}_VEC_PACK_SFIX{,256} and IX86_BUILTIN_{FLOORPS,CEILPS,ROUNDPS_AZ}_SFIX{,256} defines. (bdesc_args): Add __builtin_ia32_{floorpd,ceilpd}_vec_pack_sfix{,256}, __builtin_ia32_roundpd_az_vec_pack_sfix{,256}, __builtin_ia32_{floorps,ceilps}_sfix{,256}and __builtin_ia32_roundps_az_sfix{,256} descriptions. (ix86_expand_sse_round_vec_pack_sfix): New. (ix86_expand_args_builtin): Handle V4SI_FTYPE_V4SF_ROUND, V8SI_FTYPE_V8SF_ROUND, V4SI_FTYPE_V2DF_V2DF_ROUND and V8SI_FTYPE_V4DF_V4DF_ROUND types. Check last argument of CODE_FOR_sse4_1_roundpd_vec_pack_sfix, CODE_FOR_sse4_1_roundps_sfix, CODE_FOR_avx_roundpd_vec_pack_sfix256 and CODE_FOR_avx_roundps_sfix256. (ix86_builtin_vectorized_function): Handle BUILT_IN_{I,L,LL}FLOOR{,F}, BUILT_IN_{I,L,LL}CEIL{,F} and BUILT_IN_{I,L,LL}ROUND{,F} testsuite/ChangeLog: * gcc.target/i386/sse4_1-floor-sfix-vec.c: New test. * gcc.target/i386/sse4_1-floorf-sfix-vec.c: Ditto. * gcc.target/i386/avx-floor-sfix-vec.c: Ditto. * gcc.target/i386/avx-floorf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceil-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceil-sfix-vec.c: Ditto. * gcc.target/i386/avx-ceilf-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-round-sfix-vec.c: Ditto. * gcc.target/i386/sse4_1-roundf-sfix-vec.c: Ditto. * gcc.target/i386/avx-round-sfix-vec.c: Ditto. * gcc.target/i386/avx-roundf-sfix-vec.c: Ditto. From-SVN: r181361
Uros Bizjak committed -
2011-11-14 H.J. Lu <hongjiu.lu@intel.com> * testsuite/lib/libitm.exp: Check ia32 instead of ilp32. From-SVN: r181360
H.J. Lu committed -
PR c++/6936 PR c++/25994 PR c++/26256 PR c++/30195 * search.c (lookup_field_1): Look through USING_DECL. (lookup_field_r): Call lookup_fnfields_slot instead of lookup_fnfields_1. * semantics.c (finish_member_declaration): Remove the check that prevents USING_DECLs from being verified by pushdecl_class_level. Call add_method for using declarations that designates functions if the using declaration is in a template class. Set DECL_IGNORED_P on class-scope using declarations. * typeck.c (build_class_member_access_expr): Handle USING_DECLs. * class.c (check_field_decls): Keep using declarations. (add_method): Remove two diagnostics about conflicting using declarations. * parser.c (cp_parser_nonclass_name): Handle USING_DECLs. * decl.c (start_enum): Call xref_tag whenever possible. * cp-tree.h (strip_using_decl): Declare, and reident the previous function. * name-lookup.c (strip_using_decl): New function. (supplement_binding_1): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Also check that the target decl and the target bval does not refer to the same declaration. Allow pushing an enum multiple times in a template class. Adjustment to diagnose using redeclarations. Call diagnose_name_conflict. (push_class_level_binding): Call strip_using_decl on decl and bval. Perform most of the checks with USING_DECLs stripped. Return true if both decl and bval refer to USING_DECLs and are dependent. (diagnose_name_conflict): New function. From-SVN: r181359
Fabien Chêne committed -
PR middle-end/50598 * cgraph.h (varpool_externally_visible_p): Declare. (varpool_add_new_variable): Declare. * tree-emultls.c (get_emutls_init_templ_addr, new_emutls_decl): Use varpool_add_new_variable. * ipa.c (varpool_externally_visible_p): Export. * varpool.c (varpool_add_new_variable): New function. From-SVN: r181358
Jan Hubicka committed -
* gcc.target/i386/sw-1.c: Force rep;movsb. * config/i386/i386.h (processor_costs): Add second dimension to stringop_algs array. * config/i386/i386.c (cost models): Initialize second dimension of stringop_algs arrays. (core_cost): New costs based on generic64 costs with updated stringop values. (promote_duplicated_reg): Add support for vector modes, add declaration. (promote_duplicated_reg_to_size): Likewise. (processor_target): Set core costs for core variants. (expand_set_or_movmem_via_loop_with_iter): New function. (expand_set_or_movmem_via_loop): Enable reuse of the same iters in different loops, produced by this function. (emit_strset): New function. (expand_movmem_epilogue): Add epilogue generation for bigger sizes, use SSE-moves where possible. (expand_setmem_epilogue): Likewise. (expand_movmem_prologue): Likewise for prologue. (expand_setmem_prologue): Likewise. (expand_constant_movmem_prologue): Likewise. (expand_constant_setmem_prologue): Likewise. (decide_alg): Add new argument align_unknown. Fix algorithm of strategy selection if TARGET_INLINE_ALL_STRINGOPS is set; Skip sse_loop (decide_alignment): Update desired alignment according to chosen move mode. (ix86_expand_movmem): Change unrolled_loop strategy to use SSE-moves. (ix86_expand_setmem): Likewise. (ix86_slow_unaligned_access): Implementation of new hook slow_unaligned_access. * config/i386/i386.md (strset): Enable half-SSE moves. * config/i386/sse.md (vec_dupv4si): Add expand for vec_dupv4si. (vec_dupv2di): Add expand for vec_dupv2di. Co-Authored-By: Jan Hubicka <jh@suse.cz> From-SVN: r181357
Zolotukhin Michael committed -
PR bootstrap/51094 PR middle-end/51116 * config/elfos.h (TARGET_ASM_INTERNAL_LABEL): Remove. * varasm.c (default_elf_internal_label): Remove. From-SVN: r181355
Dimitrios Apostolou committed -
* gcov.c (generate_results): Add missing semicolon and correct indent. From-SVN: r181353
Kai Tietz committed -
gcc/testsuite: PR testsuite/51059 * gcc.misc-tests/gcov-14.c (dg-options): Adjust to use dg-additional-options. From-SVN: r181350
Iain Sandoe committed
-