- 14 Jun, 2017 19 commits
-
-
The Cortex-A53 scheduler model of FMAC bypass is not quite right for FMAC to FMAC forwarding. Experiments also show the latencies of FP operations are too high as well. Rather than adding more bypasses, adjust the latencies of FP instructions to get a better schedule on average. As a result SPECFP2006 is 1.1% faster. gcc/ * config/arm/cortex-a53.md (cortex_a53_fpalu) Adjust latency. (cortex_a53_fconst): Likewise. (cortex_a53_fpmul): Likewise. (cortex_a53_f_load_64): Likewise. (cortex_a53_f_load_many): Likewise. (cortex_a53_advsimd_alu): Likewise. (cortex_a53_advsimd_alu_q): Likewise. (cortex_a53_advsimd_mul): Likewise. (cortex_a53_advsimd_mul_q): Likewise. (fpmac bypass): Add new bypass for fpmac-fpmac case. Add missing fmul, r2f_cvt and fconst cases. From-SVN: r249200
Wilco Dijkstra committed -
The go tool will pass -I objdir as one of the flags, where objdir is the temporary build directory. Remove that from _cgo_flags: we don't need it, and it will be different each time. Sort the flags to avoid the unpredictable map iteration order. This matters for gccgo because for a package that uses cgo, the go tool when building for gccgo will store the _cgo_flags file in the archive. That means that we want to generate identical _cgo_flags for every run. The test for this is the cmd/go testsuite, to follow in a future CL. Reviewed-on: https://go-review.googlesource.com/45692 From-SVN: r249199
Ian Lance Taylor committed -
Pass the -fdebug-prefix-map and -gno-record-gcc-switches compiler options to gccgo to generate consistent results. Fix the vendoring code to look for /vendor/, not just /vendor, to avoid being confused by something like vendor/vendor.org. Tested by the cmd/go tests in a followup CL. Reviewed-on: https://go-review.googlesource.com/45695 From-SVN: r249198
Ian Lance Taylor committed -
These tests fail for various reasons, most commonly because gccgo doesn't really have GOROOT, so things like `go build errors` fail. Reviewed-on: https://go-review.googlesource.com/45696 From-SVN: r249197
Ian Lance Taylor committed -
Add the environment variable GCCGOTOOLDIR to permit overriding the default directory where tools like cgo are found when building with gccgo. This will be used by the cmd/go tests in a future CL. Reviewed-on: https://go-review.googlesource.com/45694 From-SVN: r249196
Ian Lance Taylor committed -
If GO_TESTING_GOTOOLS is set in the environment, permit tests using gccgo to run the go tool. Like GO_BUILDER_NAME, this should not be set normally. But it is needed when testing the go tool itself, and will be set by the gotools Makefile in a future CL. Reviewed-on: https://go-review.googlesource.com/45693 From-SVN: r249195
Ian Lance Taylor committed -
Otherwise if DIR does not exist, the path does not work. This matches what the gc cmd/compile tool does, because it calls path.Join. The test for this is the cmd/go tests, to be added in a follow-up CL. Reviewed-on: https://go-review.googlesource.com/45691 From-SVN: r249194
Ian Lance Taylor committed -
re PR tree-optimization/81083 (ICE: Unable to coalesce ssa_names 4 and 13 which are marked as MUST COALESCE) 2017-06-14 Richard Biener <rguenther@suse.de> PR tree-optimization/81083 * gcc.dg/torture/pr81083.c: Add prototypes. From-SVN: r249193
Richard Biener committed -
2017-06-14 Richard Biener <rguenther@suse.de> PR middle-end/81088 * fold-const.c (split_tree): Drop TREE_OVERFLOW flag from literal constants. (fold_binary_loc): When associating do not treat pre-existing TREE_OVERFLOW on literal constants as a reason to allow TREE_OVERFLOW on associated literal constants. * c-c++-common/ubsan/pr81088.c: New testcase. From-SVN: r249192
Richard Biener committed -
cp-gimplify.c (cp_genericize_r): Turn most of the function into a switch (TREE_CODE (stmt)) statement from long... * cp-gimplify.c (cp_genericize_r): Turn most of the function into a switch (TREE_CODE (stmt)) statement from long else if sequence. From-SVN: r249191
Jakub Jelinek committed -
* config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3. (MASK_FEATURES): New macro. * config/sparc/sparc.c (sparc_option_override): Remove the special handling of -mfpu and generalize it to all MASK_FEATURES switches. From-SVN: r249189
Eric Botcazou committed -
simplify-rtx.c (simplify_binary_operation_1): Do not simplify a division of 0 if non-call exceptions are enabled. * simplify-rtx.c (simplify_binary_operation_1) <UDIV>: Do not simplify a division of 0 if non-call exceptions are enabled. From-SVN: r249188
Eric Botcazou committed -
PR target/71663 gcc * config/aarch64/aarch64.c (aarch64_expand_vector_init): Improve vector initialization code gen for only variable case. gcc/testsuite * gcc.target/aarch64/vect-init-1.c: Newtestcase. * gcc.target/aarch64/vect-init-2.c: Likewise. * gcc.target/aarch64/vect-init-3.c: Likewise. * gcc.target/aarch64/vect-init-4.c: Likewise. * gcc.target/aarch64/vect-init-5.c: Likewise. Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@cavium.com> From-SVN: r249187
Andrew Pinski committed -
2017-06-14 Paolo Carlini <paolo.carlini@oracle.com> PR c++/58541 * g++.dg/cpp0x/constexpr-58541.C: New. From-SVN: r249186
Paolo Carlini committed -
From-SVN: r249183
Eric Botcazou committed -
re PR tree-optimization/81083 (ICE: Unable to coalesce ssa_names 4 and 13 which are marked as MUST COALESCE) 2017-06-14 Richard Biener <rguenther@suse.de> PR tree-optimization/81083 * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals as values. * gcc.dg/torture/pr81083.c: New testcase. From-SVN: r249182
Richard Biener committed -
* gcc.dg/tree-ssa/vrp101.c: Fix scan-tree-dump regex. * gcc.dg/tree-ssa/builtin-sprintf-2.c: Likewise. Adjust comment. From-SVN: r249181
Jakub Jelinek committed -
* gcc.dg/tree-ssa/vrp101.c: Fix scan-tree-dump regex. * gcc.dg/tree-ssa/builtin-sprintf-2.c: Likewise. Adjust comment. From-SVN: r249180
Jakub Jelinek committed -
From-SVN: r249179
GCC Administrator committed
-
- 13 Jun, 2017 21 commits
-
-
PR c++/80973 * cp-gimplify.c (cp_genericize_r): Don't instrument MEM_REF second argument even if it has REFERENCE_TYPE. * g++.dg/ubsan/pr80973.C: New test. From-SVN: r249174
Jakub Jelinek committed -
PR c++/80984 * cp-gimplify.c (cp_genericize): Only look for VAR_DECLs in BLOCK_VARS (outer) chain. (cxx_omp_const_qual_no_mutable): Likewise. * g++.dg/opt/nrv18.C: New test. From-SVN: r249173
Jakub Jelinek committed -
PR go/80964 * configure.ac: Set NATIVE if host_alias = target_alias. * configure: Rebuild. From-SVN: r249172
Ian Lance Taylor committed -
PR objc/80949 * c-warn.c (do_warn_duplicated_branches): Return if any of the branches is null. From-SVN: r249171
Marek Polacek committed -
* config/rs6000/rs6000.c: Update all comments that mentioned SPE. (rs6000_expand_builtin): Remove RS6000_BTC_EVSEL. * config/rs6000/rs6000.h (RS6000_BTC_EVSEL): Delete. * config/rs6000/vxworks.h (VXCPU_FOR_8548): Delete. Adjust former use. * config/rs6000/vxworksae.h (VXCPU_FOR_8548): Delete. * config/rs6000/vxworksmils.h (VXCPU_FOR_8548): Delete. From-SVN: r249170
Segher Boessenkool committed -
* config/rs6000/rs6000-opts.h (enum rs6000_vector): Delete VECTOR_SPE. * config/rs6000/rs6000.c (rs6000_debug_vector_unit): Delete VECTOR_SPE. From-SVN: r249169
Segher Boessenkool committed -
* config/rs6000/rs6000.h (FIXED_SCRATCH): Delete. From-SVN: r249168
Segher Boessenkool committed -
* config/rs6000/t-rtems: Don't handle SPE. From-SVN: r249167
Segher Boessenkool committed -
* config/rs6000/t-linux: Don't handle SPE. From-SVN: r249166
Segher Boessenkool committed -
* config/rs6000/eabispe.h: Delete file. From-SVN: r249165
Segher Boessenkool committed -
* config/rs6000/t-spe: Delete file. From-SVN: r249164
Segher Boessenkool committed -
* config/rs6000/rs6000.c (SPE_CONST_OFFSET_OK): Delete. (rs6000_legitimate_offset_address_p): Return false for anything in V2SImode or V2SFmode. From-SVN: r249163
Segher Boessenkool committed -
This removes the vector modes that were only used by SPE. It also rearranges things so it is easier to see what is there, and for what. * config/rs6000/rs6000-modes.def: Remove all 8-byte vector modes except V2SF and V2SI. Rearrange the vector modes, and add comments. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Remove V8QImode and V4HImode. (reg_offset_addressing_ok_p): Remove V4HImode and V1DImode. (rs6000_legitimate_offset_address_p): Ditto. (rs6000_emit_move): Ditto. (rs6000_init_builtins): Remove V4HI_type_node. From-SVN: r249162
Segher Boessenkool committed -
Fix buglet in Gogo::write_globals-- in a couple of places the wrong Bfunction was being used for the containing (not target) function when creating calls for init functions. Reviewed-on: https://go-review.googlesource.com/45510 From-SVN: r249159
Ian Lance Taylor committed -
2017-06-13 Martin Liska <mliska@suse.cz> PR sanitize/78204 * c-c++-common/ubsan/attrib-2.c (float_cast2): Enhance the test by adding no_sanitize attribute. * gcc.dg/asan/use-after-scope-4.c: Likewise. 2017-06-13 Martin Liska <mliska@suse.cz> PR sanitize/78204 * c-attribs.c (add_no_sanitize_value): New function. (handle_no_sanitize_attribute): Likewise. (handle_no_sanitize_address_attribute): Use the function. (handle_no_sanitize_thread_attribute): New function. (handle_no_address_safety_analysis_attribute): Use add_no_sanitize_value. (handle_no_sanitize_undefined_attribute): Likewise. * c-common.h: Declare new functions. * c-ubsan.c (ubsan_instrument_division): Use sanitize_flags_p. (ubsan_instrument_shift): Likewise. (ubsan_instrument_bounds): Likewise. (ubsan_maybe_instrument_array_ref): Likewise. (ubsan_maybe_instrument_reference_or_call): Likewise. 2017-06-13 Martin Liska <mliska@suse.cz> PR sanitize/78204 * asan.c (asan_sanitize_stack_p): Use sanitize_flags_p. (gate_asan): Likewise. * asan.h (asan_no_sanitize_address_p): Remove the function. (sanitize_flags_p): New function. * builtins.def: Fix coding style. * common.opt: Use renamed enum value. * convert.c (convert_to_integer_1): Use sanitize_flags_p. * doc/extend.texi: Document no_sanitize attribute. * flag-types.h (enum sanitize_code): Rename SANITIZE_NONDEFAULT to SANITIZE_UNDEFINED_NONDEFAULT. * gcc.c (sanitize_spec_function): Use the renamed enum value. * gimple-fold.c (optimize_atomic_compare_exchange_p): Use sanitize_flags_p. * gimplify.c (gimplify_function_tree): Likewise. * ipa-inline.c (sanitize_attrs_match_for_inline_p): Likewise. * opts.c (parse_no_sanitize_attribute): New function. (common_handle_option): Use renamed enum value. * opts.h (parse_no_sanitize_attribute): Declare. * tree.c (sanitize_flags_p): New function. * tree.h: Declared here. * tsan.c: Use sanitize_flags_p. * ubsan.c (ubsan_expand_null_ifn): Likewise. (instrument_mem_ref): Likewise. (instrument_bool_enum_load): Likewise. (do_ubsan_in_current_function): Remove the function. (pass_ubsan::execute): Use sanitize_flags_p. * ubsan.h: Remove do_ubsan_in_current_function * tree-cfg.c (print_no_sanitize_attr_value): New function. (dump_function_to_file): Use it here. 2017-06-13 Martin Liska <mliska@suse.cz> PR sanitize/78204 * class.c (build_base_path): Use sanitize_flags_p. * cp-gimplify.c (cp_genericize_r): Likewise. (cp_genericize_tree): Likewise. (cp_genericize): Likewise. * cp-ubsan.c (cp_ubsan_instrument_vptr_p): Likewise. * decl.c (compute_array_index_type): Likewise. (start_preparsed_function): Likewise. * decl2.c (one_static_initialization_or_destruction): Likewise. * init.c (finish_length_check): Likewise. * lambda.c (maybe_add_lambda_conv_op): Likewise. * typeck.c (cp_build_binary_op): Likewise. (build_static_cast_1): Likewise. 2017-06-13 Martin Liska <mliska@suse.cz> PR sanitize/78204 * c-convert.c (convert): Use sanitize_flags_p. * c-decl.c (grokdeclarator): Likewise. * c-typeck.c (convert_for_assignment): Likewise. (c_finish_return): Likewise. (build_binary_op): Likewise. From-SVN: r249158
Martin Liska committed -
After r249013, die () and dump_stack () are both in cold section. This makes the compiler generate bl instruction for the function call, instead of honoring the -mlong-calls option. This patch changes the dump_stack function call conditional, which fixes the regression. gcc/testsuite/ * gcc.target/arm/cold-lc.c: Update coding style, call dump_stack conditionally. From-SVN: r249157
Renlin Li committed -
If there is no function name, the traceback is generally uninformative. In earlier versions we did not show such frames. Restore that behavior. These frames can be seen with GOTRACEBACK=system. Reviewed-on: https://go-review.googlesource.com/45431 From-SVN: r249156
Ian Lance Taylor committed -
From-SVN: r249155
Martin Jambor committed -
2017-06-13 Martin Jambor <mjambor@suse.cz> PR tree-optimization/80803 PR tree-optimization/81063 * tree-sra.c (subtree_mark_written_and_enqueue): Move up in the file. (propagate_subaccesses_across_link): Enqueue subtree whneve necessary instead of relying on the caller. testsuite/ gcc.dg/tree-ssa/pr80803.c: New test. gcc.dg/tree-ssa/pr81063.c: Likewise. From-SVN: r249154
Martin Jambor committed -
2017-06-13 Martin Jambor <mjambor@suse.cz> * tree-sra.c (add_access_to_work_queue): Only enqueue accesses that have a first_link. (sort_and_splice_var_accesses): Do not check first_link before enquing. (subtree_mark_written_and_enqueue): Likewise. (propagate_all_subaccesses): Likewise and do not stop at first parent with a first_link. From-SVN: r249153
Martin Jambor committed -
2017-06-13 Martin Jambor <mjambor@suse.cz> * tree-sra.c (dump_access_tree_1): Fix accidental dumping to stderr instead of f. From-SVN: r249152
Martin Jambor committed
-