1. 12 Apr, 2019 15 commits
    • params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter. · 0c7f51e4
      
      	* params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter.
      	* lto.c (do_stream_out): rename to ...
      	(stream_out): ... this one; move original code to ...
      	(stream_out_partitions_1, stream_out_partitions): ... these new
      	functions.
      	(lto_wpa_write_files): Honnor lto_parallelism
      
      From-SVN: r270317
      Jan Hubicka committed
    • [testsuite][arm] Update warning prune regex · 22de32a1
      r269586 changed the format of some warning messages.
      
      Each switch in the warning message is now surrounded by single quotes.
      
      This commit updates the regex's in arm.exp dejagnu files to match the
      new format and remove the extra 20+ FAILs on excess errors that are
      introduced on certain variations (e.g.
      arm-eabi-aem/-marm/-march=armv7-a/-mfpu=vfpv3-d16/-mfloat-abi=softfp).
      
      Regtested arm.exp with cross-compiler arm-none-eabi
      
      gcc/testsuite/ChangeLog:
      
      2019-04-12  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* g++.target/arm/arm.exp: Change format of default prune regex.
      	* gcc.target/arm/arm.exp: Change format of default prune regex.
      
      From-SVN: r270316
      Matthew Malcomson committed
    • Handle multiple 'default' in target attribute (PR middle-end/89970). · a164374e
      2019-04-12  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/89970
      	* multiple_target.c (create_dispatcher_calls): Wrap ifunc
      	in error message.
      	(separate_attrs): Handle multiple 'default's.
      	(expand_target_clones): Rework error handling code.
      2019-04-12  Martin Liska  <mliska@suse.cz>
      
      	PR middle-end/89970
      	* gcc.target/i386/mvc15.c: New test.
      	* gcc.target/i386/mvc3.c: Quote target in error pattern.
      	* gcc.target/i386/mvc4.c: Remove duplicit 'default'.
      
      From-SVN: r270314
      Martin Liska committed
    • re PR target/87532 (bad results from vec_extract(unsigned char, foo) dependent… · 34f02c07
      re PR target/87532 (bad results from vec_extract(unsigned char, foo) dependent upon function inline)
      
      gcc/ChangeLog:
      
      2019-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/87532
      	* config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner
      	mode of vector rather than mode of destination for move instruction.
      	* config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
      	Use QI inner mode with V16QI vector mode.
      
      gcc/testsuite/ChangeLog:
      
      2019-04-12  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	PR target/87532
      	* gcc.target/powerpc/fold-vec-extract-char.p8.c: Adjust expected
      	instruction counts.
      	* gcc.target/powerpc/fold-vec-extract-int.p8.c: Likewise.
      	* gcc.target/powerpc/fold-vec-extract-short.p8.c: Likewise.
      
      From-SVN: r270313
      Kelvin Nilsen committed
    • * de.po, sv.po: Update. · a8478751
      From-SVN: r270309
      Jakub Jelinek committed
    • re PR target/52726 (Composed error message will not get translated) · 0ef88b20
      	PR target/52726
      	* config/tilepro/tilepro.c (tilepro_print_operand): Use just
      	"invalid %%t operand" in output_operand_lossage message.
      
      From-SVN: r270308
      Jakub Jelinek committed
    • Remove spurious empty line from ChangeLog · ab541024
      From-SVN: r270307
      Jonathan Wakely committed
    • S/390: Fix a problem with the bswap vector pattern · 2541c40f
      arch13 introduced instructions to perform vector element-wise byte
      swaps on the way from or to memory.  For a byte swap between vector
      registers the vector permute instruction is required which needs a
      permute pattern to be loaded into a vector register first.
      
      With the current implementation there is a potential problem when the
      decision for the reg-reg variant is made very late.  This patch is
      supposed to fix that.
      
      With the patch the required permute pattern is generated already in
      the expander and attached to the bswap pattern as USE operand.  The
      predicate in the insn_and_split pattern accepts it although the
      permute constant as such is not a valid constant.  For the reg-reg
      variant only the vector register constraint is used for the permute
      constant forcing LRA to a) push the constant into literal pool and b)
      load the literal pool constant into a vector register.
      
      gcc/ChangeLog:
      
      2019-04-12  Andreas Krebbel  <krebbel@linux.ibm.com>
      
      	* config/s390/predicates.md (permute_pattern_operand): New
      	predicate.
      	* config/s390/vector.md ("*vec_splats_bswap_vec<mode>"): Add USE
      	operand for the permute pattern.
      	("*vec_perm<mode>"): New insn definition.
      	("bswap<mode>"): Generate the permute pattern operand in the
      	expander and perform the operand reloads for pre arch13 level
      	already.
      	("*bswap<mode>_emu"): Rename to ...
      	("*bswap<mode>"): ... this. And make the splitter vxe2 only.
      	* config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap<mode>"):
      	Add the USE operand for the permute pattern.
      	("*vec_set_bswap_vec<mode>"): Likewise.
      
      From-SVN: r270306
      Andreas Krebbel committed
    • re PR c/89946 (ICE in assemble_start_function, at varasm.c:1871) · 8e8225e6
      	PR c/89946
      	* varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p
      	and gcc_unreachable if it fails, just call tree_to_uhwi which
      	verifies that too.  Test TREE_CHAIN instead of list_length > 1.
      	Start warning message with a lower-case letter.  Formatting fixes.
      c-family/
      	* c-attribs.c (handle_patchable_function_entry_attribute): Add
      	function comment.  Warn if arguments of the attribute are not positive
      	integer constants.
      testsuite/
      	* c-c++-common/pr89946.c: New test.
      
      From-SVN: r270305
      Jakub Jelinek committed
    • re PR rtl-optimization/90026 (ICE: verify_flow_info failed (error: missing barrier after block 2)) · c758576a
      	PR rtl-optimization/90026
      	* cfgcleanup.c (try_optimize_cfg): When removing empty bb with no
      	successors, look for BARRIERs inside of the whole BB_FOOTER chain
      	rather than just at the start of it.  If e->src BB_FOOTER is not NULL
      	in cfglayout mode, use emit_barrier_after_bb.
      
      	* g++.dg/opt/pr90026.C: New test.
      
      From-SVN: r270304
      Jakub Jelinek committed
    • libphobos: Parallelize the libphobos testsuite · df63d1b7
      The removal of the check programs in libphobos means that all tests
      will now be compiled one at a time, causing a notable slowdown in
      comparison with the previous method of testing.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* testsuite/Makefile.am:
      	* testsuite/Makefile.am (AUTOMAKE_OPTIONS): Remove dejagnu.
      	(RUNTEST): Remove variable.
      	(RUNTESTDEFAULTFLAGS, check_p_subno, check_p_numbers0,
      	check_p_numbers1, check_p_numbers2, check_p_numbers3,
      	check_p_numbers4, check_p_numbers5, check_p_numbers6, check_p_numbers,
      	check_p_subdirs, check_DEJAGNU_libphobos_targets): New variables.
      	(site.exp, %/site.exp, check-DEJAGNU, check-am, clean-local): New
      	rules written so that all the *.exp files are ran parallelized.
      	(CLEANFILES): Add *.exe, *.o, and site.exp.
      	* testsuite/Makefile.in: Regenerate.
      
      From-SVN: r270303
      Iain Buclaw committed
    • libphobos: Replace library check programs with dg-runtest · 0d6aae24
      Fixes multilib handling when running the libphobos testsuite.
      
      libphobos/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	PR d/89255
      	* configure.ac (ENABLE_SHARED, ENABLE_STATIC): Remove conditionals.
      	* configure: Regenerate.
      	* d_rules.am (%.t.lo, %.t.o): Remove rules.
      	(unittest_static_LINK, unittest_LINK, libgdruntime_t_la_LINK,
      	libgphobos_t_la_LINK): Remove variables.
      	* libdruntime/Makefile.am (DRUNTIME_TEST_LOBJECTS,
      	DRUNTIME_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
      	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
      	unittest_static_LDFLAGS, unittest_static_LDADD,
      	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
      	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
      	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
      	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
      	unittest_LDADD): Remove variables.
      	(clean-local): Remove rule.
      	* libdruntime/Makefile.in: Regenerate.
      	* src/Makefile.am (PHOBOS_TEST_LOBJECTS,
      	PHOBOS_TEST_OBJECTS, check_PROGRAMS, check_LTLIBRARIES,
      	unittest_static_SOURCES, unittest_static_LIBTOOLFLAGS,
      	unittest_static_LDFLAGS, unittest_static_LDADD,
      	EXTRA_unittest_static_DEPENDENCIES, libgdruntime_t_la_SOURCES,
      	libgdruntime_t_la_LIBTOOLFLAGS, libgdruntime_t_la_LDFLAGS,
      	libgdruntime_t_la_LIBADD, EXTRA_libgdruntime_t_la_DEPENDENCIES,
      	unittest_SOURCES, unittest_LIBTOOLFLAGS, unittest_LDFLAGS,
      	unittest_LDADD): Remove variables.
      	(clean-local): Remove rule.
      	* src/Makefile.in: Regenerate.
      	* testsuite/lib/libphobos.exp (libphobos_test_name): New global.
      	(libphobos_init): Set libphobos_test_name.
      	(libphobos-dg-test): Override name if libphobos_test_name is set.
      	(filter_libphobos_unittests): New proc.
      	* testsuite/libphobos.aa/aa.exp: Don't load libphobos-dg.exp.
      	* testsuite/libphobos.cycles/cycles.exp: Set libphobos_test_name.
      	* testsuite/libphobos.druntime/druntime.exp: New file.
      	* testsuite/libphobos.druntime_shared/druntime_shared.exp: New file.
      	* testsuite/libphobos.phobos/phobos.exp: New file.
      	* testsuite/libphobos.phobos_shared/phobos_shared.exp: New file.
      	* testsuite/libphobos.shared/shared.exp: Use dg-runtest to run tests.
      	* testsuite/libphobos.hash/hash.exp: Don't load libphobos-dg.exp
      	* testsuite/libphobos.init_fini/init_fini.exp: Likewise.
      	* testsuite/libphobos.thread/thread.exp: Likewise.
      	* testsuite/libphobos.typeinfo/typeinfo.exp: Likewise.
      	* testsuite/libphobos.unittests/unittests.exp: Remove.
      	* testsuite/test_runner.d: Remove.
      	* testsuite/testsuite_flags.in: Add phobos to --gdcpaths.
      
      From-SVN: r270302
      Iain Buclaw committed
    • d: Add -fbuilding-libphobos-tests option · c50eadba
      Currently, the druntime and phobos unittests are compiled as a separate
      check program, then ran by the libphobos.unittest/unittest.exp script.
      As PR d/89255 notes, this process lacks proper multilib handling.
      
      As a first step, a new internal option that instructs the compiler to
      put the reference to all unittest functions in another symbol has been
      added.  This will allow each module to be compiled separately as a
      standalone program using dg-runtest without running into collisions in
      the D runtime module registry.
      
      gcc/d/ChangeLog:
      
      2019-04-12  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* d-tree.h (DECL_IN_UNITTEST_CONDITION_P): Define.
      	* decl.cc (DeclVisitor): Add in_version_unittest_ field.
      	(DeclVisitor::visit(ConditionalDeclaration)): New override.
      	(DeclVisitor::visit(FuncDeclaration)): Set
      	DECL_IN_UNITTEST_CONDITION_P.
      	* lang.opt (-fbuilding-libphobos-tests): Add option.
      	* modules.cc (current_testing_module): New static variable.
      	(build_module_tree): Generate second moduleinfo symbol to hold
      	reference to unittests if flag_building_libphobos_tests.
      	(register_module_decl): Check DECL_IN_UNITTEST_CONDITION_P to decide
      	which moduleinfo the decl should be registered against.
      
      From-SVN: r270301
      Iain Buclaw committed
    • d/dmd: Merge upstream dmd c185f9df1 · 77f4fb57
      Adds new virtual isVersionCondition, this is so that in the code
      generation pass, a ConditionDeclaration's condition can be identified
      without requiring a Visitor function.
      
      Reviewed-on: https://github.com/dlang/dmd/pull/9591
      
      From-SVN: r270300
      Iain Buclaw committed
    • Daily bump. · f75c823e
      From-SVN: r270299
      GCC Administrator committed
  2. 11 Apr, 2019 18 commits
  3. 10 Apr, 2019 7 commits