aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2014-10-14AVX-512. 59/n. Add vptest[n]m, ucmp, cmpeq insn patterns.Alexander Ivchenko3-18/+122
gcc/ * config/i386/i386.c (ix86_expand_args_builtin): Handle CODE_FOR_avx512vl_cmpv4di3_mask, CODE_FOR_avx512vl_cmpv8si3_mask, CODE_FOR_avx512vl_ucmpv4di3_mask, CODE_FOR_avx512vl_ucmpv8si3_mask, CODE_FOR_avx512vl_cmpv2di3_mask, CODE_FOR_avx512vl_cmpv4si3_mask, CODE_FOR_avx512vl_ucmpv2di3_mask, CODE_FOR_avx512vl_ucmpv4si3_mask. * config/i386/sse.md (define_insn "avx512f_ucmp<mode>3<mask_scalar_merge_name>"): Delete. "<avx512>_ucmp<VI12_AVX512VL:mode>3<mask_scalar_merge_name>"):New. (define_insn "<avx512>_ucmp<VI48_AVX512VL:mode>3<mask_scalar_merge_name>"):Ditto. (define_expand "<avx512>_eq<mode>3<mask_scalar_merge_name>"): Ditto. (define_insn "<avx512>_eq<mode>3<mask_scalar_merge_name>_1"): Ditto. (define_insn "<avx512>_gt<mode>3<mask_scalar_merge_name>"): Ditto. (define_insn "<avx512>_testm<mode>3<mask_scalar_merge_name>"): Ditto. (define_insn "<avx512>_testnm<mode>3<mask_scalar_merge_name>"): Ditto. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r216177
2014-10-14AVX-512. 58/n. Add vpmul[u]dq insn patterns.Alexander Ivchenko2-34/+69
gcc/ * config/i386/sse.md (define_expand "vec_widen_umult_even_v8si<mask_name>"): Add masking. (define_insn "*vec_widen_umult_even_v8si<mask_name>"): Ditto. (define_expand "vec_widen_umult_even_v4si<mask_name>"): Ditto. (define_insn "*vec_widen_umult_even_v4si<mask_name>"): Ditto. (define_expand "vec_widen_smult_even_v8si<mask_name>"): Ditto. (define_insn "*vec_widen_smult_even_v8si<mask_name>"): Ditto. (define_expand "sse4_1_mulv2siv2di3<mask_name>"): Ditto. (define_insn "*sse4_1_mulv2siv2di3<mask_name>"): Ditto. (define_insn "avx512dq_mul<mode>3<mask_name>"): New. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r216176
2014-10-14AVX-512. 57/n. Extend blend/cmp/brodcast insn patterns.Alexander Ivchenko2-24/+135
gcc/ * config/i386/sse.md (define_insn "avx512f_blendm<mode>"): Delete. (define_insn "<avx512>_blendm<VI48_AVX512VL:mode>"): New. (define_insn "<avx512>_blendm<VI12_AVX512VL:mode>"): Ditto.. (define_mode_attr cmp_imm_predicate): Add V8SF, V4DF, V8SI, V4DI, V4SF, V2DF, V4SI, V2DI, V32HI, V64QI, V16HI, V32QI, V8HI, V16QI modes. (define_insn "avx512f_cmp<mode>3<mask_scalar_merge_name><round_saeonly_name>"): Remove. (define_insn "<avx512>_cmp<VI48_AVX512VL:mode>3<mask_scalar_merge_name><round_saeonly_name>"): New. (define_insn "<avx512>_cmp<VI12_AVX512VL:mode>3<mask_scalar_merge_name><round_saeonly_name>"): Ditto. (define_insn "<mask_codefor>avx512f_vec_dup<mode><mask_name>"): Delete. (define_insn "<avx512>_vec_dup<V48_AVX512VL:mode><mask_name>"): New. (define_insn "<avx512>_vec_dup<V12_AVX512VL:mode><mask_name>"): Ditto. (define_insn "<mask_codefor>avx512f_vec_dup_gpr<mode><mask_name>"): Delete. (define_insn "<mask_codefor><avx512>_vec_dup_gpr<VI48_AVX512VL:mode><mask_name>"): New. (define_insn "<mask_codefor><avx512>_vec_dup_gpr<VI12_AVX512VL:mode><mask_name>"): Ditto. (define_insn·"<mask_codefor>avx512f_vec_dup_mem<mode><mask_name>"): Delete. (define_insn "<mask_codefor><avx512>_vec_dup_mem<VI48_AVX512VL:mode><mask_name>"): New. (define_insn "<mask_codefor><avx512>_vec_dup_mem<VI12_AVX512VL:mode><mask_name>"): Ditto. Co-Authored-By: Andrey Turetskiy <andrey.turetskiy@intel.com> Co-Authored-By: Anna Tikhonova <anna.tikhonova@intel.com> Co-Authored-By: Ilya Tocar <ilya.tocar@intel.com> Co-Authored-By: Ilya Verbin <ilya.verbin@intel.com> Co-Authored-By: Kirill Yukhin <kirill.yukhin@intel.com> Co-Authored-By: Maxim Kuznetsov <maxim.kuznetsov@intel.com> Co-Authored-By: Michael Zolotukhin <michael.v.zolotukhin@intel.com> From-SVN: r216175
2014-10-14re PR tree-optimization/63512 (ICE: error: virtual use of statement not ↵Richard Biener4-0/+59
up-to-date) 2014-10-14 Richard Biener <rguenther@suse.de> PR tree-optimization/63512 * tree-ssa-pre.c (create_expression_by_pieces): Mark stmts modified. * g++.dg/torture/pr63512.C: New testcase. From-SVN: r216174
2014-10-14re PR target/63260 ([SH] fabs, fneg do not need fp-mode setting and do not ↵Oleg Endo4-58/+68
use fpscr) gcc/ PR target/63260 * config/sh/sh.md (negsf2, negsf2_i, negdf2, negdf2_i, abssf2, abssf2_i, absdf2, absdf2_i): Remove fp_mode attribute. Remove use of FPSCR. (negsf2_i): Rename to *negsf2_i. (abssf2_i): Rename to *abssf2_i. (negdf2_i): Rename to *negdf2_i. (absdf2_i): Rename to *absdf2_i. gcc/testsuite/ PR target/63260 * gcc.target/sh/pr63260.c: New. From-SVN: r216173
2014-10-14Daily bump.GCC Administrator1-1/+1
From-SVN: r216172
2014-10-14ira.c (struct equivalence): Change member "is_arg_equivalence" and "replace" ↵Felix Yang2-14/+60
into boolean bitfields... gcc/ * ira.c (struct equivalence): Change member "is_arg_equivalence" and "replace" into boolean bitfields; turn member "loop_depth" into a short integer; add new member "no_equiv" and "reserved". (no_equiv): Set no_equiv of struct equivalence if register is marked as having no known equivalence. (update_equiv_regs): Check all definitions for a multiple-set register to make sure that the RHS have the same value. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r216169
2014-10-13c-parser.c (c_parser_all_labels): New function to replace the duplicate code.Anthony Brandon2-15/+21
gcc/c/ChangeLog: 2014-10-13 Anthony Brandon <anthony.brandon@gmail.com> * c-parser.c (c_parser_all_labels): New function to replace the duplicate code. (c_parser_statement): Call the new function. From-SVN: r216165
2014-10-13Handle cfa adjustments in csa passRichard Henderson4-7/+367
* combine-stack-adj.c (no_unhandled_cfa): New. (maybe_merge_cfa_adjust): New. (combine_stack_adjustments_for_block): Use them. From-SVN: r216161
2014-10-13* Makefile.in (TAGS): Tag ../include files.Aldy Hernandez2-0/+5
From-SVN: r216160
2014-10-13rs6000.h (DBX_REGISTER_NUMBER): Pass format argument to ↵Ulrich Weigand11-23/+74
rs6000_dbx_register_number. * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Pass format argument to rs6000_dbx_register_number. (DWARF_FRAME_REGNUM): Redefine as identity map. (DWARF2_FRAME_REG_OUT): Call rs6000_dbx_register_number. * config/rs6000/rs6000-protos.h (rs6000_dbx_register_number): Update. * config/rs6000/rs6000.c (rs6000_dbx_register_number): Add format argument to handle .debug_frame and .eh_frame directly. Always translate SPE high register numbers. Add special treatment for CR, but only in .debug_frame. Respect RS6000_USE_DWARF_NUMBERING. * config/rs6000/sysv.h (DBX_REGISTER_NUMBER): Do not undefine. * config/rs6000/freebsd.h (DBX_REGISTER_NUMBER): Remove. (RS6000_USE_DWARF_NUMBERING): Define. * config/rs6000/freebsd64.h (DBX_REGISTER_NUMBER): Remove. (RS6000_USE_DWARF_NUMBERING): Define. * config/rs6000/netbsd.h (DBX_REGISTER_NUMBER): Remove. (RS6000_USE_DWARF_NUMBERING): Define. * config/rs6000/lynx.h (DBX_REGISTER_NUMBER): Remove. (RS6000_USE_DWARF_NUMBERING): Define. * config/rs6000/aix.h (RS6000_USE_DWARF_NUMBERING): Define. * config/rs6000/darwin.h (RS6000_USE_DWARF_NUMBERING): Define. From-SVN: r216157
2014-10-13Add missing in r216154 test.Kirill Yukhin1-0/+13
From-SVN: r216156
2014-10-13i386.c (ix86_address_cost): Lower cost for when address contains GOT register.Evgeny Stupachenko2-0/+14
gcc/ * config/i386/i386.c (ix86_address_cost): Lower cost for when address contains GOT register. From-SVN: r216155
2014-10-13re PR target/8340 (ICE on x86 inline asm w/ -fPIC)Kirill Yukhin18-92/+289
gcc/ PR target/8340 PR middle-end/47602 PR rtl-optimization/55458 * config/i386/i386.c (ix86_use_pseudo_pic_reg): New. (ix86_init_pic_reg): New. (ix86_select_alt_pic_regnum): Add check on pseudo register. (ix86_save_reg): Likewise. (ix86_expand_prologue): Remove PIC register initialization now performed in ix86_init_pic_reg. (ix86_output_function_epilogue): Add check on pseudo register. (set_pic_reg_ever_alive): New. (legitimize_pic_address): Replace df_set_regs_ever_live with new set_pic_reg_ever_alive. (legitimize_tls_address): Likewise. (ix86_pic_register_p): New check. (ix86_delegitimize_address): Add check on pseudo register. (ix86_expand_call): Insert move from pseudo PIC register to ABI defined REAL_PIC_OFFSET_TABLE_REGNUM. (TARGET_INIT_PIC_REG): New. (TARGET_USE_PSEUDO_PIC_REG): New. * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Return INVALID_REGNUM if pic_offset_table_rtx exists. * doc/tm.texi.in (TARGET_USE_PSEUDO_PIC_REG, TARGET_INIT_PIC_REG): Document. * doc/tm.texi: Regenerate. * function.c (assign_parms): Generate pseudo register for PIC. * init-regs.c (initialize_uninitialized_regs): Ignor pseudo PIC register. * ira-color.c (color_pass): Add check on pseudo register. * ira-emit.c (change_loop): Don't create copies for PIC pseudo register. * ira.c (split_live_ranges_for_shrink_wrap): Add check on pseudo register. (ira): Add target specific PIC register initialization. (do_reload): Keep PIC pseudo register. * lra-assigns.c (spill_for): Add checks on pseudo register. * lra-constraints.c (contains_symbol_ref_p): New. (lra_constraints): Enable lra risky transformations when PIC is pseudo register. * shrink-wrap.c (try_shrink_wrapping): Add check on pseudo register. * target.def (use_pseudo_pic_reg): New. (init_pic_reg): New. gcc/testsuite/ PR target/8340 PR middle-end/47602 PR rtl-optimization/55458 * gcc.target/i386/pic-1.c: Remove dg-error as test should pass now. * gcc.target/i386/pr55458.c: Likewise. * gcc.target/i386/pr47602.c: New. * gcc.target/i386/pr23098.c: Move to XFAIL. From-SVN: r216154
2014-10-13x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Remove m_SILVERMONT and ↵Evgeny Stupachenko2-2/+7
m_INTEL from the tune. gcc/ * config/i386/x86-tune.def (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Remove m_SILVERMONT and m_INTEL from the tune. From-SVN: r216153
2014-10-13re PR libfortran/63471 (unix.c:1906:10: error: implicit declaration of ↵John David Anglin2-0/+8
function 'ttyname_r') PR libfortran/63471 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Define _REENTRANT when _HPUX_SOURCE is defined. From-SVN: r216152
2014-10-13Cast size and elements to long for %lH.J. Lu3-5/+12
* mangle.c (mangle_conv_op_name_for_type): Cast elements to unsigned long. (print_template_statistics): Cast size and elements to long. From-SVN: r216151
2014-10-13re PR c++/62127 (ICE with VLA in constructor)Jan Hubicka4-0/+24
PR tree-optimization/62127 * g++.dg/torture/pr62127.C: New testcase. * tree.c (remap_type_1): When remapping array, remap also its type. From-SVN: r216150
2014-10-13re PR libstdc++/57350 (std::align missing)Jonathan Wakely3-4/+53
PR libstdc++/57350 * include/std/memory (align): Do not adjust correctly aligned address. * testsuite/20_util/align/2.cc: New. From-SVN: r216149
2014-10-13Update ChangeLog for previous commit.Christophe Lyon1-0/+5
From-SVN: r216148
2014-10-13Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no longer impact ↵Christophe Lyon1-4/+3
parallelization. 2014-10-13 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * Makefile.in: (check-%): Update comment, as RUNTESTFLAGS no longer impact parallelization. From-SVN: r216147
2014-10-13re PR bootstrap/63496 (../../gcc/ipa-polymorphic-call.c:2117:1: error: ↵Jan Hubicka2-1/+6
assuming signed overflow does not occur when assuming that (X + c) < X is always false [-Werror=strict-overflow]) PR bootstrap/63496 * ipa-polymorphic-call.c (extr_type_from_vtbl_ptr_store): Fix pasto. From-SVN: r216146
2014-10-13xmethods.py: Add xmethods for std::array, std::deque, std::forward_list, ↵Siva Chandra Reddy7-25/+646
std::list, std::vector. 2014-10-13 Siva Chandra Reddy <sivachandra@google.com> * python/libstdcxx/v6/xmethods.py: Add xmethods for std::array, std::deque, std::forward_list, std::list, std::vector. * testsuite/libstdc++-xmethods/array.cc: New file. * testsuite/libstdc++-xmethods/deque.cc: Likewise. * testsuite/libstdc++-xmethods/forwardlist.cc: Likewise. * testsuite/libstdc++-xmethods/list.cc: Likewise. * testsuite/libstdc++-xmethods/vector.cc: Add tests. From-SVN: r216145
2014-10-13asan.c (instrument_derefs): BIT_FIELD_REF added.Marat Zakirov4-0/+33
gcc/ChangeLog: 2014-09-19 Marat Zakirov <m.zakirov@samsung.com> * asan.c (instrument_derefs): BIT_FIELD_REF added. gcc/testsuite/ChangeLog: 2014-09-19 Marat Zakirov <m.zakirov@samsung.com> * c-c++-common/asan/bitfield-5.c: New test. From-SVN: r216144
2014-10-13memory (align): Define.Rüdiger Sonderfeld3-0/+108
2014-10-13 Rüdiger Sonderfeld <ruediger@c-plusplus.de> * include/std/memory (align): Define. * testsuite/20_util/align/1.cc: New. From-SVN: r216143
2014-10-13re PR libstdc++/61347 (std::distance(list.first(),list.end()) in O(1))Marc Glisse7-14/+33
2014-10-13 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/61347 PR libstdc++/63345 * include/bits/list.tcc (_List_base::_M_clear()): Delay cast so it isn't done for the sentinel. * include/bits/stl_list.h (_List_base::_M_size): Move... (_List_base::_List_impl::_M_node): ... here. (_List_base::_M_get_size(), _List_base::_M_set_size(size_t), _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t), _List_base::_M_node_count): Adapt to the move. * 23_containers/list/requirements/dr438/assign_neg.cc: Update line number. * 23_containers/list/requirements/dr438/constructor_1_neg.cc: Likewise. * 23_containers/list/requirements/dr438/constructor_2_neg.cc: Likewise. * 23_containers/list/requirements/dr438/insert_neg.cc: Likewise. From-SVN: r216142
2014-10-13re PR ada/63225 (ada bootstrap failure when -fno-inline in STAGE1_CFLAGS)Eric Botcazou3-28/+36
PR ada/63225 * uintp.adb (Vector_To_Uint): Move from here to... * uintp.ads (UI_Vector): Make public. (Vector_To_Uint): ...here. Co-Authored-By: Alan Modra <amodra@gmail.com> From-SVN: r216139
2014-10-13re PR c++/63419 (verify_gimple failed: "vector CONSTRUCTOR element is not a ↵Richard Biener6-4/+271
GIMPLE value") 2014-10-13 Richard Biener <rguenther@suse.de> PR tree-optimization/63419 * gimple-fold.h (gimple_convert): New function. * gimple-fold.c (gimple_convert): Likewise. * tree-ssa-pre.c (create_expression_by_pieces): Use gimple_convert to split out required conversions early. * g++.dg/torture/pr63419.C: New testcase. From-SVN: r216138
2014-10-13rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the ↵Richard Sandiford2-22/+58
parts of an insn in reverse order, with the pattern at the top of the queue. gcc/ * rtlanal.c (generic_subrtx_iterator <T>::add_subrtxes_to_queue): Add the parts of an insn in reverse order, with the pattern at the top of the queue. Detect when we're iterating over a SEQUENCE pattern and in that case just consider patterns of subinstructions. From-SVN: r216137
2014-10-13Daily bump.GCC Administrator1-1/+1
From-SVN: r216131
2014-10-12re PR target/59401 ([SH] GBR addressing mode optimization produces wrong code)Oleg Endo7-28/+144
gcc/ PR target/59401 * config/sh/sh-protos (sh_find_equiv_gbr_addr): Use rtx_insn* instead of rtx. * config/sh/sh.c (sh_find_equiv_gbr_addr): Use def chains instead of insn walking. (sh_find_equiv_gbr_addr): Do nothing if input mem is already a GBR address. Use def chains to handle GBR clobbering call insns. gcc/testsuite/ PR target/59401 PR target/54760 * gcc.target/pr54760-5.c: New. * gcc.target/pr54760-6.c: New. * gcc.target/sh/pr59401-1.c: New. From-SVN: r216128
2014-10-12move many gc hashtab to hash_tableTrevor Saunders55-1235/+1355
gcc/ * asan.c, cfgloop.c, cfgloop.h, cgraph.c, cgraph.h, config/darwin.c, config/m32c/m32c.c, config/mep/mep.c, config/mips/mips.c, config/rs6000/rs6000.c, dwarf2out.c, function.c, function.h, gimple-ssa.h, libfuncs.h, optabs.c, output.h, rtl.h, sese.c, symtab.c, tree-cfg.c, tree-dfa.c, tree-ssa.c, varasm.c: Use hash-table instead of hashtab. * doc/gty.texi (for_user): Document new option. * gengtype.c (create_user_defined_type): Don't try to get a struct for char. (walk_type): Don't error out on for_user option. (write_func_for_structure): Emit user marking routines if requested by for_user option. (write_local_func_for_structure): Likewise. (main): Mark types with for_user option as used. * ggc.h (gt_pch_nx): Add overload for unsigned int. * hash-map.h (hash_map::hash_entry::pch_nx_helper): AddOverloads. * hash-table.h (ggc_hasher): New struct. (hash_table::create_ggc): New function. (gt_pch_nx): New overload for hash_table. java/ * class.c, decl.c, except.c, expr.c, java-tree.h, lang.c: Use hash_table instead of hashtab. objc/ * objc-act.c: use hash_table instead of hashtab. cp/ * cp-gimplify.c, cp-tree.h, decl.c, mangle.c, name-lookup.c, pt.c, semantics.c, tree.c, typeck2.c: Use hash_table instead of hashtab. fortran/ * trans-decl.c, trans.c, trans.h: Use hash_table instead of hashtab. c-family/ * c-common.c: Use hash_table instead of hashtab. From-SVN: r216127
2014-10-12README: Do not mention CVS.Manuel López-Ibáñez2-1/+5
2014-10-12 Manuel López-Ibáñez <manu@gcc.gnu.org> * INSTALL/README: Do not mention CVS. From-SVN: r216126
2014-10-11re PR c++/62115 (ICE with invalid default argument)Jason Merrill6-17/+41
PR c++/62115 * class.c (build_base_path): Preserve rvalueness. * call.c (convert_like_real) [ck_base]: Let convert_to_base handle &/*. * rtti.c (build_dynamic_cast_1): Call convert_to_reference later. From-SVN: r216124
2014-10-12Daily bump.GCC Administrator1-1/+1
From-SVN: r216123
2014-10-11re PR fortran/48979 (FRACTION und EXPONENT return invalid results for ↵François-Xavier Coudert4-19/+148
infinity/NaN) PR fortran/48979 * simplify.c (gfc_simplify_atan): Use mpfr_zero_p to check for zeros. (gfc_simplify_log): Likewise. (gfc_simplify_scale): Likewise. (gfc_simplify_exponent): Handle infinities and NaNs. (gfc_simplify_fraction): Handle infinities. (gfc_simplify_rrspacing): Handle signed zeros and NaNs. (gfc_simplify_set_exponent): Handle infinities and NaNs. (gfc_simplify_spacing): Handle zeros, infinities and NaNs. * gfortran.dg/ieee/intrinsics_1.f90: New test. From-SVN: r216120
2014-10-11sh.h (TARGET_SH4A_ARCH): Remove macro.Oleg Endo7-30/+36
gcc/ * config/sh/sh.h (TARGET_SH4A_ARCH): Remove macro. * config/sh/sh.h: Replace uses of TARGET_SH4A_ARCH with TARGET_SH4A. * config/sh/sh.c: Likewise. * config/sh/sh-mem.cc: Likewise. * config/sh/sh.md: Likewise. * config/sh/predicates.md: Likewise. * config/sh/sync.md: Likewise. From-SVN: r216119
2014-10-11target-supports.exp (check_effective_target_shared): New function.Christophe Lyon3-1/+20
2014-10-11 Christophe Lyon <christophe.lyon@linaro.org> gcc/testsuite/ * lib/target-supports.exp (check_effective_target_shared): New function. * g++.dg/ipa/devirt-28a.C: Check if -shared is supported. From-SVN: r216117
2014-10-10re PR c++/63194 (ICE in maybe_explain_implicit_delete, at cp/method.c:1552)Jason Merrill3-0/+16
PR c++/63194 * method.c (defaulted_late_check): Call maybe_instantiate_noexcept. From-SVN: r216114
2014-10-11Daily bump.GCC Administrator1-1/+1
From-SVN: r216113
2014-10-10cgraphunit.c (symbol_table::process_new_functions): Missing call for ↵Martin Liska2-0/+7
call_cgraph_insertion_hooks added. PR/63376 * cgraphunit.c (symbol_table::process_new_functions): Missing call for call_cgraph_insertion_hooks added. From-SVN: r216110
2014-10-10method.c (implicitly_declare_fn): Handle deleted lambda default ctor and ↵Jason Merrill4-8/+25
copy assop here. * method.c (implicitly_declare_fn): Handle deleted lambda default ctor and copy assop here. * class.c (check_bases_and_members): Not here. (add_implicitly_declared_members): And don't set CLASSTYPE_LAZY_MOVE_ASSIGN. From-SVN: r216105
2014-10-10* semantics.c (finish_id_expression): Check for error_mark_node.Jason Merrill2-1/+9
From-SVN: r216104
2014-10-10re PR c/63495 (struct __attribute__ ((aligned (8))) broken on x86)Jakub Jelinek4-7/+27
PR c/63495 * stor-layout.c (min_align_of_type): Don't decrease alignment through BIGGEST_FIELD_ALIGNMENT or ADJUST_FIELD_ALIGN if TYPE_USER_ALIGN is set. * gcc.target/i386/pr63495.c: New test. From-SVN: r216101
2014-10-10re PR target/63483 (Scheduler performs Invalid move of aliased memory reference)Uros Bizjak2-34/+55
PR rtl-optimization/63483 * alias.c (true_dependence_1): Do not exit early for MEM_READONLY_P references when alignment ANDs are involved. (write_dependence_p): Ditto. (may_alias_p): Ditto. From-SVN: r216100
2014-10-10asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE.Marek Polacek22-6/+745
* asan.c (pass_sanopt::execute): Handle IFN_UBSAN_OBJECT_SIZE. * doc/invoke.texi: Document -fsanitize=object-size. * flag-types.h (enum sanitize_code): Add SANITIZE_OBJECT_SIZE and or it into SANITIZE_UNDEFINED. * gimple-fold.c (gimple_fold_call): Optimize IFN_UBSAN_OBJECT_SIZE. * internal-fn.c (expand_UBSAN_OBJECT_SIZE): New function. * internal-fn.def (UBSAN_OBJECT_SIZE): Define. * opts.c (common_handle_option): Handle -fsanitize=object-size. * ubsan.c: Include tree-object-size.h. (ubsan_type_descriptor): Call tree_to_uhwi instead of tree_to_shwi. (ubsan_expand_bounds_ifn): Use false instead of 0. (ubsan_expand_objsize_ifn): New function. (instrument_object_size): New function. (pass_ubsan::execute): Add object size instrumentation. * ubsan.h (ubsan_expand_objsize_ifn): Declare. testsuite/ * c-c++-common/ubsan/object-size-1.c: New test. * c-c++-common/ubsan/object-size-2.c: New test. * c-c++-common/ubsan/object-size-3.c: New test. * c-c++-common/ubsan/object-size-4.c: New test. * c-c++-common/ubsan/object-size-5.c: New test. * c-c++-common/ubsan/object-size-6.c: New test. * c-c++-common/ubsan/object-size-7.c: New test. * c-c++-common/ubsan/object-size-8.c: New test. * c-c++-common/ubsan/object-size-9.c: New test. * g++.dg/ubsan/object-size-1.C: New test. * gcc.dg/ubsan/object-size-9.c: New test. From-SVN: r216099
2014-10-10* testsuite/Makefile.in: Regenerate.Jonathan Wakely2-9/+13
From-SVN: r216098
2014-10-10re PR libstdc++/49561 ([C++0x] std::list::size complexity)Jonathan Wakely1-13/+13
PR libstdc++/49561 * acinclude.m4 (GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI): Define. * configure.ac: Use GLIBCXX_ENABLE_LIBSTDCXX_CXX11_ABI. * configure: Regenerate. * include/Makefile.am (stamp-cxx11-abi): New target. (c++config.h): Set _GLIBCXX_USE_CXX11_ABI macro. * include/Makefile.in: Regenerate. * include/bits/c++config: Add _GLIBCXX_USE_CXX11_ABI placeholder and define _GLIBCXX_DEFAULT_ABI_TAG. * include/bits/list.tcc (list::emplace(const_iterator, _Args&...)): Increment size. (list::emplace(const_iterator, const value_type&)): Likewise. (list::merge(list&), list::merge(list&, _StrictWeakOrdering)): Adjust list sizes. * include/bits/stl_list.h (_List_base, list): Add ABI tag macro. (_List_base::_M_size): New data member in cxx11 ABI mode. (_List_base::_S_distance(_List_node_base*, _List_node_base*)): New function. (_List_base::_M_get_size(), _List_base::_M_set_size(size_t), _List_base::_M_inc_size(size_t), _List_base::_M_dec_size(size_t), _List_base::_M_distance, _List_base::_M_node_count): New functions for accessing list size correctly for the ABI mode. (_List_base::_List_base(_List_base&&)): Copy size and reset source. (_List_base::_M_init()): Initialize size member. (list::size()): Use _List_base::_M_node_count. (list::swap(list&)): Swap sizes. (list::splice(iterator, list&)): Update sizes. (list::splice(iterator, list&, iterator)): Likewise. (list::insert(iterator, const value_type&)): Update size. (list::insert(iterator, _Args&&...)): Likewise. (list::_M_erase(iterator)): Likewise. * testsuite/23_containers/list/requirements/dr438/assign_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/constructor_1_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/constructor_2_neg.cc: Adjust. * testsuite/23_containers/list/requirements/dr438/insert_neg.cc: Adjust. * testsuite/ext/profile/mutex_extensions_neg.cc: Adjust. # End of auto-generated commit message Fix date and whitespace in libstdc++-v3/ChangeLog From-SVN: r216097
2014-10-10re PR target/63404 (gcc 5 miscompiles linux block layer)Richard Henderson2-23/+72
PR target/63404 * shrink-wrap.c (move_insn_for_shrink_wrap): Don't use single_set. Restrict the set of expressions we're willing to move. From-SVN: r216096
2014-10-10ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list.Jeff Law2-11/+31
* ira.c (struct equivalence): Promote INIT_INSNs field to an rtx_insn_list. Add comments. (no_equiv): Promote LIST to an rtx_insn_list. Update testing for and creating the special marker. Use methods to extract the insn and next pointers. Promote INSN to an rtx_insn. (update_equiv_regs): Update test for special marker in the INIT_INSNs list. From-SVN: r216095