aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2018-12-112018-12-10 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl5-1/+52
PR fortran/97922 * io.c (gfc_match_open): Additional checks on ASYNCHRONOUS. 2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/97922 * gfortran.dg/io_constraints_8.f90: Update error message. * gfortran.dg/pr87922.f90: New test. From-SVN: r266968
2018-12-10PR tree-optimization/86196 - Bogus -Wrestrict on memcpy between array ↵Martin Sebor4-9/+59
elements at unequal indices gcc/ChangeLog: PR tree-optimization/86196 * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Use base size only of arrays. gcc/testsuite/ChangeLog: PR tree-optimization/86196 * gcc.dg/Wrestrict-18.c: New test. From-SVN: r266967
2018-12-11Daily bump.GCC Administrator1-1/+1
From-SVN: r266966
2018-12-10sinatan-1.c: Use dg-add-options ieee.Uros Bizjak2-0/+5
* gcc.dg/sinatan-1.c: Use dg-add-options ieee. From-SVN: r266963
2018-12-10Delete powerpcspeSegher Boessenkool151-112988/+17
This deletes powerpcspe, which was deprecated for GCC 8. This does not change the testsuite, or libgcc for rs6000 (which still is shared code with powerpcspe, so can use some cleanup after this). / * contrib/config-list.mk: Remove powerpc-eabispe and powerpc-linux_spe. gcc/ * config.gcc (Obsolete configurations): Delete powerpc*-*-*spe*. (Unsupported targets): Add powerpc*-*-*spe*. (powerpc*-*-*spe*): Delete. (powerpc-*-eabispe*): Delete. (powerpc-*-rtems*spe*): Delete. (powerpc*-*-linux*spe*): Delete. (powerpc*-*-linux*): Do not handle the linux*spe* targets. (powerpc-wrs-vxworks*spe): Delete. (with_cpu setting code): Delete powerpc*-*-*spe* handling. * config.host (target powerpc*-*-*spe*): Delete. * doc/invoke.texi (PowerPC SPE Options): Delete. (PowerPC SPE Options): Delete. * config/powerpcspe: Delete. From-SVN: r266961
2018-12-10re PR fortran/88269 (ICE in gfc_format_decoder, at fortran/error.c:947)Steven G. Kargl4-5/+30
2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88269 * io.c (io_constraint): Update macro. If locus line buffer is NULL, use gfc_current_locus in error messages. (check_io_constraints): Catch missing IO UNIT in write and read statements. io_constraint macro is incompatible here. 2018-12-10 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88269 * gfortran.dg/pr88269.f90: New test. From-SVN: r266959
2018-12-10re PR target/88418 (ICE in extract_insn, at recog.c:2305 (error: ↵Uros Bizjak4-8/+39
unrecognizable insn)) PR target/88418 * config/i386/i386.c (ix86_expand_sse_cmp): For vector modes, check operand 1 with vector_operand predicate. (ix86_expand_sse_movcc): For vector modes, check op_true with vector_operand, not nonimmediate_operand. testsuite/ChangeLog: PR target/88418 * gcc.target/i386/pr88418.c: New test. From-SVN: r266958
2018-12-10tree-affine.c (tree_to_aff_combination): Remove unreachable MEM_REF case.Richard Biener2-30/+38
2018-12-10 Richard Biener <rguenther@suse.de> * tree-affine.c (tree_to_aff_combination): Remove unreachable MEM_REF case. (aff_combination_expand): Cache on SSA names, not possibly on conversion trees. Avoid expanding cases we do not handle. From-SVN: r266956
2018-12-10re PR tree-optimization/88427 (ICE: tree check: expected integer_cst, have ↵Richard Biener4-4/+38
plus_expr in get_len, at tree.h:5617) 2018-12-10 Richard Biener <rguenther@suse.de> PR tree-optimization/88427 * vr-values.c (vr_values::extract_range_from_phi_node): Handle symbolic ranges conservatively when trying to drop to Inf +- 1. * gcc.dg/pr88427.c: New testcase. From-SVN: r266955
2018-12-10re PR ipa/87955 (ICE in cl_target_option_print_diff at ↵Jakub Jelinek2-1/+6
gcc/options-save.c:3803 since r265920) PR ipa/87955 * gcc.target/i386/pr87955.c: Add -msse2 -mfpmath=sse to dg-options. From-SVN: r266954
2018-12-10[PR 88214] Check that an argument is a pointerMartin Jambor4-1/+23
2018-12-10 Martin Jambor <mjambor@suse.cz> PR ipa/88214 * ipa-prop.c (determine_locally_known_aggregate_parts): Make sure we check pointers against pointers. testsuite/ * gcc.dg/ipa/pr88214.c: New test. From-SVN: r266953
2018-12-10re PR testsuite/88369 (g++.dg/vect/pr33426-ivdep.cc etc. FAIL)Jakub Jelinek8-0/+18
PR testsuite/88369 * gcc.dg/vect/vect-ivdep-1.c: Prune versioning for alignment messages. * gcc.dg/vect/vect-ivdep-2.c: Likewise. * gcc.dg/vect/nodump-vect-opt-info-1.c: Likewise. * g++.dg/vect/pr33426-ivdep.cc: Likewise. * g++.dg/vect/pr33426-ivdep-2.cc: Likewise. * g++.dg/vect/pr33426-ivdep-3.cc: Likewise. * g++.dg/vect/pr33426-ivdep-4.cc: Likewise. From-SVN: r266952
2018-12-10re PR tree-optimization/88415 (ICE: verify_gimple failed (error: dead STMT ↵Richard Biener4-6/+30
in EH table)) 2018-12-10 Richard Biener <rguenther@suse.de> PR middle-end/88415 * gimple.c (gimple_assign_set_rhs_with_ops): Transfer EH info to a newly allocated stmt. * gcc.dg/gomp/pr88415.c: New testcase. From-SVN: r266951
2018-12-10patchable_function_entry-decl.c: Pass -mcpu=gr6 for Visium and remove other ↵Eric Botcazou4-6/+13
specific handling. * c-c++-common/patchable_function_entry-decl.c: Pass -mcpu=gr6 for Visium and remove other specific handling. * c-c++-common/patchable_function_entry-default.c: Likewise. * c-c++-common/patchable_function_entry-definition.c: Likewise. From-SVN: r266948
2018-12-10Add missing def of TARGET_VXWORKS_HAVE_CTORS_DTORS for VxWorksAEJerome Lambourg2-1/+10
* config/vxworksae.h (TARGET_VXWORKS_HAVE_CTORS_DTORS): Define. From-SVN: r266947
2018-12-10Don't try to use libgcc-unwind.map with --disable-shared (PR bootstrap/65725)Fredrik Nyström2-1/+7
2018-12-10 Fredrik Nyström <fredrik@lysator.liu.se> PR bootstrap/65725 * config/sol2.h: Only use libgcc-unwind.map if ENABLE_SHARED_LIBGCC. From-SVN: r266946
2018-12-10auto-profile.c (afdo_calculate_branch_prob): Convert profile_count to afdo ↵Bin Cheng2-2/+11
precision quality. * auto-profile.c (afdo_calculate_branch_prob): Convert profile_count to afdo precision quality. (afdo_callsite_hot_enough_for_early_inline): Likewise. (afdo_annotate_cfg): Set profile_count for exit basic block. From-SVN: r266943
2018-12-10* auto-profile.c (string_table::get_index_by_decl)Bin Cheng2-2/+8
(function_instance::get_function_instance_by_decl): Avoid infinite recursion by using DECL_FROM_INLINE. From-SVN: r266942
2018-12-10Daily bump.GCC Administrator1-1/+1
From-SVN: r266939
2018-12-09re PR fortran/88205 (ICE in gfc_wide_strncasecmp, at fortran/scanner.c:249)Steven G. Kargl4-27/+51
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88205 * io.c (gfc_match_open): Move NEWUNIT checks to after STATUS checks. 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88205 * gfortran.dg/pr88205.f90: New unit. From-SVN: r266936
2018-12-09Generate and scan documentation output in Ddoc tests.Iain Buclaw2-4/+29
The tests in gdc.test/compilable/ddoc*.d don't require the module to be compiled all the way down to object code. Instead, only compile the test sources with -fdoc, and scan the generated html content. gcc/testsuite/ChangeLog: PR d/88039 * gdc.test/gdc-test.exp (gdc-convert-args): Handle -D. (dmd2dg): Check generated html in ddoc tests. (gdc-do-test): Set dg-do-what-default to compile for ddoc tests. From-SVN: r266933
2018-12-09config.gcc (hppa*-*-linux*): Add pa/t-pa to tmake_file.John David Anglin6-1/+60
* config.gcc (hppa*-*-linux*): Add pa/t-pa to tmake_file. Define d_target_objs. * config/pa/pa-protos.h (pa_d_target_versions): New prototype. * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Define. * config/pa/pa-d.c: New file. * config/pa/t-pa: New file. From-SVN: r266931
2018-12-09re PR fortran/88206 (ICE in gfc_match_type_spec, at fortran/match.c:2229)Steven G. Kargl4-0/+23
2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88206 * match.c (gfc_match_type_spec): REAL can be an intrinsic function. 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88206 * gfortran.dg/pr88206.f90: New test. From-SVN: r266930
2018-12-09[multiple changes]Steven G. Kargl4-2/+21
2018-12-09 Fritz Reese <fritzoreese@gmail.com> PR fortran/88228 * resolve.c (resolve_operator): Do not call resolve_function. Break like other cases. 2018-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88228 * gfortran.dg/pr88228.f90: New test. From-SVN: r266926
2018-12-09Merge dmd upstream e2fe2687bIain Buclaw8-305/+728
Backports VRP fixes from the D front-end implementation to the C++ port, and fixes errors reported by ubsan build where the conversion from D didn't include adjusting integer suffixes from 'UL' to 'ULL'. Fixes https://gcc.gnu.org/PR88366 Reviewed-on: https://github.com/dlang/dmd/pull/9046 From-SVN: r266925
2018-12-09Correct the reported line number in Fortran combined OpenACC directivesThomas Schwinge5-2/+39
gcc/fortran/ * trans-openmp.c (gfc_trans_oacc_combined_directive): Set the location of combined acc loops. gcc/testsuite/ * gfortran.dg/goacc/combined-directives-3.f90: New file. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r266924
2018-12-09Correct the reported line number in C++ combined OpenACC directivesCesar Philippidis7-40/+77
The C++ FE doesn't set the expr_location of the split acc loop in combined acc parallel/kernels loop directives. This only happens for with combined directives, otherwise cp_parser_omp_construct would be responsible for setting the location. After fixing this bug, I was able to resolve a couple of long standing diagnostics discrepancies between the C/C++ FEs in the test suite. gcc/cp/ * parser.c (cp_parser_oacc_kernels_parallel): Adjust EXPR_LOCATION on the combined acc loop. gcc/testsuite/ * c-c++-common/goacc/combined-directives-3.c: New test. * c-c++-common/goacc/loop-2-kernels.c (void K): Adjust test. * c-c++-common/goacc/loop-2-parallel.c (void P): Adjust test. * c-c++-common/goacc/loop-3.c (void p2): Adjust test. Reviewed-by: Thomas Schwinge <thomas@codesourcery.com> From-SVN: r266923
2018-12-09Use existing middle end checking for Fortran OpenACC loop clausesThomas Schwinge6-116/+53
Don't duplicate in the Fortran front end what's generically being checked in the middle end. gcc/fortran/ * openmp.c (resolve_oacc_loop_blocks): Remove checking of OpenACC loop clauses. gcc/testsuite/ * gfortran.dg/goacc/loop-2-kernels.f95: Update. * gfortran.dg/goacc/loop-2-parallel.f95: Likewise. * gfortran.dg/goacc/nested-parallelism.f90: Likewise. From-SVN: r266922
2018-12-09Split up "gfortran.dg/goacc/loop-2.f95"Thomas Schwinge12-649/+717
gcc/testsuite/ * gfortran.dg/goacc/loop-2.f95: Split into... * gfortran.dg/goacc/loop-2-kernels-nested.f95: ... this new file... * gfortran.dg/goacc/loop-2-kernels-tile.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-kernels.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-3.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-nested.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel-tile.f95: ..., and this new file... * gfortran.dg/goacc/loop-2-parallel.f95: ..., and this new file. From-SVN: r266921
2018-12-09[PR88420] Fortran OpenACC "Clause SEQ conflicts with INDEPENDENT"Thomas Schwinge5-6/+14
The Fortran front end declares that the OpenACC "Clause SEQ conflicts with INDEPENDENT". While that combination doesn't make too much sense indeed, it's still valid; these are orthogonal concepts. gcc/fortran/ PR fortran/88420 * openmp.c (resolve_oacc_loop_blocks): Remove "Clause SEQ conflicts with INDEPENDENT" diagnostic. gcc/testsuite/ PR fortran/88420 * gfortran.dg/goacc/loop-1-2.f95: Update. * gfortran.dg/goacc/loop-1.f95: Likewise. From-SVN: r266920
2018-12-09ipa-cp.c (update_profiling_info): Call adjust_for_ipa_scaling for zero ↵Bin Cheng2-0/+7
profile count. * ipa-cp.c (update_profiling_info): Call adjust_for_ipa_scaling for zero profile count. From-SVN: r266918
2018-12-09re PR fortran/88048 (ICE in check_data_variable, at fortran/resolve.c:15491)Steven G. Kargl4-3/+2748
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88048 * resolve.c (check_data_variable): Named constant cannot be a data object. 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88048 * gfortran.dg/pr88048.f90: New test. From-SVN: r266916
2018-12-0920180-12-08 Steven G. Kargl <kargl@gcc.gnu.org>Steven G. Kargl5-0/+33
PR fortran/87945 * decl.c (var_element): Inquiry parameters cannit be data objects. 20180-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/87945 * gfortran.dg/pr87945_1.f90: New test. * gfortran.dg/pr87945_2.f90: New test. From-SVN: r266915
2018-12-09re PR fortran/88025 (ICE in gfc_apply_init, at fortran/expr.c:4468)Steven G. Kargl4-5/+21
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88025 * expr.c (gfc_apply_init): Remove asserts that cannot trigger. Check for a NULL pointer. 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88025 * gfortran.dg/pr88025.f90: New test. From-SVN: r266913
2018-12-09Daily bump.GCC Administrator1-1/+1
From-SVN: r266912
2018-12-08c: Delete a stray line in asm inlineSegher Boessenkool2-1/+5
I noticed I accidentally copied a line too many from the "volatile" handling to the "inline" handling. This fixes it. gcc/c/ * c-parser (c_parser_asm_statement) [RID_INLINE]: Delete stray line setting "quals". From-SVN: r266909
2018-12-08re PR fortran/88357 (ICE in parse_associate, at fortran/parse.c:4568)Steven G. Kargl7-5/+40
2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/88357 * class.c (insert_component_ref): Check for NULL pointer and previous error message issued. * parse.c (parse_associate): Check for NULL pointer. * resolve.c (resolve_assoc_var): Check for NULL pointer. 2018-12-08 Steven G. Kargl <kargl@gcc.gnu.org> * gfortran.dg/pr88357_1.f90: New test. * gfortran.dg/pr88357_2.f90: New test. From-SVN: r266908
2018-12-08re PR fortran/88304 (ICE in use_pointer_in_frame, at tree-nested.c:267)Jakub Jelinek4-1/+42
PR fortran/88304 * tree-nested.c (convert_local_reference_stmt): Handle clobbers where lhs is not a decl normally, don't call use_pointer_in_frame on that lhs. * gfortran.fortran-torture/compile/pr88304-2.f90: New test. From-SVN: r266907
2018-12-08re PR rtl-optimization/88390 (g++.dg/tree-prof/pr57451.C FAILs)Eric Botcazou2-5/+39
PR rtl-optimization/88390 * dwarf2cfi.c (struct dw_cfi_row): Add window_save field. (cfi_row_equal_p): Compare it. (dwarf2out_frame_debug_cfa_window_save): Add FAKE parameter. If FAKE is false, set window_save of the current row. (dwarf2out_frame_debug) <REG_CFA_TOGGLE_RA_MANGLE>: Call above function with FAKE parameter set to true. <REG_CFA_WINDOW_SAVE>: Likewise but with FAKE parameter set to false. (change_cfi_row): Emit a DW_CFA_GNU_window_save if necessary. From-SVN: r266906
2018-12-08Daily bump.GCC Administrator1-1/+1
From-SVN: r266903
2018-12-07decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in error messages about ↵Paolo Carlini7-8/+39
bit-fields with function type... /cp 2018-12-07 Paolo Carlini <paolo.carlini@oracle.com> * decl2.c (grokbitfield): Use DECL_SOURCE_LOCATION in error messages about bit-fields with function type, warn_if_not_aligned type, and static bit-fields; avoid DECL_NAME for unnamed declarations. /testsuite 2018-12-07 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/other/bitfield7.C: New. * g++.dg/parse/bitfield8.C: Likewise. * g++.dg/parse/bitfield9.C: Likewise. * g++.dg/pr53037-4.C: Test the locations too. From-SVN: r266900
2018-12-07re PR target/87496 (ICE in aggregate_value_p at gcc/function.c:2046)Peter Bergner7-6/+52
gcc/ PR target/87496 * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow -mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128. Do not error for -mabi=ibmlongdouble and no ISA 2.06 support. * doc/invoke.texi: Document -mabi=ibmlongdouble and -mabi=ieeelongdouble require -mlong-double-128. gcc/testsuite/ PR target/87496 * gcc.target/powerpc/pr87496.c: Rename from this... * gcc.target/powerpc/pr87496-1.c: ...to this. Update comment. * gcc.target/powerpc/pr87496-2.c: New test. * gcc.target/powerpc/pr87496-3.c: New test. From-SVN: r266899
2018-12-07[AArch64][2/2] Add sve_width -moverride tunableKyrylo Tkachov4-0/+52
On top of the previous patch that implements TARGET_ESTIMATED_POLY_VALUE and adds an sve_width tuning field to the CPU structs, this patch implements an -moverride knob to adjust this sve_width field to allow for experimentation. Again, reminder that this only has an effect when compiling for VLA-SVE that is, without msve-vector-bits=<foo>. This just adjusts tuning heuristics in the compiler,, like profitability thresholds for vectorised versioned loops, and others. It can be used, for example like -moverride=sve_width=256 to set the sve_width tuning field to 256. Widths outside of the accepted SVE widths [128 - 2048] are rejected as you'd expect. * config/aarch64/aarch64.c (aarch64_tuning_override_functions): Add sve_width entry. (aarch64_parse_sve_width_string): Define. * gcc.target/aarch64/sve/override_sve_width_1.c: New test. From-SVN: r266898
2018-12-07gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Add ↵Jeff Law8-5/+57
m_update_global_ranges member. * gimple-ssa-evrp-analyze.h (class evrp_range_analyzer): Add m_update_global_ranges member. Add corresponding argument to ctor. * gimple-ssa-evrp-analyze.c (evrp_range_analyzer::evrp_range_analyzer): Add new argument and initialize m_update_global_ranges. (evrp_range_analyzer::set_ssa_range_info): Assert that we are updating global ranges. (evrp_range_analyzer::record_ranges_from_incoming_edge): Only update global ranges if explicitly requested. (evrp_range_analyzer::record_ranges_from_phis): Similarly. (evrp_range_analyzer::record_ranges_from_stmt): Similarly. * gimple-ssa-evrp.c (evrp_dom_walker): Pass new argument to evrp_range_analyzer ctor. * gimple-ssa-sprintf.c (sprintf_dom_walker): Similarly. * tree-ssa-dom.c (dom_opt_dom_walker): Similarly. * gcc.c-torture/builtins/strnlen.x: New file to filter -Og from options to test. From-SVN: r266897
2018-12-07[AArch64][1/2] Implement TARGET_ESTIMATED_POLY_VALUEKyrylo Tkachov4-0/+57
The hook TARGET_ESTIMATED_POLY_VALUE allows a target to give an estimate for a poly_int run-time value. It is used exclusively in tuning decisions, things like estimated loop iterations, probabilities etc. It is not relied on for correctness. If we know the SVE width implemented in hardware we can make more more informed decisions in the implementation of TARGET_ESTIMATED_POLY_VALUE, even when compiling for VLA vectorisation. This patch adds an sve_width field to our tuning structs and sets it for the current CPU tunings. A new value is introduced to the aarch64_sve_vector_bits_enum enum that indicates that SVE is not available: SVE_NOT_IMPLEMENTED. I set it to the same value as SVE_SCALABLE so that parts of the aarch64 backend that follow the pattern: if (vector_width == SVE_SCALABLE) do_vla_friendly_action () else assume_specific_width_for_correctness () continue to work without change, but the CPU tuning structs can use a more appropriate moniker for indicating the absence of SVE. This sets sve_width to SVE_NOT_IMPLEMENTED for all cores. I aim to add an -moverride switch in the next patch that allows a power user to experiment with different values of it for investigations. * config/aarch64/aarch64-opts.h (aarch64_sve_vector_bits_enum): Add SVE_NOT_IMPLEMENTED value. * config/aarch64/aarch64-protos.h (struct tune_params): Add sve_width field. * config/aarch64/aarch64.c (generic_tunings,cortexa35_tunings, cortexa53_tunings, cortexa57_tunings, cortexa72_tunings, cortexa73_tunings, exynosm1_tunings, thunderx_tunings, thunderx_tunings, tsv110_tunings, xgene1_tunings, qdf24xx_tunings, saphira_tunings, thunderx2t99_tunings, emag_tunings): Specify sve_width. (aarch64_estimated_poly_value): Define. (TARGET_ESTIMATED_POLY_VALUE): Define. From-SVN: r266896
2018-12-07[rs6000] mmintrin.h: fix use of "vector"Paul A. Clarke2-2/+7
A recent patch inadvertently added the use of "vector" to mmintrin.h when all such uses should be "__vector". [gcc] 2018-12-07 Paul A. Clarke <pc@us.ibm.com> PR target/88408 * config/rs6000/mmintrin.h (_mm_packs_pu16): Correctly use "__vector". From-SVN: r266895
2018-12-07re PR rtl-optimization/88349 ([MIPS] Redundant store instructions generated ↵Vladimir Makarov4-2/+28
start with r266385) 2018-12-07 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/88349 * ira-costs.c (record_operand_costs): Check bigger reg class on NO_REGS. 2018-12-07 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/88349 * gcc.target/mips/pr88349.c: New. From-SVN: r266894
2018-12-07re PR c++/86669 (Complete object constructor clone omits length for a c++11 ↵Jakub Jelinek6-3/+79
braced initialiser) PR c++/86669 * call.c (make_temporary_var_for_ref_to_temp): Call pushdecl even for automatic vars. * g++.dg/cpp0x/initlist105.C: New test. * g++.dg/cpp0x/initlist106.C: New test. * g++.dg/other/pr86669.C: New test. From-SVN: r266893
2018-12-07[AArch64][SVE] Remove unnecessary PTRUEs from integer arithmeticRichard Sandiford4-4/+80
When using the unpredicated immediate forms of MUL, LSL, LSR and ASR, the rtl patterns would still have the predicate operand we created for the other forms. This patch splits the patterns after reload in order to get rid of the predicate, like we already do for WHILE. 2018-12-07 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/aarch64-sve.md (*mul<mode>3, *v<optab><mode>3): Split the patterns after reload if we don't need the predicate operand. (*post_ra_mul<mode>3, *post_ra_v<optab><mode>3): New patterns. gcc/testsuite/ * gcc.target/aarch64/sve/pred_elim_2.c: New test. From-SVN: r266892
2018-12-07[AArch64][SVE] Remove unnecessary PTRUEs from FP arithmeticRichard Sandiford5-6/+75
When using the unpredicated all-register forms of FADD, FSUB and FMUL, the rtl patterns would still have the predicate operand we created for the other forms. This patch splits the patterns after reload in order to get rid of the predicate, like we already do for WHILE. 2018-12-07 Richard Sandiford <richard.sandiford@arm.com> gcc/ * config/aarch64/iterators.md (SVE_UNPRED_FP_BINARY): New code iterator. (sve_fp_op): Handle minus and mult. * config/aarch64/aarch64-sve.md (*add<mode>3, *sub<mode>3) (*mul<mode>3): Split the patterns after reload if we don't need the predicate operand. (*post_ra_<sve_fp_op><mode>3): New pattern. gcc/testsuite/ * gcc.target/aarch64/sve/pred_elim_1.c: New test. From-SVN: r266891