- 08 Oct, 2017 13 commits
-
-
Currently we have two patterns for every conditional jump: one jumping if some condition is met, and the other jumping if it is not met. We don't need that second form because all our conditions have an opposite already, and the generic code can deal with that just fine. This patch deletes that second form. We generated it directly in one case; adjusted here. * config/rs6000/rs6000-string.c (expand_strncmp_align_check): Invert a conditional jump (and the compare for it) so that pc_rtx is the last operand. * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Adjust for the deleted and renamed ctr<mode>_internal[234] patterns. * config/rs6000/rs6000.md: Delete second conditional branch pattern. Delete second conditional return pattern. (ctr<mode>_internal2): Delete this second bdnz pattern. (ctr<mode>_internal3): Rename to ctr<mode>_internal2. (ctr<mode>_internal4): Delete this second bdz pattern. From-SVN: r253531
Segher Boessenkool committed -
* tree-outof-ssa.h (ssaexpand): Add partitions_for_undefined_values. (always_initialized_rtx_for_ssa_name_p): New predicate. * tree-outof-ssa.c (remove_ssa_form): Initialize new field of SA. (finish_out_of_ssa): Free new field of SA. * tree-ssa-coalesce.h (get_undefined_value_partitions): Declare. * tree-ssa-coalesce.c: Include tree-ssa.h. (get_parm_default_def_partitions): Remove extern keyword. (get_undefined_value_partitions): New function. * expr.c (expand_expr_real_1) <expand_decl_rtl>: For a SSA_NAME, do not set SUBREG_PROMOTED_VAR_P on the sub-register if it may contain uninitialized bits. * loop-iv.c (iv_get_reaching_def): Disqualify all subregs. From-SVN: r253530
Eric Botcazou committed -
From-SVN: r253529
Eric Botcazou committed -
2017-10-08 Steven G. Kargl <kargl@gcc.gnu.org> * check.c (gfc_check_x): Remove function. * intrinsic.c (add_functions): Use gfc_check_fn_r. From-SVN: r253528
Steven G. Kargl committed -
* gcc.dg/stack-check-5.c: Skip with -fstack-protector. * gcc.dg/stack-check-6.c: Likewise. * gcc.dg/stack-check-6a.c: Likewise. From-SVN: r253527
Jeff Law committed -
2017-10-08 Paul Thomas <pault@gcc.gnu.org> PR fortran/82375 * module.c : Bump up MOD_VERSION to 15. (mio_component): Edit comment about PDT specification list. (mio_expr, mio_symbol): Include the expression and symbol PDT specification lists in the same way as in mio_component. From-SVN: r253526
Paul Thomas committed -
2017-10-08 Thomas Koenig <tkoenig@gcc.gnu.org> * dump_prase_tree (show_symbol): Output list of variables in NAMELIST. (show_code_node): Add new line for ELSE and END DO for DO CONCURRENT. * invoke.texi: Document that the output of -fdump-fortran-original, -fdump-fortran-optimized and -fdump-parse-tree is unsable and may lead to ICEs. From-SVN: r253525
Thomas Koenig committed -
* i386.c (ix86_expand_set_or_movmem): Disable 512bit loops for targets that preffer 128bit. From-SVN: r253524
Jan Hubicka committed -
From-SVN: r253523
Jan Hubicka committed -
arm.c (arm_set_return_address): Use MEM_VOLATILE_P on the target mem instead of RTX_FRAME_RELATED_P on the insn... 2017-10-08 Olivier Hainque <hainque@adacore.com> * config/arm/arm.c (arm_set_return_address): Use MEM_VOLATILE_P on the target mem instead of RTX_FRAME_RELATED_P on the insn to prevent DSE. (thumb_set_return_address): Likewise. From-SVN: r253522
Olivier Hainque committed -
2017-10-08 Olivier Hainque <hainque@adacore.com> * common/config/arm/arm-common.c (arm_except_unwind_info): Handle DWARF2_UNWIND_INFO. From-SVN: r253521
Olivier Hainque committed -
2017-10-07 Michael Collison <michael.collison@arm.com> * config/aarch64/aarch64.md (*aarch64_reg_<optab>_minus<mode>3): New pattern. 2017-10-07 Michael Collison <michael.collison@arm.com> * gcc.target/aarch64/var_shift_mask_2.c: New test. From-SVN: r253520
Michael Collison committed -
From-SVN: r253519
GCC Administrator committed
-
- 07 Oct, 2017 10 commits
-
-
* builtins.def (BUILT_IN_SETJMP): Declare as library builtin instead of GCC builtin if DONT_USE_BUILTIN_SETJMP is defined. * except.c (sjlj_emit_function_enter): If DONT_USE_BUILTIN_SETJMP is defined, force the creation of a new block for a dispatch label. From-SVN: r253515
Eric Botcazou committed -
2017-10-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/82375 * class.c (gfc_find_derived_vtab): Return NULL for a passed pdt template to prevent bad procedures from being written. * decl.c (gfc_get_pdt_instance): Do not use the default initializer for pointer and allocatable pdt type components. If the component is allocatbale, set the 'alloc_comp' attribute of 'instance'. * module.c : Add a prototype for 'mio_actual_arglist'. Add a boolean argument 'pdt'. (mio_component): Call it for the parameter list of pdt type components with 'pdt' set to true. (mio_actual_arg): Add the boolean 'pdt' and, if it is set, call mio_integer for the 'spec_type'. (mio_actual_arglist): Add the boolean 'pdt' and use it in the call to mio_actual_arg. (mio_expr, mio_omp_udr_expr): Call mio_actual_arglist with 'pdt' set false. * resolve.c (get_pdt_spec_expr): Add the parameter name to the KIND parameter error. (get_pdt_constructor): Check that cons->expr is non-null. * trans-array.c (structure_alloc_comps): For deallocation of allocatable components, ensure that parameterized components are deallocated first. Likewise, when parameterized components are allocated, nullify allocatable components first. Do not recurse into pointer or allocatable pdt components while allocating or deallocating parameterized components. Test that parameterized arrays or strings are allocated before freeing them. (gfc_trans_pointer_assignment): Call the new function. Tidy up a minor whitespace issue. trans-decl.c (gfc_trans_deferred_vars): Set 'tmp' to NULL_TREE to prevent the expression from being used a second time. 2017-10-07 Paul Thomas <pault@gcc.gnu.org> PR fortran/82375 * gfortran.dg/pdt_13.f03 : New test. * gfortran.dg/pdt_14.f03 : New test. * gfortran.dg/pdt_15.f03 : New test. From-SVN: r253514
Paul Thomas committed -
* invoke.texi (Wsuggest-attribute=cold): Document. * common.opt (Wsuggest-attribute=cold): New * ipa-pure-const.c (warn_function_cold): New function. * predict.c (compute_function_frequency): Use it. * predict.h (warn_function_cold): Declare. * gcc.dg/cold-1.c: New testcase. From-SVN: r253513
Jan Hubicka committed -
* tree-switch-conversion.c (do_jump_if_equal, emit_cmp_and_jump_insns): Update profile. From-SVN: r253512
Jan Hubicka committed -
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80805 * g++.dg/cpp0x/pr80805.C: New. From-SVN: r253511
Paolo Carlini committed -
2017-10-07 Paolo Carlini <paolo.carlini@oracle.com> PR c++/80805 * g++.dg/cpp0x/pr80805.C: New. From-SVN: r253510
Paolo Carlini committed -
2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/49232 * expr.c (gfc_check_pointer_assign): Error for non-contiguous rhs. 2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/49232 * gfortran.dg/contiguous_4.f90: New test. From-SVN: r253509
Thomas Koenig committed -
2017-10-07 Thomas Koenig <tkoenig@gcc.gnu.org> * gfortran.h (async_io_dt): Add external reference. * io.c (async_io_dt): Add variable. (compare_to_allowed_values): Add prototyte. Add optional argument num. If present, set it to the number of the entry that was matched. (check_io_constraints): If this is for an asynchronous I/O statement, set async_io_dt and set the asynchronous flag for a SIZE tag. * resolve.c (resolve_transfer): If async_io_dt is set, set the asynchronous flag on the variable. (resolve_fl_namelist): If async_io_dt is set, set the asynchronous flag on all elements of the namelist. From-SVN: r253508
Thomas Koenig committed -
2017-10-07 Tom de Vries <tom@codesourcery.com> * testsuite/libgomp.oacc-fortran/firstprivate-1.f90 (firstprivate): Remove acc_device_nvidia references. * testsuite/libgomp.oacc-fortran/parallel-reduction.f90 (reduction): Same. From-SVN: r253507
Tom de Vries committed -
From-SVN: r253506
GCC Administrator committed
-
- 06 Oct, 2017 17 commits
-
-
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/66690 * g++.dg/cpp1y/pr66690.C: New. From-SVN: r253502
Paolo Carlini committed -
* Fix last ChangeLog entry. From-SVN: r253498
Paolo Carlini committed -
2017-10-06 Paolo Carlini <paolo.carlini@oracle> PR c++/47791 * decl.c (finish_function): Take a bool intead of an int; adjust. * cp-tree.h (finish_function): Adjust declaration. * decl2.c (generate_tls_wrapper, finish_objects, finish_static_storage_duration_function): Adjust calls. * lambda.c (maybe_add_lambda_conv_op, finish_lambda_function): Likewise. * method.c (synthesize_method): Likewise. * optimize.c (maybe_thunk_body, maybe_clone_body): Likewise. * pt.c (instantiate_decl): Likewise. * parser.c (cp_parser_function_definition_after_declarator, cp_parser_late_parsing_for_member, cp_parser_omp_declare_reduction): Likewise. (cp_parser_ctor_initializer_opt, cp_parser_ctor_initializer_opt_and_function_body, cp_parser_function_try_block, cp_parser_function_definition_after_declarator, cp_parser_function_transaction): Return void; adjust declarations. From-SVN: r253497
Paolo Carlini committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00385.html cp/ PR c++/82424 * name-lookup.c (check_local_shadow): Don't try and convert dependent types. testsuite/ PR c++/82424 * g++.dg/warn/pr82424.C: New. From-SVN: r253496
Nathan Sidwell committed -
PR c++/82299 * decl.c (reshape_init): Suppress warn_useless_cast for direct enum init. * typeck.c (convert_for_assignment): Likewise. * g++.dg/cpp0x/pr82299.C: New test. From-SVN: r253495
Jakub Jelinek committed -
P0704R1 - fixing const-qualified pointers to members * typeck2.c (build_m_component_ref): For -std=c++2a allow pointer to const & qualified method on rvalue. * g++.dg/cpp2a/ptrmem1.C: New test. From-SVN: r253494
Jakub Jelinek committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00376.html Use hash_table for extern "C" names * name-lookup.c (extern_c_fns): Use hash_table. (check_extern_c_conflict): Adjust. (c_linkage_bindings): Adjust. From-SVN: r253493
Nathan Sidwell committed -
2017-10-06 Martin Liska <mliska@suse.cz> * sanopt.c (struct sanopt_tree_triplet_hash): Remove inline keyword for member functions. (struct sanopt_tree_couple): New struct. (struct sanopt_tree_couple_hash): New function. (struct sanopt_ctx): Add new hash_map. (has_dominating_ubsan_ptr_check): New function. (record_ubsan_ptr_check_stmt): Likewise. (maybe_optimize_ubsan_ptr_ifn): Likewise. (sanopt_optimize_walker): Handle IFN_UBSAN_PTR. (pass_sanopt::execute): Handle also SANITIZE_POINTER_OVERFLOW. 2017-10-06 Martin Liska <mliska@suse.cz> * c-c++-common/ubsan/ptr-overflow-sanitization-1.c: New test. From-SVN: r253492
Martin Liska committed -
* ztest.c (test_large): Pass unsigned long *, not size_t *, to zlib uncompress function. From-SVN: r253491
Ian Lance Taylor committed -
2017-10-06 Sudakshina Das <sudi.das@arm.com> PR target/82440 * config/aarch64/predicates.md (aarch64_reg_or_orr_imm): Only call aarch64_simd_valid_immediate on CONST_VECTORs. (aarch64_reg_or_bic_imm): Likewise. *** gcc/testsuite/ChangeLog *** 2017-10-06 Sudakshina Das <sudi.das@arm.com> * gcc.target/aarch64/bic_imm_1.c: New test. * gcc.target/aarch64/orr_imm_1.c: Likewise. From-SVN: r253490
Sudakshina Das committed -
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00365.html Use hash_table for namespace bindings * cp-tree.h (struct named_decl_hash): New. (lang_decl_ns): Change type of bindings field. * lex.c (maybe_add_lang_decl_raw): Adjust. * name-lookup.c (find_namespace_slot): Adjust. (do_pushdecl): Push NULL-named namespace. (do_push_nested_namespace): Adjust. (push_namespace): Push anonymous namespace as NULL name. From-SVN: r253489
Nathan Sidwell committed -
r253236 broke AArch64 bootstrap. This is a temporary workaround that disables qsort checking in the scheduler to enable continued development and testing on AArch64. This will be removed once the autopref scheduling code has been fixed. gcc/ PR rtl-optimization/82396 * haifa-sched.c (ready_sort_real): Disable qsort checking. From-SVN: r253487
Wilco Dijkstra committed -
2017-10-06 Sebastian Pop <sebpop@gmail.com> * graphite-dependences.c (scop_get_reads): Move code to... (scop_get_must_writes): Move code to... (scop_get_may_writes): Move code to... (scop_get_reads_and_writes): ... here. (scop_get_dependences): Call scop_get_reads_and_writes. From-SVN: r253486
Sebastian Pop committed -
2017-10-06 Paolo Carlini <paolo.carlini@oracle.com> PR c++/60153 * g++.dg/cpp0x/variadic-crash3.C: New. From-SVN: r253484
Paolo Carlini committed -
PR tree-optimization/82434 * fold-const.h (can_native_encode_type_p, can_native_encode_string_p): Remove. * fold-const.c (native_encode_int): Formatting fixes. If ptr is NULL, don't encode anything, just return what would be otherwise returned. (native_encode_fixed, native_encode_complex, native_encode_vector): Likewise. (native_encode_string): Likewise. Inline by hand can_native_encode_string_p. (can_native_encode_type_p): Remove. (can_native_encode_string_p): Remove. * tree-vect-stmts.c (vectorizable_store): Instead of testing just STRING_CSTs using can_native_encode_string_p, test all CONSTANT_CLASS_P values using native_encode_expr with NULL ptr. * gimple-ssa-store-merging.c (encode_tree_to_bitpos): Remove last argument from native_encode_expr. (rhs_valid_for_store_merging_p): Use native_encode_expr with NULL ptr. (pass_store_merging::execute): Don't unnecessarily look for 3 stmts, but just 2. * gcc.dg/store_merging_9.c: New test. From-SVN: r253483
Jakub Jelinek committed -
re PR tree-optimization/82397 (qsort comparator non-negative on sorted output: 1 in vect_analyze_data_ref_accesses) 2017-10-06 Richard Biener <rguenther@suse.de> PR tree-optimization/82397 * tree-vect-data-refs.c (dr_group_sort_cmp): Do not use operand_equal_p but rely on data_ref_compare_tree for detecting equalities. (vect_analyze_data_ref_accesses): Use data_ref_compare_tree to match up with dr_group_sort_cmp. * gfortran.dg/pr82397.f: New testcase. From-SVN: r253482
Richard Biener committed -
vec_ceil and friends are expanded by vecintrin.h to __builtin_s390_vfi which is an overloaded builtin being replaced by either __builtin_s390_vfisb or __builtin_s390_vfidb depending on its argument types. The problem in this PR was that the overloaded builtin definition of __builtin_s390_vfi was missing in s390-builtins.def. gcc/ChangeLog: 2017-10-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82322 * config/s390/s390-builtins.def (s390_vfi): Define new overloaded builtin. * config/s390/s390-builtin-types.def: Regenerate. gcc/testsuite/ChangeLog: 2017-10-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/82322 * gcc.target/s390/zvector/pr82322.c: New test. From-SVN: r253481
Andreas Krebbel committed
-