- 31 Aug, 2018 6 commits
-
-
* ipa-inline.c (can_inline_edge_by_limits_p): Fix typos in comment. From-SVN: r264012
Kyrylo Tkachov committed -
TARGET_FPRND should be on for everything ISA 2.04 and later, and TARGET_VSX implies ISA 2.06 or later; but it is possible to disable TARGET_FPRND (separately via -mno-fprnd, but also implicitly) currently, and then things fall down. This patch makes things not fall down. PR target/86684 PR target/87149 * config/rs6000/rs6000.md (lround<mode>di2): Gate on TARGET_FPRND. From-SVN: r264011
Segher Boessenkool committed -
re PR middle-end/87138 (wrong code with TI multiplication with -O -march=k8 -fno-tree-fre -mavx512bw) PR middle-end/87138 * expmed.c (expand_mult_const): Use immed_wide_int_const instead of gen_int_mode. Formatting fixes. * gcc.target/i386/avx512bw-pr87138.c: New test. From-SVN: r264009
Jakub Jelinek committed -
re PR fortran/86328 (Runtime segfault reading an allocatable class(*) object in allocate statements) 2018-08-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/86328 PR fortran/86760 * trans-array.c (gfc_conv_scalarized_array_ref): Do not fix info->descriptor but pass it directly to gfc_build_array_ref. (gfc_conv_array_ref): Likewise for se->expr. * trans.c (gfc_build_array_ref): If 'decl' is a COMPONENT_REF obtain the span field directly from it. 2018-08-31 Paul Thomas <pault@gcc.gnu.org> PR fortran/86328 PR fortran/86760 * gfortran.dg/pr86328.f90 : New test. in comment 12 of the PR. * gfortran.dg/pr86760.f90 : New test. From-SVN: r264008
Paul Thomas committed -
From-SVN: r264007
Rainer Orth committed -
From-SVN: r264006
GCC Administrator committed
-
- 30 Aug, 2018 21 commits
-
-
2018-08-30 Sandra Loosemore <sandra@codesourcery.com> gcc/testsuite/ * g++.dg/cpp0x/noexcept30.C: Make dependence on -fdelete-null-pointer-checks explicit. * g++.dg/cpp1y/constexpr-82218.C: Likewise. * g++.dg/expr/pmf-3.C: Likewise. * g++.dg/ext/attr-returns-nonnull.C: Likewise. * g++.dg/tree-ssa/lifetime-dse1.C: Likewise. * g++.dg/tree-ssa/pr61034.C: Likewise. * gcc.dg/addr_equal-1.c: Likewise. * gcc.dg/ipa/pr85734.c: Likewise. * gcc.dg/ipa/propmalloc-1.c: Likewise. * gcc.dg/ipa/propmalloc-2.c: Likewise. * gcc.dg/ipa/propmalloc-3.c: Likewise. * gcc.dg/tree-ssa/pr78154.c: Likewise. * gcc.dg/tree-ssa/pr83648.c: Likewise. libstdc++-v3/ * testsuite/experimental/propagate_const/observers/1.cc: Make dependence on -fdelete-null-pointer-checks explicit. From-SVN: r264001
Sandra Loosemore committed -
gcc/testsuite/ChangeLog: * gcc.c-torture/execute/memchr-1.c: Correct big-endian expectations. From-SVN: r264000
Martin Sebor committed -
2018-08-30 Sandra Loosemore <sandra@codesourcery.com> gcc/ * target.def (custom_function_descriptors): Improve documentation. * doc/tm.texi.in (Trampolines): Expand discussion of function descriptors and move TARGET_CUSTOM_FUNCTION_DESCRIPTORS to the beginning of the section. * doc/tm.texi: Regenerated. From-SVN: r263999
Sandra Loosemore committed -
gcc: 2018-08-30 Jose E. Marchesi <jose.marchesi@oracle.com> * cfg.h (class auto_edge_flag): Spell out the template-id of the base class in the initializer list. This is a workaround for building with older GCC. (class auto_bb_flag): Likewise. From-SVN: r263997
Jose E. Marchesi committed -
2018-08-30 Aaron Sawdey <acsawdey@linux.ibm.com> * config/rs6000/altivec.md (altivec_eq<mode>): Remove star. (altivec_vcmpequ<VI_char>_p): Remove star. * config/rs6000/rs6000-string.c (do_load_for_compare): Support vector load modes. (expand_strncmp_vec_sequence): New function. (emit_final_str_compare_vec): New function. (expand_strn_compare): Add support for vector strncmp. * config/rs6000/rs6000.opt (-mstring-compare-inline-limit): Change length specification to bytes. * config/rs6000/vsx.md (vsx_ld_elemrev_v16qi_internal): Remove star. (vcmpnezb_p): New pattern. * doc/invoke.texi (RS/6000 and PowerPC Options): Update documentation for option -mstring-compare-inline-limit. From-SVN: r263991
Aaron Sawdey committed -
The instruction set first appeared with Westmere, but not all processors in that and the next few generations have the instructions. According to Wikipedia[1], the first generation in which all SKUs have AES instructions are Skylake and Goldmont. I can't find any Skylake, Kabylake, Kabylake-R or Cannon Lake currently listed at https://ark.intel.com that says "Intel
® AES New Instructions" "No". [1] https://en.wikipedia.org/wiki/AES_instruction_set 2018-08-30 Thiago Macieira <thiago.macieira@intel.com> * config/i386/i386.c (PTA_WESTMERE): Remove PTA_AES. (PTA_SKYLAKE): Add PTA_AES. (PTA_GOLDMONT): Likewise. From-SVN: r263989Thiago Macieira committed -
re PR lto/86517 (relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object with LTO) PR lto/86517 * lto-opts.c (lto_write_options): Always stream PIC/PIE mode. * lto-wrapper.c (merge_and_complain): Fix merging of PIC/PIE. From-SVN: r263988
Jan Hubicka committed -
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg01978.html * include/line-map.h (enum lc_reason): Comment each member separately. (struct line_maps): Fix reallocator comment. From-SVN: r263987
Nathan Sidwell committed -
For values where the result cannot be represented the shift width would be equal to the width of the type, which is undefined. Perform two well-defined shifts instead of one possible undefined shift. * include/bits/hashtable_policy.h (__clp2): Fix calculation for LLP64 targets where sizeof(size_t) > sizeof(long). Avoid undefined shifts of the number of bits in the type. * include/std/bit (__ceil2): Avoid undefined shifts. * testsuite/26_numerics/bit/bit.pow.two/ceil2.cc: Test values with the most signifiant bit set. From-SVN: r263986
Jonathan Wakely committed -
* lto-streamer-out.c (DFS::DFS_write_tree_body): Do not follow TYPE_STUB_DECL. (hash_tree): Do not visit TYPE_STUB_DECL. * tree-streamer-out.c (write_ts_type_common_tree_pointers): Do not stream TYPE_STUB_DECL. * tree-streamer-in.c (lto_input_ts_type_common_tree_pointers): Likewise. * ipa-utils.h (type_with_linkage_p): Do not rely on TYPE_STUB_DECL after free_lang_data. (type_in_anonymous_namespace_p): Likewise. From-SVN: r263985
Jan Hubicka committed -
From-SVN: r263983
Qing Zhao committed -
* gimple-parser.c (c_parser_gimple_binary_expression): Accept infix "__MULT_HIGHPART" for MULT_HIGHPART_EXPR. From-SVN: r263982
Alexander Monakov committed -
sreal.h (SREAL_PART_BITS): Change to 31; remove seemingly unnecessary comment that it has to be even number. * sreal.h (SREAL_PART_BITS): Change to 31; remove seemingly unnecessary comment that it has to be even number. (class sreal): Change m_sig type to int32_t. * sreal.c (sreal::dump, sreal::to_int, opreator+, operator-): Use int64_t for temporary calculations. (sreal_verify_basics): Drop one bit from minimum and maximum. From-SVN: r263981
Jan Hubicka committed -
2018-08-30 Richard Biener <rguenther@suse.de> PR tree-optimization/87147 * tree-ssa-sccvn.c (SSA_VISITED): New function. (visit_phi): When the degenerate result is from the backedge and we didn't visit its definition yet drop to VARYING. (do_rpo_vn): Properly mark blocks with incoming backedges as executable. * gcc.dg/torture/pr87147.c: New testcase. From-SVN: r263980
Richard Biener committed -
* lto-streamer-out.c (DFS::DFS_write_tree_body): Do not walk DECL_VINDEX. (hash_tree): Likewise. From-SVN: r263979
Jan Hubicka committed -
* tree.c (find_decls_types_r): Walk also TYPE_NEXT_PTR_TO and TYPE_NEXT_REF_TO. From-SVN: r263978
Jan Hubicka committed -
* config/abi/pre/gnu.ver: Add missing exports for mingw. From-SVN: r263977
Jonathan Wakely committed -
* include/ext/pointer.h (_Pointer_adapter): Define operators for pointer arithmetic using long long offsets. * testsuite/ext/ext_pointer/1.cc: Test pointer arithmetic using long long values. From-SVN: r263976
Jonathan Wakely committed -
On AArch64 we have integer modes larger than TImode, and while we can generate moves for these they're not as efficient. So instead make sure we limit the maximum we can copy to TImode. This means copying a 16 byte struct will issue 1 TImode copy, which will be done using a single STP as we expect but an CImode sized copy won't issue CImode operations. I am also moving the residual code inside the if since smallest_mode_for_int may trap if the mode doesn't exist. And the only time we know the mode to exist for sure is when the condition of the if is true. This also saves repeated calls to the iterator. gcc/ 2018-08-30 Tamar Christina <tamar.christina@arm.com> * config/aarch64/aarch64.c (aarch64_expand_movmem): Set TImode max. gcc/testsuite/ 2018-08-30 Tamar Christina <tamar.christina@arm.com> * gcc.target/aarch64/large_struct_copy_2.c: New. From-SVN: r263974
Tamar Christina committed -
gcc/ 2018-08-30 Vlad Lazar <vlad.lazar@arm.com> PR middle-end/86995 * expmed.c (canonicalize_comparison): Use wi::sub instead of wi::add if to_add is negative. From-SVN: r263973
Vlad Lazar committed -
From-SVN: r263972
GCC Administrator committed
-
- 29 Aug, 2018 13 commits
-
-
gcc: 2018-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/87053 * builtins.c (c_strlen): Improve range checks. testsuite: 2018-08-22 Bernd Edlinger <bernd.edlinger@hotmail.de> PR middle-end/87053 * gcc.c-torture/execute/pr87053.c: New test. From-SVN: r263968
Bernd Edlinger committed -
re PR sanitizer/87095 (UndefinedBehaviorSanitizer vptr false positive with virtual inheritance only with -fno-sanitize-recover) PR c++/87095 * decl.c (begin_destructor_body): If current_class_type has virtual bases and the primary base is nearly empty virtual base, voidify clearing of vptr and make it conditional on in-charge argument. * g++.dg/ubsan/vptr-13.C: New test. From-SVN: r263967
Jakub Jelinek committed -
/cp 2018-08-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85265 * parser.c (cp_parser_introduction_list): If cp_parser_identifier returns error_mark_node early exit the loop. (cp_parser_template_introduction): Improve error-recovery, remove error call about empty introduction-list. /testsuite 2018-08-29 Paolo Carlini <paolo.carlini@oracle.com> PR c++/85265 * g++.dg/concepts/pr85265.C: New. From-SVN: r263966
Paolo Carlini committed -
PR tree-optimization/86714 PR tree-optimization/86711 * builtins.c (c_strlen): Add arguments to call to string_constant. * expr.c (string_constant): Add argument. Detect missing nul terminator and outermost declaration it's missing in. * expr.h (string_constant): Add argument. * fold-const.c (read_from_constant_string): Add arguments to call to string_constant. (c_getstr): Likewise. * tree-ssa-forwprop.c (simplify_builtin_call): Likewise. to string_constant. * tree-ssa-strlen.c (get_stridx): Likewise. PR tree-optimization/86714 PR tree-optimization/86711 * gcc.c-torture/execute/memchr-1.c: New test. * gcc.c-torture/execute/pr86714.c: New test. * gcc.c-torture/execute/widechar-3.c: New test. * gcc.dg/strlenopt-58.c: New test. Co-Authored-By: Bernd Edlinger <bernd.edlinger@hotmail.de> Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r263963
Martin Sebor committed -
* tree-streamer-in.c (lto_input_ts_function_decl_tree_pointers): Do not stream DECL_VINDEX. * tree-streamer-out.c (write_ts_function_decl_tree_pointers): Likewise. * tree.c (free_lang_data_in_decl): Clear DECL_VINDEX. (decl_function_context): Use DECL_VIRTUAL_P rather than DECL_VINDEX. From-SVN: r263962
Jan Hubicka committed -
tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited virtual operands that are not default defs to honor... 2018-08-29 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (vuse_ssa_val): Return NULL for unvisited virtual operands that are not default defs to honor region boundaries. (rpo_vn_valueize): Remove ineffective code here. From-SVN: r263960
Richard Biener committed -
2018-08-29 Richard Biener <rguenther@suse.de> PR tree-optimization/87132 * tree-ssa-alias.c (get_continuation_for_phi): Do not translate when skipping defs reachable over backedges. * gcc.dg/torture/pr87132.c: New testcase. From-SVN: r263959
Richard Biener committed -
2018-08-29 Richard Biener <rguenther@suse.de> * tree-core.h: Document use of deprecated_flag in SSA_NAME. * tree.h (SSA_NAME_POINTS_TO_READONLY_MEMORY): Define. * tree-into-ssa.c (pass_build_ssa::execute): Initialize function parameters SSA_NAME_POINTS_TO_READONLY_MEMORY from fnspec. * tree-ssa-sccvn.c (const_parms, init_const_parms): Remove. (vn_reference_lookup_3): Remove use of const_parms. (free_rpo_vn): Do not free const_parms. (do_rpo_vn): Do not call init_const_parms. * tree-ssa-alias.c (refs_may_alias_p_1): Honor SSA_NAME_POINTS_TO_READONLY_MEMORY. (call_may_clobber_ref_p_1): Likewise. From-SVN: r263958
Richard Biener committed -
Consider this bogus code (from g++.dg/diagnostic/param-type-mismatch-2.C): struct s4 { static int member_1 (int one, const char **two, float three); }; int test_4 (int first, const char *second, float third) { return s4::member_1 (first, second, third); } Before this patch, g++ emits: demo.cc: In function 'int test_4(int, const char*, float)': demo.cc:5:44: error: no matching function for call to 's4::member_1(int&, const char*&, float&)' 5 | return s4::member_1 (first, second, third); | ^ demo.cc:1:24: note: candidate: 'static int s4::member_1(int, const char**, float)' 1 | struct s4 { static int member_1 (int one, const char **two, float three); }; | ^~~~~~~~ demo.cc:1:24: note: no known conversion for argument 2 from 'const char*' to 'const char**' With this patch, it highlights the pertinent parameter in the "no known conversion" note: demo.cc: In function 'int test_4(int, const char*, float)': demo.cc:5:44: error: no matching function for call to 's4::member_1(int&, const char*&, float&)' 5 | return s4::member_1 (first, second, third); | ^ demo.cc:1:24: note: candidate: 'static int s4::member_1(int, const char**, float)' 1 | struct s4 { static int member_1 (int one, const char **two, float three); }; | ^~~~~~~~ demo.cc:1:56: note: no known conversion for argument 2 from 'const char*' to 'const char**' 1 | struct s4 { static int member_1 (int one, const char **two, float three); }; | ~~~~~~~~~~~~~^~~ gcc/cp/ChangeLog: PR c++/85110 * call.c (print_conversion_rejection): Add "fn" param and use it for "no known conversion" messages to underline the pertinent param. (print_z_candidate): Supply "fn" to the new param above. gcc/testsuite/ChangeLog: PR c++/85110 * g++.dg/diagnostic/param-type-mismatch-2.C: Update expected output to reflect underlining of pertinent parameter in decl for "no known conversion" messages. From-SVN: r263957
David Malcolm committed -
PR other/86726 * invoke.texi (Optimization Options): List -ftree-scev-cprop. (-O): Ditto. (-ftree-scev-cprop): Document. From-SVN: r263955
Alexander Monakov committed -
PR c++/87122 * pt.c (tsubst_expr) <case RANGE_FOR_STMT>: If processing_template_decl and decl is structured binding decl, call cp_finish_decomp. * g++.dg/cpp1z/decomp47.C: New test. From-SVN: r263953
Jakub Jelinek committed -
* sreal.h (normalize, normalize_up, normalize_down): Add new_sig/new_exp parameters. (sreal constructor): Update. * sreal.c (sreal:operator+, sreal:operator-, sreal:operator*, sreal:operator/): Update. From-SVN: r263952
Jan Hubicka committed -
2018-08-29 Martin Liska <mliska@suse.cz> PR bootstrap/87130 * lto.c (read_cgraph_and_symbols): Fix thinko, revert to behavior before r263887. From-SVN: r263950
Martin Liska committed
-