- 05 Jul, 2017 1 commit
-
-
From-SVN: r249982
GCC Administrator committed
-
- 04 Jul, 2017 26 commits
-
-
2017-07-04 Uros Bizjak <ubizjak@gmail.com> PR target/81300 * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): Require dead FLAGS_REG at the beginning of a peephole. testsuite/ChangeLog: PR target/81300 * gcc.target/i386/pr81300.c: New test. From-SVN: r249977
Uros Bizjak committed -
PR target/81294 * config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y arguments in the call to __builtin_ia32_sbb_u32. (_subborrow_u64): Swap _X and _Y arguments in the call to __builtin_ia32_sbb_u64. testsuite/ChangeLog: PR target/81294 * gcc.target/i386/adx-addcarryx32-2.c (adx_test): Swap x and y arguments in the call to _subborrow_u32. * gcc.target/i386/adx-addcarryx64-2.c (adx_test): Swap x and y arguments in the call to _subborrow_u64. * gcc.target/i386/pr81294-1.c: New test. * gcc.target/i386/pr81294-2.c: Ditto. From-SVN: r249976
Uros Bizjak committed -
PR debug/81278 * tree-vrp.c (compare_assert_loc): Turn into a function template with stable template parameter. Only test if a->e is NULL, !a->e == !b->e has been verified already. Use e == NULL or e != NULL instead of e or ! e tests. If stable is true, don't use iterative_hash_expr, on the other side allow a or b or both NULL and sort the NULLs last. (process_assert_insertions): Sort using compare_assert_loc<false> instead of compare_assert_loc, later sort using compare_assert_loc<true> before calling process_assert_insertions_for in a loop. Use break instead of continue once seen NULL pointer. From-SVN: r249975
Jakub Jelinek committed -
2017-07-04 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/ * config/arm/driver-arm.c (arm_cpu_table): Add entry for ARM Cortex-R7 and Cortex-R8 processors. From-SVN: r249974
Thomas Preud'homme committed -
* ipa-utils.c (ipa_merge_profiles): Fix merging when dst is uninitialized while src is not. From-SVN: r249973
Jan Hubicka committed -
While doing some unrelated work the gcc.target/aarch64/simd/vminmaxnm_1.c testcase started failing for me. Upon investigation it turns out that it breaks the C strict aliasing rules in the CHECK macro by casting a pointer to an incompatible type and dereferencing it. GCC even warns about it if compiled with -Wstrict-aliasing. This patch fixes the testcase by making it use memcmp to compare the vector elements. This avoids the undefined behaviour. The testcase still passes on trunk. * gcc.target/aarch64/simd/vminmaxnm_1.c: Fix strict aliasing issues. From-SVN: r249972
Kyrylo Tkachov committed -
When I originally started work on the new options framework for ARM I'd worked on the assumption that AWK might not be available on every build machine (only on developer's machines). However, looking again I notice that all the options framework relies on it being present for every build. This means that some of the generated files that come from running parsecpu.awk do not need to be kept under revision control. Unfortunately, it's not _all_ generated files. The build infrastructure assumes that all .md fragments are in the source tree and similarly that all .opt fragments are there as well. Still, eliminating the very big .h files is a step forward as they are very regular in structure and diff/patch/merge tools can sometimes make mistakes when resolving conflicts. So this patch removes the generated .h files from the source tree and tweaks the make rules accordingly. I've also changed the build rules to use the stamp technique to eliminate some false dependencies in a rebuild. Top-level: * contrib/gcc_update (files_and_dependencies): Remove stamp rules for arm-specific auto-generated header files. gcc: * common/config/arm/arm-common.c: Adjust include path for arm-cpu-cdata.h * t-arm (TM_H): Adjust path for arm-cpu.h. (arm-cpu.h): Create in build directory. Adjust dependency rules. (arm-cpu-data.h): Likewise. (arm-cpu-cdata.h): Likewise. * config/arm/arm-cpu.h: Delete. * config/arm/arm-cpu-cdata.h: Delete. * config/arm/arm-cpu-data.h: Delete. From-SVN: r249971
Richard Earnshaw committed -
Much like my AArch64 patch a few weeks ago, this patch adds support for the ARM Cortex-A75 and Cortex-A55 processors through the -mcpu/-mtune values cortex-a55 and cortex-a75, and an ARM DynamIQ big.LITTLE configuration of these two processors through the -mcpu/-mtune value cortex-a75.cortex-a55 Both Cortex-A55 and Cortex-A75 support ARMv8-A with the ARM8.1-A and ARMv8.2-A extensions. This is reflected in the patch, -mcpu=cortex-a75 is treated as equivalent to passing -mtune=cortex-a75 -march=armv8.2-a+fp16 gcc/ 2017-07-04 James Greenhalgh <james.greenhalgh@arm.com> * config/arm/arm-cpus.in (cortex-a55): New. (cortex-a75): Likewise. (cortex-a75.cortex-a55): Likewise. * config/arm/driver-arm.c (arm_cpu_table): Add cortex-a55 and cortex-a75. * doc/invoke.texi (-mcpu): Document cortex-a55 and cortex-a75. * config/arm/arm-cpu-cdata.h: Regenerate. * config/arm/arm-cpu-data.h: Regenerate. * config/arm/arm-cpu.h: Regenerate. * config/arm/arm-tables.opt: Regenerate. * config/arm/arm-tune.md: Regenerate. From-SVN: r249970
James Greenhalgh committed -
From-SVN: r249967
Jan Hubicka committed -
* bb-reorder.c (better_edge_p): Fix handling of uninitialized probability. From-SVN: r249966
Jan Hubicka committed -
This patch fixes relative pathnames in gcc/ChangeLog for r247584. From-SVN: r249964
Thomas Preud'homme committed -
PR c/81231 * c-common.c (sync_resolve_size): Give error for pointers to incomplete types. * gcc.dg/atomic-pr81231.c: New test. From-SVN: r249963
Marek Polacek committed -
* brigfrontend/brig-function.cc: Include profile-count.h. * brigfrontend/brig-to-generic.cc: Likewise. From-SVN: r249962
Jakub Jelinek committed -
r249880 installed the result of a strlen in a strinfo if the strinfo wasn't previously a full string. But as Jakub says in the PR comments, we can't just do that in isolation, because there are no vdefs on the call that would invalidate any related strinfos. This patch updates the related strinfos if the adjustment is simple and invalidates them otherwise. As elsewhere, we treat adjustments of the form strlen +/- INTEGER_CST as simple but anything else as too complex. 2017-07-04 Richard Sandiford <richard.sandiford@linaro.org> gcc/ PR tree-optimization/81292 * tree-ssa-strlen.c (handle_builtin_strlen): When setting full_string_p, also call adjust_related_strinfos if the adjustment is simple, otherwise invalidate related strinfos. gcc/testsuite/ PR tree-optimization/81292 * gcc.dg/pr81292-1.c: New test. * gcc.dg/pr81292-2.c: Likewise. From-SVN: r249961
Richard Sandiford committed -
2017-07-04 Martin Liska <mliska@suse.cz> PR sanitizer/81040 * sanopt.c (sanitize_rewrite_addressable_params): Mark the newly created variable as DECL_IGNORED_P. 2017-07-04 Martin Liska <mliska@suse.cz> PR sanitizer/81040 * g++.dg/asan/function-argument-1.C: Run the test-case w/o use-after-scope sanitization. From-SVN: r249960
Martin Liska committed -
2017-07-04 Martin Liska <mliska@suse.cz> PR ipa/81293 * ipa-inline.c (inline_small_functions): Use xstrdup_for_dump. From-SVN: r249959
Martin Liska committed -
2017-07-04 Tom de Vries <tom@codesourcery.com> * graph.c (draw_cfg_edges): Save and restore EDGE_DFS_BACK. From-SVN: r249954
Tom de Vries committed -
From-SVN: r249953
Olivier Hainque committed -
* g++.dg/asan/function-argument-3.C: Add -Wno-psabi to additional options. From-SVN: r249952
Jakub Jelinek committed -
re PR target/81175 (EXC_BAD_ACCESS in ::slpeel_duplicate_current_defs_from_edges(edge, edge, edge, edge) at is-a.h:192) PR target/81175 * gcc.target/i386/pr69255-2.c (foo): Use the return value of the gather. From-SVN: r249951
Jakub Jelinek committed -
2017-07-04 Olivier Hainque <hainque@adacore.com> * config/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE): Restore unconditional basic definitions. (VXWORKS_LIBS_RTP): Likewise, prefixed by VXWORKS_SYSCALL_LIBS_RTP, empty by default. * config/i386/vxworks.h (PTRDIFF_TYPE, SIZE_TYPE): Redefine, accounting for 64bit ABIs using cpu specific macros available for this purpose. (VXWORKS_SYSCALL_LIBS_RTP): Likewise. From-SVN: r249950
Olivier Hainque committed -
2017-07-04 Martin Liska <mliska@suse.cz> PR ipa/81214 * g++.dg/ext/mvc2.C: Add dg-require ifunc. * g++.dg/ext/mvc3.C: Likewise. * gcc.target/i386/mvc2.c: Likewise. * gcc.target/i386/mvc3.c: Likewise. From-SVN: r249949
Martin Liska committed -
parser.c (cp_parser_decomposition_declaration): Replace decomposition declaration with structured binding in diagnostics. * parser.c (cp_parser_decomposition_declaration): Replace decomposition declaration with structured binding in diagnostics. * decl.c (cp_finish_decomp): Likewise. (grokdeclarator): Likewise. * g++.dg/cpp1z/decomp1.C: Expect structured binding instead of decomposition declaration in diagnostics. * g++.dg/cpp1z/decomp2.C: Likewise. * g++.dg/cpp1z/decomp3.C: Likewise. * g++.dg/cpp1z/decomp4.C: Likewise. * g++.dg/cpp1z/decomp5.C: Likewise. * g++.dg/cpp1z/decomp6.C: Likewise. * g++.dg/cpp1z/decomp7.C: Likewise. * g++.dg/cpp1z/decomp8.C: Likewise. * g++.dg/cpp1z/decomp13.C: Likewise. * g++.dg/cpp1z/decomp14.C: Likewise. * g++.dg/cpp1z/decomp18.C: Likewise. * g++.dg/cpp1z/decomp19.C: Likewise. * g++.dg/cpp1z/decomp22.C: Likewise. * g++.dg/cpp1z/decomp23.C: Likewise. * g++.dg/cpp1z/decomp24.C: Likewise. * g++.dg/cpp1z/decomp25.C: Likewise. * g++.dg/cpp1z/decomp26.C: Likewise. * g++.dg/cpp1z/decomp28.C: Likewise. From-SVN: r249948
Jakub Jelinek committed -
re PR c++/81258 (ICE on C++1z code with invalid decomposition declaration: in cp_finish_decl, at cp/decl.c:6760) PR c++/81258 * parser.c (cp_parser_decomposition_declaration): Diagnose invalid forms of structured binding initializers. * g++.dg/cpp1z/decomp21.C (foo): Adjust expected diagnostics. * g++.dg/cpp1z/decomp30.C: New test. From-SVN: r249947
Jakub Jelinek committed -
From-SVN: r249943
Marek Polacek committed -
From-SVN: r249942
GCC Administrator committed
-
- 03 Jul, 2017 13 commits
-
-
2017-06-27 Olivier Hainque <hainque@adacore.com> * config/t-vxworks7: New file. New file mistakenly omitted from previous commit referencing it. From-SVN: r249938
Olivier Hainque committed -
re PR c++/65775 (Late-specified return type bypasses return type checks (qualified, function, array)) /cp 2017-07-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65775 * decl.c (grokdeclarator): Move checks on function return type after the splice_late_return_type call; if declspecs->locations[ds_type_spec] is UNKNOWN_LOCATION fall back to input_location. /testsuite 2017-07-03 Paolo Carlini <paolo.carlini@oracle.com> PR c++/65775 * g++.dg/cpp0x/trailing14.C: New. From-SVN: r249935
Paolo Carlini committed -
2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/79866 * resolve.c (resolve_symbol): Fix typo. PR testsuite/79866 * gfortran.dg/coarray_event_2.f08: New test. From-SVN: r249934
Dominique d'Humieres committed -
2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/79843 * symbol.c (check_conflict): Add missing "conflicts". PR testsuite/79843 * gfortran.dg/namelist_3.f90: Adjust the dg-error string. * gfortran.dg/pointer_intent_2.f90: Likewise. From-SVN: r249933
Dominique d'Humieres committed -
gcc/cp/ChangeLog: * parser.c (enum required_token): Fix spelling of RT_INTERATION to RT_ITERATION. (cp_parser_iteration_statement): Likewise. (cp_parser_required_error): Likewise. From-SVN: r249931
David Malcolm committed -
re PR bootstrap/81033 (there are cases where ld64 is not able to determine correct atom boundaries from the output GCC currently produces) 2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr> PR target/81033 * config/darwin.c (darwin_function_switched_text_sections): Fix spaces. From-SVN: r249930
Dominique d'Humieres committed -
From-SVN: r249929
Jan Hubicka committed -
* doc/invoke.texi (ARM Options): Add -mbe8 and -mbe32 to option summary. From-SVN: r249928
Richard Earnshaw committed -
The variables that claimed to be the "minimum number of iterations" for which vectorisation was profitable were actually the maximum number of iterations for which vectorisation wasn't profitable. The loop threshold was too. This patch makes the values be what the variable names suggest. 2017-07-03 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * tree-vect-loop.c (vect_analyze_loop_2): Treat min_scalar_loop_bound, min_profitable_iters, and th as inclusive lower bounds. Fix LOOP_VINFO_PEELING_FOR_GAPS condition. (vect_estimate_min_profitable_iters): Return inclusive lower bounds for min_profitable_iters and min_profitable_estimate. (vect_transform_loop): Treat th as an inclusive lower bound. * tree-vect-loop-manip.c (vect_loop_versioning): Likewise. From-SVN: r249927
Richard Sandiford committed -
re PR bootstrap/81033 (there are cases where ld64 is not able to determine correct atom boundaries from the output GCC currently produces) 2017-07-03 Dominique d'Humieres <dominiq@lps.ens.fr> PR target/81033 * config/darwin.c (darwin_function_switched_text_sections): Replace DECL_NAME with DECL_ASSEMBLER_NAME, split assemble_name_raw in two pieces, and suppress the use of buf. From-SVN: r249926
Dominique d'Humieres committed -
From-SVN: r249925
Nathan Sidwell committed -
PR middle-end/81290 * predict.c (force_edge_cold): Be more careful about propagation backward. * profile-count.h (profile_probability::guessed, profile_probability::fdo, profile_count::guessed, profile_count::fdo): New. * tree-ssa-threadupdate.c (recompute_probabilities): Result is guessed. * gcc.c-torture/compile/pr81290.c: New. From-SVN: r249924
Jan Hubicka committed -
Andrew pointed out that I did not document the new architecture extension flag I added for the RcPc extension. Andrew pointed out that I did not document the new architecture extension flag I added for the RcPc extension. This was intentional, as enabling the rcpc extension does not change GCC code generation, and is just an assembler flag. But for completeness, here is documentation for the new option. gcc/ 2017-07-03 James Greenhalgh <james.greenhalgh@arm.com> * doc/invoke.texi (rcpc architecture extension): Document it. From-SVN: r249923
James Greenhalgh committed
-