Skip to content
Snippets Groups Projects
  1. Nov 16, 2016
    • Richard Biener's avatar
      re PR tree-optimization/78348 ([7 REGRESSION] 15% performance drop for... · 510d73a0
      Richard Biener authored
      re PR tree-optimization/78348 ([7 REGRESSION] 15% performance drop for coremark-pro/nnet-test after r242038)
      
      2016-11-16  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/78348
      	* tree-loop-distribution.c (enum partition_kind): Add PKIND_MEMMOVE.
      	(generate_memcpy_builtin): Honor PKIND_MEMCPY on the partition.
      	(classify_partition): Set PKIND_MEMCPY if dependence analysis
      	revealed no dependency, PKIND_MEMMOVE otherwise.
      
      	* gcc.dg/tree-ssa/ldist-24.c: New testcase.
      
      From-SVN: r242470
      510d73a0
    • Jakub Jelinek's avatar
      re PR sanitizer/77823 (ICE: in ubsan_encode_value, at ubsan.c:137 with... · 1705cebd
      Jakub Jelinek authored
      re PR sanitizer/77823 (ICE: in ubsan_encode_value, at ubsan.c:137 with -fsanitize=undefined and vector types)
      
      	PR sanitizer/77823
      	* ubsan.c (ubsan_build_overflow_builtin): Add DATAP argument, if
      	it points to non-NULL tree, use it instead of ubsan_create_data.
      	(instrument_si_overflow): Handle vector signed integer overflow
      	checking.
      	* ubsan.h (ubsan_build_overflow_builtin): Add DATAP argument.
      	* tree-vrp.c (simplify_internal_call_using_ranges): Punt for
      	vector IFN_UBSAN_CHECK_*.
      	* internal-fn.c (expand_addsub_overflow): Add DATAP argument,
      	pass it through to ubsan_build_overflow_builtin.
      	(expand_neg_overflow, expand_mul_overflow): Likewise.
      	(expand_vector_ubsan_overflow): New function.
      	(expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB,
      	expand_UBSAN_CHECK_MUL): Use tit for vector arithmetics.
      	(expand_arith_overflow): Adjust expand_*_overflow callers.
      
      	* c-c++-common/ubsan/overflow-vec-1.c: New test.
      	* c-c++-common/ubsan/overflow-vec-2.c: New test.
      
      From-SVN: r242469
      1705cebd
    • Waldemar Brodkorb's avatar
      re PR libgcc/68468 (frv/bfin FDPIC toolchain build error) · 00178b98
      Waldemar Brodkorb authored
      	PR libgcc/68468
      	* unwind-dw2-fde-dip.c: Fix build on FDPIC targets.
      
      From-SVN: r242468
      00178b98
    • Marek Polacek's avatar
      * g++.dg/cpp1z/init-statement6.C: Rename a function. · ed66ba99
      Marek Polacek authored
      From-SVN: r242467
      ed66ba99
    • GCC Administrator's avatar
      Daily bump. · bb00603d
      GCC Administrator authored
      From-SVN: r242466
      bb00603d
  2. Nov 15, 2016
    • Matthias Klose's avatar
      install.texi: Remove references to java/libjava. · 648e68d5
      Matthias Klose authored
      2016-11-16  Matthias Klose  <doko@ubuntu.com>
      
              * doc/install.texi: Remove references to java/libjava.
      
      From-SVN: r242463
      648e68d5
    • Jerry DeLisle's avatar
      [multiple changes] · 5d70ab07
      Jerry DeLisle authored
      2016-11-15  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      	    Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libgfortran/51119
      	* Makefile.am: Add new optimization flags matmul.
      	* Makefile.in: Regenerate.
      	* m4/matmul.m4: For the case of all strides = 1, implement a
      	fast blocked matrix multiply. Fix some whitespace.
      	* generated/matmul_c10.c: Regenerate.
      	* generated/matmul_c16.c: Regenerate.
      	* generated/matmul_c4.c: Regenerate.
      	* generated/matmul_c8.c: Regenerate.
      	* generated/matmul_i1.c: Regenerate.
      	* generated/matmul_i16.c: Regenerate.
      	* generated/matmul_i2.c: Regenerate.
      	* generated/matmul_i4.c: Regenerate.
      	* generated/matmul_i8.c: Regenerate.
      	* generated/matmul_r10.c: Regenerate.
      	* generated/matmul_r16.c: Regenerate.
      	* generated/matmul_r4.c: Regenerate.
      	* generated/matmul_r8.c: Regenerate.
      
      2016-11-15  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR libgfortran/51119
      	* gfortran.dg/matmul_12.f90: New test case.
      
      From-SVN: r242462
      5d70ab07
    • Kugan Vivekanandarajah's avatar
      tree-ssa-coalesce.c (register_default_def): Remove register_ssa_partition. · fd0477ca
      Kugan Vivekanandarajah authored
      gcc/ChangeLog:
      
      2016-11-16  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* tree-ssa-coalesce.c (register_default_def): Remove register_ssa_partition.
      	(create_outofssa_var_map): Likewise.
      	* tree-ssa-live.c (register_ssa_partition_check): Remove.
      	* tree-ssa-live.h (register_ssa_partition): Likewise.
      
      From-SVN: r242461
      fd0477ca
    • Bernd Edlinger's avatar
      genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects. · a8dd1337
      Bernd Edlinger authored
      2016-11-15  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.
              Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects.
              Use DEF_ATTR_STRING for string arguments.  Use RTL_HASH for
              integer arguments.  Only set ATTR_PERMANENT_P on newly hashed
              rtx when all sub-rtx are also permanent.
              (attr_eq): Simplify.
              (attr_copy_rtx): Remove.
              (make_canonical, get_attr_value): Use attr_equal_p.
              (copy_boolean): Rehash NOT.
              (simplify_test_exp_in_temp,
              optimize_attrs): Remove call to attr_copy_rtx.
              (attr_alt_intersection, attr_alt_union,
              attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT.
              (make_automaton_attrs): Use attr_eq.
      
      From-SVN: r242460
      a8dd1337
    • Matthias Klose's avatar
      install.texi: Remove references to java/libjava. · 839984f4
      Matthias Klose authored
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
              * doc/install.texi: Remove references to java/libjava.
              * doc/invoke.texi: Likewise.
              * doc/standards.texi: Likewise.
      
      From-SVN: r242456
      839984f4
    • Matthias Klose's avatar
      install.texi: Remove references to java/libjava. · 97a2feb6
      Matthias Klose authored
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
              * doc/install.texi: Remove references to java/libjava.
              * doc/sourcebuild.texi: Likewise.
      
      From-SVN: r242455
      97a2feb6
    • Jonathan Wakely's avatar
      PR 59406 note that FNV hash functions are incorrect · 27b3b3f4
      Jonathan Wakely authored
      	PR libstdc++/59406
      	* include/bits/functional_hash.h: Add comment noting difference from
      	FNV-1a.
      	* include/tr1/functional_hash.h: Likewise.
      	* libsupc++/hash_bytes.cc: Likewise.
      
      From-SVN: r242454
      27b3b3f4
    • Jonathan Wakely's avatar
      Use existing helper for new std::string constructor · 3663671a
      Jonathan Wakely authored
      	* include/bits/basic_string.h: Reuse _If_sv alias template for new
      	constructor.
      
      From-SVN: r242453
      3663671a
    • Jonathan Wakely's avatar
      Make std::tuple_size<cv T> SFINAE-friendly (LWG 2770) · 6ae2ae3b
      Jonathan Wakely authored
      	* doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries
      	for 2742 and 2748.
      	* doc/html/*: Regenerate.
      	* include/std/utility (__tuple_size_cv_impl): New helper to safely
      	detect tuple_size<T>::value, as per LWG 2770.
      	(tuple_size<cv T>): Adjust partial specializations to derive from
      	__tuple_size_cv_impl.
      	* testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness.
      
      From-SVN: r242452
      6ae2ae3b
    • Mark Wielaard's avatar
      libiberty: demangler crash with missing :? or fold expression component. · 168126e5
      Mark Wielaard authored
      When constructing an :? or fold expression that requires a third
      expression only the first and second were explicitly checked to
      not be NULL. Since the third expression is also required in these
      constructs it needs to be explicitly checked and rejected when missing.
      Otherwise the demangler will crash once it tries to d_print the
      NULL component. Added two examples to demangle-expected of strings
      that would crash before this fix.
      
      Found by American Fuzzy Lop (afl) fuzzer.
      
      From-SVN: r242451
      168126e5
    • Mark Wielaard's avatar
      libiberty: Fix some demangler crashes caused by reading past end of input. · 0d0bfbf4
      Mark Wielaard authored
      In various situations the cplus_demangle () function could read past the
      end of input causing crashes. Add checks in various places to not advance
      the demangle string location and fail early when end of string is reached.
      Add various examples of input strings to the testsuite that would crash
      test-demangle before the fixes.
      
      Found by using the American Fuzzy Lop (afl) fuzzer.
      
      libiberty/ChangeLog:
      
             * cplus-dem.c (demangle_signature): After 'H', template function,
             no success and don't advance position if end of string reached.
             (demangle_template): After 'z', template name, return zero on
             premature end of string.
             (gnu_special): Guard strchr against searching for zero characters.
             (do_type): If member, only advance mangled string when 'F' found.
             * testsuite/demangle-expected: Add examples of strings that could
             crash the demangler by reading past end of input.
      
      From-SVN: r242450
      0d0bfbf4
    • Jonathan Wakely's avatar
      Adjust pretty printer test for variant<T&> · 6f959acc
      Jonathan Wakely authored
      	* testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for
      	variant<T&>.
      
      From-SVN: r242449
      6f959acc
    • Uros Bizjak's avatar
      funcspec-56.inc: New file. · 48aef8e2
      Uros Bizjak authored
      	* gcc.target/i386/funcspec-56.inc: New file.
      	* gcc.target/i386.funcspec-5.c: Include funcspec-56.inc.  Remove
      	common 32-bit and 64-bit function specific options.
      	* gcc.target/i386.funcspec-6.c: Ditto.
      
      From-SVN: r242448
      48aef8e2
    • Richard Sandiford's avatar
      Fix instances of gen_rtx_REG (VOIDmode, ...) · 240930c4
      Richard Sandiford authored
      
      Several definitions of INCOMING_RETURN_ADDR_RTX used
      gen_rtx_REG (VOIDmode, ...), which with later patches
      would trip an assert.  This patch converts them to use
      Pmode instead.
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use Pmode instead
      	of VOIDmode.
      	* config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/iq2000/iq2000.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/m68k/m68k.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/microblaze/microblaze.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/mips/mips.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      	* config/nios2/nios2.h (INCOMING_RETURN_ADDR_RTX): Likewise.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242447
      240930c4
    • Richard Sandiford's avatar
      Use MEM_SIZE rather than GET_MODE_SIZE in dce.c · 7eb87420
      Richard Sandiford authored
      
      Using MEM_SIZE is more general, since it copes with cases where
      targets are forced to use BLKmode references for whatever reason.
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* dce.c (check_argument_store): Pass the size instead of
      	the memory reference.
      	(find_call_stack_args): Pass MEM_SIZE to check_argument_store.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242446
      7eb87420
    • Richard Sandiford's avatar
      Use simplify_gen_binary in canon_rtx · 231314e3
      Richard Sandiford authored
      
      After simplifying the operands of a PLUS, canon_rtx checked only
      for cases in which one of the simplified operands was a constant,
      falling back to gen_rtx_PLUS otherwise.  This left the PLUS in a
      non-canonical order if one of the simplified operands was
      (plus (reg R1) (const_int X)); we'd end up with:
      
             (plus (plus (reg R1) (const_int Y)) (reg R2))
      
      rather than:
      
             (plus (plus (reg R1) (reg R2)) (const_int Y))
      
      Fixing this exposed new DSE opportunities on spu-elf in
      gcc.c-torture/execute/builtins/strcat-chk.c but otherwise
      it doesn't seem to have much practical effect.
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* alias.c (canon_rtx): Use simplify_gen_binary.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242445
      231314e3
    • Richard Sandiford's avatar
      Add a load_extend_op wrapper · 3712c7a3
      Richard Sandiford authored
      
      LOAD_EXTEND_OP only applies to scalar integer modes that are narrower
      than a word.  However, callers weren't consistent about which of these
      checks they made beforehand, and also weren't consistent about whether
      "smaller" was based on (bit)size or precision (IMO it's the latter).
      This patch adds a wrapper to try to make the macro easier to use.
      
      LOAD_EXTEND_OP is often used to disable transformations that aren't
      beneficial when extends from memory are free, so being stricter about
      the check accidentally exposed more optimisation opportunities.
      
      "SUBREG_BYTE (...) == 0" and subreg_lowpart_p are implied by
      paradoxical_subreg_p, so the patch also removes some redundant tests.
      
      The patch doesn't change reload, since different checks could have
      unforeseen consequences.
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* rtl.h (load_extend_op): Declare.
      	* rtlanal.c (load_extend_op): New function.
      	(nonzero_bits1): Use it.
      	(num_sign_bit_copies1): Likewise.
      	* cse.c (cse_insn): Likewise.
      	* fold-const.c (fold_single_bit_test): Likewise.
      	(fold_unary_loc): Likewise.
      	* fwprop.c (free_load_extend): Likewise.
      	* postreload.c (reload_cse_simplify_set): Likewise.
      	(reload_cse_simplify_operands): Likewise.
      	* combine.c (try_combine): Likewise.
      	(simplify_set): Likewise.  Remove redundant SUBREG_BYTE and
      	subreg_lowpart_p checks.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242444
      3712c7a3
    • Richard Sandiford's avatar
      Fix simplify_shift_const_1 handling of vector shifts · ba3c3dc0
      Richard Sandiford authored
      
      simplify_shift_const_1 handles both shifts of scalars by scalars
      and shifts of vectors by scalars.  For vectors this means that
      each element is shifted by the same amount.
      
      However:
      
      (a) the two cases weren't always distinguished, so we'd try
              things for vectors that only made sense for scalars.
      
      (b) a lot of the range and bitcount checks were based on the
              bitsize or precision of the full shifted operand, rather
              than the mode of each element.
      
      Fixing (b) accidentally exposed more optimisation opportunities,
      although that wasn't the point of the patch.
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* combine.c (simplify_shift_const_1): Use the number of bits
      	in the inner mode to determine the range of the shift.
      	When handling shifts of vectors, skip any rules that apply
      	only to scalars.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242442
      ba3c3dc0
    • Richard Sandiford's avatar
      Move misplaced assignment in num_sign_bit_copies1 · 89e64bc0
      Richard Sandiford authored
      
      The old assignment to bitwidth was before we handled VOIDmode with:
      
            if (mode == VOIDmode)
              mode = GET_MODE (x);
      
      so when VOIDmode was specified we would always use:
      
            if (bitwidth < GET_MODE_PRECISION (GET_MODE (x)))
              {
                num0 = cached_num_sign_bit_copies (x, GET_MODE (x),
                                                   known_x, known_mode, known_ret);
                return MAX (1,
                            num0 - (int) (GET_MODE_PRECISION (GET_MODE (x)) - bitwidth));
              }
      
      For a zero bitwidth this always returns 1 (which is the most
      pessimistic result).
      
      gcc/
      2016-11-15  Richard Sandiford  <richard.sandiford@arm.com>
      	    Alan Hayward  <alan.hayward@arm.com>
      	    David Sherwood  <david.sherwood@arm.com>
      
      	* rtlanal.c (num_sign_bit_copies1): Calculate bitwidth after
      	handling VOIDmode.
      
      Co-Authored-By: default avatarAlan Hayward <alan.hayward@arm.com>
      Co-Authored-By: default avatarDavid Sherwood <david.sherwood@arm.com>
      
      From-SVN: r242440
      89e64bc0
    • Matthias Klose's avatar
      Makefile.def: Remove references to GCJ. · 8e4d2ca4
      Matthias Klose authored
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
              * Makefile.def: Remove references to GCJ.
              * Makefile.tpl: Likewise.
              * Makefile.in: Regenerate.
      
      From-SVN: r242439
      8e4d2ca4
    • Matthias Klose's avatar
      2b601678
    • Tim Shen's avatar
      variant: Remove variant<T&>... · 7b277e8b
      Tim Shen authored
      	* include/std/variant: Remove variant<T&>, variant<void>, variant<> support
      	to rebase on the post-Issaquah design.
      	* testsuite/20_util/variant/compile.cc: Likewise.
      
      From-SVN: r242437
      7b277e8b
    • Martin Jambor's avatar
      libgomp testsuite: add missing map clauses · 18d2ada8
      Martin Jambor authored
      
      	* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add
      	mapping clauses to target constructs.
      	* testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto.
      
      
      Co-Authored-By: default avatarAlexander Monakov <amonakov@ispras.ru>
      
      From-SVN: r242436
      18d2ada8
    • Jakub Jelinek's avatar
      decomp14.C: New test. · 5a65a911
      Jakub Jelinek authored
      	* g++.dg/cpp1z/decomp14.C: New test.
      	* g++.dg/cpp1z/decomp15.C: New test.
      	* g++.dg/cpp1z/decomp16.C: New test.
      
      From-SVN: r242435
      5a65a911
    • Jakub Jelinek's avatar
      decl.c (cp_finish_decomp): For DECL_NAMESPACE_SCOPE_P decl, set DECL_ASSEMBLER_NAME. · a0f5b987
      Jakub Jelinek authored
      	* decl.c (cp_finish_decomp): For DECL_NAMESPACE_SCOPE_P decl,
      	set DECL_ASSEMBLER_NAME.
      	* parser.c (cp_parser_decomposition_declaration): Likewise
      	if returning error_mark_node.
      	* mangle.c (mangle_decomp): New function.
      	* cp-tree.h (mangle_decomp): New declaration.
      
      	* g++.dg/cpp1z/decomp13.C: New test.
      
      From-SVN: r242434
      a0f5b987
    • Matthias Klose's avatar
      config-ml.in: Remove references to GCJ. · 84c1b9d3
      Matthias Klose authored
      <toplevel>
      
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
      	* config-ml.in: Remove references to GCJ.
      	* configure.ac: Likewise.
      	* configure: Regenerate.
      
      config/
      
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
      	multi.m4: Don't set GCJ.
      
      gcc/
      
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
      	* doc/install.texi: Remove references to gcj/libjava.
      	* doc/invoke.texi: Likewise.
      
      */ (where necessary)
      
      2016-11-15  Matthias Klose  <doko@ubuntu.com>
      
      	* configure: Regenerate.
      
      From-SVN: r242433
      84c1b9d3
    • Jason Merrill's avatar
      PR c++/78358 - tuple decomposition decltype · 94460802
      Jason Merrill authored
      	* semantics.c (finish_decltype_type): Strip references for a tuple
      	decomposition.
      	* cp-tree.h (DECL_DECOMPOSITION_P): False for non-variables.
      
      From-SVN: r242432
      94460802
    • Jeff Law's avatar
      tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded parameter. · 435fd407
      Jeff Law authored
      	* tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded
      	parameter.  Callers changed.
      	(check-subpath_and_update_thread_path): Extracted from
      	fsm_find_control_statement_thread_paths.
      	(handle_phi, handle_assignment, handle_assignment_p): Likewise.
      	(handle_phi, handle_assignment): Allow any constant node, not
      	just INTEGER_CST.
      
      From-SVN: r242431
      435fd407
    • Jakub Jelinek's avatar
      * g++.dg/cpp1y/auto-fn33.C (main): Turn // error: ... into dg-bogus. · 5a0e7889
      Jakub Jelinek authored
      From-SVN: r242430
      5a0e7889
    • Uros Bizjak's avatar
      ChangeLog: Fix ChangeLog entry. · 22b15758
      Uros Bizjak authored
      	* gcc/ChangeLog: Fix ChangeLog entry.
      	* gcc/c/ChangeLog: Ditto.
      	* gcc/c-family/ChangeLog: Ditto.
      	* gcc/cp/ChangeLog: Ditto.
      
      From-SVN: r242429
      22b15758
    • Claudiu Zissulescu's avatar
      [ARC] [libgcc] Fix defines · d64af69f
      Claudiu Zissulescu authored
      libgcc/
      2016-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/lib1funcs.S (__mulsi3): Use feature defines instead
      	of checking for cpus.
      	(__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3)
      	(__modsi3, __clzsi2): Likewise.
      
      From-SVN: r242428
      d64af69f
    • Jakub Jelinek's avatar
      re PR c++/71988 (ICE in dump_simple_decl (gcc/cp/error.c:965)) · 0c8a8fe2
      Jakub Jelinek authored
      	PR c++/71988
      	* g++.dg/cpp0x/constexpr-71988.C: New test.
      
      From-SVN: r242426
      0c8a8fe2
    • Claudiu Zissulescu's avatar
      [ARC] New option handling, refurbish multilib support. · f9ccf899
      Claudiu Zissulescu authored
      gcc/
      2016-11-15  Claudiu Zissulescu  <claziss@synopsys.com>
      
      	* config/arc/arc-arch.h: New file.
      	* config/arc/arc-arches.def: Likewise.
      	* config/arc/arc-cpus.def: Likewise.
      	* config/arc/arc-options.def: Likewise.
      	* config/arc/t-multilib: Likewise.
      	* config/arc/genmultilib.awk: Likewise.
      	* config/arc/genoptions.awk: Likewise.
      	* config/arc/arc-tables.opt: Likewise.
      	* config/arc/driver-arc.c: Likewise.
      	* testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise.
      	* common/config/arc/arc-common.c (arc_handle_option): Trace
      	toggled options.
      	* config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra
      	options; check for supported cpu against arc-cpus.def file.
      	(arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define
      	TARGET_CPU_BUILD macro; add driver-arc.o as an extra object.
      	* config/arc/arc-c.def: Add emacs local variables.
      	* config/arc/arc-opts.h (processor_type): Use arc-cpus.def file.
      	(FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA)
      	(FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL)
      	(FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines.
      	(DEFAULT_arc_fpu_build): Define.
      	(DEFAULT_arc_mpy_option): Define.
      	* config/arc/arc-protos.h (arc_init): Delete.
      	* config/arc/arc.c (arc_cpu_name): New variable.
      	(arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs)
      	(arc_arc700, arc_arc600, arc_arc601): New variable.
      	(arc_init): Add static; remove selection of default tune value,
      	cleanup obsolete error messages.
      	(arc_override_options): Make use of .def files for selecting the
      	right cpu and option configurations.
      	* config/arc/arc.h (stdbool.h): Include.
      	(TARGET_CPU_DEFAULT): Define.
      	(CPP_SPEC): Remove mcpu=NPS400 handling.
      	(arc_cpu_to_as): Declare.
      	(EXTRA_SPEC_FUNCTIONS): Define.
      	(OPTION_DEFAULT_SPECS): Likewise.
      	(ASM_DEFAULT): Remove.
      	(ASM_SPEC): Use arc_cpu_to_as.
      	(DRIVER_SELF_SPECS): Remove deprecated options.
      	(arc_base_cpu):	Declare.
      	(TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM)
      	(TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu
      	variable.
      	(MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT.
      	* config/arc/arc.md (attr_cpu): Remove.
      	* config/arc/arc.opt (mno-mpy): Deprecate.
      	(mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM)
      	(mcpu=ARCHS): Remove.
      	(mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc):
      	Deprecate.
      	(mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove.
      	(arc_fpu): Use new defines.
      	(mpy-option): Change to use numeric or string like inputs.
      	* config/arc/t-arc (driver-arc.o): New target.
      	(arc-cpus, t-multilib, arc-tables.opt): Likewise.
      	* config/arc/t-arc-newlib: Delete.
      	* config/arc/t-arc-uClibc: Renamed to t-uClibc.
      	* doc/invoke.texi (ARC): Update arc options.
      
      Fixup
      
      From-SVN: r242425
      f9ccf899
    • Maciej W. Rozycki's avatar
      MIPS/GCC: Mark trailing labels with `.insn' · 2cf63121
      Maciej W. Rozycki authored
      	gcc/
      	* config/mips/mips.c (mips16_emit_constants): Emit `consttable'
      	insn at the beginning of the constant pool.
      	(mips_insert_insn_pseudos): New function.
      	(mips_machine_reorg2): Call it.
      	* config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE and
      	UNSPEC_INSN_PSEUDO enum values.
      	(insn_pseudo, consttable): New insns.
      
      	gcc/testsuite/
      	* gcc.target/mips/insn-casesi.c: New test case.
      	* gcc.target/mips/insn-pseudo-1.c: New test case.
      	* gcc.target/mips/insn-pseudo-2.c: New test case.
      	* gcc.target/mips/insn-pseudo-3.c: New test case.
      	* gcc.target/mips/insn-pseudo-4.c: New test case.
      	* gcc.target/mips/insn-tablejump.c: New test case.
      
      From-SVN: r242424
      2cf63121
    • Maciej W. Rozycki's avatar
      MIPS/GCC/test: Implement `-mcode-readable=yes' option test · 2cbfb209
      Maciej W. Rozycki authored
      	gcc/testsuite/
      	* gcc.target/mips/mips.exp (mips_option_tests): Add
      	`-mcode-readable=yes' array element.
      
      From-SVN: r242423
      2cbfb209
Loading