1. 03 Sep, 2014 32 commits
  2. 02 Sep, 2014 8 commits
    • support ggc hash_map and hash_set · b086d530
      gcc/ChangeLog:
      
      	* alloc-pool.c: Include coretypes.h.
      	* cgraph.h, dbxout.c, dwarf2out.c, except.c, except.h, function.c,
      	function.h, symtab.c, tree-cfg.c, tree-eh.c: Use hash_map and
      	hash_set instead of htab.
      	* ggc-page.c (in_gc): New variable.
      	(ggc_free): Do nothing if a collection is taking place.
      	(ggc_collect): Set in_gc appropriately.
      	* ggc.h (gt_ggc_mx(const char *)): New function.
      	(gt_pch_nx(const char *)): Likewise.
      	(gt_ggc_mx(int)): Likewise.
      	(gt_pch_nx(int)): Likewise.
      	* hash-map.h (hash_map::hash_entry::ggc_mx): Likewise.
      	(hash_map::hash_entry::pch_nx): Likewise.
      	(hash_map::hash_entry::pch_nx_helper): Likewise.
      (hash_map::hash_map): Adjust.
      (hash_map::create_ggc): New function.
      (gt_ggc_mx): Likewise.
      (gt_pch_nx): Likewise.
      	* hash-set.h (default_hashset_traits::ggc_mx): Likewise.
      (default_hashset_traits::pch_nx): Likewise.
      (hash_set::hash_entry::ggc_mx): Likewise.
      (hash_set::hash_entry::pch_nx): Likewise.
      (hash_set::hash_entry::pch_nx_helper): Likewise.
      (hash_set::hash_set): Adjust.
      (hash_set::create_ggc): New function.
      (hash_set::elements): Likewise.
      (gt_ggc_mx): Likewise.
      (gt_pch_nx): Likewise.
      	* hash-table.h (hash_table::hash_table): Adjust.
      (hash_table::m_ggc): New member.
      	(hash_table::~hash_table): Adjust.
      	(hash_table::expand): Likewise.
      	(hash_table::empty): Likewise.
      (gt_ggc_mx): New function.
      	(hashtab_entry_note_pointers): Likewise.
      (gt_pch_nx): Likewise.
      
      From-SVN: r214834
      Trevor Saunders committed
    • rs6000-builtin.def (XVCVSXDDP_SCALE): New built-in definition. · 70f0f8b2
      [gcc]
      
      2014-09-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (XVCVSXDDP_SCALE):  New
      	built-in definition.
      	(XVCVUXDDP_SCALE): Likewise.
      	(XVCVDPSXDS_SCALE): Likewise.
      	(XVCVDPUXDS_SCALE): Likewise.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins):  Add
      	entries for VSX_BUILTIN_XVCVSXDDP_SCALE,
      	VSX_BUILTIN_XVCVUXDDP_SCALE, VSX_BUILTIN_XVCVDPSXDS_SCALE, and
      	VSX_BUILTIN_XVCVDPUXDS_SCALE.
      	* config/rs6000/rs6000-protos.h (rs6000_scale_v2df): New
      	prototype.
      	* config/rs6000/rs6000.c (real.h): New include.
      	(rs6000_scale_v2df): New function.
      	* config/rs6000/vsx.md (UNSPEC_VSX_XVCVSXDDP): New unspec.
      	(UNSPEC_VSX_XVCVUXDDP): Likewise.
      	(UNSPEC_VSX_XVCVDPSXDS): Likewise.
      	(UNSPEC_VSX_XVCVDPUXDS): Likewise.
      	(vsx_xvcvsxddp_scale): New define_expand.
      	(vsx_xvcvsxddp): New define_insn.
      	(vsx_xvcvuxddp_scale): New define_expand.
      	(vsx_xvcvuxddp): New define_insn.
      	(vsx_xvcvdpsxds_scale): New define_expand.
      	(vsx_xvcvdpsxds): New define_insn.
      	(vsx_xvcvdpuxds_scale): New define_expand.
      	(vsx_xvcvdpuxds): New define_insn.
      	* doc/extend.texi (vec_ctf): Add new prototypes.
      	(vec_cts): Likewise.
      	(vec_ctu): Likewise.
      	(vec_splat): Likewise.
      	(vec_div): Likewise.
      	(vec_mul): Likewise.
      
      [gcc/testsuite]
      
      2014-09-02  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/builtins-1.c: Add tests for vec_ctf,
      	vec_cts, and vec_ctu.
      	* gcc.target/powerpc/builtins-2.c: Likewise.
      
      From-SVN: r214831
      Bill Schmidt committed
    • badalloc1.C (arena_size): Scale according to target pointer size. · bb42f968
      	* g++.old-deja/g++.eh/badalloc1.C [!STACK_SIZE && !__FreeBSD__]
      	[!__sun__ && !__hpux__] (arena_size): Scale according to
      	target pointer size.
      
      From-SVN: r214828
      Hans-Peter Nilsson committed
    • re PR fortran/62270 (-Wlogical-not-parentheses warnings) · 86eb9e2f
      	PR fortran/62270
      	* interface.c (compare_parameter): Fix condition.
      	* trans-expr.c (gfc_conv_procedure_call): Likewise.
      
      	* gfortran.dg/pointer_intent_7.f90: Adjust dg-error.
      
      From-SVN: r214827
      Marek Polacek committed
    • [2/2] Vectorise lroundf, lfloorf, lceilf using the new ARMv8-A vcvt* instructions. · e9e67af1
      	PR target/62275
      	* config/arm/neon.md
      	(neon_vcvt<NEON_VCVT:nvrint_variant><su_optab><VCVTF:mode>
      	<v_cmp_result>): New pattern.
      	* config/arm/iterators.md (NEON_VCVT): New int iterator.
      	* config/arm/arm_neon_builtins.def (vcvtav2sf, vcvtav4sf, vcvtauv2sf,
      	vcvtauv4sf, vcvtpv2sf, vcvtpv4sf, vcvtpuv2sf, vcvtpuv4sf, vcvtmv2sf,
      	vcvtmv4sf, vcvtmuv2sf, vcvtmuv4sf): New builtin definitions.
      	* config/arm/arm.c (arm_builtin_vectorized_function): Handle
      	BUILT_IN_LROUNDF, BUILT_IN_LFLOORF, BUILT_IN_LCEILF.
      
      	PR target/62275
      	* gcc.target/arm/vect-lceilf_1.c: New test.
      	* gcc.target/arm/vect-lfloorf_1.c: Likewise.
      	* gcc.target/arm/vect-lroundf_1.c: Likewise.
      
      From-SVN: r214826
      Kyrylo Tkachov committed
    • [ARM][1/2] Implement lceil, lfloor, lround optabs with new ARMv8-A instructions. · ababd936
                                                                                                                                                                                   
            PR target/62275
            * config/arm/iterators.md (FIXUORS): New code iterator.
            (VCVT): New int iterator.
            (su_optab): New code attribute.
            (su): Likewise.
            * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): New pattern.
      
            PR target/62275
            * gcc.target/arm/lceil-vcvt_1.c: New test.
            * gcc.target/arm/lfloor-vcvt_1.c: Likewise.
            * gcc.target/arm/lround-vcvt_1.c: Likewise.
      
      From-SVN: r214825
      Kyrylo Tkachov committed
    • [AArch64] Use CC_Z and CC_NZ with csinc and similar instructions. · cd5660ab
      	* config/aarch64/predicates.md (aarch64_comparison_operation):
      	New special predicate.
      	* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use
      	aarch64_comparison_operation instead of matching an operator.
      	Update operand numbers.
      	(csinc3<mode>_insn): Likewise.
      	(*csinv3<mode>_insn): Likewise.
      	(*csneg3<mode>_insn): Likewise.
      	(ffs<mode>2): Update gen_csinc3<mode>_insn callsite.
      	* config/aarch64/aarch64.c (aarch64_get_condition_code):
      	Return -1 instead of aborting on invalid condition codes.
      	(aarch64_print_operand): Update aarch64_get_condition_code callsites
      	to assert that the returned condition code is valid.
      	* config/aarch64/aarch64-protos.h (aarch64_get_condition_code): Export.
      
      From-SVN: r214824
      Kyrylo Tkachov committed
    • DR 1453 · cec362c9
      /cp
      2014-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 1453
      	* class.c (check_field_decls): A class of literal type cannot have
      	volatile non-static data members and base classes.
      	(explain_non_literal_class): Update.
      
      /testsuite
      2014-09-02  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	DR 1453
      	* g++.dg/cpp0x/constexpr-volatile.C: New.
      	* g++.dg/ext/is_literal_type2.C: Likewise.
      
      From-SVN: r214823
      Paolo Carlini committed