- 10 Nov, 2018 2 commits
-
-
This makes make_more_copies do what its documentation says, that is, only make an intermediate pseudo if copying to a pseudo. This regressed generated code quality when we didn't keep the original notes that were on the copy, but since r265582 we do, and only allowing pseudos now is a win. It also simplifies the code. * combine.c (make_more_copies): Only make an intermediate copy if the dest of a move is a pseudo. From-SVN: r266004
Segher Boessenkool committed -
From-SVN: r266001
GCC Administrator committed
-
- 09 Nov, 2018 38 commits
-
-
re PR testsuite/87965 (Test cases c-c++-common/pr60226.c and gcc.dg/pr39323-1.c fail starting with r265977) gcc/testsuite/ChangeLog: PR testsuite/87965 * c-c++-common/pr60226.c: Adjust text of expected diagnostic. * gcc.dg/pr39323-1.c: Ditto. From-SVN: r265998
Martin Sebor committed -
ChangeLog: yyyy-mm-dd Stafford Horne <shorne@gmail.com> * MAINTAINERS (CPU Port Maintainers): Add myself for or1k. (Write After Approval): Remove myself. From-SVN: r265996
Stafford Horne committed -
* gcc.dg/Walloca-16.c: Ignore conflicting types for built-in warnings. * gcc.dg/Wrestrict-4.c: Ditto. * gcc.dg/Wrestrict-5.c: Ditto. * gcc.dg/pr83463.c: Ditto. * gcc.dg/torture/pr55890-2.c: Ditto. * gcc.dg/torture/pr55890-3.c: Ditto. * gcc.dg/torture/pr71816.c: Ditto. From-SVN: r265995
Paul Koning committed -
PR target/87221 * config/netbsd-elf.h (NETBSD_STARTFILE_SPEC): Use crtbeginS.o for PIE. (NETBSD_ENDFILE_SPEC): Use crtendS.o for PIE. From-SVN: r265994
Maya Rashish committed -
2018-11-09 Sandra Loosemore <sandra@codesourcery.com> PR driver/41179 PR middle-end/65703 gcc/ * doc/invoke.texi (Optimize Options): Clarify default behavior for -fno-toplevel-reorder, -fno-defer-pop, and -fno-branch-count-reg. From-SVN: r265993
Sandra Loosemore committed -
2018-11-09 Bernd Edlinger <bernd.edlinger@hotmail.de> PR tree-optimization/87940 * expr.c (string_constant): Don't strip NOPS in subexpressions. Fold PLUS_EXPR correctly. From-SVN: r265992
Bernd Edlinger committed -
r265490 allowed the compiler to choose in a more flexible way whether to use load or load-address-relative-long (LARL) instruction. When it chose LARL for literal pool references, the latter ones were rewritten by pass_s390_early_mach to use UNSPEC_LTREF, which assumes base register usage, which in turn is not compatible with LARL. The end result was an ICE because of unrecognizable insn. UNSPEC_LTREF and friends are necessary in order to communicate the dependency on the base register to pass_sched2. When relative addressing is used, no base register is necessary, so in such cases the rewrite must be avoided. gcc/ChangeLog: 2018-11-09 Ilya Leoshkevich <iii@linux.ibm.com> PR target/87762 * config/s390/s390.c (s390_safe_relative_long_p): New function. (annotate_constant_pool_refs): Skip insns which support relative addressing. (annotate_constant_pool_refs_1): New helper function. (find_constant_pool_ref): Skip insns which support relative addression. (find_constant_pool_ref_1): New helper function. (replace_constant_pool_ref): Skip insns which support relative addressing. (replace_constant_pool_ref_1): New helper function. (s390_mainpool_start): Adapt to the new signature. (s390_mainpool_finish): Likewise. (s390_chunkify_start): Likewise. (s390_chunkify_finish): Likewise. (pass_s390_early_mach::execute): Likewise. (s390_prologue_plus_offset): Likewise. (s390_emit_prologue): Likewise. (s390_emit_epilogue): Likewise. From-SVN: r265991
Ilya Leoshkevich committed -
c/ * c-parser.c (c_parser_omp_clause_final): Use c_parser_expr_no_commas, convert_lvalue_to_rvalue, c_objc_common_truthvalue_conversion, c_fully_fold and parentheses parsing instead of c_parser_paren_condition. (c_parser_omp_clause_if): Use c_parser_expr_no_commas, convert_lvalue_to_rvalue, c_objc_common_truthvalue_conversion and c_fully_fold instead of c_parser_condition. (c_parser_omp_clause_num_threads, c_parser_omp_clause_num_tasks, c_parser_omp_clause_grainsize, c_parser_omp_clause_priority, c_parser_omp_clause_hint, c_parser_omp_clause_num_teams, c_parser_omp_clause_thread_limit, c_parser_omp_clause_linear): Use c_parser_expr_no_commas instead of c_parser_expression. cp/ * parser.c (cp_parser_omp_clause_final, cp_parser_omp_clause_if): Use cp_parser_assignment_expression instead of cp_parser_condition. (cp_parser_omp_clause_num_threads, cp_parser_omp_clause_num_tasks, cp_parser_omp_clause_grainsize, cp_parser_omp_clause_priority, cp_parser_omp_clause_num_teams, cp_parser_omp_clause_thread_limit, cp_parser_omp_clause_linear, cp_parser_omp_clause_device): Use cp_parser_assignment_expression instead of cp_parser_expression. (cp_parser_omp_clause_hint): Likewise. Formatting fix. testsuite/ * c-c++-common/gomp/clauses-5.c: New test. From-SVN: r265990
Jakub Jelinek committed -
* c-parser.c (c_parser_omp_clause_reduction): Call sorry_at on reduction clause with inscan modifier. * parser.c (cp_parser_omp_clause_reduction): Call sorry_at on reduction clause with inscan modifier. From-SVN: r265989
Jakub Jelinek committed -
c-parser.c (c_parser_omp_requires): Call sorry_at on requires clauses other than atomic_default_mem_order. * c-parser.c (c_parser_omp_requires): Call sorry_at on requires clauses other than atomic_default_mem_order. * parser.c (cp_parser_omp_requires): Call sorry_at on requires clauses other than atomic_default_mem_order. * c-c++-common/gomp/requires-1.c: Prune not supported yet messages. * c-c++-common/gomp/requires-2.c: Likewise. * c-c++-common/gomp/requires-4.c: Likewise. From-SVN: r265988
Jakub Jelinek committed -
gimplify.c (gimplify_scan_omp_clauses): Call sorry_at for valid but unsupported lastprivate with conditional modifier. * gimplify.c (gimplify_scan_omp_clauses): Call sorry_at for valid but unsupported lastprivate with conditional modifier. * c-c++-common/gomp/lastprivate-conditional-1.c: New test. * c-c++-common/gomp/lastprivate-conditional-2.c: New test. From-SVN: r265987
Jakub Jelinek committed -
* config/mips/mips.c (mips_loongson_ext2_prefetch_cookie): Handle unused argument better. Add gcc_unreachable to silence warning. From-SVN: r265986
Jeff Law committed -
* affinity-fmt.c: Include inttypes.h if HAVE_INTTYPES_H. (gomp_display_affinity): Use __builtin_choose_expr to handle properly handle argument having integral, or pointer or some other type. If inttypes.h is available and PRIx64 is defined, use PRIx64 with uint64_t type instead of %llx and unsigned long long. From-SVN: r265985
Jakub Jelinek committed -
PR libstdc++/87787 * include/bits/stl_uninitialized.h (__relocate_a_1): Do not call memmove when there's nothing to copy (and pointers could be null). From-SVN: r265984
Jonathan Wakely committed -
From-SVN: r265983
Jonathan Wakely committed -
From-SVN: r265982
Jeff Law committed -
The code to implement new-style gccgo name mangling had a recipe that didn't quite match the one in the compiler (incorrect handling for '.'). This showed up as a failure in the gotools cgo test if the directory containing the test run included a "." character. Reviewed-on: https://go-review.googlesource.com/c/147917 From-SVN: r265981
Ian Lance Taylor committed -
gcc/c-family/ChangeLog: PR middle-end/81824 * c-attribs.c (handle_copy_attribute): New function. gcc/cp/ChangeLog: PR middle-end/81824 * pt.c (warn_spec_missing_attributes): Move code to attribs.c. Call decls_mismatched_attributes. gcc/ChangeLog: PR middle-end/81824 * attribs.c (has_attribute): New helper function. (decls_mismatched_attributes, maybe_diag_alias_attributes): Same. * attribs.h (decls_mismatched_attributes): Declare. * cgraphunit.c (handle_alias_pairs): Call maybe_diag_alias_attributes. (maybe_diag_incompatible_alias): Use OPT_Wattribute_alias_. * common.opt (-Wattribute-alias): Take an argument. (-Wno-attribute-alias): New option. * doc/extend.texi (Common Function Attributes): Document copy. (Common Variable Attributes): Same. * doc/invoke.texi (-Wmissing-attributes): Document enhancement. (-Wattribute-alias): Document new option argument. gcc/testsuite/ChangeLog: PR middle-end/81824 * gcc.dg/Wattribute-alias.c: New test. * gcc.dg/Wmissing-attributes.c: New test. * gcc.dg/attr-copy.c: New test. * gcc.dg/attr-copy-2.c: New test. * gcc.dg/attr-copy-3.c: New test. * gcc.dg/attr-copy-4.c: New test. From-SVN: r265980
Martin Sebor committed -
re PR fortran/78351 (comma not terminating READ of formatted input field - ok in 4.1.7, not 4.4.7- maybe related to 25419?) 2018-11-09 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libfortran/78351 * io/transfer.c (read_sf_internal): Delete leftover debug code. From-SVN: r265979
Jerry DeLisle committed -
A couple of very minor issues with the new support for CPU aliases. * config/arm/parsecpu.awk (/alias/): Tighten invisible alias matching criteria. Remove unused array initializer. From-SVN: r265978
Richard Earnshaw committed -
gcc/c-family/ChangeLog: PR c/87795 * c-common.c (check_user_alignment): Use MAX_OFILE_ALIGNMENT. gcc/testsuite/ChangeLog: PR c/87795 * gcc.dg/attr-aligned.c: New test. From-SVN: r265977
Martin Sebor committed -
2018-11-09 Bill Schmidt <wschmidt@linux.ibm.com> Jinsong Ji <jji@us.ibm.com> * config/rs6000/xmmintrin.h (_mm_cvtss_si32): Fix incorrect constraints by introducing a new temporary. (_mm_cvtss_si64): Likewise. Co-Authored-By: Jinsong Ji <jji@us.ibm.com> From-SVN: r265975
Bill Schmidt committed -
For compatibility with the gc toolchain's syscall package. Fixes golang/go#28665 Reviewed-on: https://go-review.googlesource.com/c/148697 From-SVN: r265974
Ian Lance Taylor committed -
From-SVN: r265971
Peter Bergner committed -
2018-11-09 Martin Liska <mliska@suse.cz> * common.opt: Add -fipa-stack-alignment flag. * doc/invoke.texi: Document it. * final.c (rest_of_clean_state): Guard stack shrinking with flag. 2018-11-09 Martin Liska <mliska@suse.cz> * gcc.target/i386/ipa-stack-alignment.c: New test. From-SVN: r265970
Martin Liska committed -
2018-11-09 Martin Liska <mliska@suse.cz> * cgraph.h (ipa_discover_readonly_nonaddressable_vars): Rename to ... (ipa_discover_variable_flags): ... this. * common.opt: Come up with new flag -fipa-reference-addressable. * doc/invoke.texi: Document it. * ipa-reference.c (propagate): Call the renamed fn. * ipa-visibility.c (whole_program_function_and_variable_visibility): Likewise. * ipa.c (ipa_discover_readonly_nonaddressable_vars): Renamed to ... (ipa_discover_variable_flags): ... this. Discover non-addressable variables only with the newly added flag. * opts.c: Enable the newly added flag with -O1 and higher optimization level. 2018-11-09 Martin Liska <mliska@suse.cz> * gcc.dg/tree-ssa/writeonly-2.c: New test. From-SVN: r265969
Martin Liska committed -
gcc/ChangeLog: * json.cc (selftest::test_writing_literals): Fix comment. From-SVN: r265968
David Malcolm committed -
2018-11-09 Jakub Jelinek <jakub@redhat.com> * gcc.dg/gomp/workshare-reduction-1.c: New test. * gcc.dg/gomp/workshare-reduction-2.c: New test. * gcc.dg/gomp/workshare-reduction-3.c: New test. * gcc.dg/gomp/workshare-reduction-4.c: New test. * gcc.dg/gomp/workshare-reduction-5.c: New test. * gcc.dg/gomp/workshare-reduction-6.c: New test. * gcc.dg/gomp/workshare-reduction-7.c: New test. * gcc.dg/gomp/workshare-reduction-8.c: New test. * gcc.dg/gomp/workshare-reduction-9.c: New test. * gcc.dg/gomp/workshare-reduction-10.c: New test. * gcc.dg/gomp/workshare-reduction-11.c: New test. * gcc.dg/gomp/workshare-reduction-12.c: New test. * gcc.dg/gomp/workshare-reduction-13.c: New test. * gcc.dg/gomp/workshare-reduction-14.c: New test. * gcc.dg/gomp/workshare-reduction-15.c: New test. * gcc.dg/gomp/workshare-reduction-16.c: New test. * gcc.dg/gomp/workshare-reduction-17.c: New test. * gcc.dg/gomp/workshare-reduction-18.c: New test. * gcc.dg/gomp/workshare-reduction-19.c: New test. * gcc.dg/gomp/workshare-reduction-20.c: New test. * gcc.dg/gomp/workshare-reduction-21.c: New test. * gcc.dg/gomp/workshare-reduction-22.c: New test. * gcc.dg/gomp/workshare-reduction-23.c: New test. * gcc.dg/gomp/workshare-reduction-24.c: New test. * gcc.dg/gomp/workshare-reduction-25.c: New test. * gcc.dg/gomp/workshare-reduction-26.c: New test. * gcc.dg/gomp/workshare-reduction-27.c: New test. * gcc.dg/gomp/workshare-reduction-28.c: New test. * gcc.dg/gomp/workshare-reduction-29.c: New test. * gcc.dg/gomp/workshare-reduction-30.c: New test. * gcc.dg/gomp/workshare-reduction-31.c: New test. * gcc.dg/gomp/workshare-reduction-32.c: New test. * gcc.dg/gomp/workshare-reduction-33.c: New test. * gcc.dg/gomp/workshare-reduction-34.c: New test. * gcc.dg/gomp/workshare-reduction-35.c: New test. * gcc.dg/gomp/workshare-reduction-36.c: New test. * gcc.dg/gomp/workshare-reduction-37.c: New test. * gcc.dg/gomp/workshare-reduction-38.c: New test. * gcc.dg/gomp/workshare-reduction-39.c: New test. * gcc.dg/gomp/workshare-reduction-40.c: New test. * gcc.dg/gomp/workshare-reduction-41.c: New test. * gcc.dg/gomp/workshare-reduction-42.c: New test. * gcc.dg/gomp/workshare-reduction-43.c: New test. * gcc.dg/gomp/workshare-reduction-44.c: New test. * gcc.dg/gomp/workshare-reduction-45.c: New test. * gcc.dg/gomp/workshare-reduction-46.c: New test. * gcc.dg/gomp/workshare-reduction-47.c: New test. * gcc.dg/gomp/workshare-reduction-48.c: New test. * gcc.dg/gomp/workshare-reduction-49.c: New test. * gcc.dg/gomp/workshare-reduction-50.c: New test. * gcc.dg/gomp/workshare-reduction-51.c: New test. * gcc.dg/gomp/workshare-reduction-52.c: New test. * gcc.dg/gomp/workshare-reduction-53.c: New test. * gcc.dg/gomp/workshare-reduction-54.c: New test. * gcc.dg/gomp/workshare-reduction-55.c: New test. * gcc.dg/gomp/workshare-reduction-56.c: New test. * gcc.dg/gomp/workshare-reduction-57.c: New test. * gcc.dg/gomp/workshare-reduction-58.c: New test. libgomp/ * testsuite/libgomp.c-c++-common/task-reduction-13.c: New test. * testsuite/libgomp.c-c++-common/task-reduction-14.c: New test. From-SVN: r265967
Jakub Jelinek committed -
2018-11-09 Martin Liska <mliska@suse.cz> * config/aarch64/aarch64.c (aarch64_parse_arch): Do not copy string to a stack buffer. (aarch64_parse_cpu): Likewise. (aarch64_parse_tune): Likewise. From-SVN: r265966
Martin Liska committed -
2018-11-09 Richard Biener <rguenther@suse.de> PR tree-optimization/87953 * tree-vect-loop.c (vectorizable_reduction): For analysis always pass ops[0] to vectorizable_condition. From-SVN: r265964
Richard Biener committed -
2018-11-09 Stafford Horne <shorne@gmail.com> Richard Henderson <rth@twiddle.net> Joel Sherrill <joel@rtems.org> * common/config/or1k/or1k-common.c: New file. * config/or1k/*: New. * config.gcc (or1k*-*-*): New. * configure.ac (or1k*-*-*): New test for openrisc tls. * configure: Regenerated. * doc/install.texi: Document OpenRISC triplets. * doc/invoke.texi: Document OpenRISC arguments. * doc/md.texi: Document OpenRISC. Co-Authored-By: Joel Sherrill <joel@rtems.org> Co-Authored-By: Richard Henderson <rth@twiddle.net> From-SVN: r265963
Stafford Horne committed -
gcc/testsuite/ChangeLog: 2018-11-09 Stafford Horne <shorne@gmail.com> Richard Henderson <rth@twiddle.net> * gcc.c-torture/execute/20101011-1.c: Adjust for OpenRISC. * gcc.dg/20020312-2.c: Likewise. * gcc.dg/attr-alloc_size-11.c: Likewise. * gcc.dg/builtin-apply2.c: Likewise. * gcc.dg/nop.h: Likewise. * gcc.dg/torture/stackalign/builtin-apply-2.c: Likewise. * gcc.dg/tree-ssa/20040204-1.c: Likewise. * gcc.dg/tree-ssa/reassoc-33.c: Likewise. * gcc.dg/tree-ssa/reassoc-34.c: Likewise. * gcc.dg/tree-ssa/reassoc-35.c: Likewise. * gcc.dg/tree-ssa/reassoc-36.c: Likewise. * lib/target-supports.exp (check_effective_target_logical_op_short_circuit): Add or1k*-*-*. * gcc.target/or1k/*: New. Co-Authored-By: Richard Henderson <rth@twiddle.net> From-SVN: r265962
Stafford Horne committed -
libgcc/ChangeLog: 2018-11-09 Stafford Horne <shorne@gmail.com> Richard Henderson <rth@twiddle.net> * config.host: Add OpenRISC support. * config/or1k/*: New. Co-Authored-By: Richard Henderson <rth@twiddle.net> From-SVN: r265961
Stafford Horne committed -
This patch simplifies the table of CPUs supported in GCC by making use of the new alias feature. Most of the changes are fairly straight-forward: - arm7tdmi and arm7tdmi-s are the same thing. - arm710t, arm720t and arm740t differ only in features external to the core - arm920 and arm920t are the same thing; arm922t and arm940t differ from arm920t only in features external to the core; ep9312 is an arm920t-derived core that we continue to recognize for legacy reasons. - arm10tdmi and arm1020t differ only in features external to the core. - arm9e, arm946te-s, arm966e-s and arm968e-s differ only in features external to the core. - arm10e, arm1020e and arm1022e differ only in features external to the core. The arm10e/arm1020e/arm1022e change is the only one which changes behaviour of the compiler slightly. Previously, and for no reason that I can remember, the scheduler for arm1020e/arm1022e was not used for arm10e: this was probably an oversight. The unification means that the same scheduler is now used for all three cores. * config/arm/arm-cpus.in (arm7tdmi): Add an alias for arm7tdmi-s. (arm7tdmi-s): Delete CPU. (arm710t): Add aliases for arm720t and arm740t. (arm720t, arm740t): Delete CPUs. (arm920t): Add aliases for arm920, arm922t and arm940t. (arm920, arm922t, arm940t): Delete CPUs. (arm10tdmi): Add alias for arm1020t. (arm1020t): Delete CPU. (arm9e): Add aliases for arm946e-s, arm966e-s and arm968e-s. (arm946e-s, arm966e-s, arm968e-s): Delete CPUs. (arm10e): Add aliases for arm1020e and arm1022e. (arm1020e, arm1022e): Delete CPU. * config/arm/arm.md (generic_sched): Remove entries that are now handled by aliases. (generic_vfp): Likewise. * config/arm/arm1020e.md: Simplify tuning selection based on alias changes. * config/arm/arm-tune.md: Regenerated. * config/arm/arm-tables.opt: Regenerated. From-SVN: r265960
Richard Earnshaw committed -
2018-11-09 Richard Biener <rguenther@suse.de> PR tree-optimization/87621 * tree-vect-loop.c (vectorizable_reduction): Handle reduction op with only phi inputs. * tree-ssa-loop-ch.c: Include tree-ssa-sccvn.h. (ch_base::copy_headers): Run CSE on copied loop headers. (pass_ch_vect::process_loop_p): Simplify. * g++.dg/vect/pr87621.cc: New testcase. From-SVN: r265959
Richard Biener committed -
for gcc/ChangeLog * config/i386/mingw32.h (LINK_SPEC_LARGE_ADDR_AWARE): Adjust for non-w64 x86_64 biarch. From-SVN: r265958
Alexandre Oliva committed -
When in_a resolves to a register set in the prev_clobber insn, we may use the SET_SRC for the compare instead. However, when in_b so resolves, we proceed to use the reg with its earlier value. When both resolve to the same register and prev_clobber is an insn that modifies the register, this arrangement may cause the compare to match (when it shouldn't) and the elimination of the compare to incorrectly succeed. (set (reg 1) (plus (reg 1) (const_int N))) (set (reg 2) (reg 1)) (set (reg flags) (compare (reg 1) (reg 2))) in_a: (reg 1) --> (plus (reg 1) (const_int N)) in_b: (reg 2) -> (reg 1) -/> oops (parallel [ (set (reg flags) (compare (plus (reg 1) (const_int N)) (reg 1))) ;; should be (plus...) (set (reg 1) (plus (reg 1) (const_int N)))]) (set (reg 2) (reg 1)) This patch arranges for in_b to also undergo SET_SRC substitution when appropriate, with a shortcut for when in_a and in_b are the same rtx. for gcc/ChangeLog PR rtl-optimization/86438 * compare-elim.c (try_eliminate_compare): Use SET_SRC instead of in_b for the compare if in_b is SET_DEST. for gcc/testsuite/ChangeLog PR rtl-optimization/86438 * gcc.dg/torture/pr86438.c: New. From-SVN: r265957
Alexandre Oliva committed -
Before revision 254025, we'd reject UNSPECs in debug loc exprs. TARGET_CONST_NOT_OK_FOR_DEBUG_P still rejects that by default, on all ports that override it, except for x86, that accepts @gotoff unspecs. We can indeed accept them in top-level expressions, but not as subexpressions: the assembler rejects the difference between two @gotoff symbols, for example. We could simplify such a difference and drop the @gotoffs, provided that the symbols are in the same section; we could also accept @gotoffs plus literal constants. However, accepting those but rejecting such combinations as subexpressions would be ugly, and most likely not worth the trouble: sym@gotoff+litconst hardly makes sense as a standalone expression, and the difference between @gotoffs should be avoided to begin with, as follows. Ideally, the debug loc exprs would use the symbolic data in REG_EQUIV/REG_EQUAL notes, or delegitimized addresses, instead of simplifying the difference between two legitimized addresses so that the occurrences of the GOT register cancel each other. That would require some more elaborate surgery in var-tracking and cselib than would be appropriate at this stage. for gcc/ChangeLog PR target/87793 * config/i386/i386.c (ix86_const_not_ok_for_debug_p): Reject non-toplevel UNSPEC. for gcc/testsuite/ChangeLog PR target/87793 * gcc.dg/pr87793.c: New. From-SVN: r265956
Alexandre Oliva committed
-