- 15 Oct, 2012 17 commits
-
-
/cp 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50080 (again) * parser.c (cp_parser_optional_template_keyword): When -pedantic and C++98 mode restore pre-Core/468 behavior. /testsuite 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50080 (again) * g++.dg/parse/tmpl-outside2.C: Tweak, error in C++98. * g++.dg/parse/tmpl-outside1.C: Likewise. * g++.dg/template/qualttp18.C: Likewise. * g++.old-deja/g++.pt/memtemp87.C: Likewise. * g++.old-deja/g++.pt/overload13.C: Likewise. From-SVN: r192470
Paolo Carlini committed -
From-SVN: r192469
Uros Bizjak committed -
* config/i386/sse.md (UNSPEC_MOVU): Remove. (UNSPEC_LOADU): New. (UNSPEC_STOREU): Ditto. (<sse>_movu<ssemodesuffix><avxsizesuffix>): Split to ... (<sse>_loadu<ssemodesuffix><avxsizesuffix>): ... this and ... (<sse>_storeu<ssemodesuffix><avxsizesuffix>) ... this. (<sse2>_movdqu<avxsizesuffix>): Split to ... (<sse2>_loaddqu<avxsizesuffix>): ... this and ... (<sse2>_storedqu<avxsizesuffix>): ... this. (*sse4_2_pcmpestr_unaligned): Update. (*sse4_2_pcmpistr_unaligned): Ditto. * config/i386/i386.c (ix86_avx256_split_vector_move_misalign): Use gen_avx_load{dqu,ups,upd}256 to load from unaligned memory and gen_avx_store{dqu,ups,upd}256 to store to unaligned memory. (ix86_expand_vector_move_misalign): Use gen_sse_loadups or gen_sse2_load{dqu,upd} to load from unaligned memory and gen_sse_loadups or gen_sse2_store{dqu,upd}256 to store to unaligned memory. (struct builtin_description bdesc_spec) <IX86_BUILTIN_LOADUPS>: Use CODE_FOR_sse_loadups. <IX86_BUILTIN_LOADUPD>: Use CODE_FOR_sse2_loadupd. <IX86_BUILTIN_LOADDQU>: Use CODE_FOR_sse2_loaddqu. <IX86_BUILTIN_STOREUPS>: Use CODE_FOR_sse_storeups. <IX86_BUILTIN_STOREUPD>: Use CODE_FOR_sse2_storeupd. <IX86_BUILTIN_STOREDQU>: Use CODE_FOR_sse2_storedqu. <IX86_BUILTIN_LOADUPS256>: Use CODE_FOR_avx_loadups256. <IX86_BUILTIN_LOADUPD256>: Use CODE_FOR_avx_loadupd256. <IX86_BUILTIN_LOADDQU256>: Use CODE_FOR_avx_loaddqu256. <IX86_BUILTIN_STOREUPS256>: Use CODE_FOR_avx_storeups256. <IX86_BUILTIN_STOREUPD256>: Use CODE_FOR_avx_storeupd256. <IX86_BUILTIN_STOREDQU256>: Use CODE_FOR_avx_storedqu256. testsuite/ChangeLog: * gcc.target/i386/avx256-unaligned-load-1.c: Update asm scan patterns. * gcc.target/i386/avx256-unaligned-load-2.c: Ditto. * gcc.target/i386/avx256-unaligned-load-3.c: Ditto. * gcc.target/i386/avx256-unaligned-load-4.c: Ditto. * gcc.target/i386/avx256-unaligned-store-1.c: Ditto. * gcc.target/i386/avx256-unaligned-store-2.c: Ditto. * gcc.target/i386/avx256-unaligned-store-3.c: Ditto. * gcc.target/i386/avx256-unaligned-store-4.c: Ditto. From-SVN: r192468
Uros Bizjak committed -
/cp 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50080 * parser.c (cp_parser_optional_template_keyword): Implement Core/468, allow outside template. /testsuite 2012-10-15 Paolo Carlini <paolo.carlini@oracle.com> PR c++/50080 * g++.dg/parse/tmpl-outside2.C: New. * g++.dg/parse/tmpl-outside1.C: Adjust. * g++.dg/template/qualttp18.C: Likewise. * g++.old-deja/g++.pt/memtemp87.C: Likewise. * g++.old-deja/g++.pt/overload13.C: Likewise. From-SVN: r192465
Paolo Carlini committed -
While reading alias.c, it seemed to me that some comments could use some cleanups. gcc/ * alias.c: Cleanup comments. From-SVN: r192463
Dodji Seketeli committed -
2012-10-15 Marc Glisse <marc.glisse@inria.fr> PR tree-optimization/54915 gcc/ * tree-ssa-forwprop.c (simplify_vector_constructor): Check argument's type. gcc/testsuite/ * gcc.dg/tree-ssa/pr54915.c: New testcase. From-SVN: r192461
Marc Glisse committed -
2012-10-15 Richard Biener <rguenther@suse.de> * data-streamer.h (bp_pack_string_with_length): New function. (bp_pack_string): Likewise. (bp_unpack_indexed_string): Likewise. (bp_unpack_string): Likewise. * data-streamer-out.c (bp_pack_string_with_length): Likewise. (bp_pack_string): Likewise. * data-streamer-in.c (bp_unpack_indexed_string): Likewise. (bp_unpack_string): Likewise. * tree-streamer-out.c (pack_ts_translation_unit_decl_value_fields): Pack TRANSLATION_UNIT_LANGUAGE here, not ... (write_ts_translation_unit_decl_tree_pointers): ... here. Remove. (streamer_pack_tree_bitfields): Adjust. (streamer_write_tree_body): Likewise. * tree-streamer-in.c (unpack_ts_translation_unit_decl_value_fields): Unpack TRANSLATION_UNIT_LANGUAGE here, not ... (lto_input_ts_translation_unit_decl_tree_pointers): ... here. Remove. (unpack_value_fields): Adjust. (streamer_read_tree_body): Likewise. From-SVN: r192460
Richard Biener committed -
* config/gthr.m4: New. Define GCC_AC_THREAD_HEADER. * libgcc/configure: Regenerate. * libgcc/configure.ac: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/Makefile.in: Regenerate. * libstdc++-v3/acinclude.m4: Replace code with GCC_AC_THREAD_HEADER use. * libstdc++-v3/configure: Regenerate. * libstdc++-v3/doc/Makefile.in: Regenerate. * libstdc++-v3/include/Makefile.am: Regenerate. * libstdc++-v3/include/Makefile.in: Rename variable. * libstdc++-v3/libsupc++/Makefile.in: Regenerate. * libstdc++-v3/po/Makefile.in: Regenerate. * libstdc++-v3/python/Makefile.in: Regenerate. * libstdc++-v3/src/Makefile.in: Regenerate. * libstdc++-v3/src/c++11/Makefile.in: Regenerate. * libstdc++-v3/src/c++98/Makefile.in: Regenerate. * libstdc++-v3/testsuite/Makefile.in: Regenerate. From-SVN: r192458
Pavel Chupin committed -
* genoutput.c (process_template): Process '*' in '@' alternatives. * doc/md.texi (node Output Statement): Provide example for the above. From-SVN: r192457
J"orn Rennecke committed -
From-SVN: r192456
Joern Rennecke committed -
2012-10-15 Richard Guenther <rguenther@suse.de> PR tree-optimization/54920 * tree-ssa-pre.c (create_expression_by_pieces): Properly allocate temporary storage for all NARY elements. * gcc.dg/torture/pr54920.c: New testcase. From-SVN: r192454
Richard Guenther committed -
From-SVN: r192453
Joern Rennecke committed -
* expr.c (expand_expr_real_1) <VIEW_CONVERT_EXPR>: Do not unnecessarily copy the object in the MEM_P case. From-SVN: r192452
Eric Botcazou committed -
tree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here. 2012-10-15 Richard Guenther <rguenther@suse.de> * tree-streamer-out.c (streamer_pack_tree_bitfields): Back BINFO_BASE_ACCESSES and CONSTRUCTOR lengths here. (streamer_write_chain): Write TREE_CHAIN as null-terminated list. (write_ts_exp_tree_pointers): Adjust. (write_ts_binfo_tree_pointers): Likewise. (write_ts_constructor_tree_pointers): Likewise. * tree-streamer-in.c (streamer_read_chain): Read TREE_CHAIN as null-terminated list. (unpack_value_fields): Unpack BINFO_BASE_ACCESSES and CONSTRUCTOR lengths and materialize the arrays. (lto_input_ts_exp_tree_pointers): Adjust. (lto_input_ts_binfo_tree_pointers): Likewise. (lto_input_ts_constructor_tree_pointers): Likewise. From-SVN: r192451
Richard Guenther committed -
re PR target/54908 (misc regressions on emutls targets remain from dynamic initialization of non-function-local TLS variables) PR target/54908 * libsupc++/atexit_thread.cc: Rewrite to keep the cleanup list with get/setspecific. Destroy the key on dlclose. From-SVN: r192449
Jason Merrill committed -
* cp-tree.h (cpp0x_warn_str): Add CPP0X_INHERITING_CTORS. (DECL_INHERITED_CTOR_BASE, SET_DECL_INHERITED_CTOR_BASE): New. (special_function_kind): Add sfk_inheriting_constructor. * class.c (add_method): An inheriting ctor is hidden by a user-declared one. (one_inheriting_sig, one_inherited_ctor): New. (add_implicitly_declared_members): Handle inheriting ctors. * error.c (maybe_warn_cpp0x): Handle CPP0X_INHERITING_CTORS. * init.c (emit_mem_initializers): Don't set LOOKUP_DEFAULTED for an inheriting constructor. * method.c (type_has_trivial_fn): Handle sfk_inheriting_constructor. (type_set_nontrivial_flag): Likewise. (add_one_base_init): Split out from... (do_build_copy_constructor): ...here. Handle inheriting constructors. (locate_fn_flags): Handle a list of arg types. (synthesized_method_walk): Handle inheriting constructors. (maybe_explain_implicit_delete): Likewise. (deduce_inheriting_ctor): New. (implicitly_declare_fn): Handle inheriting constructors. * name-lookup.c (push_class_level_binding_1): An inheriting constructor does not declare the base's name. (do_class_using_decl): Allow inheriting constructors. * pt.c (template_parms_to_args): Split from current_template_args. (add_inherited_template_parms): New. (tsubst_decl): Handle inheriting constructors. * tree.c (special_function_p): Handle inheriting constructors. Co-Authored-By: Ville Voutilainen <ville.voutilainen@gmail.com> From-SVN: r192448
Jason Merrill committed -
From-SVN: r192445
GCC Administrator committed
-
- 14 Oct, 2012 9 commits
-
-
* config/mmix/mmix.c (mmix_opposite_regno): Handle the return-value register too. From-SVN: r192441
Hans-Peter Nilsson committed -
PR rtl-optimization/38711 * df.h (df_get_live_out, df_get_live_in): Make static inline functions. * df-problems.c (df_get_live_out, df_get_live_in): Moved to df.h. * ira-lives.c (process_bb_node_lives): Use df_get_live_out instead of DF_LR_OUT. * ira-build.c (create_bb_allocnos): Likewise. (create_loop_allocnos): Likewise, and use df_get_live_in instead of DF_LR_IN. * ira-emit.c (generate_edge_moves): Likewise. (add_ranges_and_copies): Likewise. * ira-color.c (ira_loop_edge_freq): Use df_get_live_out instead of DF_LR_OUT, and df_get_live_in instead of DF_LR_IN. * ira.c (mark_elimination): Update DF_LR and DF_LIVE. (build_insn_chain): Use df_get_live_out instead of DF_LR_OUT. (do_reload): Remove the DF_LIVE problem for -O1. From-SVN: r192440
Steven Bosscher committed -
gcc/ PR rtl-optimization/54919 * loop-unroll.c (struct var_to_expand): Remove accum_pos field. (analyze_insn_to_expand_var): Do not record accum_pos. (expand_var_during_unrolling): Use validate_replace_rtx_group to perform replacement of all references to SET_DEST (set) with the new register, including references in REG_EQUAL notes. (insert_var_expansion_initialization): Insert initializatio insns at the bottom of the pre-header of the loop. testsuite/ PR rtl-optimization/54919 * gcc.dg/pr54919.c: New testcase. From-SVN: r192439
Steven Bosscher committed -
2012-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53581 * g++.dg/template/crash113.C: New. From-SVN: r192438
Paolo Carlini committed -
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * cfgloopanal.c (single_likely_exit): New function. From-SVN: r192434
Jan Hubicka committed -
tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * tree-ssa-loop-niter.c (estimate_numbers_of_iterations_loop): Do not predict loops with multiple exits realistically. * cfgloopanal.c (single_likely_exit): New function. * gcc.dg/unroll_5.c: New testcase. From-SVN: r192433
Jan Hubicka committed -
re PR c++/52643 (Stack overflow ICE in cc1plus when templates, exceptions, and continue out of try used) 2012-10-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/52643 * g++.dg/opt/pr52643.C: New. From-SVN: r192432
Paolo Carlini committed -
* config/alpha/alpha.md: Remove empty predicates and/or constraints. * config/alpha/sync.md: Ditto. From-SVN: r192431
Uros Bizjak committed -
From-SVN: r192430
GCC Administrator committed
-
- 13 Oct, 2012 8 commits
-
-
* config/alpha/alpha.md (I24MODE): New mode iterator. (any_divmod): New code iterator. (<code>si3): Macroize expander from {div,mod,udiv,umod}si3 using any_divmod code iterator. (<code>si3): Macroize expander from {div,mod,udiv,umod}di3 using any_divmod code iterator. (extendqi<mode>2): Macroize insn from extendqi{hi,si}2 using I24MODE mode iterator. (unaligned_store<mode>): Macroize expander from unaligned_store{qi,hi} using I12MODE mode iterator. (mov<mode>): Macroize expander from mov{qi,hi} using I12MODE mode iterator. From-SVN: r192427
Uros Bizjak committed -
PR rtl-optimization/54871 * loop-iv.c (simplify_using_initial_values): When scanning previous basic blocks, prune the recorded conditions if the current insn was not used to make a replacement. * loop-unroll.c (decide_unroll_constant_iterations): Clean up message. (unroll_loop_constant_iterations): Clarify head comment. (decide_unroll_runtime_iterations): Clean up message. (unroll_loop_runtime_iterations): Clarify head comment. (decide_peel_simple): Clean up message. (peel_loop_simple): Clarify head comment. (decide_unroll_stupid): Clean up message. (unroll_loop_stupid): Clarify head comment. From-SVN: r192426
Eric Botcazou committed -
PR gcov-profile/44728 * gcov.c (create_file_names): When stripping extension only look at base name. From-SVN: r192425
Andreas Schwab committed -
* loop-iv.c (determine_max_iter): Fix handling of AND. (iv_number_of_iterations): Record upper bounds as unsigned values. From-SVN: r192424
Jan Hubicka committed -
* ira.c (ira): Set current_loops to &ira_loops before recording loop exits. Release recorded exits and loops early. From-SVN: r192423
Steven Bosscher committed -
builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). 2012-10-13 Chung-Lin Tang <cltang@codesourcery.com> * builtins.c (expand_builtin_set_thread_pointer): Use create_input_operand() instead of create_fixed_operand(). From-SVN: r192422
Chung-Lin Tang committed -
* config/alpha/alpha.md (FMODE): New mode iterator. (modesuffix): Handle SF and DF modes. (opmode): New mode attribute. (abs<mode>2): Macroize insn from abs{sf,df}2 using FMODE mode iterator. (*nabs<mode>2): Macroize insn from *nabs{sf,df}2 using FMODE mode iterator. (neg<mode>2): Macroize insn from neg{sf,df}2 using FMODE mode iterator. (copysign<mode>3): Macroize insn from copysign{sf,df}3 using FMODE mode iterator. (*ncopysign<mode>3): Macroize insn from *ncopysign{sf,df}3 using FMODE mode iterator. (*add<mode>3_ieee): Macroize insn from *add{sf,df}_ieee using FMODE mode iterator. (add<mode>3): Macroize insn from add{sf,df}3 using FMODE mode iterator. (*sub<mode>3_ieee): Macroize insn from *sub{sf,df}3_ieee using FMODE mode iterator. (sub<mode>3): Macroize insn from sub{sf,df}3 using FMODE mode iterator. (*mul<mode>3_ieee): Macroize insn from *mul{sf,df}3_ieee using FMODE mode iterator. (mul<mode>3): Macroize insn from mul{sf,df}3 using FMODE mode iterator. (*div<mode>3_ieee): Macroize insn from *div{sf,df}3_ieee using FMODE mode iterator. (div<mode>3): Macroize insn from div{sf,df}3 using FMODE mode iterator. (*sqrt<mode>2_ieee): Macroize insn from *sqrt{sf,df}2_ieee using FMODE mode iterator. (sqrt<mode>2): Macroize insn from sqrt{sf,df}2 using FMODE mode iterator. (*mov<mode>cc_internal): Macroize insn from *mov{sf,df}cc_internal using FMODE mode iterator. (mov<mode>cc): Macroize expander from mov{sf,df}cc using FMODE mode iterator. From-SVN: r192421
Uros Bizjak committed -
From-SVN: r192420
GCC Administrator committed
-
- 12 Oct, 2012 6 commits
-
-
PR target/54602 * config/sh/sh.md: Correct define_delay for return insns. (*movsi_pop): Delete. PR target/54602 * gcc.target/sh/pr54602-1.c: New. * gcc.target/sh/pr54602-2.c: New. * gcc.target/sh/pr54602-3.c: New. * gcc.target/sh/pr54602-4.c: New. From-SVN: r192417
Oleg Endo committed -
PR target/54680 * config/sh/sh.c (sh_fsca_sf2int, sh_fsca_int2sf): Fix swapped comments. * config/sh/predicates.md (fpul_operand): Add comment. (fpul_fsca_operand, fsca_scale_factor): New predicates. * config/sh/sh.md (fsca): Move below sincossf3 expander. Convert to insn_and_split. Use fpul_fsca_operand and fsca_scale_factor predicates. Simplify fpul operand in splitter. PR target/54680 * gcc.target/sh/pr54680.c: New. From-SVN: r192416
Oleg Endo committed -
* tree-ssa-threadupdate.c (def_split_header_continue_p): Do not escape the loop. From-SVN: r192414
Jan Hubicka committed -
From-SVN: r192413
Jan Hubicka committed -
* gcc.dg/vect/pr48765.c: Skip for conflicting options, don't specify -m64. From-SVN: r192412
Janis Johnson committed -
* gcc.target/arm/div64-unwinding.c: Skip, don't xfail, for GNU/Linux. From-SVN: r192410
Janis Johnson committed
-