- 05 Jun, 2019 17 commits
-
-
gcc/c/ChangeLog: * c-decl.c (start_decl): Adjust quoting and hyphenation in diagnostics. (finish_decl): Same. (finish_enum): Same. (start_function): Same. (declspecs_add_type): Same. * c-parser.c (warn_for_abs): Same. * c-typeck.c (build_binary_op): Same. gcc/c-family/ChangeLog: * c-attribs.c (handle_mode_attribute): Adjust quoting and hyphenation. (handle_alias_ifunc_attribute): Same. (handle_copy_attribute): Same. (handle_weakref_attribute): Same. (handle_nonnull_attribute): Same. * c-warn.c (warn_for_sign_compare): Same. (warn_for_restrict): Same. * c.opt: Same. gcc/cp/ChangeLog: * call.c (build_conditional_expr_1): Adjust quoting and hyphenation. (convert_like_real): Same. (convert_arg_to_ellipsis): Same. * constexpr.c (diag_array_subscript): Same. * constraint.cc (diagnose_trait_expression): Same. * cvt.c (ocp_convert): Same. * decl.c (start_decl): Same. (check_for_uninitialized_const_var): Same. (grokfndecl): Same. (check_special_function_return_type): Same. (finish_enum_value_list): Same. (start_preparsed_function): Same. * parser.c (cp_parser_decl_specifier_seq): Same. * typeck.c (cp_build_binary_op): Same. (build_static_cast_1): Same. gcc/lto/ChangeLog: * lto-common.c (lto_file_finalize): Adjust quoting and hyphenation. gcc/objc/ChangeLog: * objc-act.c (objc_build_setter_call): Adjust quoting and hyphenation. * objc-encoding.c (encode_gnu_bitfield): Same. gcc/ChangeLog: * config/i386/i386-features.c (ix86_get_function_versions_dispatcher): Adjust quoting and hyphenation. * convert.c (convert_to_real_1): Same. * gcc.c (driver_wrong_lang_callback): Same. (driver::handle_unrecognized_options): Same. * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Same. * opts-common.c (cmdline_handle_error): Same. (read_cmdline_option): Same. * opts-global.c (complain_wrong_lang): Same. (print_ignored_options): Same. (handle_common_deferred_options): Same. * pretty-print.h: Same. * print-rtl.c (debug_bb_n_slim): Same. * sched-rgn.c (make_pass_sched_fusion): Same. * tree-cfg.c (verify_gimple_assign_unary): Same. (verify_gimple_label): Same. * tree-ssa-operands.c (verify_ssa_operands): Same. * varasm.c (do_assemble_alias): Same. (assemble_alias): Same. From-SVN: r271971
Martin Sebor committed -
* config/alpha/alpha.c (direct_return): Move down after struct machine_function definition; use saved frame_size; return bool. (struct machine_function): Add sa_mask, sa_size, frame_size. (alpha_sa_mask, alpha_sa_size, compute_frame_size): Merge into ... (alpha_compute_frame_layout): ... new function. (TARGET_COMPUTE_FRAME_LAYOUT): New. (alpha_initial_elimination_offset): Use saved sa_size. (alpha_vms_initial_elimination_offset): Likewise. (alpha_vms_can_eliminate): Remove alpha_sa_size call. (alpha_expand_prologue): Use saved frame data. Merge integer and fp register save loops. (alpha_expand_epilogue): Likewise. (alpha_start_function): Use saved frame data. * config/alpha/alpha-protos.h (direct_return): Update. (alpha_sa_size): Remove. From-SVN: r271970
Richard Henderson committed -
From-SVN: r271969
Nina Dinka Ranns committed -
2019-06-04 Nina Dinka Ranns <dinka.ranns@gmail.com> gcc/cp/ * pt.c (listify_autos): Use non cv qualified auto_node in std::initializer_list<auto>. testsuite/ * g++.dg/cpp0x/initlist-deduce2.C: New test. From-SVN: r271968
Nina Dinka Ranns committed -
* config/rs6000/aix-unwind.h (LR_REGNO): Rename to R_LR. (CR2_REGNO): Rename to R_CR2. (XER_REGNO): Rename to R_XER. (FIRST_ALTIVEC_REGNO): Rename to R_FIRST_ALTIVEC. (VRSAVE_REGNO): Rename to R_VRSAVE. (VSCR_REGNO): R_VSCR. From-SVN: r271967
David Edelsohn committed -
At least with -m32 you need -maltivec if you #include <altivec.h>. gcc/testsuite/ * g++.target/powerpc/undef-bool-3.C: Add -maltivec to dg-options. From-SVN: r271966
Segher Boessenkool committed -
gcc/c-family/ChangeLog: * c-pragma.c (handle_pragma_weak): Adjust quoting in a diagnostic. * c.opt (-Wformat-diag): Remove a spurious period. gcc/testsuite/ChangeLog: * gcc.dg/weak/weak-19.c: New test. From-SVN: r271965
Martin Sebor committed -
* fold-const.c (extract_muldiv_1) <PLUS_EXPR>: Do not distribute a multiplication by a power-of-two value. (fold_plusminus_mult_expr): Use pow2p_hwi to spot a power-of-two value and turn the modulo operation into a masking operation. From-SVN: r271963
Eric Botcazou committed -
gcc/testsuite/ChangeLog * gcc.target/aarch64/return_address_sign_b_1.c: New file. * gcc.target/aarch64/return_address_sign_b_2.c: New file. * gcc.target/aarch64/return_address_sign_b_3.c: New file. * gcc.target/aarch64/return_address_sign_builtin.c: New file. * g++.target/aarch64/return_address_sign_ab_exception.C: New file. * g++.target/aarch64/return_address_sign_b_exception.C: New file. From-SVN: r271954
Sam Tebbs committed -
PR debug/90733 * var-tracking.c (vt_expand_loc_callback): Don't create raw subregs with VOIDmode inner operands. * gcc.dg/pr90733.c: New test. From-SVN: r271952
Jakub Jelinek committed -
2019-06-05 Richard Biener <rguenther@suse.de> PR middle-end/90726 * tree-ssa-loop-niter.c (expand_simple_operations): Do not turn an expression graph into a tree. * gcc.dg/pr90726.c: Enable IVOPTs. From-SVN: r271950
Richard Biener committed -
* omp-expand.c (struct omp_region): Add has_lastprivate_conditional member. (expand_parallel_call): If region->inner->has_lastprivate_conditional, treat it like explicit monotonic schedule modifier. (expand_omp_for): Initialize has_lastprivate_conditional. If fd.lastprivate_conditional != 0, treat it like explicit monotonic schedule modifier. From-SVN: r271949
Jakub Jelinek committed -
* omp-low.c (lower_rec_input_clauses): For lastprivate conditional references, lookup in in hash map MEM_REF operand instead of the MEM_REF itself. (lower_omp_1): When looking for lastprivate conditional assignments, handle MEM_REFs with REFERENCE_TYPE operands. * testsuite/libgomp.c++/lastprivate-conditional-1.C: New test. * testsuite/libgomp.c++/lastprivate-conditional-2.C: New test. From-SVN: r271948
Jakub Jelinek committed -
omp-low.c (lower_rec_input_clauses): Force max_vf if is_simd and on privatization clauses OMP_CLAUSE_DECL is... * omp-low.c (lower_rec_input_clauses): Force max_vf if is_simd and on privatization clauses OMP_CLAUSE_DECL is privatized by reference and references a VLA. Handle references to non-VLAs if is_simd all privatization clauses like reductions. (lower_rec_input_clauses) <case do_private, case do_firstprivate>: If omp_is_reference, use always omp simd arrays and set DECL_VALUE_EXPR in that case, if lower_rec_simd_input_clauses fails, emit reference initialization. * g++.dg/vect/simd-1.cc: New test. From-SVN: r271947
Jakub Jelinek committed -
gcc/ 2019-06-05 Hongtao Liu <hongtao.liu@intel.com> PR target/89803 * config/i386/avx512dqintrin.h (_mm_mask_fpclass_ss_mask, _mm_mask_fpclass_sd_mask): New intrinsics. (_mm_fpclass_ss_mask, _mm_fpclass_sd_mask): Modified, use new builtins. * config/i386/i386-builtin.def (__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): New builtins. (__builtin_ia32_fpclassss, __builtin_ia32_fpclasssd): Deleted. * config/i386/i386-builtin-types.def (DEF_FUNCTION_TYPE (QI, V2DF, INT), DEF_FUNCTION_TYPE (QI, V4SF, INT)): Deleted. * config/i386/i386-expand.c (case QI_FTYPE_V4SF_INT, case QI_FTYPE_V2SF_INT): Ditto. * config/i386/sse.md (define_insn "avx512dq_vmfpclass<mode><mask_scalar_merge_name>): Extended to insnstructions with mask operands. gcc/testsuite 2019-06-05 Hongtao Liu <hongtao.liu@intel.com> PR target/89803 * gcc.target/i386/avx-1.c (__builtin_ia32_fpclasssss, __builtin_ia32_fpclasssd): Removed. (__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define. * gcc.target/i386/sse-13.c (__builtin_ia32_fpclasssss, __builtin_ia32_fpclasssd): Removed. (__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define. * gcc.target/i386/sse-23.c (__builtin_ia32_fpclasssss, __builtin_ia32_fpclasssd): Removed. (__builtin_ia32_fpclassss_mask, __builtin_ia32_fpclasssd_mask): Define. * gcc.target/i386/avx512dq-vfpclassss-2.c: New. * gcc.target/i386/avx512dq-vfpclasssd-2.c: New. * gcc.target/i386/avx512dq-vfpclassss-1.c (avx512f_test): Add test for _mm_mask_fpclass_ss_mask. * gcc.target/i386/avx512dq-vfpclasssd-1.c (avx512f_test): Add test for _mm_mask_fpclass_sd_mask. From-SVN: r271946
Hongtao Liu committed -
When converting a constant to interface, such as interface{}(42) or interface{}("hello"), if the interface escapes, we currently generate a heap allocation to hold the constant value. This CL changes it to generate a static allocation instead, as the gc compiler does. This reduces allocations in such cases. Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/180277 From-SVN: r271945
Ian Lance Taylor committed -
From-SVN: r271944
GCC Administrator committed
-
- 04 Jun, 2019 23 commits
-
-
This fixes some testcases that the last fifteen or so patches broke. In all these cases we no longer need to set VSX_REG_ATTR: the default value of "wa" is correct. gcc/testsuite/ * gcc.target/powerpc/direct-move-double1.c (VSX_REG_ATTR): Delete. * gcc.target/powerpc/direct-move-double2.c: Ditto. * gcc.target/powerpc/direct-move-float1.c: Ditto. * gcc.target/powerpc/direct-move-float2.c: Ditto. * gcc.target/powerpc/direct-move-vint1.c: Ditto. * gcc.target/powerpc/direct-move-vint2.c: Ditto. From-SVN: r271940
Segher Boessenkool committed -
wp becomes wa with isa p9tf, and wq is replaced by wa with isa p9kf. To manage to do that, there is the new mode attribute VSisa. * config/rs6000/constraints.md (define_register_constraint "wp"): Delete. (define_register_constraint "wq"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_wp and RS6000_CONSTRAINT_wq. * config/rs6000/vsx.md (define_mode_attr VSr3): Delete. (define_mode_attr VSa): Delete. (define_mode_attr VSisa): New. (rest of file): Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271939
Segher Boessenkool committed -
This adds "p9kf" and "p9tf" isa values, to be used for instruction alternatives where KFmode resp. TFmode is used. * config/rs6000/rs6000.md (define_attr "isa"): Add p9kf and p9tf. (define_attr "enabled"): Handle those new isa values. From-SVN: r271938
Segher Boessenkool committed -
A whole bunch of mode attributes are used only once. Things are easier to read if we just expand those patterns. It's shorter, too. * config/rs6000/vsx.md (define_mode_attr VSr4): Delete. (define_mode_attr VSr5): Delete. (define_mode_attr VStype_sqrt): Delete. (define_mode_iterator VSX_SPDP): Delete. (define_mode_attr VS_spdp_res): Delete. (define_mode_attr VS_spdp_insn): Delete. (define_mode_attr VS_spdp_type): Delete. (*vsx_sqrt<mode>2): Adjust. (vsx_<VS_spdp_insn>): Delete, split to... (vsx_xscvdpsp): ... this. New. And... (vsx_xvcvspdp): ... this. New. And... (vsx_xvcvdpsp): ... this. New. From-SVN: r271937
Segher Boessenkool committed -
We don't need the <VSs> mode attribute, if we make <sd> work for V4SF and V2DF just like for SF and DF. * config/rs6000/rs6000.md (define_mode_attr sd): Add values for V4SF and V2DF. * config/rs6000/vsx.md (define_mode_attr VSs): Delete. (rest of file): Adjust. From-SVN: r271936
Segher Boessenkool committed -
I should have factored this series better. Oh well. Near the end, let's call it loose ends. gcc/testsuite/ * gcc.target/powerpc/direct-move-float1.c: Use "wa" instead of "ww" constraint. From-SVN: r271935
Segher Boessenkool committed -
* config/rs6000/vsx.md (vsx_<VS_spdp_insn>): Use wa instead of <VSa>. (vsx_extract_<mode>_var): Ditto. From-SVN: r271934
Segher Boessenkool committed -
When used in VSX_TI, <VSa> is always just "wa". * config/rs6000/vsx.md: Replace all <VSa> that are used with VSX_TI with just "wa". From-SVN: r271933
Segher Boessenkool committed -
"ww" can always be "wa". * config/rs6000/constraints.md (define_register_constraint "ww"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_ww. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271932
Segher Boessenkool committed -
This removes the <Ftrad>, <Fvsx>, and <Fs> mode attributes, and creates new <sd> and <s> mode attributes instead. <sd> is either "s" or "d", depending on whether the mode is single-precision or double-precision floating point; and <s> is either "s" or nothing. * config/rs6000/rs6000.md (SFDF, SFDF2): Adjust comments. (define_mode_attr sd): New. (define_mode_attr s): New. (define_mode_attr Ftrad): Delete. (define_mode_attr Fvsx): Delete. (define_mode_attr Fs): Delete. (rest of file): Use the new mode attributes. * config.rs6000/vsx.md: Use the new mode attributes. From-SVN: r271931
Segher Boessenkool committed -
When used in VSX_W, <VSa> is always just "wa". * config/rs6000/vsx.md: Replace all <VSa> that are used with VSX_W with just "wa". From-SVN: r271930
Segher Boessenkool committed -
When used in VSX_B, VSX_D, or VSX_F, both <VSr> and <VSa> are always just "wa" now. Similarly <VSr2> and <VSr3>. The former of those is always "wa", so we can remove the mode attribute completely. * config/rs6000/vsx.md (define_mode_attr VSr2): Delete. (rest of file): Replace all <VSa>, <VSr>, <VSr2>, and <VSr3> that are used with VSX_B, VSX_D, or VSX_F, with just "wa". From-SVN: r271929
Segher Boessenkool committed -
/cp 2019-06-04 Paolo Carlini <paolo.carlini@oracle.com> * decl.c (grokdeclarator): Use declarator->id_loc in two additional places. /testsuite 2019-06-04 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/concepts/pr60573.C: Test locations too. * g++.dg/cpp0x/deleted13.C: Likewise. * g++.dg/parse/error29.C: Likewise. * g++.dg/parse/qualified4.C: Likewise. * g++.dg/template/crash96.C Likewise. * g++.old-deja/g++.brendan/crash22.C Likewise. * g++.old-deja/g++.brendan/crash23.C Likewise. * g++.old-deja/g++.law/visibility10.C Likewise. * g++.old-deja/g++.other/decl5.C: Likewise. From-SVN: r271928
Paolo Carlini committed -
[gcc] 2019-06-04 Bill Schmidt <wschmidt@linux.ibm.com> PR target/78263 * config/rs6000/altivec.h: Don't #define vector, pixel, bool for C++ with strict ANSI requirements. [gcc/testsuite] 2019-06-04 Bill Schmidt <wschmidt@linux.ibm.com> PR target/78263 * g++.target/powerpc: New directory. * g++.target/powerpc/powerpc.exp: New test driver. * g++.target/powerpc/undef-bool-3.C: New. From-SVN: r271927
Bill Schmidt committed -
2019-06-04 Marc Glisse <marc.glisse@inria.fr> * tree-ssa-loop-niter.c (number_of_iterations_ne): Skip computations when step is 1. From-SVN: r271926
Marc Glisse committed -
"wf" is just "wa". * config/rs6000/constraints.md (define_register_constraint "wf"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_wf. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271921
Segher Boessenkool committed -
aarch64_asan_shadow_offset is using the wrong offset for ILP32. Change it to be a decent one. ChangeLog: * config/aarch64/aarch64.c (aarch64_asan_shadow_offset): Fix ILP32 value. From-SVN: r271920
Andrew Pinski committed -
"wd" is just "wa". * config/rs6000/constraints.md (define_register_constraint "wd"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_wd. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271919
Segher Boessenkool committed -
<Fv2> always is "wa". * config/rs6000/rs6000.md (define_mode_attr Fv2): Delete. (rest of file): Adjust. From-SVN: r271918
Segher Boessenkool committed -
<VS_64reg> now always is "wa". Make that simplification. * config/rs6000/vsx.md (define_mode_attr VS_64reg): Delete. (*vsx_extract_<P:mode>_<VSX_D:mode>_load): Adjust. (vsx_splat_<mode>_reg): Adjust. From-SVN: r271917
Segher Boessenkool committed -
"ws" is just "wa". * config/rs6000/constraints.md (define_register_constraint "ws"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_ws. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271916
Segher Boessenkool committed -
"wv" is "v", but only if VSX is enabled (otherwise it's NO_REGS). So this patch sets "isa" "p7v" to all alternatives that used "wv" before (and that do not already need a later ISA), and changes the constraint. * config/rs6000/constraints.md (define_register_constraint "wv"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_wv. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271915
Segher Boessenkool committed -
"wi" and "wt" mean just the same as "wa" these days. Change them to the simpler name. * config/rs6000/constraints.md (define_register_constraint "wi"): Delete. (define_register_constraint "wt"): Delete. * config/rs6000/rs6000.c (rs6000_debug_reg_global): Adjust. (rs6000_init_hard_regno_mode_ok): Adjust. * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Delete RS6000_CONSTRAINT_wi and RS6000_CONSTRAINT_wt. * config/rs6000/rs6000.md: Adjust. * config/rs6000/vsx.md: Adjust. * doc/md.texi (Machine Constraints): Adjust. From-SVN: r271914
Segher Boessenkool committed
-