- 14 Dec, 2018 21 commits
-
-
libphobos/ChangeLog: 2018-12-14 Iain Buclaw <ibuclaw@gdcproject.org> * src/std/internal/digest: Remove empty directory. From-SVN: r267138
Iain Buclaw committed -
PR target/88474 * internal-fn.def (HYPOT): New. * optabs.def (hypot_optab): New. * config/i386/i386.md (hypot<mode>3): New expander. From-SVN: r267137
Uros Bizjak committed -
From-SVN: r267136
Jeff Law committed -
2018-12-14 Sam Tebbs <sam.tebbs@arm.com> * doc/tm.texi (TARGET_ASM_POST_CFI_STARTPROC): Define. * doc/tm.texi.in (TARGET_ASM_POST_CFI_STARTPROC): Define. * dwarf2out.c (dwarf2out_do_cfi_startproc): Trigger the hook. * hooks.c (hook_void_FILEptr_tree): Define. * hooks.h (hook_void_FILEptr_tree): Define. * target.def (post_cfi_startproc): Define. From-SVN: r267135
Sam Tebbs committed -
When compiling an OpenMP or OpenACC program containing a reference in the offloaded code to a symbol that has not been included in the offloaded code, the offloading compiler may ICE in lto1. Fix this by erroring out instead, mentioning the problematic symbol: ... error: variable 'var' has been referenced in offloaded code but hasn't been marked to be included in the offloaded code lto1: fatal error: errors during merging of translation units compilation terminated. ... Build x86_64 with nvptx accelerator and reg-tested libgomp. Build x86_64 and reg-tested libgomp. 2018-12-14 Tom de Vries <tdevries@suse.de> * lto-cgraph.c (verify_node_partition): New function. (input_overwrite_node, input_varpool_node): Use verify_node_partition. * testsuite/libgomp.c-c++-common/function-not-offloaded-aux.c: New test. * testsuite/libgomp.c-c++-common/function-not-offloaded.c: New test. * testsuite/libgomp.c-c++-common/variable-not-offloaded.c: New test. * testsuite/libgomp.oacc-c-c++-common/function-not-offloaded.c: New test. * testsuite/libgomp.oacc-c-c++-common/variable-not-offloaded.c: New test. From-SVN: r267134
Tom de Vries committed -
get_frame_size () returns used stack slots during compilation, which may be optimized out later. Since ix86_find_max_used_stack_alignment is called by ix86_finalize_stack_frame_flags to check if stack frame is required, there is no need to call get_frame_size () which may give inaccurate final stack frame size. Tested on AVX512 machine configured with --with-arch=native --with-cpu=native gcc/ PR target/88483 * config/i386/i386.c (ix86_finalize_stack_frame_flags): Don't use get_frame_size (). gcc/testsuite/ PR target/88483 * gcc.target/i386/stackalign/pr88483.c: New test. From-SVN: r267133
H.J. Lu committed -
This patch fixes an ICE building libgfortran/random.c. The problem was an adddi3 instruction that had an eliminable frame pointer. GCN adddi3 includes a match_scratch, which LRA substitutes with a REG, and checks if it can be converted back to a scratch afterwards. In the meantime, the add was converted to a move, meaning that the instruction pattern completely changed, thus causing a segfault when the instruction is revisited in restore_scratches. 2018-12-14 Andrew Stubbs <ams@codesourcery.com> gcc/ * gcc/lra-int.h (lra_register_new_scratch_op): Add third parameter. * gcc/lra-remat.c (update_scratch_ops): Pass icode to lra_register_new_scratch_op. * gcc/lra.c (struct sloc): Add icode field. (lra_register_new_scratch_op): Add icode parameter. Use icode to skip insns that have changed beyond recognition. From-SVN: r267132
Andrew Stubbs committed -
* gcc-interface/decl.c (rm_size): Take into account the padding in the case of a record type containing a template. * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Size>: Likewise. Do not subtract the padded size for Max_Size_In_Storage_Elements. <Attr_Descriptor_Size>: Tweak comment. From-SVN: r267131
Eric Botcazou committed -
* dwarf2out.c (analyze_discr_in_predicate): Simplify. (analyze_variants_discr): Deal with naked boolean discriminants. ada/ * gcc-interface/decl.c (choices_to_gnu): Directly use a naked boolean discriminant if the value is the boolean true. From-SVN: r267130
Eric Botcazou committed -
The blink is restored wrongly when using millicode and regular load instructions. gcc/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_restore_callee_milli) Don't clobber off variable. testsuite/ xxxx-xx-xx Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/milli-1.c: New test. From-SVN: r267129
Claudiu Zissulescu committed -
From-SVN: r267128
Claudiu Zissulescu committed -
Test-case libbacktrace/allocfail.sh contains bashism "set -o pipefail", which makes the script fail on ubuntu 18.04, which links /bin/sh to /bin/dash. Fix this by removing the "set -o pipefail". Tested by running the test-case with dash on x86_64-linux. 2018-12-14 Tom de Vries <tdevries@suse.de> PR testsuite/88491 * allocfail.sh: Remove "set -o pipefail". From-SVN: r267127
Tom de Vries committed -
2018-12-14 Richard Biener <rguenther@suse.de> * gimple-ssa-split-paths.c (is_feasible_trace): Remove duplicated code block. From-SVN: r267126
Richard Biener committed -
Masking CALL_LONG from the cookie was done in order to simplify and correct length attribute calculations for indirect calls at one point in my call series tidy when the indirect patterns used alternatives "0,n" on the cookie operand. (Leaving the CALL_LONG in place calculated the wrong length for long calls without fp args.) This is no longer necessary now that the indirect sysv call patterns explicitly test for the fp arg bits in their length attribute expressions. And without the CALL_LONG to disable insns like call_value_local_svsv, combine merrily replaces the indirect long call sequence with a direct call. As it should. This patch reinstates the CALL_LONG bit. PR rtl-optimization/88311 * config/rs6000/rs6000.c (rs6000_call_sysv): Do not mask cookie. (rs6000_sibcall_sysv): Likewise. From-SVN: r267123
Alan Modra committed -
The new insn here (temporarily) illegally shares RTL. This fixes it. PR rtl-optimization/88001 * function.c (match_asm_constraints_1): Don't invalidly share RTL. From-SVN: r267122
Segher Boessenkool committed -
* auto-profile.c (afdo_annotate_cfg): Call update_max_bb_count even if autofdo counts are all zeros. From-SVN: r267121
Bin Cheng committed -
* auto-profile.c (afdo_indirect_call): Skip generating histogram value for internal call. From-SVN: r267120
Bin Cheng committed -
* auto-profile.c (AFDO_EINFO): New macro. (class edge_info): New class. (is_edge_annotated, set_edge_annotated): Delete. (afdo_propagate_edge, afdo_propagate_circuit, afdo_propagate): Remove parameter. Adjust edge count computation and annotation using class edge_info. (afdo_calculate_branch_prob, afdo_annotate_cfg): Likewise. From-SVN: r267119
Bin Cheng committed -
* ipa-cp.c (print_all_lattices): Skip cp clones. * gcc.dg/lto/pr88297_0.c: New test. * gcc.dg/lto/pr88297_1.c: New test. From-SVN: r267118
Michael Ploujnikov committed -
From-SVN: r267117
GCC Administrator committed -
From-SVN: r267114
Michael Ploujnikov committed
-
- 13 Dec, 2018 19 commits
-
-
re PR tree-optimization/88444 (ICE: tree check: expected ssa_name, have integer_cst in live_on_edge, at tree-vrp.c:468; or ICE: tree check: expected ssa_name, have integer_cst in get_value_range, at vr-values.c:84) PR tree-optimization/88444 * tree-inline.c (fold_marked_statements): Iterate up to last_basic_block_for_fn rather than n_basic_blocks_for_fn. * gcc.dg/tree-ssa/pr88444.c: New test. From-SVN: r267113
Jakub Jelinek committed -
PR rtl-optimization/88470 * cfgcleanup.c (outgoing_edges_match): If the function is shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake edge to EXIT, return false. * gcc.target/i386/pr88470.c: New test. From-SVN: r267112
Jakub Jelinek committed -
gcc/ChangeLog: * doc/extend.texi: Consistently use @code for const and volatile qualifiers, the true and false constants, and asm statements. From-SVN: r267111
Martin Sebor committed -
2018-12-13 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/88414 * lra-int.h (lra_asm_error_p): New. * lra-assigns.c (lra_assign): Check lra_asm_error_p for checking call crossed pseudo assignment correctness. (lra_split_hard_reg_for): Set up lra_asm_error_p. * lra-constraints.c (curr_insn_transform): Ditto. * lra.c (lra_asm_error_p): New. (lra): Reset lra_asm_error_p. 2018-12-13 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/88414 * gcc.target/i386/pr88414.c: New. From-SVN: r267109
Vladimir Makarov committed -
* mangle.c (write_expression): Handle TARGET_EXPR and VIEW_CONVERT_EXPR. * pt.c (convert_nontype_argument): Don't call get_template_parm_object for value-dependent expressions. * g++.dg/cpp2a/nontype-class9.C: New test. From-SVN: r267108
Marek Polacek committed -
Fix path appending and concatenating to work correctly for a leading root-name. Check a new macro, SLASHSLASH_IS_ROOT_NAME, instead of making the behaviour depend directly on __CYGWIN__. * src/filesystem/std-path.cc (SLASHSLASH_IS_ROOT_NAME): New macro to control whether interpret paths with two slashes as a root-name. (path::operator/=(const path&)) [SLASHSLASH_IS_ROOT_NAME]: Add a root-directory when appending to a root-name. (path::_M_append(basic_string_view<value_type>)) [SLASHSLASH_IS_ROOT_NAME]: Likewise. (path::operator/=(const path&)) [SLASHSLASH_IS_ROOT_NAME]: Likewise. (path::_M_concat(basic_string_view<value_type>)) [SLASHSLASH_IS_ROOT_NAME]: Likewise. (path::lexically_normal()) [SLASHSLASH_IS_ROOT_NAME]: Use += instead of /= to add a root-directory to the result. * testsuite/27_io/filesystem/path/decompose/root_directory.cc: Fix expected result for Cygwin. From-SVN: r267107
Jonathan Wakely committed -
This new implementation has a smaller footprint than the previous implementation, due to replacing std::vector<_Cmpt> with a custom pimpl type that only needs a single pointer. The _M_type enumeration is also combined with the pimpl type, by using a tagged pointer, reducing sizeof(path) further still. Construction and modification of paths is now done more efficiently, by splitting the input into a stack-based buffer of string_view objects instead of a dynamically-allocated vector containing strings. Once the final size is known only a single allocation is needed to reserve space for it. The append and concat operations no longer require constructing temporary path objects, nor re-parsing the entire native pathname. This results in algorithmic improvements to path construction, and working with large paths is much faster. PR libstdc++/71044 * include/bits/fs_path.h (path::path(path&&)): Add noexcept when appropriate. Move _M_cmpts instead of reparsing the native pathname. (path::operator=(const path&)): Do not define as defaulted. (path::operator/=, path::append): Call _M_append. (path::concat): Call _M_concat. (path::path(string_type, _Type): Change type of first parameter to basic_string_view<value_type>. (path::_M_append(basic_string_view<value_type>)): New member function. (path::_M_concat(basic_string_view<value_type>)): New member function. (_S_convert(value_type*, __null_terminated)): Return string view. (_S_convert(const value_type*, __null_terminated)): Return string view. (_S_convert(value_type*, value_type*)) (_S_convert(const value_type*, const value_type*)): Add overloads for pairs of pointers. (_S_convert(_InputIterator, __null_terminated)): Construct string_type explicitly, for cases where _S_convert returns a string view. (path::_S_is_dir_sep): Replace with non-member is_dir_sep. (path::_M_trim, path::_M_add_root_name, path::_M_add_root_dir) (path::_M_add_filename): Remove. (path::_M_type()): New member function to replace _M_type data member. (path::_List): Define new struct type instead of using std::vector. (path::_Cmpt::_Cmpt(string_type, _Type, size_t)): Change type of first parameter to basic_string_view<value_type>. (path::operator+=(const path&)): Do not define inline. (path::operator+=(const string_type&)): Call _M_concat. (path::operator+=(const value_type*)): Likewise. (path::operator+=(value_type)): Likewise. (path::operator+=(basic_string_view<value_type>)): Likewise. (path::operator/=(const path&)): Do not define inline. (path::_M_append(path)): Remove. * python/libstdcxx/v6/printers.py (StdPathPrinter): New printer that understands the new path::_List type. * src/filesystem/std-path.cc (is_dir_sep): New function to replace path::_S_is_dir_sep. (path::_Parser): New helper class to parse strings as paths. (path::_List::_Impl): Define container type for path components. (path::_List): Define members. (path::operator=(const path&)): Define explicitly, to provide the strong exception safety guarantee. (path::operator/=(const path&)): Implement manually by processing each component of the argument, rather than using _M_split_cmpts to parse the entire string again. (path::_M_append(string_type)): Likewise. (path::operator+=(const path&)): Likewise. (path::_M_concat(string_type)): Likewise. (path::remove_filename()): Perform trim directly instead of calling _M_trim(). (path::_M_split_cmpts()): Rewrite in terms of _Parser class. (path::_M_trim, path::_M_add_root_name, path::_M_add_root_dir) (path::_M_add_filename): Remove. * testsuite/27_io/filesystem/path/append/source.cc: Test appending a string view that aliases the path. testsuite/27_io/filesystem/path/concat/strings.cc: Test concatenating a string view that aliases the path. From-SVN: r267106
Jonathan Wakely committed -
PR rtl-optimization/88416 * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify even if !AUTO_INC_DEC. * gcc.target/i386/pr88416.c: New test. From-SVN: r267105
Jakub Jelinek committed -
* config/rs6000/rs6000.c (rs6000_function_arg): Ensure type is non-NULL. (rs6000_arg_partial_bytes): Same. From-SVN: r267104
David Edelsohn committed -
libitm/ * config/powerpc/target.h (htm_available): Add support for PPC_FEATURE2_HTM_NO_SUSPEND. Use __builtin_cpu_supports if available. From-SVN: r267101
Peter Bergner committed -
Libgomp test-case libgomp.c/target-5.c is failing to compile when building for x86_64 with nvptx accelerator due to missing: - getpid - gethostname - isatty (pulled in by fwrite) in the nvptx newlib. This patch fixes the build failure by: - adding a function gomp_print_string which limits the use of fwrite to a single location (in affinity-fmt.c), and - creating an nvptx version of affinity-fmt.c, which: - overrides the configure test results HAVE_GETPID and HAVE_GETHOSTNAME, and - implements fwrite using write. Build and reg-tested on x86_64 with nvptx accelerator. 2018-12-13 Tom de Vries <tdevries@suse.de> * affinity-fmt.c (gomp_print_string): New function, factored out of ... (omp_display_affinity, gomp_display_affinity_thread): ... here, and ... * fortran.c (omp_display_affinity_): ... here. * libgomp.h (gomp_print_string): Declare. * config/nvptx/affinity-fmt.c: New file. Include affinity-fmt.c, undefining HAVE_GETPID and HAVE_GETHOSTNAME, and mapping fwrite to write. From-SVN: r267100
Tom de Vries committed -
* gdbinit.in (pp): New macro. (pbb): Remove. From-SVN: r267098
Jason Merrill committed -
re PR tree-optimization/88464 (AVX-512 vectorization of masked scatter failing with "not suitable for scatter store") PR tree-optimization/88464 * tree-vect-stmts.c (vect_build_gather_load_calls): Handle INTEGER_TYPE masktype if mask is non-NULL. (vectorizable_load): Don't reject masked gather loads if masktype in the decl is INTEGER_TYPE. * gcc.target/i386/avx512f-pr88462-1.c: New test. * gcc.target/i386/avx512f-pr88462-2.c: New test. From-SVN: r267097
Jakub Jelinek committed -
https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00929.html PR c++/87531 * class.c (finish_struct): Set DECL_CONTEXT of template assign op. * name-lookup.c (get_class_binding_direct): Don't strip using-decl of overload here. * parser.c (cp_parser_postfix_expression): Cope with using decl in overload set. * semantics.c (finish_id_expr): Likewise. * g++.dg/lookup/pr87531-2.C: New. From-SVN: r267096
Nathan Sidwell committed -
PR testsuite/88041 * lib/gdc-dg.exp (gdc-dg-test): Strip gdc.test prefix. * gdc.test/gdc-test.exp (gdc-do-test): Create $subdir link. Include $subdir in filename. Cleanup generated source. * gdc.test/compilable/ddoc9676a.d (EXTRA_SOURCES): Don't use absolute path. * gdc.test/compilable/depsOutput9948.d: Likewise. From-SVN: r267094
Rainer Orth committed -
PR libgomp/88460 * testsuite/libgomp.c++/for-24.C (results): Include it in omp declare target region. (main): Use map (always, tofrom: results) instead of map (tofrom: results). From-SVN: r267093
Jakub Jelinek committed -
PR testsuite/88454 * gcc.dg/tree-ssa/split-path-5.c (__ctype_ptr__): Change type from const char * to const signed char *. (bmhi_init): Change pattern parameter's type the same. Use __builtin_strlen instead of undeclared strlen. From-SVN: r267092
Jakub Jelinek committed -
The normalized paths contain backslashes so fix the expected values to use backslashes too. * testsuite/27_io/filesystem/path/generation/proximate.cc: Use preferred directory separators for normalized paths. * testsuite/27_io/filesystem/path/generation/relative.cc: Likewise. From-SVN: r267090
Jonathan Wakely committed -
* testsuite/27_io/filesystem/path/itr/traversal.cc: Fix test for mingw. From-SVN: r267089
Jonathan Wakely committed
-