- 04 Oct, 2018 4 commits
-
-
2018-10-04 Martin Liska <mliska@suse.cz> PR ipa/87491 * ipa-inline.c (inline_to_all_callers_1): Call ultimate_alias_target for node being inlined. From-SVN: r264835
Martin Liska committed -
The unconditional reload of address operand for recognized instruction in process_address_1 prevent the patch fixing PR85434 from working as expected. The code in that patch attempts to control which registers are used to make PIC access but the reload performed by process_address_1 will use generic PIC access. This patch removes the test for the instruction to be unrecognized to do the reload, thus always avoiding to reload address operand for fixed constraints (such as "X" used in the patch). 2018-10-04 Thomas Preud'homme <thomas.preudhomme@linaro.org> gcc/ * lra-constraints.c (process_address_1): Bail out for all satisfied fixed constraints. From-SVN: r264834
Thomas Preud'homme committed -
* gimple-ssa-sprintf.c (format_string): Do not hardcode size of target's wchar_t. * tree.c (get_typenode_from_name): Moved from fortran/trans-types.c. * tree.h (get_typenode_from_name): Prototype. * trans-types.c (get_typenode_from_name): Moved into gcc/tree.c. From-SVN: r264833
Jeff Law committed -
From-SVN: r264831
GCC Administrator committed
-
- 03 Oct, 2018 17 commits
-
-
i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Change operand 2 predicate to nonimmediate_operand. * config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Change operand 2 predicate to nonimmediate_operand. (*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto. From-SVN: r264827
Uros Bizjak committed -
From-SVN: r264825
Ian Lance Taylor committed -
* libgcc2.c (isnan): Use __builtin_isnan. (isfinite): Use __builtin_isfinite. (isinf): Use __builtin_isinf. From-SVN: r264823
Uros Bizjak committed -
* gimple-ssa-sprintf.c (struct fmtresult): Add new member and initialize it. (get_string_length): Detect unterminated arrays. (format_string): Same. (format_directive): Warn about unterminated arrays. (handle_gimple_call): Mark statements with no_warning as needed. * gcc.dg/warn-sprintf-no-nul.c: New test. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r264822
Martin Sebor committed -
gcc/ * config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): For ABI_ILP32E, also define __riscv_abi_rve. Delete trailing white space. From-SVN: r264821
Jim Wilson committed -
Enable LRA register allocator for PDP11. -- missed checking in ChangeLog. From-SVN: r264820
Paul Koning committed -
* config/pdp11/constraints.md (Q): Use define_memory_constraints. (R): Likewise. (D): Likewise. * config/pdp11/pdp11.c (pdp11_lra_p): New function. * config/pdp11/pdp11.opt (-mlra): New option. * doc/invoke.texi (PDP-11 Options): Document -mlra. From-SVN: r264819
Paul Koning committed -
* config/i386/i386.md (*<absneg:code>extendsfdf2): Remove. (*<absneg:code>extend<mode>xf2): Ditto. From-SVN: r264818
Uros Bizjak committed -
PR tree-optimization/87415 * tree-vrp.c (set_value_range_with_overflow): Special case one bit precision fields. From-SVN: r264817
Aldy Hernandez committed -
* gimple-fold.c (get_range_strlen): Only set *nonstr when an unterminated string is discovered. Bubble up range even for unterminated strings. (gimple_fold_builtin_strlen): Do not fold if get_range_strlen indicates the string was not terminated via NONSTR. From-SVN: r264816
Jeff Law committed -
* tree-vrp.c (extract_range_from_unary_expr): Special case all pointer conversions. Do not do anything special for anti-ranges. From-SVN: r264815
Aldy Hernandez committed -
The [[no_unique_address]] attribute on a non-static data member enables the equivalent of the empty base optimization. gcc/cp/ * tree.c (handle_no_unique_addr_attribute): New. (cxx_attribute_table): Add [[no_unique_address]]. * class.c (field_poverlapping_p): New. (layout_class_type): Check it. Adjust DECL_SIZE of potentially overlapping fields. (layout_empty_base_or_field): Rename from layout_empty_base, handle FIELD_DECL as well. (build_base_field, record_subobject_offsets): Adjust. c-family/ * c-lex.c (c_common_has_attribute): Add no_unique_address. From-SVN: r264813
Jason Merrill committed -
The global locale::_Impl that represents the "C" locale is never destroyed, so there is no need to keep track of reference count updates for that object. This greatly reduce contention between threads that refer to the classic locale. Since the global std::locale initially uses the classic locale, this benefits the common case for any code using the global locale, such as construction/destruction of iostream objects. All these updates are done inside libstdc++.so so there's no need to worry about users' objects having inlined old versions of the code which still update the reference count for the classic locale. PR libstdc++/59439 * src/c++98/locale.cc (locale::locale(const locale&)): Bypass reference count updates for the classic locale. (locale::~locale()): Likewise. (locale::operator=(const locale&)): Likewise. * src/c++98/locale_init.cc (locale::locale()): Likewise. (locale::global(const locale&)): Likewise. From-SVN: r264811
Jonathan Wakely committed -
2018-10-03 Jérôme Lambourg <lambourg@adacore.com> * config/arm/vxworks.h (ARM_TARGET2_DWARF_FORMAT): Adjust to DW_EH_PE_pcrel | DW_EH_PE_indirect for RTPs. From-SVN: r264808
Jerome Lambourg committed -
2018-10-03 Martin Liska <mliska@suse.cz> PR gcov-profile/86109 * coverage.c (coverage_begin_function): Do not mark lambdas as artificial. * tree-core.h (struct GTY): Remove tm_clone_flag and introduce new lambda_function. * tree.h (DECL_LAMBDA_FUNCTION): New macro. 2018-10-03 Martin Liska <mliska@suse.cz> PR gcov-profile/86109 * parser.c (cp_parser_lambda_declarator_opt): Set DECL_LAMBDA_FUNCTION for lambdas. 2018-10-03 Martin Liska <mliska@suse.cz> PR gcov-profile/86109 * g++.dg/gcov/pr86109.C: New test. From-SVN: r264806
Martin Liska committed -
* include/debug/map.h (map<>::emplace<>(_Args&&...)): Use C++11 direct initialization. (map<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise. (map<>::insert(value_type&&)): Likewise. (map<>::insert<>(_Pair&&)): Likewise. (map<>::insert<>(const_iterator, _Pair&&)): Likewise. (map<>::try_emplace): Likewise. (map<>::insert_or_assign): Likewise. (map<>::insert(node_type&&)): Likewise. (map<>::insert(const_iterator, node_type&&)): Likewise. (map<>::erase(const_iterator)): Likewise. (map<>::erase(const_iterator, const_iterator)): Likewise. * include/debug/multimap.h (multimap<>::emplace<>(_Args&&...)): Use C++11 direct initialization. (multimap<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise. (multimap<>::insert<>(_Pair&&)): Likewise. (multimap<>::insert<>(const_iterator, _Pair&&)): Likewise. (multimap<>::insert(node_type&&)): Likewise. (multimap<>::insert(const_iterator, node_type&&)): Likewise. (multimap<>::erase(const_iterator)): Likewise. (multimap<>::erase(const_iterator, const_iterator)): Likewise. * include/debug/set.h (set<>::emplace<>(_Args&&...)): Use C++11 direct initialization. (set<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise. (set<>::insert(value_type&&)): Likewise. (set<>::insert<>(const_iterator, value_type&&)): Likewise. (set<>::insert(const_iterator, node_type&&)): Likewise. (set<>::erase(const_iterator)): Likewise. (set<>::erase(const_iterator, const_iterator)): Likewise. * include/debug/multiset.h (multiset<>::emplace<>(_Args&&...)): Use C++11 direct initialization. (multiset<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise. (multiset<>::insert<>(value_type&&)): Likewise. (multiset<>::insert<>(const_iterator, value_type&&)): Likewise. (multiset<>::insert(node_type&&)): Likewise. (multiset<>::insert(const_iterator, node_type&&)): Likewise. (multiset<>::erase(const_iterator)): Likewise. (multiset<>::erase(const_iterator, const_iterator)): Likewise. From-SVN: r264805
François Dumont committed -
From-SVN: r264804
GCC Administrator committed
-
- 02 Oct, 2018 19 commits
-
-
From-SVN: r264800
Gerald Pfeifer committed -
2018-10-02 Aaron Sawdey <acsawdey@linux.ibm.com> PR target/87474 * config/rs6000/rs6000-string.c (expand_strn_compare): Check that both P8_VECTOR and VSX are enabled. From-SVN: r264799
Aaron Sawdey committed -
Reviewed-on: https://go-review.googlesource.com/138839 From-SVN: r264798
Ian Lance Taylor committed -
This adds the CPU model number of the IBM z14 Model ZR1 machine to -march=native. The patch doesn't actually change anything since we anyway default to z14 for unknown CPU model numbers. So this is just for the sake of completeness. 2018-10-02 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/driver-native.c (s390_host_detect_local_cpu): Add 0x3907 as CPU model number. From-SVN: r264797
Andreas Krebbel committed -
This is a mechanical change not impacting code generation. With that patch I try to hide the artificial CPU name arch12 which we had to use before the announcement of the IBM z14 machine. arch12 of course stays a valid option to -march and -mtune. So this is just about making the code somewhat easier to read. gcc/ChangeLog: 2018-10-02 Andreas Krebbel <krebbel@linux.ibm.com> * common/config/s390/s390-common.c: Rename PF_ARCH12 to PF_Z14. * config/s390/s390.h (enum processor_flags): Rename PF_ARCH12 to PF_Z14. Rename TARGET_CPU_ARCH12 to TARGET_CPU_Z14, TARGET_CPU_ARCH12_P to TARGET_CPU_Z14_P, TARGET_ARCH12 to TARGET_Z14, and TARGET_ARCH12_P to TARGET_Z14_P. * config/s390/s390.md: Likewise. Rename also the cpu attribute value from arch12 to z14. From-SVN: r264796
Andreas Krebbel committed -
* config/i386/i386.md (fxam<mode>2_i387_with_temp): Remove. (isinfxf2): Ditto. (isinf<mode>2): Ditto. From-SVN: r264795
Uros Bizjak committed -
* config/i386/i386.c (ix86_emit_i387_round): Extend op1 to XFmode before emitting fxam. Perform calculations in XFmode. From-SVN: r264794
Uros Bizjak committed -
This reportedly happens on CentOS 5.11. The real code will work fine; this test is assuming that the unexported slice function will handle the splice, but if pipe2 does not work then it doesn't. The relevant code in internal/poll/splice_linux.go says "Falling back to pipe is possible, but prior to 2.6.29 splice returns -EAGAIN instead of 0 when the connection is closed." Reviewed-on: https://go-review.googlesource.com/138838 From-SVN: r264793
Ian Lance Taylor committed -
2018-10-02 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (((X /[ex] A) +- B) * A): New transformation. gcc/testsuite/ * gcc.dg/tree-ssa/muldiv-1.c: New file. * gcc.dg/tree-ssa/muldiv-2.c: Likewise. From-SVN: r264792
Marc Glisse committed -
2018-10-02 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/87258 * include/bits/stl_bvector.h (vector::begin(), vector::cbegin()): Rebuild _M_start with an explicit 0 offset. From-SVN: r264791
Marc Glisse committed -
2018-10-02 Marc Glisse <marc.glisse@inria.fr> PR middle-end/87319 * fold-const.c (fold_plusminus_mult_expr): Handle complex and vectors. * tree.c (signed_or_unsigned_type_for): Handle complex. From-SVN: r264790
Marc Glisse committed -
Since a while we use a rldimi instead of rldicl/rldicr/or to combine two words to one. PR target/87081 * gcc.target/powerpc/vec-init-6.c: Fix expected asm. From-SVN: r264789
Segher Boessenkool committed -
From-SVN: r264788
Jeff Law committed -
* builtins.c (unterminated_array): Add new arguments. If argument is not terminated, bubble up size and exact state to callers. (expand_builtin_strnlen): Detect, avoid expanding and diagnose unterminated arrays. (c_strlen): Fill in offset of start of unterminated strings. * builtins.h (unterminated_array): Update prototype. * gcc.dg/warn-strnlen-no-nul.c: New. Co-Authored-By: Jeff Law <law@redhat.com> From-SVN: r264787
Martin Sebor committed -
Calling std::get will check some static assertions and also do a runtime check for a valid index before calling __detail::__variant::__get. The std::visit function already handles the case where any variant has an invalid index, so __get can be used directly in __visit_invoke. * include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get directly instead of get, as caller ensures correct index is used. (holds_alternative, get, get_if): Remove redundant inline specifiers. (_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise. From-SVN: r264786
Jonathan Wakely committed -
2018-10-02 Richard Biener <rguenther@suse.de> * config/i386/sse.md (reduc_plus_scal_v4df): Avoid the use of haddv4df, first reduce to SSE width and exploit the fact that we only need element zero with the reduction result. (reduc_plus_scal_v2df): Likewise. From-SVN: r264785
Richard Biener committed -
<https://gcc.gnu.org/ml/libstdc++/2016-08/msg00006.html> arranged for libstdc++ tests to use -fno-show-column by default, but only for build-tree testing. This patch adds it to the options used for installed testing as well. Tested with installed testing for a cross to x86_64-linux-gnu, where it fixes various test failures. * testsuite/lib/libstdc++.exp (libstdc++_init): Use -fno-show-column in default cxxflags. From-SVN: r264784
Joseph Myers committed -
__NO_STRING_INLINES was removed from uClibc around 2004 so has no effect. libstdc++-v3/ChangeLog: 2018-10-01 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * config/os/uclibc/os_defines.h (__NO_STRING_INLINES): Delete. From-SVN: r264783
Bernhard Reutner-Fischer committed -
* dojump.h (do_jump): Delete. (do_jump_1): Likewise. (split_comparison): Move around. * dojump.c (do_jump): Make static. (do_jump_1): Likewise. (jumpifnot): Move around. (jumpifnot_1): Likewise. (jumpif): Likewise. (jumpif_1): Likewise. * expr.c (expand_expr_real_1): Call jumpif[not] instead of do_jump. From-SVN: r264781
Eric Botcazou committed
-