- 09 Aug, 2018 4 commits
-
-
These broke after removing G5 and G6 CPUs from the processor enumeration. gcc/testsuite/ChangeLog: 2018-08-09 Andreas Krebbel <krebbel@linux.ibm.com> * gcc.target/s390/target-attribute/tattr-arch-tune-1.c: Decrement arch and tune numbers by 2. * gcc.target/s390/target-attribute/tattr-arch-tune-2.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-1.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-10.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-11.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-12.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-13.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-14.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-15.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-16.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-17.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-18.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-19.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-2.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-20.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-21.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-22.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-23.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-24.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-25.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-26.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-27.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-28.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-29.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-3.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-30.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-31.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-32.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-4.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-5.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-6.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-7.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-8.c: Likewise. * gcc.target/s390/target-attribute/tattr-m31-9.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-1.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-10.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-11.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-12.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-13.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-14.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-15.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-16.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-17.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-18.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-19.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-2.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-20.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-21.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-22.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-23.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-24.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-25.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-26.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-27.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-28.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-29.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-3.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-30.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-31.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-32.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-33.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-4.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-5.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-6.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-7.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-8.c: Likewise. * gcc.target/s390/target-attribute/tattr-m64-9.c: Likewise. From-SVN: r263443
Andreas Krebbel committed -
2018-08-09 Martin Liska <mliska@suse.cz> * params.def (PARAM_ALIGN_LOOP_ITERATIONS): Remove double dots at the end of a line, make first letter capital and end up a sentence with a dot. (PARAM_LOOP_INTERCHANGE_STRIDE_RATIO): Likewise. (PARAM_LOOP_BLOCK_TILE_SIZE): Likewise. (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Likewise. (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): Likewise. (PARAM_MAX_ISL_OPERATIONS): Likewise. (PARAM_GRAPHITE_ALLOW_CODEGEN_ERRORS): Likewise. (PARAM_PROFILE_FUNC_INTERNAL_ID): Likewise. (PARAM_INDIR_CALL_TOPN_PROFILE): Likewise. (PARAM_SLP_MAX_INSNS_IN_BB): Likewise. (PARAM_IPA_CP_EVAL_THRESHOLD): Likewise. (PARAM_IPA_CP_RECURSION_PENALTY): Likewise. (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise. (PARAM_IPA_CP_LOOP_HINT_BONUS): Likewise. (PARAM_IPA_CP_ARRAY_INDEX_HINT_BONUS): Likewise. (PARAM_TREE_REASSOC_WIDTH): Likewise. (PARAM_HSA_GEN_DEBUG_STORES): Likewise. (PARAM_MAX_SPECULATIVE_DEVIRT_MAYDEFS): Likewise. (PARAM_MAX_VRP_SWITCH_ASSERTIONS): Likewise. From-SVN: r263442
Martin Liska committed -
Our implementation of the stack probe requires the probe interval to be used as displacement in an address operand. The maximum probe interval currently is 64k. This would exceed short displacements. Trim that value down to 4k if that happens. This might result in too many probes being generated only on the oldest supported machine level z900. gcc/ChangeLog: 2018-08-09 Andreas Krebbel <krebbel@linux.ibm.com> PR target/84332 * config/s390/s390.c (s390_option_override_internal): Reduce the stack-clash-protection-probe-interval param if it would be too big for z900. gcc/testsuite/ChangeLog: 2018-08-09 Andreas Krebbel <krebbel@linux.ibm.com> PR target/84332 * gcc.target/s390/pr84332.c: New testcase. From-SVN: r263441
Andreas Krebbel committed -
From-SVN: r263439
GCC Administrator committed
-
- 08 Aug, 2018 22 commits
-
-
* include/bits/stl_algo.h (__rotate(_Ite, _Ite, _Ite, forward_iterator_tag)) (__rotate(_Ite, _Ite, _Ite, bidirectional_iterator_tag)) (__rotate(_Ite, _Ite, _Ite, random_access_iterator_tag)): Move code duplication... (rotate(_Ite, _Ite, _Ite)): ...here. (__stable_partition_adaptive(_FIt, _FIt, _Pred, _Dist, _Pointer, _Dist)): Simplify rotate call. (__rotate_adaptive(_BIt1, _BIt1, _BIt1, _Dist, _Dist, _Bit2, _Dist)): Likewise. (__merge_without_buffer(_BIt, _BIt, _BIt, _Dist, _Dist, _Comp)): Likewise. From-SVN: r263433
François Dumont committed -
PR target/46179 * config/m68k/m68k.h (FINAL_PRESCAN_INSN): Don't define. * config/m68k/m68k.c (handle_move_double): Don't call m68k_final_prescan_insn. (m68k_adjust_decorated_operand): Renamed from m68k_final_prescan_insn, remove first and third operand and simplify. (print_operand): Call it. (print_operand_address): Call it. PR target/46179 * gcc.target/m68k/tls-dimode.c: New file. From-SVN: r263432
Andreas Schwab committed -
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00554.html Make linemap::included_from a location libcpp/ * include/line-map.h (struct line_map_ordinary): Replace included_from map index with included_at source_location. (ORDINARY_MAP_INCLUDER_FILE_INDEX): Delete. (LAST_SOURCE_LINE_LOCATION): Delete. (LAST_SOURCE_LINE, LAST_SOURCE_COLUMN): Delete. (linemap_included_from): New. (linemap_included_from_linemap): Declare. (MAIN_FILE_P): Adjust. * line-map.c (linemap_included_from_linemap): New. (lonemap_check_files_exited): Use linemap_included_at. (linemap_add): Adjust inclusion setting. (linemap_dump, linemap_dump_location): Adjust. * directives.c (do_linemarker): Use linemap_included_at. gcc/ * diagnostic.c (diagnostic_report_current_module): Use linemap_included_from & linemap_included_from_linemap. gcc/c-family/ * c-common.c (try_to_locate_new_include_inertion_point): Use linemap_included_from_linemap. * c-lex.c (fe_file_change): Use linemap_included_from. * c-ppoutput.c (pp_file_change): Likewise. gcc/fortran/ * cpp.c (cb_file_change): Use linemap_included_from. gcc/testsuite/ * c-c++-common/inc-from-1a.h, c-c++-common/inc-from-1b.h, c-c++-common/inc-from-1.c: New From-SVN: r263429
Nathan Sidwell committed -
If configure fails to detect aligned_alloc we will try to define our own in new_opa.cc but that could clash with the libcversion in <stdlib.h>. Use a namespace to keep them distinct. * libsupc++/new_opa.cc (aligned_alloc): Declare inside namespace to avoid clashing with an ::aligned_alloc function that was not detected by configure. From-SVN: r263409
Jonathan Wakely committed -
Cuda driver api functions cuLinkAddData and cuLinkCreate are available starting version 5.5. In version 6.5, they are remapped onto _v2 versions. The dlopen interface of the libgomp nvptx plugin uses the _v2 versions, so it won't work with a cuda driver with driver api version lower than 6.5. This patch fixes the problem by testing for the presence of the _v2 versions, and falling back to the original versions in case of absence of the _v2 versions. Build on x86_64 with nvptx accelerator and reg-tested libgomp, both with and without --without-cuda-driver. 2018-08-08 Tom de Vries <tdevries@suse.de> * plugin/cuda-lib.def (cuLinkAddData_v2, cuLinkCreate_v2): Declare using CUDA_ONE_CALL_MAYBE_NULL. * plugin/plugin-nvptx.c (cuLinkAddData, cuLinkCreate): Undef and declare. (cuLinkAddData_v2, cuLinkCreate_v2): Declare. (link_ptx): Fall back to cuLinkAddData/cuLinkCreate if the _v2 versions are not found. From-SVN: r263408
Tom de Vries committed -
Cuda driver api function cuGetErrorString is available in version 6.0 and higher. Currently, when the driver that is used does not contain this function, the libgomp nvptx plugin will not build (PLUGIN_NVPTX_DYNAMIC == 0) or run (PLUGIN_NVPTX_DYNAMIC == 1). This patch fixes this problem by testing for the presence of the function, and handling absence. Build on x86_64 with nvptx accelerator and reg-tested libgomp, both with and without --without-cuda-driver. 2018-08-08 Tom de Vries <tdevries@suse.de> * plugin/cuda-lib.def (cuGetErrorString): Use CUDA_ONE_CALL_MAYBE_NULL. * plugin/plugin-nvptx.c (cuda_error): Handle if cuGetErrorString is not present. From-SVN: r263407
Tom de Vries committed -
CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR is defined in cuda driver api version 6.0 and higher. Currently nvptx_open_device uses a hard-coded constant instead. This patch fixes that by: - defining CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR to the hardcoded constant at toplevel, if not present in cuda.h, and - using CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR in nvptx_open_device Build on x86_64 with nvptx accelerator and reg-tested libgomp. 2018-08-08 Tom de Vries <tdevries@suse.de> * plugin/plugin-nvptx.c (CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR): Define. (nvptx_open_device): Use CU_DEVICE_ATTRIBUTE_MAX_REGISTERS_PER_MULTIPROCESSOR. From-SVN: r263406
Tom de Vries committed -
Cuda driver api function cuGetErrorString is available in version 6.0 and higher. This patch: - removes a comment saying the declaration is not available in cuda.h 6.0 - fixes the presence test to use CUDA_VERSION < 6000 - moves the declaration to toplevel Build on x86_64 with nvptx accelerator and reg-tested libgomp. 2018-08-08 Tom de Vries <tdevries@suse.de> * plugin/plugin-nvptx.c (cuda_error): Move declaration of cuGetErrorString ... (cuGetErrorString): ... here. Guard with CUDA_VERSION < 6000. From-SVN: r263405
Tom de Vries committed -
HXT semiconductor's CPU core Phecda, as a variant of Qualcomm qdf24xx, reuses the same tuning structure and pipeline with it. Applied on behalf of: Hongbo Zhang <hongbo.zhang@linaro.org> * config/aarch64/aarch64-cores.def: Add phecda core. * config/aarch64/aarch64-tune.md: Regenerate. * doc/invoke.texi: Add phecda core. From-SVN: r263404
Hongbo Zhang committed -
* doc/xml/manual/using.xml: Fix markup for empty table entry. * doc/html/*: Regenerate. From-SVN: r263401
Jonathan Wakely committed -
* doc/xml/manual/using.xml: Add missing header to table and fix typo. * doc/html/*: Regenerate. From-SVN: r263398
Jonathan Wakely committed -
PR libstdc++/86597 * include/bits/fs_dir.h (directory_entry::_M_file_type(error_code&)): Clear error_code when cached type is used. * testsuite/27_io/filesystem/directory_entry/86597.cc: New test. From-SVN: r263397
Jonathan Wakely committed -
gcc/ChangeLog: 2018-08-08 Andreas Krebbel <krebbel@linux.ibm.com> PR target/85295 * config/s390/constraints.md ("NxHD0", "NxSD0"): New constraint definitions. * config/s390/s390.md ("movti"): Add more alternatives for constant to GPR copies. gcc/testsuite/ChangeLog: 2018-08-08 Andreas Krebbel <krebbel@linux.ibm.com> PR target/85295 * gcc.target/s390/TI-constants-lra.c: New testcase. * gcc.target/s390/TI-constants-nolra.c: New testcase. From-SVN: r263396
Andreas Krebbel committed -
2018-08-08 Andreas Krebbel <krebbel@linux.ibm.com> * config/s390/s390.c: Fix whitespace damage throughout the file. * config/s390/s390.h: Likewise. * config/s390/tpf.h: Likewise. From-SVN: r263395
Andreas Krebbel committed -
TARGET_CPU_ZARCH allowed to distinguish between g5/g6 and newer machines. Since the former are now gone, we can assume that TARGET_CPU_ZARCH is always true. As a side-effect, branch splitting is now completely gone. Some parts of literal pool splitting are also gone, but it's still there: we need to support it because floating point and vector instructions still cannot use relative addressing. gcc/ChangeLog: 2018-08-08 Ilya Leoshkevich <iii@linux.ibm.com> * config/s390/s390.c (s390_loadrelative_operand_p): Remove TARGET_CPU_ZARCH usages. (s390_rtx_costs): Likewise. (s390_legitimate_constant_p): Likewise. (s390_cannot_force_const_mem): Likewise. (legitimate_reload_constant_p): Likewise. (s390_preferred_reload_class): Likewise. (legitimize_pic_address): Likewise. (legitimize_tls_address): Likewise. (s390_split_branches): Removed. (s390_add_execute): Removed. (s390_dump_pool): Remove TARGET_CPU_ZARCH usages. (s390_mainpool_start): Likewise. (s390_mainpool_finish): Likewise. (s390_mainpool_cancel): Removed. (s390_chunkify_start): Remove TARGET_CPU_ZARCH usages. (s390_chunkify_cancel): Likewise. (s390_return_addr_rtx): Likewise. (s390_register_info): Remove split_branches_pending_p uages. (s390_optimize_register_info): Likewise. (s390_init_frame_layout): Remove TARGET_CPU_ZARCH and split_branches_pending_p usages. (s390_can_eliminate): Remove TARGET_CPU_ZARCH usages. (s390_load_got): Likewise. (s390_expand_split_stack_prologue): Likewise. (output_asm_nops): Likewise. (s390_function_profiler): Likewise. (s390_emit_call): Likewise. (s390_conditional_register_usage): Likewise. (s390_optimize_prologue): Likewise. (s390_reorg): Remove TARGET_CPU_ZARCH and split_branches_pending_p usages. (s390_option_override_internal): Remove TARGET_CPU_ZARCH usages. (s390_output_indirect_thunk_function): Likewise. * config/s390/s390.h (TARGET_CPU_ZARCH): Removed. (TARGET_CPU_ZARCH_P): Removed. (struct machine_function): Remove split_branches_pending_p. * config/s390/s390.md: Remove TARGET_CPU_ZARCH usages. From-SVN: r263394
Ilya Leoshkevich committed -
g5 and g6 were deprecated since gcc 6.1.0 (commit 3bd8520f). gcc/ChangeLog: 2018-08-08 Ilya Leoshkevich <iii@linux.ibm.com> * common/config/s390/s390-common.c (processor_flags_table): Remove flags. * config.gcc: Remove with_arch/with_tune support. * config/s390/2064.md: Remove cpu attribute comparisons. * config/s390/driver-native.c (s390_host_detect_local_cpu): Remove MTN. * config/s390/linux.h (ASM_SPEC): Remove -march support. * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Use a table to get an arch level. * config/s390/s390-opts.h (enum processor_type): Remove enum values. * config/s390/s390.c (processor_table): Remove entries, add arch_level values. (s390_issue_rate): Remove cases. (s390_option_override): Adjust s390_option_override_internal() call. (s390_option_override_internal): Remove deprecation warning. (s390_valid_target_attribute_tree): Adjust s390_option_override_internal() call. * config/s390/s390.h (struct s390_processor): Share with s390-c.c, add arch_level field. * config/s390/s390.md: Remove occurrences in cpu attribute. * config/s390/s390.opt: Remove -march/-mtune support. * config/s390/tpf.h (ASM_SPEC): Remove -march support. * doc/invoke.texi: Remove deprecation warning. gcc/testsuite/ChangeLog: 2018-08-08 Ilya Leoshkevich <iii@linux.ibm.com> * gcc.target/s390/hotpatch-8.c: Remove. * gcc.target/s390/hotpatch-9.c: Remove. * gcc.target/s390/mnop-mcount-m31-fpic.c: Remove. * gcc.target/s390/mnop-mcount-m31.c: Remove. From-SVN: r263393
Ilya Leoshkevich committed -
P0595R1 - is_constant_evaluated cp/ * cp-tree.h (enum cp_built_in_function): New. (maybe_constant_init): Add pretend_const_required argument. * typeck2.c (store_init_value): Pass true as new argument to maybe_constant_init. * constexpr.c (constexpr_fn_retval): Check also DECL_BUILT_IN_CLASS for BUILT_IN_UNREACHABLE. (struct constexpr_ctx): Add pretend_const_required field. (cxx_eval_builtin_function_call): Use DECL_IS_BUILTIN_CONSTANT_P macro. Handle CP_BUILT_IN_IS_CONSTANT_EVALUATED. Check also DECL_BUILT_IN_CLASS for BUILT_IN_UNREACHABLE. (cxx_eval_outermost_constant_expr): Add pretend_const_required argument, initialize pretend_const_required field in ctx. If the result is TREE_CONSTANT and non_constant_p, retry with pretend_const_required false if it was true. (is_sub_constant_expr): Initialize pretend_const_required_field in ctx. (cxx_constant_value): Pass true as pretend_const_required to cxx_eval_outermost_constant_expr. (maybe_constant_value): Pass false as pretend_const_required to cxx_eval_outermost_constant_expr. (fold_non_dependent_expr): Likewise. (maybe_constant_init_1): Add pretend_const_required argument, pass it down to cxx_eval_outermost_constant_expr. Pass !allow_non_constant instead of false as strict to cxx_eval_outermost_constant_expr. (maybe_constant_init): Add pretend_const_required argument, pass it down to maybe_constant_init_1. (cxx_constant_init): Pass true as pretend_const_required to maybe_constant_init_1. * cp-gimplify.c (cp_gimplify_expr): Handle CALL_EXPRs to CP_BUILT_IN_IS_CONSTANT_EVALUATED. (cp_fold): Don't fold CP_BUILT_IN_IS_CONSTANT_EVALUATED calls. * decl.c: Include langhooks.h. (cxx_init_decl_processing): Register __builtin_is_constant_evaluated built-in. * tree.c (builtin_valid_in_constant_expr_p): Return true for CP_BUILT_IN_IS_CONSTANT_EVALUATED. * pt.c (declare_integer_pack): Initialize DECL_FUNCTION_CODE. testsuite/ * g++.dg/cpp2a/is-constant-evaluated1.C: New test. From-SVN: r263392
Jakub Jelinek committed -
re PR c++/86836 (internal compiler error on structured bindings with shadow parameter on templated function) PR c++/86836 * pt.c (tsubst_expr): For structured bindings, call tsubst_decomp_names before tsubst_init, not after it. * g++.dg/cpp1z/decomp46.C: New test. From-SVN: r263391
Jakub Jelinek committed -
PR c++/86738 * constexpr.c (cxx_eval_binary_expression): For arithmetics involving NULL pointer set *non_constant_p to true. (cxx_eval_component_reference): For dereferencing of a NULL pointer, set *non_constant_p to true and return t. * g++.dg/opt/pr86738.C: New test. From-SVN: r263390
Jakub Jelinek committed -
The adjusted vector costs give Falkor a reasonable boost in performance for FP benchmarks (both CPU2017 and CPU2006) and doesn't change INT benchmarks that much. There are some regressions that will be investigated as follow on work. Numbers from the CI run: CPU2017: (R) 605.mcf_s: -1.8% (R) 620.omnetpp_s: -2% 623.xalancbmk_s: 2% 654.roms_s: 7% (R) INT mean: -0.09% FP mean: 0.70% CPU2006: (R) 429.mc: -5% (R) 471.omnetpp: -9.5% (potentially noise/fluctuations) 483.xalancbmk: 6.02% 410.bwaves: 5.03% 433.milc: 2% 434.zeusmp: 10.5% (R) 436.cactusADM: -12.75% 437.leslie3d: 5.94% (R) 453.povray: -0.82% 459.GemsFDTD: 16.87% 465.tonto: 1% (R) INT mean: -0.79% FP mean: 1.54% gcc/ChangeLog: 2018-08-08 Luis Machado <luis.machado@linaro.org> * config/aarch64/aarch64.c (qdf24xx_vector_cost): New static global. (qdf24xx_tunings): Set vector cost structure to qdf24xx_vector_cost. From-SVN: r263389
Luis Machado committed -
Adjust Falkor's register_sextend cost from 4 to 3. This fixes a testsuite failure in gcc.target/aarch64/extend.c:ldr_sxtw where GCC was generating a sbfiz instruction rather than a load with sign extension. No performance changes. gcc/ChangeLog: 2018-08-08 Luis Machado <luis.machado@linaro.org> * config/aarch64/aarch64.c (qdf24xx_addrcost_table) <register_sextend>: Set to 3. From-SVN: r263388
Luis Machado committed -
From-SVN: r263387
GCC Administrator committed
-
- 07 Aug, 2018 14 commits
-
-
gcc/fortran/ * trans-stmt.h: Remove stale reference to trans-openacc.c. From-SVN: r263372
Cesar Philippidis committed -
https://gcc.gnu.org/ml/gcc-patches/2018-08/msg00434.html * line-map.c: (linemap_init): Set default allocator here. (new_linemap): Rather than here. Refactor allocation logic. From-SVN: r263366
Nathan Sidwell committed -
PR libstdc++/86874 * include/std/variant (_Copy_ctor_base::_M_destructive_move): Define here instead of in _Move_assign_base. (_Copy_ctor_base<true, _Types...>::_M_destructive_move): Define. (_Copy_assign_base::operator=): Use _M_destructive_move when changing the contained value to another alternative. (_Move_assign_base::operator=): Likewise. (_Move_assign_base::_M_destructive_move): Remove. * testsuite/20_util/variant/86874.cc: New test. From-SVN: r263365
Jonathan Wakely committed -
Updates golang/go#26634 Reviewed-on: https://go-review.googlesource.com/126857 From-SVN: r263364
Ian Lance Taylor committed -
Fix up the testing package to insure that execution traces work properly (e.g. "-test.trace=<XXX>" command line option). The call to stop tracing and emit the output file was stubbed out. Reviewed-on: https://go-review.googlesource.com/128275 From-SVN: r263363
Ian Lance Taylor committed -
The "@" handling broke -mlow-precision-div, because the scalar forms of the instruction were provided by a pattern that also provided FRECPX (and so were parameterised on an unspec code as well as a mode), while the SIMD versions had a dedicated FRECPE pattern. This patch moves the scalar FRECPE handling to the SIMD pattern too (as for FRECPS) and uses a separate pattern for FRECPX. The convention in aarch64-simd-builtins.def seemed to be to add comments only if the mapping wasn't obvious (i.e. not just sticking "aarch64_" on the beginning and "<mode>" on the end), so the patch deletes the reference to the combined pattern instead of rewording it. There didn't seem to be any coverage of -mlow-precision-div in the testsuite, so the patch adds some tests for it. 2018-08-07 Richard Sandiford <richard.sandiford@arm.com> gcc/ PR target/86838 * config/aarch64/iterators.md (FRECP, frecp_suffix): Delete. * config/aarch64/aarch64-simd.md (aarch64_frecp<FRECP:frecp_suffix><mode>): Fold FRECPE into... (@aarch64_frecpe<mode>): ...here and the move FRECPX to... (aarch64_frecpx<mode>): ...this new pattern. * config/aarch64/aarch64-simd-builtins.def: Remove comment about aarch64_frecp<FRECP:frecp_suffix><mode>. gcc/testsuite/ PR target/86838 * gcc.target/aarch64/frecpe_1.c: New test. * gcc.target/aarch64/frecpe_2.c: Likewise. From-SVN: r263362
Richard Sandiford committed -
/cp 2018-08-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59480, DR 136 * decl.c (check_no_redeclaration_friend_default_args): New. (duplicate_decls): Use the latter; also check that a friend declaration specifying default arguments is a definition. /testsuite 2018-08-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/59480, DR 136 * g++.dg/other/friend8.C: New. * g++.dg/other/friend9.C: Likewise. * g++.dg/other/friend10.C: Likewise. * g++.dg/other/friend11.C: Likewise. * g++.dg/other/friend12.C: Likewise. * g++.dg/other/friend13.C: Likewise. * g++.dg/other/friend14.C: Likewise. * g++.dg/other/friend15.C: Likewise. * g++.dg/parse/defarg4.C: Compile with -fpermissive -w. * g++.dg/parse/defarg8.C: Likewise. From-SVN: r263361
Paolo Carlini committed -
Solaris memalign requires alignment to be at least sizeof(int), so increase it as needed. Also move the check for valid alignments from the fallback implementation of aligned_alloc into operator new, as it's required for all of aligned_alloc, memalign, posix_memalign and __aligned_malloc. This adds a branch to check for undefined behaviour which we could just ignore, so the check could just be removed. It should certainly be removed if PR 86878 is implemented to issue a warning about calls with invalid alignments. PR libstdc++/86861 * libsupc++/new_opa.cc [_GLIBCXX_HAVE_MEMALIGN] (aligned_alloc): Replace macro with inline function. [__sun]: Increase alignment to meet memalign precondition. [!HAVE__ALIGNED_MALLOC && !HAVE_POSIX_MEMALIGN && !HAVE_MEMALIGN] (aligned_alloc): Move check for valid alignment to operator new. Remove redundant check for non-zero size, it's enforced by the caller. (operator new): Move check for valid alignment here. Use __builtin_expect on check for zero size. From-SVN: r263360
Jonathan Wakely committed -
This just fixes the PR number in the ChangeLog. Nothing we can do about the SVN history. From-SVN: r263358
Richard Earnshaw committed -
PR c++/79133 gcc/cp/ PR c++/79133 * name-lookup.c (check_local_shadow): Reject captures and parameters with the same name. testsuite/ PR c++/79133 * g++.dg/cpp0x/lambda/lambda-shadow3.C: New. * g++.dg/cpp1y/lambda-generic-variadic18.C: Likewise. From-SVN: r263357
Ville Voutilainen committed -
2018-08-07 Martin Liska <mliska@suse.cz> PR middle-end/83023 * predict.c (expr_expected_value_1): Handle DECL_IS_MALLOC, BUILT_IN_REALLOC and DECL_IS_OPERATOR_NEW. * predict.def (PRED_MALLOC_NONNULL): New predictor. * doc/extend.texi: Document that malloc attribute adds hit to compiler. 2018-08-07 Martin Liska <mliska@suse.cz> PR middle-end/83023 * gcc.dg/predict-16.c: New test. * g++.dg/predict-1.C: New test. From-SVN: r263355
Martin Liska committed -
Move the allocation logic into libstdc++.so so that it can be changed without worrying about inlined code in existing binaries. Leave do_allocate inline so that calls to it can be devirtualized, and only the slow path needs to call into the library. * config/abi/pre/gnu.ver: Export monotonic_buffer_resource members. * include/std/memory_resource (monotonic_buffer_resource::release): Call _M_release_buffers to free buffers. (monotonic_buffer_resource::do_allocate): Call _M_new_buffer to allocate a new buffer from upstream. (monotonic_buffer_resource::_M_new_buffer): Declare. (monotonic_buffer_resource::_M_release_buffers): Declare. (monotonic_buffer_resource::_Chunk): Replace definition with declaration as opaque type. * src/c++17/memory_resource.cc (monotonic_buffer_resource::_Chunk): Define. (monotonic_buffer_resource::_M_new_buffer): Define. (monotonic_buffer_resource::_M_release_buffers): Define. From-SVN: r263354
Jonathan Wakely committed -
2018-08-07 Steve Ellcey <sellcey@cavium.com> Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> PR tree-optimization/80925 * gcc.dg/vect/no-section-anchors-vect-69.c: Expect 3 loops vectorized on !vect_hw_misalign targets. Co-Authored-By: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> From-SVN: r263352
Steve Ellcey committed -
From-SVN: r263351
Alexandre Oliva committed
-