- 04 Oct, 2018 12 commits
-
-
From-SVN: r264843
Peter Bergner committed -
gcc/ PR rtl-optimization/87466 * target.def (setjmp_preserves_nonvolatile_regs_p): New target hook. * doc/tm.texi.in (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P): New hook. * doc/tm.texi: Regenerate. * ira-lives.c (process_bb_node_lives): Use the new target hook. * lra-lives.c (process_bb_lives): Likewise. * config/rs6000/rs6000.c (TARGET_SETJMP_PRESERVES_NONVOLATILE_REGS_P): Define. gcc/testsuite/ PR rtl-optimization/87466 * gcc.target/powerpc/pr87466.c: New test. From-SVN: r264842
Peter Bergner committed -
This fixes the superfluous assignment that Coverity reported in add_params, and changes the starting index from 0 to num_params - n in order for it to work properly if add_params is called multiple times. validate_params calls error so it doesn't matter that we don't check the results here. The results is checked in individual parameter updates after front-end initialization. 2018-10-04 Tamar Christina <tamar.christina@arm.com> * params.c (add_params): Fix initialization. From-SVN: r264841
Tamar Christina committed -
2018-10-04 Martin Liska <mliska@suse.cz> PR gcov-profile/84107 * tree-profile.c (init_ic_make_global_vars): Remove ic_void_ptr_var and ic_gcov_type_ptr_var. Come up with new ic_tuple* variables. Emit __gcov_indirect_call{,_topn} variables. (gimple_gen_ic_profiler): Access the variable and emit gimple. (gimple_gen_ic_func_profiler): Access __gcov_indirect_call.callee field. (gimple_init_gcov_profiler): Use ptr_type_node. * value-prof.c (gimple_ic): Use ptr_type_node. 2018-10-04 Martin Liska <mliska@suse.cz> PR gcov-profile/84107 * libgcov-profiler.c (__gcov_indirect_call): Change type to indirect_call_tuple. (struct indirect_call_tuple): New struct. (__gcov_indirect_call_topn_profiler): Change type. (__gcov_indirect_call_profiler_v2): Use the new variables. * libgcov.h (struct indirect_call_tuple): New struct definition. From-SVN: r264840
Martin Liska committed -
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00248.html * lang-specs.h: Use string contatenation, not line splicing. From-SVN: r264839
Nathan Sidwell committed -
2018-10-04 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> PR tree-optimization/85787 * ipa-pure-const.c (malloc_candidate_p_1): Move most of malloc_candidate_p into this function and add support for detecting multiple phis. (DUMP_AND_RETURN): Move from malloc_candidate_p into top-level macro. testsuite/ * gcc.dg/ipa/propmalloc-4.c: New test. From-SVN: r264838
Prathamesh Kulkarni committed -
For a set of object-files, determine symbols that are - public but should be static 2018-10-04 Bernhard Reutner-Fischer <aldot@gcc.gnu.org> * unused_functions.py: New file. From-SVN: r264837
Bernhard Reutner-Fischer committed -
2018-10-04 Richard Biener <rguenther@suse.de> * gcc.dg/tree-ssa/cunroll-15.c: Add XFAILs for arm and powerpc. From-SVN: r264836
Richard Biener committed -
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 11 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
-