aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2017-10-18re PR fortran/82567 ([6/7/8] gfortran takes a long time to compile a simple ↵Thomas Koenig4-1/+62
implied-do with -Optimization.) 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82567 * frontend-passes.c (combine_array_constructor): If an array constructor is all constants and has more elements than a small constant, don't convert a*[b,c] to [a*b,a*c] to reduce compilation times. 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/82567 * gfortran.dg/array_constructor_51.f90: New test. From-SVN: r253872
2017-10-18ira: volatile asm's are not moveable (PR82602)Segher Boessenkool2-0/+11
A volatile asm statement can not be moved (relative to other volatile asm, etc.), but IRA would do it nevertheless. This patch fixes it. PR rtl-optimization/82602 * ira.c (rtx_moveable_p): Return false for volatile asm. From-SVN: r253869
2017-10-18re PR fortran/79795 (Fortran ICE in resolve_symbol starting with r163221)Thomas Koenig4-1/+32
2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/79795 * resolve.c (resovle_symbol): Change gcc_assert to sensible error message. 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/79795 * gfortran.dg/assumed_size_2.f90: New test. From-SVN: r253868
2017-10-18re PR target/82580 (Optimize comparisons for __int128 on x86-64)Uros Bizjak7-14/+145
PR target/82580 * config/i386/i386-modes.def (CCGZ): New CC mode. * config/i386/i386.md (sub<mode>3_carry_ccgz): New insn pattern. * config/i386/predicates.md (ix86_comparison_operator): Handle CCGZmode. * config/i386/i386.c (ix86_expand_branch) <case E_TImode>: Emulate LE, LEU, GT, GTU, LT, LTU, GE and GEU double-word comparisons with double-word subtraction. (put_condition_code): Handle CCGZmode. testsuite/ChangeLog: PR target/82580 * gcc.target/i386/pr82580.c: New test. From-SVN: r253867
2017-10-18wide-int.cc (debug): New.Aldy Hernandez2-0/+40
* wide-int.cc (debug) [const wide_int &]: New. (debug) [const wide_int *]: New. (debug) [const widest_int &]: New. (debug) [const widest_int *]: New. From-SVN: r253866
2017-10-18re PR libfortran/82233 (execute_command_line causes program to stop when ↵Thomas Koenig2-3/+8
command fails (or does not exist)) 2017-10-18 Thomas Koenig <tkoenig@gcc.gnu.org> PR libfortran/82233 * gfortran.dg/execute_command_line_3.f90: Remove unneeded output. Move test with wait=.false. before the last test. From-SVN: r253865
2017-10-18re PR middle-end/82556 (internal compiler error in curr_insn_transform, at ↵Vladimir Makarov4-3/+44
lra-constraints.c:4307) 2017-10-18 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/82556 * lra-constraints.c (curr_insn_transform): Use non-input operand instead of output one for matched reload. 2017-10-18 Vladimir Makarov <vmakarov@redhat.com> PR middle-end/82556 * gcc.target/i386/pr82556.c: New. From-SVN: r253862
2017-10-18tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file.Bin Cheng9-7/+232
* tree-loop-distribution.c (INCLUDE_ALGORITHM): New header file. (tree-ssa-loop-ivopts.h): New header file. (struct builtin_info): New fields. (classify_builtin_1): Compute and record base and offset parts for memset builtin partition by calling strip_offset. (offset_cmp, fuse_memset_builtins): New functions. (finalize_partitions): Fuse adjacent memset partitions by calling above function. * tree-ssa-loop-ivopts.c (strip_offset): Delete static declaration. Expose the interface. * tree-ssa-loop-ivopts.h (strip_offset): New declaration. * gcc.dg/tree-ssa/ldist-17.c: Adjust test string. * gcc.dg/tree-ssa/ldist-32.c: New test. * gcc.dg/tree-ssa/ldist-35.c: New test. * gcc.dg/tree-ssa/ldist-36.c: New test. From-SVN: r253859
2017-10-18re PR tree-optimization/82574 (wrong code at -O3 on x86_64-linux-gnu)Bin Cheng4-11/+47
PR tree-optimization/82574 * tree-loop-distribution.c (find_single_drs): New parameter. Check that data reference must be executed exactly once per iteration against the outermost loop in nest. (classify_partition): Update call to above function. gcc/testsuite * gcc.dg/tree-ssa/pr82574.c: New test. From-SVN: r253857
2017-10-18re PR tree-optimization/82591 ([graphite] Compile-time hog w/ -O2 ↵Richard Biener3-13/+55
-floop-nest-optimize) 2017-10-18 Richard Biener <rguenther@suse.de> PR tree-optimization/82591 * graphite.c (graphite_transform_loops): Move code gen message printing ... * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl): Here. Handle scop_to_isl_ast failing. (scop_to_isl_ast): Limit the number of ISL operations. From-SVN: r253856
2017-10-182017-10-18 Richard Biener <rguenther@suse.de>Richard Biener5-129/+85
* graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple::set_rename): Simplify. (translate_isl_ast_to_gimple::set_rename_for_each_def): Inline... (graphite_copy_stmts_from_block): ... here. (copy_bb_and_scalar_dependences): Simplify. (add_parameters_to_ivs_params): Canonicalize. (generate_entry_out_of_ssa_copies): Simplify. * graphite-sese-to-poly.c (extract_affine_name): Simplify by passing in ISL dimension. (parameter_index_in_region_1): Rename to ... (parameter_index_in_region): ... this. (extract_affine): Adjust assert, pass down parameter index. (add_param_constraints): Use range-info when available. (build_scop_context): Adjust. * sese.c (new_sese_info): Adjust. (free_sese_info): Likewise. * sese.h (bb_map_t, rename_map_t, phi_rename, init_back_edge_pair_t): Remove unused typedefs. (struct sese_info_t): Simplify rename_map, remove incomplete_phis. From-SVN: r253855
2017-10-18Fix failing test-caseMartin Liska2-3/+10
2017-10-18 Martin Liska <mliska@suse.cz> * gcc.dg/tree-prof/switch-case-2.c: Scan IPA profile dump file instead of expand. Reason is that switch statement is not yet expanded as decision tree, which also contains a BB with count == 2000. From-SVN: r253854
2017-10-18Fix -Wimplicit-fallthrough in combine.cMartin Liska2-0/+6
2017-10-18 Martin Liska <mliska@suse.cz> * combine.c (simplify_compare_const): Add gcc_fallthrough. From-SVN: r253853
2017-10-18misc.c (gnat_tree_size): Move around.Eric Botcazou3-17/+27
* gcc-interface/misc.c (gnat_tree_size): Move around. * gcc-interface/utils.c (max_size): Deal with SSA names. From-SVN: r253852
2017-10-18re PR lto/82598 (lto debugobj lacks .note.GNU-stack)Jakub Jelinek3-1/+21
PR lto/82598 * simple-object.c (handle_lto_debug_sections): Copy over also .note.GNU-stack section with unchanged name. * simple-object-elf.c (SHF_EXECINSTR): Define. (simple_object_elf_copy_lto_debug_section): Drop SHF_EXECINSTR bit on .note.GNU-stack section. From-SVN: r253851
2017-10-18S/390: Do not end groups after fallthru edge.Robin Dapp2-2/+45
gcc/ChangeLog: 2017-10-17 Robin Dapp <rdapp@linux.vnet.ibm.com> * config/s390/s390.c (s390_bb_fallthru_entry_likely): New function. (s390_sched_init): Do not reset s390_sched_state if we entered the current basic block via a fallthru edge and all others are unlikely. From-SVN: r253850
2017-10-18S/390: Handle long-running instructions.Robin Dapp2-5/+73
gcc/ChangeLog: 2017-10-18 Robin Dapp <rdapp@linux.vnet.ibm.com> * config/s390/s390.c (NUM_SIDES): New variable. (LONGRUNNING_THRESHOLD): New variable. (LATENCY_FACTOR): New variable. (s390_sched_score): Decrease score for long-running instructions on wrong side. (s390_sched_variable_issue): Perform bookkeeping for long-running instructions. From-SVN: r253849
2017-10-18re PR fortran/82550 (program using submodules fails to link)Paul Thomas4-1/+57
2017-10-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/82550 * trans_decl.c (gfc_get_symbol_decl): Procedure symbols that have the 'used_in_submodule' attribute should be processed by 'gfc_get_extern_function_decl'. 2017-10-18 Paul Thomas <pault@gcc.gnu.org> PR fortran/82550 * gfortran.dg/submodule_30.f08 : New test. From-SVN: r253848
2017-10-18graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Simplify ↵Richard Biener5-173/+46
with removal of the parameter rename map. 2017-10-18 Richard Biener <rguenther@suse.de> * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): Simplify with removal of the parameter rename map. (set_rename): Likewise. (should_copy_to_new_region): Likewise. (graphite_copy_stmts_from_block): Likewise. (copy_bb_and_scalar_dependences): Remove initialization of unused copied_bb_map. (copy_def): Remove. (copy_internal_parameters): Likewise. (graphite_regenerate_ast_isl): Do not call copy_internal_parameters. * graphite-scop-detection.c (scop_detection::stmt_simple_for_scop_p): Use INTEGRAL_TYPE_P. (parameter_index_in_region_1): Rename to ... (assign_parameter_index_in_region): ... this. Assert we have a parameter we handle. (scan_tree_for_params): Adjust. * sese.h (parameter_rename_map_t): Remove. (struct sese_info_t): Remove unused parameter_rename_map and copied_bb_map members. * sese.c (new_sese_info): Adjust. (free_sese_info): Likewise. From-SVN: r253847
2017-10-18S/390: Fix vec-cmp-2 testcaseAndreas Krebbel2-49/+62
The functions all call foo and therefore need a stack frame what makes them subject to shrink wrapping. Also all the additional instructions in the function body makes it fragile wrt instruction scheduling. Just set a global variable instead to circumvent this. gcc/testsuite/ChangeLog: 2017-10-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/zvector/vec-cmp-2.c (all_eq_double, all_ne_double, all_gt_double) (all_lt_double, all_ge_double, all_le_double) (any_eq_double, any_ne_double, any_gt_double) (any_lt_double, any_ge_double, any_le_double) (all_eq_int, all_ne_int, all_gt_int) (all_lt_int, all_ge_int, all_le_int) (any_eq_int, any_ne_int, any_gt_int) (any_lt_int, any_ge_int, any_le_int): Set global variable instead of calling foo(). Fix return type. From-SVN: r253846
2017-10-18Do not put gimple stmt on an abnormal edge (PR sanitizer/82545).Martin Liska4-0/+32
2017-10-18 Martin Liska <mliska@suse.cz> PR sanitizer/82545 * asan.c (asan_expand_poison_ifn): Do not put gimple stmt on an abnormal edge. 2017-10-18 Martin Liska <mliska@suse.cz> PR sanitizer/82545 * gcc.dg/asan/pr82545.c: New test. From-SVN: r253845
2017-10-18re PR c++/69057 ([C++14] constexpr static variable template assertion ↵Paolo Carlini2-0/+32
segmentation fault) 2017-10-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69057 * g++.dg/cpp1y/auto-fn45.C: New. From-SVN: r253844
2017-10-18re PR c++/68884 (template of value template crashes the compiler)Paolo Carlini2-0/+19
2017-10-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/68884 * g++.dg/cpp0x/variadic-crash4.C: New. From-SVN: r253843
2017-10-18Update -ffunction/data-sections documentationSebastian Huber2-12/+25
gcc/ * doc/invoke.texi (ffunction-sections and fdata-sections): Update. From-SVN: r253842
2017-10-18re PR c++/79474 (Multiple definitions of user-defined conversion operator ↵Paolo Carlini2-0/+17
cause ICE (internal compiler error)) 2017-10-18 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79474 * g++.dg/cpp1y/auto-fn44.C: New. From-SVN: r253841
2017-10-18Daily bump.GCC Administrator1-1/+1
From-SVN: r253840
2017-10-17tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if the use ↵Eric Botcazou2-1/+6
statement can throw internally. * tree-ssa-loop-ivopts.c (add_autoinc_candidates): Bail out only if the use statement can throw internally. From-SVN: r253834
2017-10-17* gcc.dg/attr-alloc_size-11.c: UnXFAIL for visium-*-*.Eric Botcazou2-2/+6
From-SVN: r253831
2017-10-17visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the ↵Eric Botcazou3-6/+18
RHS of a SET. * config/visium/visium.c (visium_select_cc_mode): Return CCmode for any RTX present on the RHS of a SET. * compare-elim.c (try_eliminate_compare): Restore comment. From-SVN: r253830
2017-10-17langhooks.h (struct lang_hooks): Document that tree_size langhook may be ↵Jakub Jelinek5-6/+36
also called on tcc_type nodes. * langhooks.h (struct lang_hooks): Document that tree_size langhook may be also called on tcc_type nodes. * langhooks.c (lhd_tree_size): Likewise. * gcc-interface/misc.c (gnat_tree_size): New function. (LANG_HOOKS_TREE_SIZE): Redefine. From-SVN: r253829
2017-10-17re PR c++/71821 (ICE on invalid C++11 code (incorrect argument for alignas): ↵Paolo Carlini2-0/+11
unexpected expression ‘f<int>’ of kind template_id_expr) 2017-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/71821 * g++.dg/cpp0x/alignas12.C: New. From-SVN: r253828
2017-10-17Simplify format_warning_at_substring APIDavid Malcolm6-71/+81
The format_warning_at_substring API has a rather clunk way of indicating the location of the pertinent param (if any): a source_range * is passed in, which can be NULL. Doing so requires extracting a range from the location_t and passing around a pointer to it, or NULL, as needed. This patch simplifies things by eliminating the source_range * in favor of a location_t, with UNKNOWN_LOCATION used to signify that no param location is available. gcc/c-family/ChangeLog: * c-format.c (format_warning_at_char): Pass UNKNOWN_LOCATION rather than NULL to format_warning_va. (check_format_types): Likewise when calling format_type_warning. Remove code to extract source_ranges and source_range * in favor of just a location_t. (format_type_warning): Convert source_range * param to a location_t. gcc/ChangeLog: * gimple-ssa-sprintf.c (fmtwarn): Update for changed signature of format_warning_at_substring. (maybe_warn): Convert source_range * param to a location_t. Pass UNKNOWN_LOCATION rather than NULL to fmtwarn. (format_directive): Remove code to extract source_ranges and source_range * in favor of just a location_t. (parse_directive): Pass UNKNOWN_LOCATION rather than NULL to fmtwarn. * substring-locations.c (format_warning_va): Convert source_range * param to a location_t. (format_warning_at_substring): Likewise. * substring-locations.h (format_warning_va): Likewise. (format_warning_at_substring): Likewise. From-SVN: r253827
2017-10-17re PR c++/71368 ([concepts] ICE on constrained compound requirement)Paolo Carlini2-0/+30
2017-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/71368 * g++.dg/concepts/pr71368.C: New. From-SVN: r253826
2017-10-17Add gcc_checking_assert for sbitmap.c.Martin Liska2-0/+64
From-SVN: r253825
2017-10-17* i386/i386.c (x86_builtin_vectorization_cost): Likewise.Jan Hubicka2-0/+3
From-SVN: r253824
2017-10-17target.h (enum vect_cost_for_stmt): Add vec_gather_load and vec_scatter_storeJan Hubicka9-0/+35
* target.h (enum vect_cost_for_stmt): Add vec_gather_load and vec_scatter_store * tree-vect-stmts.c (record_stmt_cost): Make difference between normal and scatter/gather ops. * aarch64/aarch64.c (aarch64_builtin_vectorization_cost): Add vec_gather_load and vec_scatter_store. * arm/arm.c (arm_builtin_vectorization_cost): Likewise. * powerpcspe/powerpcspe.c (rs6000_builtin_vectorization_cost): Likewise. * rs6000/rs6000.c (rs6000_builtin_vectorization_cost): Likewise. * s390/s390.c (s390_builtin_vectorization_cost): Likewise. * spu/spu.c (spu_builtin_vectorization_cost): Likewise. From-SVN: r253823
2017-10-17reg-stack.c (compare_for_stack_reg): Add bool argument.Uros Bizjak4-108/+81
* reg-stack.c (compare_for_stack_reg): Add bool argument. Detect FTST instruction and handle its register pops. Only pop second operand if can_pop_second_op is true. (subst_stack_regs_pat) <case COMPARE>: Detect FCOMI instruction to set can_pop_second_op to false in the compare_for_stack_reg call. * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>): Only call output_fp_compare for stack register operands. * config/i386/i386.c (output_fp_compare): Do not output SSE compare instructions here. Do not emit stack register pops here. Assert that FCOMPP pops next to top stack register. Rewrite function. From-SVN: r253821
2017-10-17[C++ PATCH 82560] missing dtor callNathan Sidwell4-4/+42
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01068.html PR c++/82560 * call.c (build_over_call): Don't pass tf_no_cleanup to nested calls. PR c++/82560 * g++.dg/cpp0x/pr82560.C: New. From-SVN: r253820
2017-10-17[PATCH, middle-end/82577] Fix DECL_ASSEMBLER_NAME ICENathan Sidwell4-2/+30
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg01067.html gcc/ PR middle-end/82577 * alias.c (compare_base_decls): Check HAS_DECL_ASSEMBLER_NAME_P, use DECL_ASSEMBLER_NAME_RAW. gcc/testsuite/ PR middle-end/82577 * g++.dg/opt/pr82577.C: New. From-SVN: r253819
2017-10-17[PATCH PR/82546] tree node sizeNathan Sidwell6-79/+104
https://gcc.gnu.org/ml/gcc-patches/2017-10/msg00899.html PR middle-end/82546 gcc/ * tree.c (tree_code_size): Reformat. Punt to lang hook for unknown TYPE nodes. gcc/cp/ * cp-objcp-common.c (cp_tree_size): Reformat. Adjust returns size of TYPE nodes. gcc/objc/ * objc-act.c (objc_common_tree_size): Return size of TYPE nodes. From-SVN: r253817
2017-10-17re PR middle-end/80295 (ICE in __builtin_update_setjmp_buf expander)Qing Zhao1-0/+6
gcc/ChangeLog 2017-10-17 Qing Zhao <qing.zhao@oracle.com> Wilco Dijkstra <wilco.dijkstra@arm.com> * builtins.c (expand_builtin_update_setjmp_buf): Add a converstion to Pmode from the buf_addr. gcc/testsuite/ChangeLog 2017-10-17 Qing Zhao <qing.zhao@oracle.com> Wilco Dijkstra <wilco.dijkstra@arm.com> PR middle-end/80295 * gcc.target/aarch64/pr80295.c: New test. From-SVN: r253815
2017-10-17re PR middle-end/80295 (ICE in __builtin_update_setjmp_buf expander)Qing Zhao3-0/+15
gcc/ChangeLog 2017-10-17 Qing Zhao <qing.zhao@oracle.com> Wilco Dijkstra <wilco.dijkstra@arm.com> * builtins.c (expand_builtin_update_setjmp_buf): Add a converstion to Pmode from the buf_addr. gcc/testsuite/ChangeLog 2017-10-17 Qing Zhao <qing.zhao@oracle.com> Wilco Dijkstra <wilco.dijkstra@arm.com> PR middle-end/80295 * gcc.target/aarch64/pr80295.c: New test. Co-Authored-By: Wilco Dijkstra <wdijkstr@arm.com> From-SVN: r253814
2017-10-17graphite-dependences.c (scop_get_reads_and_writes): Change output parameters ↵Richard Biener2-3/+8
to references. 2017-10-17 Richard Biener <rguenther@suse.de> * graphite-dependences.c (scop_get_reads_and_writes): Change output parameters to references. From-SVN: r253813
2017-10-17Factor out division by squares and remove division around comparisons (0/2)Jackson Woodruff2-54/+6
Commit gcc/fold-const.c missing from r252827: gcc/ PR 71026/tree-optimization * fold-const.c (distribute_real_division): Removed. (fold_binary_loc): Remove calls to distribute_real_divison. From-SVN: r253812
2017-10-172017-10-17 Richard Biener <rguenther@suse.de>Richard Biener4-47/+21
* graphite-scop-detection.c (scop_detection::stmt_has_simple_data_refs_p): Always use the full nest as region. (try_generate_gimple_bb): Likewise. * sese.c (scalar_evolution_in_region): Simplify now that SCEV can handle instantiation in regions. * tree-scalar-evolution.c (instantiate_scev_name): Also instantiate in the non-loop part of a function if requested. From-SVN: r253811
2017-10-17re PR tree-optimization/82563 ([graphite] ICE in check_loop_closed_ssa_def, ↵Richard Biener5-4/+69
at tree-ssa-loop-manip.c:709) 2017-10-17 Richard Biener <rguenther@suse.de> PR tree-optimization/82563 * graphite-isl-ast-to-gimple.c (generate_entry_out_of_ssa_copies): New function. (graphite_regenerate_ast_isl): Call it. * graphite-scop-detection.c (build_scops): Remove entry edge split. * gcc.dg/graphite/pr82563.c: New testcase. From-SVN: r253809
2017-10-17Restore "dg-do run" directives for libgomp.oacc-fortran/declare-*.f90Thomas Schwinge6-0/+17
libgomp/ * testsuite/libgomp.oacc-fortran/declare-1.f90: Restore "dg-do run" directive. * testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise. * testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise. From-SVN: r253808
2017-10-17re PR c++/67831 (Internal error on complicated constexpr initialization.)Paolo Carlini2-0/+16
2017-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/67831 * g++.dg/cpp0x/constexpr-ice18.C: New. From-SVN: r253807
2017-10-17re PR c++/82570 (Lambda fails to compile because it doesn't meet constexpr ↵Paolo Carlini2-0/+35
requirements) 2017-10-17 Paolo Carlini <paolo.carlini@oracle.com> PR c++/82570 * g++.dg/cpp1z/constexpr-lambda18.C: New. From-SVN: r253806
2017-10-17re PR tree-optimization/82549 (ICE at -O1 and above: verify_gimple failed)Jakub Jelinek4-22/+55
PR tree-optimization/82549 * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): Formatting fixes. Instead of calling make_bit_field_ref with negative bitpos return 0. * gcc.c-torture/compile/pr82549.c: New test. From-SVN: r253805