| 2016-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 7.0.0. |
| |
| 2016-04-15 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text. |
| |
| 2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T |
| architecture revisions. |
| |
| 2016-04-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * config/i386/i386-protos.h (ix86_using_red_zone): Declare. |
| * config/i386/i386.c (ix86_using_red_zone): No longer static. |
| * config/i386/i386.md (stack decrement to push peepholes): Guard |
| with !x86_using_red_zone (). |
| |
| 2016-04-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70675 |
| * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down |
| to dump_generic_node. |
| (NIY): Pass also flags to do_niy. |
| |
| 2016-04-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy) |
| (simd_clone_vector_of_formal_parm_types) |
| (simd_clone_clauses_extract, simd_clone_compute_base_data_type) |
| (simd_clone_mangle, simd_clone_create) |
| (simd_clone_adjust_return_type, create_tmp_simd_array) |
| (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays) |
| (struct modify_stmt_info, ipa_simd_modify_stmt_ops) |
| (ipa_simd_modify_function_body, simd_clone_linear_addend) |
| (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone) |
| (pass_data_omp_simd_clone, class pass_omp_simd_clone) |
| (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move |
| into... |
| * omp-simd-clone.c: ... this new file. |
| (simd_clone_vector_of_formal_parm_types): Make it static. |
| * Makefile.in (OBJS): Add omp-simd-clone.o. |
| |
| 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70662 |
| * config/i386/sse.md: Use proper memory operand |
| modifiers. |
| |
| |
| 2016-04-15 Richard Biener <rguenther@suse.de> |
| Alan Modra <amodra@gmail.com> |
| |
| PR tree-optimization/70130 |
| * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect |
| when alignment stays not the same and no not use the realign |
| scheme then. |
| |
| 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70669 |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add |
| direct move handlers for KFmode. Change TFmode handlers test from |
| FLOAT128_IEEE_P to FLOAT128_VECTOR_P. |
| |
| 2016-04-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70594 |
| * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype. |
| * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function. |
| (inlined_polymorphic_ctor_dtor_block_p): Use it. |
| * tree-ssa-live.c (remove_unused_scope_block_p): When |
| in_ctor_dtor_block, avoid discarding not just BLOCKs with |
| BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when |
| block_ultimate_origin is FUNCTION_DECL. |
| (remove_unused_locals): If current_function_decl is |
| polymorphic_ctor_dtor_p, pass initial true to |
| remove_unused_scope_block_p' is_ctor_dtor_block. |
| |
| 2016-04-14 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69517 |
| PR c++/70019 |
| PR c++/70588 |
| * doc/extend.texi (Variable Length): Revert. |
| |
| 2016-04-14 Marek Polacek <polacek@redhat.com> |
| Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c++/70029 |
| * tree.c (verify_type): Disable the canonical type of main variant |
| check. |
| |
| 2016-04-14 Jason Merrill <jason@redhat.com> |
| |
| * cfgexpand.c, expr.c: Revert previous change. |
| |
| 2016-04-14 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR middle-end/70643 |
| * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT |
| when building a mem ref for the incoming reduction variable. |
| |
| 2016-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70614 |
| * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate |
| loop if the evolution dropped to chrec_dont_know. |
| (interpret_condition_phi): Likewise. |
| |
| 2016-04-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70623 |
| * tree-ssa-pre.c (changed_blocks): Make global ... |
| (compute_antic): ... local here. Move and fix worklist |
| handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges. |
| (compute_antic_aux): Add dumping for MAX assumed succs. Remove |
| worklist handling, dump when ANTIC_IN changed. |
| (compute_partial_antic_aux): Remove worklist handling. |
| (init_pre): Do not compute post dominators. Add a comment about |
| the CFG order chosen. |
| (fini_pre): Do not free post dominators. |
| |
| 2016-04-13 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69517 |
| PR c++/70019 |
| PR c++/70588 |
| * doc/extend.texi (Variable Length): Document C++ specifics. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70641 |
| * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt |
| on all recursive call stmts. Return TODO_cleanup_cfg if any dead |
| eh edges have been purged. |
| |
| PR c++/70594 |
| * tree-sra.c (create_access_replacement, |
| get_replaced_param_substitute): Set DECL_NAMELESS on repl if it |
| gets fancy name. |
| * tree-pretty-print.c (dump_fancy_name): New function. |
| (dump_decl_name, dump_generic_node): Use it. |
| |
| 2016-04-13 Jason Merrill <jason@redhat.com> |
| |
| * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning". |
| * expr.c (expand_expr_real_1): Likewise. |
| |
| 2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com> |
| |
| * config/i386/i386.md (kunpckhi): Swap operands. |
| (kunpcksi): Likewise. |
| (kunpckdi): Likewise. |
| * config/i386/sse.md (vec_pack_trunc_qi): Likewise. |
| (vec_pack_trunc_<mode>): Likewise. |
| |
| 2016-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/70628 |
| * explow.c (convert_memory_address_addr_space_1): Formatting fix. |
| |
| PR middle-end/70633 |
| * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if |
| gimplification turns some element into non-constant. |
| |
| PR debug/70628 |
| * rtl.h (convert_memory_address_addr_space_1): New prototype. |
| * explow.c (convert_memory_address_addr_space_1): No longer static, |
| add NO_EMIT argument and don't call convert_modes if true, pass |
| it down recursively, remove break after return. |
| (convert_memory_address_addr_space): Adjust caller. |
| * simplify-rtx.c (simplify_unary_operation_1): Call |
| convert_memory_address_addr_space_1 instead of convert_memory_address, |
| if it returns NULL, don't simplify. |
| |
| 2016-04-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/70630 |
| * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses. |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Bump the upper SIMDLEN limits, so that if the return type or |
| characteristic type if the return type is void can be passed in |
| all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is |
| allowed. |
| |
| 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70640 |
| * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal): |
| Do not use "=" constraint on an input constraint. |
| (ieee_128bit_vsx_abs<mode>2_internal): Likewise. |
| (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. |
| (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it |
| generates (neg (abs ...)) instead of (abs ...). |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70596 |
| * lra-spills.c (spill_pseudos): Don't delete debug insns, instead |
| just invalidate LRA data and reset them. Adjust dump wording. |
| |
| 2016-04-12 Martin Liska <mliska@suse.cz> |
| |
| Revert |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic |
| estimates here. |
| * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also |
| max_loop_iterations_int. |
| (tree_unswitch_outer_loop): Likewise. |
| * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. |
| * tree-vect-loop.c (vect_analyze_loop_2): Likewise. |
| |
| 2016-04-12 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68756 |
| * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr |
| instead of new_name. |
| |
| 2016-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70602 |
| * tree-sra.c (generate_subtree_copies): Don't write anything into |
| constant pool decls. |
| |
| * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT |
| regardless whether there are depend clauses or not. |
| |
| 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70381 |
| * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the |
| target attribute and pragma from changing the -mfloat128 |
| and -mfloat128-hardware options. |
| |
| * doc/extend.texi (Additional Floating Types): Document PowerPC |
| __float128 restrictions. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/70133 |
| * config/aarch64/driver-aarch64.c |
| (aarch64_get_extension_string_for_isa_flags): New. |
| (arch_extension): Rename to... |
| (aarch64_arch_extension): ...This. |
| (ext_to_feat_string): Rename to... |
| (aarch64_extensions): ...This. |
| (aarch64_core_data): Keep track of architecture extension flags. |
| (cpu_data): Rename to... |
| (aarch64_cpu_data): ...This. |
| (aarch64_arch_driver_info): Keep track of architecture extension |
| flags. |
| (get_arch_name_from_id): Rename to... |
| (get_arch_from_id): ...This, change return type. |
| (host_detect_local_cpu): Update and reformat for renames, handle |
| extensions through common infrastructure. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/70133 |
| * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep |
| track of a canonical flag name. |
| (all_extensions): Likewise. |
| (arch_to_arch_name): Also track extension flags enabled by the arch. |
| (all_architectures): Likewise. |
| (aarch64_parse_extension): Move to here. |
| (aarch64_get_extension_string_for_isa_flags): Take a new argument, |
| rework. |
| (aarch64_rewrite_selected_cpu): Update for above change. |
| * config/aarch64/aarch64-option-extensions.def: Rework the way flags |
| are handled, such that the single explicit value enabled by an |
| extension is kept seperate from the implicit values it also enables. |
| * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move |
| to here. |
| (aarch64_parse_extension): New. |
| * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from |
| here to config/aarch64/aarch64-protos.h. |
| (aarch64_parse_extension): Move from here to |
| common/config/aarch64/aarch64-common.c. |
| (aarch64_option_print): Update. |
| (aarch64_declare_function_name): Likewise. |
| (aarch64_start_file): Likewise. |
| * config/aarch64/driver-aarch64.c (arch_extension): Keep track of |
| the canonical flag for extensions. |
| * config.gcc (aarch64*-*-*): Extend regex for capturing extension |
| flags. |
| |
| 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add |
| AARCH64_FL_CRC. |
| |
| 2016-04-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68953 |
| * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from |
| first to last subscript. |
| |
| 2016-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70586 |
| * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false |
| for any calls. |
| |
| 2016-04-08 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR lto/70289 |
| PR ipa/70348 |
| PR tree-optimization/70373 |
| PR middle-end/70533 |
| PR middle-end/70534 |
| PR middle-end/70535 |
| * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data |
| clauses for acc parallel reductions as necessary. Error on those |
| that are private. |
| * omp-low.c (scan_sharing_clauses): Don't install variables which |
| are used in acc parallel reductions. |
| (lower_rec_input_clauses): Remove dead code. |
| (lower_oacc_reductions): Add support for reference reductions. |
| (lower_reduction_clauses): Remove dead code. |
| (lower_omp_target): Don't remap variables appearing in acc parallel |
| reductions. |
| * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro. |
| |
| 2016-04-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70593 |
| * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt |
| with multiple SSA_NAME defs, force the outputs other than first |
| to be live before calling live_track_process_def on each output. |
| |
| PR rtl-optimization/70574 |
| * fwprop.c (forward_propagate_and_simplify): Don't add |
| REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg. |
| (try_fwprop_subst): Don't add REG_EQUAL note if there are any |
| paradoxical subregs within *loc. |
| |
| 2016-04-08 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore |
| -ftree-parallelize-loops={0,1}. |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise. |
| * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise. |
| * config/ia64/hpux.h (LIB_SPEC): Likewise. |
| * config/pa/pa-hpux11.h (LIB_SPEC): Likewise. |
| * config/pa/pa64-hpux.h (LIB_SPEC): Likewise. |
| |
| 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR sanitizer/70541 |
| * asan.c (instrument_derefs): If we get unknown location, extract it |
| with EXPR_LOCATION. |
| (maybe_instrument_call): Instrument gimple_call's arguments if needed. |
| |
| 2016-04-08 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc |
| implicit firstprivate clause. |
| |
| 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70566 |
| * config/arm/thumb2.md (tst + branch-> lsls + branch |
| peephole below *orsi_not_shiftsi_si): Require that condition |
| register is dead after the peephole. |
| (second peephole after the above): Likewise. |
| |
| 2016-04-08 Alan Modra <amodra@gmail.com> |
| |
| PR target/70117 |
| * builtins.c (fold_builtin_classify): For IBM extended precision, |
| look at just the high-order double to test for NaN. |
| (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal |
| test just the high double for Inf but both doubles for subnormal |
| limit. |
| |
| 2016-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.h (struct cgraph_simd_clone): Add mask_mode field. |
| * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle |
| node->simdclone->mask_mode != VOIDmode masks. |
| (simd_clone_adjust_argument_types): Likewise. Move sc var definition |
| earlier, use it instead of node->simdclone. |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Set clonei->mask_mode. |
| |
| 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR c/70436 |
| * parser.c (cp_parser_iteration_statement): New parameter IF_P. |
| Pass it through to cp_parser_already_scoped_statement. |
| (cp_parser_already_scoped_statement): New parameter IF_P. Pass |
| it through to cp_parser_statement. |
| (cp_parser_statement): Pass IF_P through to |
| cp_parser_iteration_statement. |
| (cp_parser_pragma): Adjust call to |
| cp_parser_iteration_statement. |
| |
| 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR c/70436 |
| * gimplify.c (gimplify_omp_ordered): Add explicit braces to |
| resolve a future -Wparentheses warning. |
| * omp-low.c (scan_sharing_clauses): Likewise. |
| * tree-parloops.c (eliminate_local_variables): Likewise. |
| |
| 2016-04-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70398 |
| * lra-constraints.c (process_address_1): Check zero scale and code |
| for reloading with zero scale. |
| |
| 2016-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes. |
| (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes. |
| |
| 2016-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Add support for AVX512F clones, include them by default for |
| exported OpenMP declare simd functions. For AVX2 allow simdlen 32 |
| and use it if charasteric type is 8-bit, for AVX512F allow simdlen |
| up to 128. |
| |
| PR middle-end/70550 |
| * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define. |
| * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit |
| firstprivate clauses. |
| * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for |
| OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts. |
| (lower_omp_target): Set TREE_NO_WARNING for |
| non-addressable possibly uninitialized vars which are copied into |
| addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT. |
| |
| 2016-04-05 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/predicates.md (integer_store_memory_operand): Accept |
| REG+D operands with a large offset when reload_in_progress is true. |
| (floating_point_store_memory_operand): Likewise. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70336 |
| * match.pd (nested int casts): Limit to GIMPLE. |
| |
| 2016-04-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (maybe_record_node): Fix comment; use |
| SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70542 |
| * ree.c (add_removable_extension): For VECTOR_MODE_P punt |
| if there are any uses other than insn or debug insns. |
| |
| 2016-04-05 Marc Glisse <marc.glisse@inria.fr> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70509 |
| * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>: |
| Shift HOST_WIDE_INT_1U instead of 1. |
| |
| 2016-04-05 Zdenek Sojka <zsojka@seznam.cz> |
| |
| PR tree-optimization/70509 |
| * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead |
| of the vector base type for index. |
| |
| 2016-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70510 |
| * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70526 |
| * tree-sra.c (build_ref_for_offset): Use prev_base to |
| extract the alias pointer type. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| * dse.c (struct store_info): Remove alias_set member. |
| (struct read_info_type): Likewise. |
| (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder, |
| spill_deleted, clear_alias_set_lookup): Remove. |
| (get_group_info): Remove dead base == NULL_RTX case. |
| (dse_step0): Remove initialization of removed variables. |
| (delete_dead_store_insn): Reomve alias set dumping. |
| (free_read_records): Remove alias_set handling. |
| (canon_address): Remove alias_set_out parameter. |
| (record_store): Remove spill_alias_set, it's always zero. |
| (check_mem_read_rtx): Likewise. |
| (dse_step2): Rename from ... |
| (dse_step2_nospill): ... this. Adjust. |
| (scan_stores): Rename from ... |
| (scan_stores_nospill): ... this. |
| (scan_reads): Rename from ... |
| (scan_reads_nospill): ... this. |
| (scan_stores_spill, scan_reads_spill): Remove. |
| (dse_step3_scan): Remove for_spills argument which is always false. |
| (dse_step3): Likewise. |
| (dse_step5): Rename from ... |
| (dse_step5_nospill): ... this. Remove alias_set handling. |
| (rest_of_handle_dse): Adjust. |
| |
| 2016-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70525 |
| * config/i386/sse.md (*andnot<mode>3): Simplify assertions. |
| Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for |
| V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting. |
| (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator. |
| |
| 2016-04-05 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70499 |
| * gimplify-me.c (gimple_regimplify_operands): Do not rewrite |
| non-register type temporaries into SSA. |
| |
| 2016-04-04 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual |
| calls when sanitizing. |
| (possible_polymorphic_call_target_p): Fix formatting. |
| |
| 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70457 |
| * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p |
| to ensure a call statement is compatible with a built-in's |
| prototype. |
| * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute): |
| Likewise. |
| |
| 2016-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/70484 |
| * rtl.h (canon_output_dependence): Declare. |
| * alias.c (canon_output_dependence): New function. |
| * dse.c (record_store): Use canon_output_dependence rather |
| than canon_true_dependence. |
| |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68881 |
| * cgraph.h (symtab_node::copy_visibility_from): New function. |
| * symtab.c (symtab_node::copy_visibility_from): New function. |
| * ipa-visibility.c (optimize_weakref): New function. |
| (function_and_variable_visibility): Use it. |
| |
| 2016-04-04 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70402 |
| * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index |
| value that is really in range handled by SBR instruction. |
| * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump. |
| * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB. |
| * hsa.h (hsa_insn_sbr::m_default_bb): Remove field. |
| |
| 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/70416 |
| PR target/67391 |
| * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is |
| set, but not for SP_REG operands. |
| |
| 2016-04-02 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/67376 |
| * fold-const.c (maybe_nonzero_address): New function. |
| (fold_comparison): Call it. Fold equality and relational |
| expressions involving null pointers. |
| (tree_single_nonzero_warnv_p): Call maybe_nonzero_address. |
| |
| 2016-03-31 Evandro Menezes <e.menezes@samsung.com> |
| |
| Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate |
| the "Y" constraint (scalar FP 0.0 immediate). |
| |
| * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero): |
| Add the "const_double" to the list of operand constraints. |
| |
| 2016-04-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70467 |
| * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword): |
| If low word of the last operand is 0, just emit addition/subtraction |
| for the high word. |
| |
| 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/70404 |
| * config/s390/s390.c (s390_expand_insv): Check for everything |
| constant instead of just VOIDmode stuff. |
| |
| 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/70496 |
| * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB. |
| |
| 2016-04-01 Nathan Sidwell <nathan@acm.org> |
| |
| * tree.def (TRY_CATCH_EXPR): Correct documentation. |
| |
| 2016-03-31 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70461 |
| * ira-color.c (allocno_copy_cost_saving): Use allocno class if it |
| is necessary. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70399 |
| * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either |
| a tree value or an immediate integer value to a buffer |
| that is eventually copied to a BRIG section. |
| (emit_immediate_operand): Call the function here. |
| * hsa-dump.c (dump_hsa_immed): Remove checking assert. |
| * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization |
| of class' fields that are removed. |
| (hsa_op_immed::~hsa_op_immed): Remove deinitialization. |
| * hsa.h (class hsa_op_immed): Remove m_brig_repr and |
| m_brig_repr_size fields. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70391 |
| * hsa-gen.c (hsa_function_representation::update_dominance): New |
| function. |
| (convert_addr_to_flat_segment): Likewise. |
| (gen_hsa_memory_set): New alignment argument. |
| (gen_hsa_ctor_assignment): Likewise. |
| (gen_hsa_insns_for_single_assignment): Provide alignment |
| to gen_hsa_ctor_assignment. |
| (gen_hsa_insns_for_direct_call): Add new argument. |
| (expand_lhs_of_string_op): New function. |
| (expand_string_operation_builtin): Likewise. |
| (expand_memory_copy): New function. |
| (expand_memory_set): New function. |
| (gen_hsa_insns_for_call): Use HOST_WIDE_INT. |
| (convert_switch_statements): Change signature. |
| (generate_hsa): Use a return value of the function. |
| (pass_gen_hsail::execute): Do not call |
| convert_switch_statements here. |
| * hsa-regalloc.c (hsa_regalloc): Call update_dominance. |
| * hsa.h (hsa_function_representation::m_modified_cfg): New flag. |
| (hsa_function_representation::update_dominance): New function. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70391 |
| * hsa-brig.c (emit_directive_variable): Emit alignment |
| according to hsa_symbol::m_align. |
| * hsa-dump.c (hsa_byte_alignment): Move the function to another file. |
| (dump_hsa_symbol): Dump alignment of HSA symbols. |
| * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol. |
| (gen_hsa_addr_with_align): New function. |
| (hsa_bitmemref_alignment): Use newly added function. |
| (gen_hsa_insns_for_load): Likewise. |
| (gen_hsa_insns_for_store): Likewise. |
| (gen_hsa_memory_copy): New argument added. |
| (gen_hsa_insns_for_single_assignment): Respect |
| alignment for assignments processed via gen_hsa_memory_copy. |
| (gen_hsa_insns_for_direct_call): Likewise. |
| (gen_hsa_insns_for_return): Likewise. |
| (gen_function_def_parameters): Set default alignment. |
| * hsa.c (hsa_object_alignment): New function. |
| (hsa_byte_alignment): Pasted function. |
| * hsa.h (hsa_symbol::m_align): New field. |
| |
| 2016-03-31 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize |
| scratch field for goto case. |
| |
| 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete. |
| |
| 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/70442 |
| * config/i386/i386.c (scalar_chain::convert_op): Fix description. |
| (scalar_chain::convert_insn): Call convert_op for reg |
| moves to handle undefined registers. |
| |
| 2016-03-31 Nathan Sidwell <nathan@acm.org> |
| |
| PR c++/70393 |
| * varasm.c (output_constructor_regular_field): Flush bitfield earlier. |
| Assert we don't want to move backwards. |
| |
| 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70453 |
| * config/i386/sse.md (define_mode_attr shuffletype): Fix typo. |
| |
| 2016-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70460 |
| * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF |
| with operand from REG_LABEL_OPERAND, instead substitute |
| SET_SRC or REG_EQUAL note content if it is a LABEL_REF. |
| Don't do anything for REG_NON_LOCAL_GOTO jumps. |
| |
| 2016-03-31 Martin Liska <mliska@suse.cz> |
| |
| * passes.c (execute_one_pass): Do not call |
| todo_after for a discarded function. |
| |
| 2016-03-31 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field. |
| (no_cost, infinite_cost): Initialize the new field. |
| (get_computation_cost_at): Record setup cost. |
| (determine_use_iv_cost_address): Skip cost computation for sub |
| uses if we can estimate it without losing accuracy. |
| |
| 2016-03-30 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic |
| estimates here. |
| * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also |
| max_loop_iterations_int. |
| (tree_unswitch_outer_loop): Likewise. |
| * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise. |
| * tree-vect-loop.c (vect_analyze_loop_2): Likewise. |
| |
| 2016-03-30 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70450 |
| * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage. |
| |
| 2016-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70421 |
| * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order |
| in gen_blendm expander. |
| |
| 2016-03-30 Nick Clifton <nickc@redhat.com> |
| |
| PR target/62254 |
| * config/arm/arm.c (arm_reload_out_hi): Add code to handle the |
| case where we are already provided with an SImode SUBREG. |
| |
| 2016-03-30 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/70439 |
| * config/i386/i386.c (ix86_expand_epilogue): Properly check |
| conflict between DRAP register and __builtin_eh_return. |
| |
| 2016-03-30 Michael Matz <matz@suse.de> |
| Richard Biener <rguenther@suse.de> |
| |
| PR ipa/12392 |
| * ipa-polymorphic-call.c (struct type_change_info): Change |
| speculative to an unsigned allowing to limit the work we do. |
| (csftc_abort_walking_p): New inline function.. |
| (check_stmt_for_type_change): Limit the number of may-defs |
| skipped for speculative devirtualization to |
| max-speculative-devirt-maydefs. |
| * params.def (max-speculative-devirt-maydefs): New param. |
| * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document. |
| |
| 2016-03-30 Mike Stump <mrs@gcc.gnu.org> |
| |
| PR target/63890 |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling |
| and TARGET_MACHO. |
| |
| 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR tree-optimization/59124 |
| * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1 |
| where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2). |
| |
| 2016-03-29 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel |
| to HOST_WIDE_INT. |
| |
| 2016-03-29 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override. |
| * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of |
| gcrt0.o if linking dynamically. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/70283 |
| * ipa-devirt.c (methods_equal_p): New function. |
| (compare_virtual_tables): Use it. |
| * cgraph.h (symbol_table::symbol_suffix_separator): Declare. |
| * cgraphclones.c (clone_function_name_1): Use |
| symbol_table::symbol_suffix_separator. |
| * coverage.c (build_var): Likewise. |
| * symtab.c (symbol_table::symbol_suffix_separator): New. |
| |
| 2016-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70429 |
| * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize |
| (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if |
| mode != result_mode. |
| |
| PR c++/70353 |
| * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null. |
| |
| PR tree-optimization/70405 |
| * ssa-iterators.h (num_imm_uses): Add missing braces. |
| |
| 2016-03-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/68695 |
| * ira-color.c (allocno_copy_cost_saving): New. |
| (improve_allocation): Use it. |
| |
| 2016-03-29 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/70355 |
| * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs. |
| |
| 2016-03-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70424 |
| * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always |
| use alignment returned by get_pointer_alignment_1 if it is |
| bigger than BITS_PER_UNIT. |
| * builtins.c (get_pointer_alignment_1): Do not return true |
| for alignment extracted from SSA info. |
| |
| 2016-03-28 James Bowman <james.bowman@ftdichip.com> |
| |
| * config/ft32/ft32.opt (mnodiv): New. |
| * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV. |
| * doc/invoke.texi (FT32 Options -mnodiv): New. |
| |
| 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70406 |
| * config/i386/i386.md (define_split, andn): Fix modes. |
| |
| 2016-03-26 Richard Biener <rguenther@suse.de> |
| Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| PR ipa/70366 |
| * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl) |
| instead of |
| TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl)) |
| as 2nd argument to cl_optimization_restore(). |
| |
| 2016-03-25 Richard Henderson <rth@redhat.com> |
| |
| PR target/70120 |
| * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New. |
| * config/aarch64/aarch64-protos.h: Declare it. |
| * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New. |
| |
| 2016-03-25 Alan Modra <amodra@gmail.com> |
| |
| PR target/70052 |
| * config/rs6000/constraints.md (j): Simplify. |
| * config/rs6000/predicates.md (easy_fp_constant): Exclude |
| decimal float 0.D. |
| * config/rs6000/rs6000.md (zero_fp): New mode_attr. |
| (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64, |
| mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j |
| in all constraint alternatives. |
| (movtd_64bit_nodm): Delete "j" constraint alternative. |
| |
| 2016-03-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tree-ssa-propagate.c: Enhance docs for |
| SSA_PROP_NOT_INTERESTING. |
| |
| 2016-03-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/extend.texi: Fix typo in documentation to pure attribute. |
| |
| 2016-03-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70319 |
| * config/pa/pa.md (bswapdi2): Use a scratch register. |
| |
| 2016-03-24 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/69845 |
| * fold-const.c (extract_muldiv_1): Correct test for multiplication |
| overflow. |
| |
| 2016-03-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*anddi3_doubleword): Generate AND insn |
| using ix86_expand_binary_operator instead of gen_andsi3. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70396 |
| * tree-vect-stmts.c (vectorizable_comparison): Use |
| get_vectype_for_scalar_type. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70370 |
| * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs |
| with register bases. |
| |
| 2016-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70372 |
| * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use |
| build_all_ones_cst to also handle vector types correctly. |
| |
| 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70381 |
| * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set |
| -mfloat128 here. |
| |
| 2016-03-23 Marek Polacek <polacek@redhat.com> |
| |
| PR c++/69884 |
| * doc/invoke.texi: Document -Wignored-attributes. |
| |
| 2016-03-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/69042 |
| * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the |
| parameter from 30 to 40. |
| |
| 2016-03-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/69042 |
| * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand |
| for use with constant offset stripped in base. |
| |
| 2016-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70251 |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust |
| mode compatibility check. |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-23 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/64058 |
| * tree-ssa-coalesce.c (struct coalesce_pair): Add new field |
| CONFLICT_COUNT. |
| (struct ssa_conflicts): Move up earlier in the file. |
| (conflicts_, var_map_): New static variables. |
| (initialize_conflict_count): New function to initialize the |
| CONFLICT_COUNT field for each conflict pair. |
| (compare_pairs): Lazily initialize the conflict count and use it |
| as the first tie-breaker. |
| (sort_coalesce_list): Add new arguments conflicts, map. Initialize |
| and wipe conflicts_ and map_ around the call to qsort. Remove |
| special case for 2 coalesce pairs. |
| * bitmap.c (bitmap_count_unique_bits): New function. |
| (bitmap_count_bits_in_word): New function, extracted from |
| bitmap_count_bits. |
| (bitmap_count_bits): Use bitmap_count_bits_in_word. |
| * bitmap.h (bitmap_count_unique_bits): Declare it. |
| |
| 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69917 |
| * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow |
| transparent alias chain for decl assembler name. |
| * config/sol2.c (solaris_assemble_visibility): Likewise. |
| |
| 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm1020e.md (1020call_op): Reduce reservation |
| duration. |
| (v10_fdivs): Likewise. |
| (v10_fdivd): Likewise. |
| |
| 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR driver/70132 |
| * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic |
| to not call fclose twice on file. |
| |
| 2016-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70354 |
| * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If |
| oprnd0 is wider than oprnd1 and there is a cast from the wider |
| type to oprnd1, mask it with the mask of the narrower type. |
| |
| PR target/70321 |
| * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword): |
| Optimize TARGET_STV splitters, if high or low word of last argument |
| is 0 or -1. |
| |
| 2016-03-22 Jeff Law <law@redhat.com> |
| |
| PR target/70232 |
| tree-ssa-threadbackward.c |
| (fsm_find_control_statement_thread_paths): Correctly distinguish |
| between old style jump threads vs FSM jump threads. |
| |
| 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/70302 |
| * config/i386/i386.c (scalar_chain::convert_op): Support |
| uninitialized register usage case. |
| |
| 2016-03-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70251 |
| * genmatch.c (gen_transform): Adjust last parameter to a three-state |
| int... |
| (capture::gen_transform): ... to change behavior when substituting |
| a condition into cond or not-cond expr context. |
| (dt_simplify::gen_1): Adjust. |
| * gimple-match-head.c: Include gimplify.h for unshare_expr. |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert |
| last change and instead change to |
| A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0). |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-22 Anthony Green <green@moxielogic.com> |
| |
| * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness |
| issue for moxiebox targets. |
| (CC1PLUS_SPEC): Ditto. |
| |
| 2016-03-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70333 |
| * fold-const.c (extract_muldiv_1): Properly perform multiplication |
| in the wide type. |
| |
| 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/i386.c (def_builtin): Remove duplicated functionality. |
| |
| 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70325 |
| * config/i386/i386.c (def_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL to be and-ed with other |
| bits. |
| (const struct builtin_description bdesc_special_args[]): |
| Remove duplicate ISA bits. |
| |
| 2016-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70329 |
| * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing |
| d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i] |
| in a way that works also for AVX512BW. |
| |
| PR target/70300 |
| * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination |
| instead of source if operands[1] is xmm16 and above and |
| !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of |
| vec_interleave_lowv4sf if we need to unpack xmm16 and above. |
| |
| PR c++/70295 |
| * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning |
| on assign if (*from_p) is a comparison, set it to |
| TREE_NO_WARNING (*from_p). |
| |
| 2016-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70326 |
| * lra.c (restore_scratches): Ignore deleted insns. |
| |
| 2016-03-21 Marc Glisse <marc.glisse@inria.fr> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70317 |
| * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0)) |
| to HONOR_NANS. |
| |
| 2016-03-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70327 |
| * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead |
| of ix86_expand_move. |
| (movoi): Ditto. |
| (movti): Use general_operand for operand 1 predicate. |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR |
| insns. |
| (dump_hsa_symbol): Dump BRIG offset of hsa_symbols. |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/70306 |
| * ipa-icf.c (sem_function::parse): Skip static |
| constructors and destructors. |
| |
| 2016-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70296 |
| * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is |
| function-like macro, peek following token(s) if it is followed |
| by CPP_OPEN_PAREN token with optional padding in between, and |
| if not, don't treat it like a macro. |
| |
| 2016-03-21 Thomas Schwinge <thomas@codesourcery.com> |
| Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry |
| for the stabs debug format. |
| |
| 2016-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70310 |
| * tree-vect-generic.c (expand_vector_condition): Fold the built |
| condition. |
| |
| 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/70293 |
| * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2): |
| Block third alternative for AVX-512VL target, |
| |
| 2016-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR hsa/70234 |
| * hsa-brig.c (emit_function_directives): Mark unemitted |
| global variables for emission. |
| * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag. |
| (get_symbol_for_decl): Likewise. |
| * hsa.h (struct hsa_symbol): New flag. |
| |
| 2016-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70288 |
| * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure |
| we do not estimate unsimplified all-constant conditionals or |
| switches as optimized away. |
| |
| 2016-03-21 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69102 |
| * sched-deps.c (sched_analyze_insn): Do not set last_args_size field |
| when we have a readonly dependency context. |
| |
| 2016-03-18 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/70263 |
| * ira.c (memref_used_between_p): Assert we found END in the insn chain. |
| (update_equiv_regs): When trying to move a store to after the insn |
| that sets the source of the store, make sure the store occurs after |
| the insn that sets the source of the store. When successful note |
| the REG_EQUIV note created in the dump file. |
| |
| 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com> |
| Bernd Schmidt <bschmidt@redhat.com> |
| |
| * doc/extend.texi: Document more potential problems with basic asms. |
| |
| 2016-03-18 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/70278 |
| * lra-constraints.c (split_reg): Handle the case where biggest_mode is |
| VOIDmode. |
| |
| 2016-03-18 Jason Merrill <jason@redhat.com> |
| |
| * calls.c (load_register_parameters): Fix zero size sibcall logic. |
| |
| 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * config/i386/sse.md: Use vpbroadcastq for broadcasting DF |
| values to 128b regs. |
| |
| 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR tree-optimization/70252 |
| * tree-vect-stmts.c (supportable_widening_operation): Check resulting |
| boolean vector has a proper number of elements. |
| (supportable_narrowing_operation): Likewise. |
| |
| 2016-03-18 Tom de Vries <tom@codesourcery.com> |
| |
| PR ipa/70269 |
| * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save. |
| |
| 2016-03-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx |
| instead of replace_rtx for DEBUG_INSNs. |
| |
| 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/znver1.md : Fix latencies of FP/SSE/AVX |
| load type reservations. |
| |
| 2016-03-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/70188 |
| * config/pa/constraints.md: Revert 2015-02-13 change. Use |
| define_constraint for "Q" and "T" constraints. |
| |
| 2016-03-17 Evandro Menezes <e.menezes@samsung.com> |
| |
| Tweak the pipeline model for Exynos M1 |
| |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching |
| model. |
| |
| 2016-03-17 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/70264 |
| * diagnostic-show-locus.c (compatible_locations_p): Handle the case |
| where one or both locations aren't within a line_map. |
| |
| 2016-03-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR driver/70192 |
| * opts.c (finish_options): Don't set flag_pie to the default if |
| -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0 |
| if it is -1. |
| |
| 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com> |
| |
| * config/i386/i386.md (*movv4qicc_insn+1..36): Pass |
| true as ALL_REGS argument to replace_rtx. |
| |
| 2016-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR debug/70271 |
| * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name |
| last. |
| |
| 2016-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70245 |
| * rtl.h (replace_rtx): Add ALL_REGS argument. |
| * rtlanal.c (replace_rtx): Likewise. If true, use REGNO |
| equality and assert mode is the same, instead of just rtx pointer |
| equality. |
| * config/i386/i386.md (mov + arithmetics with load peephole): Pass |
| true as ALL_REGS argument to replace_rtx. |
| |
| 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply |
| for boolean vector with vector mode only. |
| (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise. |
| |
| 2016-03-17 Nick Clifton <nickc@redhat.com> |
| |
| PR target/70162 |
| * config/rx/rx.c (rx_print_integer): Print negative constants in |
| decimal. |
| |
| 2016-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70261 |
| * rtlanal.c (replace_rtx): Revert 2016-03-16 change. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR middle-end/70240 |
| PR middle-end/68215 |
| PR tree-opt/68714 |
| * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the |
| first operand as is_gimple_condexpr. |
| |
| PR middle-end/70240 |
| PR middle-end/68215 |
| Revert r231575 |
| 2015-12-11 Eric Botcazou <ebotcazou@adacore.com> |
| * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. |
| Do not gimplify the result. |
| (do_unop): Adjust call to tree_vec_extract. |
| (do_binop): Likewise. |
| (do_compare): Likewise. |
| (do_plus_minus): Likewise. |
| (do_negate): Likewise. |
| (expand_vector_condition): Likewise. |
| (do_cond): Likewise. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| |
| PR target/70048 |
| * config/aarch64/aarch64.c (virt_or_elim_regno_p): New. |
| (aarch64_classify_address): Use it. |
| (aarch64_legitimize_address): Force all subexpressions of PLUS |
| into registers. Simplify as (sfp+const)+reg or (reg+reg)+const. |
| |
| 2016-03-16 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR target/70245 |
| * rtlanal.c (replace_rtx): For REG, if from is a REG, |
| return to even if only REGNO is equal, and assert |
| mode is the same. |
| |
| 2016-03-11 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimization/70224 |
| * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P. |
| |
| 2016-03-16 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/70199 |
| * function.h (struct function): Add has_forced_label_in_static. |
| * gimplify.c (force_labels_r): Set it. |
| * lto-streamer-in.c (input_struct_function_base): Read it. |
| * lto-streamer-out.c (output_struct_function_base): Write it. |
| * tree-inline.c (has_label_address_in_static_1): Remove. |
| (copy_forbidden): Remove fndecl parameter; test |
| has_forced_label_in_static. |
| (inline_forbidden_p): Update call to copy_forbidden. |
| (tree_versionable_function_p): Likewise. |
| * ipa-chkp.c (chkp_instrumentable_p): Likewise. |
| (chkp_versioning): Likewise. |
| * tree-inline.h (copy_forbidden): Update decl. |
| |
| 2016-03-16 Marek Polacek <polacek@redhat.com> |
| |
| PR c/70093 |
| * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the |
| function being thunked if the result type doesn't have fixed size. |
| * gimplify.c (gimplify_modify_expr): Also set LHS if the result type |
| doesn't have fixed size. |
| |
| 2016-03-16 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by |
| reporting malformed loop nest. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/70187 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Move |
| nodes.length () == 1 test to before first nodes[0] access. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68715 |
| * graphite-scop-detection.c (scop_detection::merge_sese): Add missing |
| single_pred_p test. |
| |
| 2016-03-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68809 |
| * graphite-scop-detection.c (same_close_phi_node): Test if result types |
| are the same. |
| |
| 2016-03-16 Carlos O'Donell <carlos@redhat.com> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes): Describe ifunc impact |
| on leaf attribute. Mention ELF interposition problems. |
| |
| 2016-03-16 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (indirect_jump_optimize): Ignore artificial defs. |
| Add comments. |
| |
| 2016-03-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR bootstrap/69513 |
| * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list. |
| |
| 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr.md (rotl<mode>3): Set mode for operand 2. |
| |
| 2016-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70222 |
| * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT |
| optimization if mode is different from result_mode, queue up masking |
| of the result in outer_op. Formatting fix. |
| |
| PR middle-end/70239 |
| * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead |
| of safe_grow. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69032 |
| * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when |
| looping backwards over basic block insns. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/66660 |
| * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern |
| to non-speculative when propagating trap bits. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/63384 |
| * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on |
| DEBUG_INSN_P insns. |
| |
| 2016-03-15 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR target/64411 |
| * sched-deps.c (get_implicit_reg_pending_clobbers): New function, |
| factored out from ... |
| (sched_analyze_insn): ... here. |
| * sched-int.h (get_implicit_reg_pending_clobbers): Declare it. |
| * sel-sched-ir.c (setup_id_implicit_regs): New function, use |
| get_implicit_reg_pending_clobbers in it. |
| (setup_id_reg_sets): Use setup_id_implicit_regs. |
| (deps_init_id): Ditto. |
| |
| 2016-03-15 Tom de Vries <tom@codesourcery.com> |
| |
| PR ipa/70161 |
| * cgraph.c (cgraph_node::get_body): Save, reset and restore |
| dump_file_name. |
| * passes.c (execute_one_ipa_transform_pass): Add missing argument to |
| execute_function_dump. |
| (execute_one_pass): Don't dump function if it will be dumped after ipa |
| transform. |
| |
| 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * genrecog.c (match_pattern_2): If pred is NULL don't call |
| safe_predicate_mode on it. |
| |
| 2016-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/70219 |
| * lra-constraints.c (delete_move_and_clobber): Change assertion |
| to also allow dregno == 0. |
| |
| 2016-03-14 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/68714 |
| * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New. |
| (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P. |
| (reassociate_bb): Use optimize_vec_cond_expr; avoid |
| optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi |
| on vectors. |
| |
| 2016-03-14 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/70083 |
| * lra-lives.c (process_bb_lives): Also update biggest mode for hard |
| regs. |
| (lra_create_live_ranges_1): initialize hard register biggest_mode to |
| VOIDmode. |
| * lra-constraints.c (split_reg): For hard regs, try to find the |
| biggest single-register mode used in the function. |
| |
| 2016-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/56365 |
| * tree-ssa-phiopt.c (minmax_replacement): Handle alternate |
| constants to compare against. |
| |
| 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/70098 |
| * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2, |
| *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output. |
| (define_split for the GPR case): Use int_reg_operand instead of |
| gpc_reg_operand for the output. |
| |
| 2016-03-14 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/70045 |
| * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare |
| create_empty_if_region_on_edge argument. |
| |
| 2016-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define. |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise |
| (STACK_CHECK_PROTECT): Likewise. |
| * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise. |
| * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise. |
| (STACK_CHECK_PROTECT): Likewise. |
| |
| 2016-03-12 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/69307 |
| * sel-sched.c (choose_best_pseudo_reg): Properly check for hard |
| registers in modes that span more than one register. |
| |
| 2016-03-12 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69614 |
| * lra-constraints.c (delete_move_and_clobber): New. |
| (remove_inheritance_pseudos): Use it. |
| |
| 2016-03-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70017 |
| * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if |
| the libcall is LCT_THROW. |
| * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call |
| for the checking routine. |
| |
| 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/70131 |
| * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the |
| optimization if we have direct move. |
| (roundu32<mode>2_fprs): Likewise. |
| |
| 2016-03-11 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/70123 |
| * lra-remat.c (operand_to_remat): Disallow hard regs in the value t |
| be rematerialized. |
| (reg_overlap_for_remat_p): Renamed from input_regno_present_p. |
| Arguments swapped. All callers changed. Take reg_renumber into |
| account, and Calculate and compare register ranges for hard regs. |
| |
| 2016-03-11 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/70190 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Handle cases where we can not extract the taken edge, even though we |
| found a constant value. |
| |
| PR tree-optimization/64058 |
| * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX. |
| (num_coalesce_pairs): Move up earlier in file. |
| (find_coalesce_pair): Initialize the INDEX field for each pair |
| discovered. |
| (compare_pairs): No longer sort on the elements in each pair. |
| Instead break ties with the index of the coalesce pair. |
| |
| 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/70002 |
| * config/aarch64/aarch64-protos.h |
| (aarch64_save_restore_target_globals): New prototype. |
| * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): |
| Call the above when popping pragma. |
| * config/aarch64/aarch64.c (aarch64_save_restore_target_globals): |
| New function. |
| (aarch64_set_current_function): Rewrite using the above. |
| |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70177 |
| * gimple-expr.h (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. In the 2 argument |
| overload remove _1 suffix. |
| * gimple-expr.c (extract_ops_from_tree_1): Renamed to ... |
| (extract_ops_from_tree): ... this. |
| * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree): |
| Adjust callers. |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise. |
| * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand |
| extract_ops_from_tree instead of 2 operand one. |
| |
| 2016-03-11 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR tree-optimization/70013 |
| * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data |
| for constant-pool entries. |
| |
| 2016-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/70174 |
| * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible |
| followed by gen_lowpart on force_reg instead of just gen_lowpart. |
| |
| PR tree-optimization/70169 |
| * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and |
| LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable |
| for unknown codes. |
| |
| 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70160 |
| * config/i386/i386.c (scalar_chain::convert_reg): Skip uses |
| of uninitialized values. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("trunctddd2"): Turn former define_insn into |
| define_expand. |
| ("*trunctddd2"): New pattern definition. |
| ("trunctdsd2"): Set prep_for_short_prec rounding mode for the |
| TD->DD truncation. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant |
| definitions for BFP and DFP rounding modes. |
| ("fixuns_truncdddi2", "fixuns_trunctddi2") |
| ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2") |
| ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2") |
| ("fix_trunctf<mode>2"): Use the new constants instead of magic |
| numbers. |
| |
| 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md: Adjust comment. |
| ("Y"): Adjust comment. Rename s390_decompose_shift_count to |
| s390_decompose_addrstyle_without_index. |
| * config/s390/predicates.md (shift_count_or_setmem_operand): |
| Rename to setmem_operand. |
| * config/s390/s390-protos.h |
| (s390_decompose_shift_count): Rename to |
| s390_decompose_addrstyle_without_index. |
| * config/s390/s390.c (s390_decompose_shift_count) |
| (s390_mem_constraint, print_shift_count_operand) |
| (print_operand_address, print_operand): Rename |
| s390_decompose_shift_count to |
| s390_decompose_addrstyle_without_index and rename |
| print_shift_count_operand to print_addrstyle_operand troughout the |
| file. |
| * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long") |
| ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"): |
| Rename shift_count_or_setmem_operand to setmem_operand. |
| * config/s390/vx-builtins.md ("vec_insert<mode>") |
| ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with |
| nonmemory_operand. |
| |
| 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com> |
| |
| PR target/70168 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Handle overlapping retval and newval. |
| |
| 2016-03-10 Nick Clifton <nickc@redhat.com> |
| |
| PR target/7044 |
| * config/aarch64/aarch64.c |
| (aarch64_override_options_after_change_1): When forcing |
| flag_omit_frame_pointer to be true, use a special value that can |
| be detected if this function is called again, thus preventing |
| flag_omit_leaf_frame_pointer from being forced to be false. |
| |
| 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * common/config/aarch64/aarch64-common.c (aarch64_handle_option): |
| Set x_flag_omit_leaf_frame_pointer when handling |
| -momit-leaf-frame-pointer. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * cgraph.c (cgraph_node::dump): Dump split_part and |
| indirect_call_target. |
| * cgraph.h (cgraph_node): Add indirect_call_target flag. |
| * ipa.c (has_addr_references_p): Cleanup. |
| (is_indirect_call_target_p): New. |
| (walk_polymorphic_call_targets): Do not mark virtuals that may be |
| called indirectly as local. |
| (symbol_table::remove_unreachable_nodes): Compute indirect_call_target. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/69630 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE |
| on cxa_pure_virtual. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. |
| |
| 2016-03-10 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69589 |
| * tree.c (need_assembler_name_p): Only record main variant type names. |
| |
| 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/70113. |
| * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT): |
| Always define to 0 or 1. |
| (TARGET_FIX_ERR_A53_843419): New macro. |
| * config/aarch64/aarch64-elf-raw.h |
| (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes. |
| * config/aarch64/aarch64-linux.h: Likewise. |
| * config/aarch64/aarch64.c |
| (aarch64_override_options_after_change_1): Do not default |
| aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum |
| 843419 is on. |
| (aarch64_attributes): Handle fix-cortex-a53-843419. |
| (aarch64_can_inline_p): Likewise. |
| * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save. |
| |
| 2016-03-10 Alan Lawrence <alan.lawrence@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * common.opt (funconstrained-commons, flag_unconstrained_commons): New. |
| * tree.c (array_at_struct_end_p): Do not limit to size of decl for |
| DECL_COMMONS if flag_unconstrained_commons is set. |
| * tree-dfa.c (get_ref_base_and_extent): Likewise. |
| * doc/invoke.texi (Optimize Options): Add -funconstrained-commons. |
| (funconstrained-commons): Document. |
| |
| 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add |
| aarch64-fusion-pairs.def and aarch64-tuning-flags.def |
| |
| 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask |
| has a proper number of elements. |
| |
| 2016-03-10 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/69195 |
| PR rtl-optimization/47992 |
| * ira.c (recorded_label_ref): Delete. |
| (update_equiv_regs): Return void. |
| (indirect_jump_optimize): New function. |
| (ira): Call indirect_jump_optimize and delete_trivially_dead_insns |
| before regstat_compute_ri. Don't rebuild_jump_labels here. |
| Delete update_regstat. |
| |
| 2016-03-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70128 |
| * tree-ssa-structalias.c (set_uids_in_ptset): Set |
| vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL. |
| |
| 2016-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70152 |
| * tree-sra.c (replace_removed_params_ssa_names): Copy over |
| SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. |
| |
| PR target/70086 |
| * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df |
| instead of gen_sse2_loadlpd. |
| * config/i386/sse.md (*vec_concatv2df): Rename to... |
| (vec_concatv2df): ... this. |
| |
| PR tree-optimization/70127 |
| * fold-const.c (operand_equal_p): Revert the 2015-10-28 change. |
| |
| 2016-03-09 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/68473 |
| PR c++/70105 |
| * diagnostic-show-locus.c (compatible_locations_p): New function. |
| (layout::layout): Sanitize ranges using compatible_locations_p. |
| |
| 2016-03-09 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/68473 |
| PR c++/70105 |
| * diagnostic-show-locus.c (layout_range::layout_range): Replace |
| location_range param with three const expanded_locations * and a |
| bool. |
| (layout::layout): Replace call to |
| rich_location::lazily_expand_location with get_expanded_location. |
| Extract the range and perform location expansion here, passing |
| the results to the layout_range ctor. |
| * diagnostic.c (source_range::debug): Delete. |
| * diagnostic.h (diagnostic_expand_location): Reimplement in terms |
| of rich_location::get_expanded_location. |
| * gcc-rich-location.c (get_range_for_expr): Delete. |
| (gcc_rich_location::add_expr): Reimplement to avoid the |
| rich_location::add_range overload that took a location_range, |
| passing a location_t instead. |
| |
| 2016-03-09 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/70138 |
| * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): |
| Also skip vect_double_reduction_def. |
| |
| 2016-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70049 |
| * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0 |
| if the operand is "m". |
| |
| 2016-03-09 Nathan Sidwell <nathan@acm.org> |
| |
| * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level. |
| |
| 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/i386.c (processor_target_table): Fix cost table |
| intialization order for znver1. |
| |
| 2016-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling |
| - becuase -> because. |
| * ipa-reference.c (ignore_module_statics): Likewise. |
| * cgraph.c (cgraph_node::get_body): Likewise. |
| * ipa-inline.c (early_inliner): Likewise. |
| * ipa-devirt.c (types_same_for_odr): Likewise. |
| * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. |
| * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise. |
| |
| 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * tree-ssa-math-opts.c: Fix typo in comment. |
| |
| 2016-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70110 |
| * config/i386/i386.c (scalar_chain::make_vector_copies, |
| scalar_chain::convert_reg): Call end_sequence in between |
| get_insns and emit_conversion_insns rather than after both |
| calls. |
| |
| 2016-03-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70064 |
| * config/i386/i386.h (machine_function): Add |
| pc_thunk_call_expanded flag. |
| (ix86_pc_thunk_call_expanded): New define. |
| * config/i386/i386.md (set_got, set_got_labelled): New expanders. |
| (*set_got): Rename insn pattern from set_got. |
| (*set_got_labelled): Rename inst pattern from set_got_labelled. |
| * config/i386/i386.c (ix86_compute_frame_layout): Use |
| ix86_pc_thunk_call_expanded to prevent red-zone. |
| |
| 2016-03-07 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.h (hsa_get_ctor_statements): Declare. |
| (hsa_get_dtor_statements): Likewise. |
| (hsa_get_kernel_dispatch_type): Likewise. |
| * hsa.c (hsa_get_ctor_statements): New function. |
| (hsa_get_dtor_statements): Likewise. |
| (hsa_get_kernel_dispatch_type): Likewise. |
| * hsa-brig.c (hsa_cdtor_statements): Removed. |
| (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and |
| hsa_get_dtor_statements. |
| * hsa-gen.c (hsa_kernel_dispatch_type): Removed. |
| (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type. |
| |
| 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-r8): New. |
| * config/arm/arm-tables.opt (cortex-r8): Regenerate. |
| * config/arm/arm-tune.md: Likewise. |
| * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values. |
| |
| 2016-03-07 Martin Sebor <msebor@redhat.com> |
| |
| PR rtl-optimization/19705 |
| * doc/invoke.texi (Options That Control Optimization): Clarify |
| -fno-branch-count-reg. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP. |
| Move after definition of loops_state_clear. |
| |
| 2016-03-07 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/69052 |
| * rtlanal.c (commutative_operand_precedence): Set higher precedence |
| to CONST_WIDE_INT. |
| |
| 2016-03-07 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/70116 |
| * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling |
| is_tm_ending stmts and ubsan/asan internal functions. |
| (find_duplicate): Use it. Don't test is_tm_ending here. |
| |
| 2016-03-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/70115 |
| * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove. |
| (propagate_constants_for_unrolling): Use replace_uses_by. |
| |
| 2016-03-07 Nathan Sidwell <nathan@codesourcery.com> |
| |
| PR middle-end/69916 |
| * omp-low.c (struct oacc_loop): Add ifns. |
| (new_oacc_loop_raw): Initialize it. |
| (finish_oacc_loop): Clear mask & flags if no ifns. |
| (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls. |
| (oacc_loop_xform_loop): Add ifns arg & adjust. |
| (oacc_loop_process): Adjust oacc_loop_xform_loop call. |
| |
| 2016-03-07 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/70061 |
| * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust. |
| (insert_value_copy_on_edge): Likewise. |
| |
| 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm_neon.h: Show error if using with soft-float ABI. |
| |
| 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/62281 |
| * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define. |
| |
| 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> |
| |
| * config/i386/i386.c (znver1_cost): Fix Multiply cost. |
| |
| 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com> |
| |
| Fix sseimul type attribute. |
| * config/i386/znver1.md |
| (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load, |
| znver1_sseimul_avx256_load) : Fix the type attribute. |
| (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute, |
| pipe usage and latency. |
| |
| 2016-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/70084 |
| * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR |
| of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it |
| to the right type. |
| |
| 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR c/69973 |
| * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT. |
| |
| PR rtl-optimization/69941 |
| * postreload.c (reload_combine_recognize_pattern): Ensure all uses of |
| the reg share its mode. |
| |
| 2016-03-04 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| If the both SSA_NAMEs are anonymous, then consider them unassociated |
| and include the PHI in the statement count. |
| |
| 2016-03-05 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc |
| construct in oacc routine. Check for oacc region in oacc routine. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70062 |
| * config/i386/i386.c (decide_alg): Add RECUR argument. Revert |
| 2016-02-22 changes, instead don't recurse if RECUR is already true. |
| Don't change *dynamic_check if RECUR. Adjust recursive caller |
| to pass true to the new argument. |
| (ix86_expand_set_or_movmem): Adjust decide_alg caller. |
| |
| PR target/70059 |
| * config/i386/sse.md (vec_set_lo_<mode><mask_name>, |
| <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting |
| fixes. |
| (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands. |
| |
| 2016-03-04 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/57676 |
| * lra-assigns.c (lra_assign): Guard test for maximum iterations |
| with flag_checking. |
| |
| 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-patterns.c (search_type_for_mask): Handle |
| comparison of booleans. |
| |
| 2016-03-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align): |
| Fix @xref usage. |
| |
| PR debug/69947 |
| * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle |
| all other ops that have dw_val_class_die_ref operands, |
| and DW_OP_GNU_entry_value. |
| |
| 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/69904 |
| * config/arm/arm.c (arm_cannot_copy_insn_p): |
| Return true for load-exclusive instructions. |
| |
| 2016-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70021 |
| * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN |
| argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark |
| the pattern no matter if it is used just by non-pattern, pattern |
| or mix thereof. |
| (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers. |
| * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If |
| oprnd1 def_stmt is in pattern, don't look through it. |
| |
| 2016-03-03 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/70050 |
| * match.pd (X % -Y): Add INTEGRAL_TYPE_P check. |
| |
| 2016-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/70043 |
| * tree-vect-loop.c (optimize_mask_stores): Move iterator to |
| previous statement if we see a debug statement. |
| |
| 2016-03-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/55936 |
| * tree-vrp.c (compare_name_with_value): Add use_equiv_p |
| parameter and guard unsafe equivalence use. |
| (vrp_evaluate_conditional_warnv_with_ops): Always use |
| safe equivalences but not via the quadratic compare_names |
| helper. |
| |
| 2016-03-03 Michael Collison <michael.collison@linaro.org> |
| |
| PR target/70014 |
| * config/arm/arm.md (*subsi3_carryin_const): Change predicate |
| for operand 1 to s_register_operand. Change predicate for operand |
| 2 to arm_not_immediate_operand. |
| |
| 2016-03-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/tm.texi: Regenerated. |
| |
| 2016-03-02 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/67145 |
| * simplify-rtx.c (simplify_plus_minus): Allow reassoc without |
| simplification when all args are positive non-fixed registers. |
| |
| 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org> |
| |
| * target.def (lra_p): Specify that new ports should use LRA. |
| |
| 2016-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR libgomp/69555 |
| * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also |
| gimplify_type_sizes the type they refer to. |
| (omp_notice_variable): Handle reference vars to VLAs. |
| * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE |
| reference to VLA decls in the second pass instead of first pass. |
| |
| 2016-03-02 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68659 |
| * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle |
| new_expr == NULL_TREE. |
| (get_new_name): Handle ADDR_EXPR. |
| |
| 2016-03-02 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/69052 |
| * loop-invariant.c (canonicalize_address): New function. |
| (inv_can_prop_to_addr_use): Check validity of address expression |
| which is canonicalized by above function. |
| |
| 2016-03-02 Alan Modra <amodra@gmail.com> |
| |
| PR ipa/69990 |
| * ipa-icf.c (sem_variable::merge): Do not merge an alias with |
| larger alignment. |
| |
| 2016-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70028 |
| * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative. |
| (*movhi_internal): Put mask moves from and to memory separately |
| from moves from/to GPRs. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded |
| GENERIC expressions in GIMPLE. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| * config/i386/i386.c (type_natural_mode): Fix typo. |
| |
| 2016-03-02 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67278 |
| * config/i386/i386.c (type_natural_mode): Handle XFmode vectors. |
| |
| 2016-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/67278 |
| * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case. |
| |
| 2016-03-02 Marek Polacek <polacek@redhat.com> |
| |
| PR c/67854 |
| * gimplify.c (gimplify_va_arg_expr): Use expanded location for the |
| "is promoted to" warning. |
| |
| 2016-03-01 DJ Delorie <dj@redhat.com> |
| |
| * config.gcc: Deprecate mep-*. |
| |
| 2016-03-01 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/70025 |
| * lra-constraints.c (regno_val_use_in): New. |
| (match_reload): Use it instead of regno_use_in. |
| |
| 2016-03-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/70007 |
| * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory |
| references present in REG_EQUAL notes attached to non-SET patterns. |
| |
| 2016-03-01 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Appropriately clamp the number of statements to copy when the |
| thread path does not traverse a loop backedge. |
| |
| PR tree-optimization/69196 |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Do count some PHIs in the thread path against the insn count. Decrease |
| final statement count by one as the control statement in the last |
| block will get removed. Remove special cased code for handling PHIs |
| in the last block. |
| |
| 2016-03-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/70027 |
| * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel |
| asm dialect alternatives to explicit GOTPCREL calls. |
| |
| 2016-03-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/70017 |
| * ira.c (do_reload): Issue warning for generic stack checking here... |
| * reload1.c (reload): ...instead of here and streamline it. |
| |
| 2016-03-01 Nick Clifton <nickc@redhat.com> |
| |
| * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69983 |
| * tree-chrec.c (eq_evolutions_p): Handle conversions, compare |
| types and fall back to operand_equal_p. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Revert |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md ("jm8"): New constraint. |
| * config/s390/predicates.md ("const_int_8bitset_operand"): New |
| predicate. |
| * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge |
| into ... |
| ("*setmem_long<setmem_and>"): New pattern. |
| ("*setmem_long_31z", "*setmem_long_and_31z"): Merge |
| into ... |
| ("*setmem_long_31z<setmem_and>"): New pattern. |
| * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"): |
| New substitution rules with the required attributes. |
| |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Revert |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * gensupport.c (process_substs_on_one_elem): Split loop to |
| complete mark_operands_used_in_match_dup on all expressions in the |
| vector first. |
| (adjust_operands_numbers): Inline into process_substs_on_one_elem |
| and remove function. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/70022 |
| * fold-const.c (fold_indirect_ref_1): Fix range checking for |
| vector BIT_FIELD_REF extract. |
| |
| 2016-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69994 |
| * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case. |
| |
| 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR tree-optimization/69956 |
| * tree-vect-stmts.c (supportable_widening_operation): Support |
| multi-step conversion of boolean vectors. |
| (supportable_narrowing_operation): Likewise. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_decompose_address): Don't accept SImode |
| anymore. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/subst.md (DSI_VI): New mode iterator. |
| ("addr_style_op_subst"): Use DSI_VI instead of DSI. |
| * config/s390/vector.md ("vec_set<mode>"): Move expander before |
| the insn definition. |
| ("*vec_set<mode>"): Change predicate and add alternative to |
| support only either register or const_int operands as element |
| selector. |
| ("*vec_set<mode>_plus"): New pattern to support reg + const_int |
| operands. |
| ("vec_extract<mode>"): New expander. |
| ("*vec_extract<mode>"): New insn definition supporting reg and |
| const_int element selectors. |
| ("*vec_extract<mode>_plus"): New insn definition supporting |
| reg+const_int element selectors. |
| ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the |
| following expander+insn definition. |
| ("<vec_shifts_name><mode>3"): New expander. |
| ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*tabort_1"): Change predicate to |
| nonmemory_operand. Add a second alternative to cover |
| register as well as const int operands. |
| ("*tabort_1_plus"): New pattern definition. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*ashrdi3_cc_31") |
| ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and") |
| ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"): |
| Merge insn definitions into ... |
| ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"): |
| New pattern definition. |
| ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", ) |
| ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and") |
| ("*ashr<mode>3_and"): Merge insn definitions into ... |
| ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"): |
| New pattern definition. |
| * config/s390/subst.md ("addr_style_op_cc_subst") |
| ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New |
| substitutions patterns plus attributes. |
| Add ashiftrt to SUBST iterator. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("<shift><mode>3"): Change predicate of |
| op2 to nonmemory_operand. |
| ("*<shift>di3_31", "*<shift>di3_31_and"): |
| Merge into single pattern definition ... |
| ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern. |
| ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single |
| pattern definition ... |
| ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern. |
| * config/s390/subst.md: Add ashift and lshiftrt to SUBST |
| iterator. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/predicates.md (const_int_6bitset_operand): New |
| predicate. |
| * config/s390/s390.md: Include subst.md. |
| ("rotl<mode>3"): New expander. |
| ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into |
| ... |
| ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition. |
| * config/s390/subst.md: New file. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("op_type", "atype", "length" attributes): |
| Remove RRR type. It doesn't really exist. |
| ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode |
| attributes. |
| ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes. |
| ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3") |
| ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3") |
| ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3") |
| ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2") |
| ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override |
| `enabled' attribute. |
| |
| 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * gensupport.c (process_substs_on_one_elem): Split loop to |
| complete mark_operands_used_in_match_dup on all expressions in the |
| vector first. |
| (adjust_operands_numbers): Inline into process_substs_on_one_elem |
| and remove function. |
| |
| 2016-02-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69706 |
| * config/sparc/sparc.c (NWORDS_UP): Rename to... |
| (CEIL_NWORDS): ...this. Use CEIL macro. |
| (compute_fp_layout): Adjust to above renaming. |
| (function_arg_union_value): Likewise. |
| (sparc_arg_partial_bytes): Likewise. |
| (sparc_function_arg_advance): Likewise. |
| |
| 2016-02-29 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/70005 |
| * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case |
| where an object with a boolean range is compared against a value |
| outside [0..1]. |
| |
| PR tree-optimization/69999 |
| * gimple-ssa-split-paths.c (split_paths): When duplicating a block |
| with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule |
| loop cleanups. |
| |
| 2016-02-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69994 |
| * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function. |
| (get_unary_op): Look through nop conversions. |
| (ops_equal_values_p): New function, look for equality diregarding |
| nop conversions. |
| (eliminate_plus_minus_pair): Use ops_equal_values_p |
| (repropagate_negates): Do not use get_unary_op here. |
| |
| 2016-02-29 Martin Liska <mliska@suse.cz> |
| |
| * system.h: Poison ENABLE_CHECKING macro. |
| |
| 2016-02-29 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS |
| is presented in dump flags. |
| * hsa-regalloc.c (linear_scan_regalloc): Likewise. |
| (hsa_regalloc): Likewise. |
| |
| 2016-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69980 |
| * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update |
| permutation of those we need to keep. |
| |
| 2016-02-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69706 |
| * config/sparc/sparc.c (ROUND_ADVANCE): Rename to... |
| (NWORDS_UP): ...this |
| (init_cumulative_args): Minor tweaks. |
| (sparc_promote_function_mode): Likewise. |
| (scan_record_type): Delete. |
| (traverse_record_type): New function template. |
| (classify_data_t): New structure type. |
| (classify_registers): New inline function. |
| (function_arg_slotno): In 64-bit mode, bail out early if FP slots are |
| exhausted. Instantiate traverse_record_type on classify_registers and |
| deal with the case of a structure passed in slot #15 with no FP field |
| in the first word. |
| (assign_data_t): New structure type. |
| (compute_int_layout): New static function. |
| (compute_fp_layout): Likewise. |
| (count_registers): New inline function. |
| (assign_int_registers): New static function. |
| (assign_fp_registers): Likewise. |
| (assign_registers): New inline function. |
| (function_arg_record_value_1): Delete. |
| (function_arg_record_value_2): Likewise. |
| (function_arg_record_value_3): Likewise. |
| (function_arg_record_value): Adjust to above changes. Instantiate |
| traverse_record_type on count_registers to first count the number of |
| registers to be used and then on assign_registers to assign them. |
| (function_arg_union_value): Adjust to above renaming. |
| (sparc_function_arg_1); Minor tweaks. Remove commented out code. |
| (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the |
| case of a structure passed in slot #15 |
| (sparc_function_arg_advance): Likewise. |
| (function_arg_padding): Minor tweak. |
| |
| 2016-02-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69720 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Avoid |
| the adjustment_def path for possibly vectorized defs. |
| (vect_create_epilog_for_reduction): Handle vectorized initial |
| defs properly. |
| |
| 2016-02-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define. |
| |
| 2016-02-27 Jeff Law <law@redhat.com> |
| |
| Revert |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69896 |
| * tree-vect-generic.c (get_compute_type): Avoid single element |
| vector types. |
| |
| 2016-02-26 Evandro Menezes <e.menezes@samsung.com> |
| |
| Rename the AArch64 tuning option and related functions to enable the |
| Newton series for the reciprocal square root to reflect its |
| approximative characteristic. |
| |
| * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename |
| function to "aarch64_emit_approx_rsqrt". |
| * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to |
| AARCH64_EXTRA_TUNE_APPROX_RSQRT. |
| * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name. |
| (xgene1_tunings): Likewise. |
| (use_rsqrt_p): Likewise. |
| (aarch64_emit_swrsqrt): Use new function name. |
| * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise. |
| * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the |
| text explaining this option. |
| * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69969 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't |
| complain about -mallow-movmisalign without -mvsx if |
| TARGET_ALLOW_MOVMISALIGN was not set explicitly. |
| |
| 2016-02-26 Joel Sherrill <joel@rtems.org> |
| |
| * config.gcc: Add x86_64-*-rtems*. |
| * gcc/config/i386/rtems-64.h: New file. |
| |
| 2016-02-26 Joel Sherrill <joel@rtems.org> |
| |
| * config.gcc: Add aarch64-*-rtems*. |
| * gcc/config/aarch64/rtems.h: New file. |
| |
| 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/69946 |
| * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm |
| shift amount using %h. Add comment. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69740 |
| * cfghooks.c (remove_edge): Request loop fixups if we delete |
| an edge that might turn an irreducible loop into a natural |
| loop. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| PR middle-end/69920 |
| * tree-sra.c (sra_modify_assign): Do not remove loads of |
| uninitialized aggregates to SSA_NAMEs. |
| |
| 2016-02-26 Richard Henderson <rth@redhat.com> |
| |
| PR target/69709 |
| * config/s390/s390.md (risbg and risbgn splitters): Allocate new |
| pseudo in case the target rtx matches the source of the left |
| shift. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| PR hsa/69568 |
| * hsa.h (hsa_type_packed_p): Declare. |
| * hsa.c (hsa_type_packed_p): New function. |
| * hsa-gen.c (mem_type_for_type): Use unsigned type for packed |
| loads. |
| (gen_hsa_insns_for_store): Use hsa_type_packed_p. |
| * hsa-brig.c (emit_basic_insn): Likewise. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| pr hsa/69674 |
| * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for |
| pointers. |
| (gen_hsa_addr): Allow integer constants in TMR_INDEX2. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.h (is_a_helper): New overload for hsa_op_immed for |
| hsa_op_with_type operands. |
| (hsa_unsigned_type_for_type): Declare. |
| * hsa.c (hsa_unsigned_type_for_type): New function. |
| * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type. |
| (gen_hsa_insns_for_operation_assignment): Satisfy constrains of |
| the finalizer. Do not emit extra move. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of |
| atomic operations in private segment. |
| |
| 2016-02-26 Martin Jambor <mjambor@suse.cz> |
| |
| * omp-low.c (grid_find_ungridifiable_statement): Store problematic |
| statements to wi->info. Also disallow omp simd constructs. |
| (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason |
| for not gridifying. Dump special string for omp_for. |
| |
| 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69245 |
| * config/aarch64/aarch64.c (aarch64_set_current_function): |
| Save/restore target globals when switching to |
| target_option_default_node. |
| |
| 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69613 |
| * config/aarch64/aarch64.c (aarch64_shift_truncation_mask): |
| Return 0 if !SHIFT_COUNT_TRUNCATED. |
| |
| 2016-02-26 Jakub Jelinek <jakub@redhat.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/69891 |
| * dse.c (scan_insn): If we can't figure out memset arguments |
| or they are non-constant, call clear_rhs_from_active_local_stores. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * doc/extend.texi: Mention clog10, clog10f an clog10l |
| in Builtins section. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with |
| CHECKING_P. |
| (resolve_args_picking_1): Likewise. |
| * dwarf2out.h (struct GTY): Likewise. |
| |
| 2016-02-26 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro |
| with flag_checking. |
| * hsa-regalloc.c (linear_scan_regalloc): Likewise. |
| |
| 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de> |
| Martin Liska <mliska@suse.cz> |
| |
| * doc/install.texi: Mention --enable-valgrind-annotations. |
| |
| 2016-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69551 |
| * tree-ssa-structalias.c (get_constraint_for_ssa_var): When |
| looking through aliases adjust DECL_PT_UID to refer to the |
| ultimate alias target. |
| |
| 2016-02-25 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/69919 |
| * alloc-pool.c (after_memory_report): New variable. |
| * alloc-pool.h (base_pool_allocator ::release): Do not use |
| the infrastructure if after_memory_report. |
| * toplev.c (toplev::main): Mark after memory report. |
| |
| 2016-02-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/48795 |
| * tree-vrp.c (check_array_ref): Use array_at_struct_end_p. |
| |
| 2016-02-25 Ilya Verbin <ilya.verbin@intel.com> |
| |
| PR driver/68463 |
| * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if |
| offloading is enabled and -fopenacc or -fopenmp is specified. |
| (CRTOFFLOADEND): Likewise. |
| (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN. |
| (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND. |
| * lto-wrapper.c (offloadbegin, offloadend): Remove static vars. |
| (offload_objects_file_name): New static var. |
| (tool_cleanup): Remove offload_objects_file_name file. |
| (find_offloadbeginend): Replace with ... |
| (find_crtoffloadtable): ... this. |
| (run_gcc): Remove offload_argc and offload_argv. |
| Get offload_objects_file_name from -foffload-objects=... option. |
| Read names of object files with offload from this file, pass them to |
| compile_images_for_offload_targets. Don't call find_offloadbeginend and |
| don't pass offloadbegin and offloadend to the linker. Don't pass |
| offload non-LTO files to the linker, because now they're not claimed. |
| |
| 2016-02-25 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/69630 |
| * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE |
| on builtin_unreachable. |
| |
| 2016-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69896 |
| * regcprop.c: Include cfgrtl.h. |
| (copyprop_hardreg_forward_1): If noop_p insn uses narrower |
| than remembered mode, either delete it (if noop_move_p), or |
| treat like copy_p but not noop_p instruction. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/69705 |
| * dwarf2out.c (gen_variable_die): Work around buggy LTO |
| - allow NULL decl for Fortran DW_TAG_common_block variables. |
| |
| 2016-02-24 Jason Merrill <jason@redhat.com> |
| |
| * common.opt (flifetime-dse): Add -flifetime-dse=1. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69760 |
| * tree-scalar-evolution.c (interpret_rhs_expr): Re-write |
| conditionally executed ops to well-defined overflow behavior. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69915 |
| * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST |
| elements. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/69886 |
| * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode |
| argument. Use it when checking validity of set instructions. |
| (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p. |
| (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p |
| callsite. |
| * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype. |
| * store-motion.c (find_moveable_store): Update |
| can_assign_to_reg_without_clobbers_p callsite. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/68963 |
| * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix |
| bogus check. |
| (record_nonwrapping_iv): Do not fall back to the low/high bound |
| for non-constant IV bases if the stmt is not always executed. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm-cores.def (cortex-a32): New entry. |
| * config/arm/arm-tables.opt: Regenerate. |
| * config/arm/arm-tune.md: Regenerate. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32. |
| * config/arm/t-aprofile: Handle mcpu=cortex-a32. |
| * doc/invoke.texi (ARM Options): Document cortex-a32 as value |
| for -mcpu and -mtune. |
| |
| 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69875 |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Define. |
| * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value. |
| * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern. |
| (atomic_loaddi_1): Delete. |
| (atomic_loaddi): Rewrite expander using the above changes. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69918 |
| * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from |
| 2 to 3. |
| |
| 2016-02-24 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR middle-end/69909 |
| * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid |
| set_mem_attributes if tem is SSA_NAME which got expanded |
| as a MEM. |
| |
| 2016-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69907 |
| * tree-vect-stmts.c (vectorizable_load): Check for gaps at the |
| end of permutations for BB vectorization. |
| |
| 2016-02-24 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_option_override): Initialize |
| target_option_current_node. |
| * config/arm/arm.c (arm_pragma_target_parse): Replace |
| build_target_option_node call by target_option_current_node. |
| Set target_option_current_node. |
| Fix comments. |
| |
| 2016-02-23 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/69810 |
| * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from |
| define_insn_and_split to define_insn. |
| (zero_extendqi<mode>2_dot2): Same. |
| (extendqi<mode>2_dot): Same. |
| (extendqi<mode>2_dot2): Same. |
| |
| 2016-02-23 Evandro Menezes <e.menezes@samsung.com> |
| |
| * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores |
| and add bypass for AES{D,E} and AESMC pairs. |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E} |
| and AESMC pairs. |
| |
| 2016-02-23 Evandro Menezes <e.menezes@samsung.com> |
| |
| * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton |
| series for reciprocal square root in Exynos M1. |
| |
| 2016-02-23 Martin Sebor <msebor@redhat.com> |
| |
| PR c/69759 |
| * doc/extend.texi (Other Builtins): Document __builtin_alloca and |
| __builtin_alloca_with_align. |
| |
| 2016-02-23 Richard Henderson <rth@redhat.com> |
| |
| * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS. |
| (ix86_register_pragmas): Remove __seg_tls. |
| * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove. |
| * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it. |
| (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove. |
| (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove. |
| (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove. |
| * doc/extend.texi (__seg_tls): Remove item. |
| |
| 2016-02-23 Richard Biener <rguenther@suse.de> |
| |
| * alloc-pool.h (struct allocation_object): Make id member |
| conditional on CHECKING_P again. |
| (get_instance): Adjust. |
| (base_pool_allocator): Likewise. |
| |
| 2016-02-23 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * tree-parloops.c (create_parallel_loop, gen_parallel_loop) |
| (parallelize_loops): In OpenACC kernels mode, set n_threads to |
| zero. |
| (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on |
| flag_openacc. |
| * tree-ssa-loop.c (gate_oacc_kernels): Likewise. |
| |
| 2016-02-23 Richard Biener <rguenther@suse.de> |
| |
| * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t. |
| * bitmap.h (struct bitmap_usage): Likewise. |
| (bitmap_move): Declare. |
| * bitmap.c (register_overhead): Take size_t argument. |
| (bitmap_move): New function. |
| * df-problems.c (df_rd_transfer_function): Use bitmap_move |
| to properly account overhead. |
| * tree.c (free_node): Use tree_size. |
| |
| 2016-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69902 |
| * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING |
| when inverting comparison. |
| |
| PR c/69900 |
| * common.opt (Wunreachable-code): Add Warning flag. |
| |
| 2016-02-23 Mark Wielaard <mjw@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69911 |
| * cgraphunit.c (check_global_declaration): Check main_input_filename |
| and DECL_SOURCE_FILE are not NULL. |
| |
| 2016-02-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69666 |
| * tree-sra.c (sra_modify_assign): Do not attempt to create |
| default_def replacements for unscalarizable regions. |
| |
| 2016-02-20 Mark Wielaard <mjw@redhat.com> |
| |
| PR c/28901 |
| * cgraphunit.c (check_global_declaration): Check level of |
| warn_unused_const_variable and main_input_filename. |
| * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=. |
| (-Wunused-variable): For C implies -Wunused-const-variable=1. |
| (-Wunused-const-variable): Explain levels 1 and 2. |
| |
| 2016-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69888 |
| * config/i386/i386.c (decide_alg): Ensure we don't recurse with |
| identical arguments. Formatting and spelling fixes. |
| |
| PR target/69885 |
| * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must |
| be specified. |
| |
| PR target/69894 |
| PR target/69895 |
| * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def |
| and m68k-devices.def. |
| * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def. |
| * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def. |
| |
| 2016-02-22 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode |
| and HImode registers. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69882 |
| * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly |
| preserve permutations present because of gaps. |
| (vect_supported_load_permutation_p): Always continue checking |
| permutations after vect_attempt_slp_rearrange_stmts. |
| |
| 2016-02-22 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump |
| min_profitable_estimate, rather than min_profitable_iters. |
| |
| 2016-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69885 |
| * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use |
| SImode for last match_operand. |
| |
| 2016-02-22 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_clrsb): In case of zero value, |
| return bitsize - 1 as the return value. |
| |
| 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/69806 |
| PR target/54089 |
| * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p): |
| Handle negative shift counts. |
| * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use |
| force_reg on the shift constant. |
| (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d. |
| (lshrsi3_d): Handle negative shift counts. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| Tom de Vries <tom@codesourcery.com> |
| |
| * graph.c: Include dumpfile.h. |
| (print_graph_cfg): Split into three overloads. |
| * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn. |
| |
| 2016-02-22 Tom de Vries <tom@codesourcery.com> |
| |
| * gdbhooks.py (class DumpFn): Add and instantiate, adding command |
| dump-fn. |
| |
| 2016-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/37448 |
| * ipa-inline-transform.c (inline_call): When not updating |
| overall summaries adjust self size by the growth estimate. |
| * ipa-inline.c (inline_to_all_callers_1): Add to the callers |
| hash-set, do not update overall summaries here. Renamed from ... |
| (inline_to_all_callers): ... this which is now wrapping the |
| above and performing delayed overall summary update. |
| (early_inline_small_functions): Delay updating of the overall |
| summary. |
| |
| 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize |
| variable. |
| |
| 2016-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR driver/69805 |
| * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use |
| :%* in %:gt() argument. |
| (greater_than_spec_func): Adjust for expecting only numbers, |
| if there are more than two numbers, compare the last two. |
| |
| 2016-02-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Clarify interaction of |
| -Wnarrowing with -std. |
| |
| 2016-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69851 |
| * expr.c (store_field): Don't use bit-field path if exp is |
| COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is |
| different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize |
| and the assignment can be performed by bitwise copy. Formatting |
| fix. |
| |
| PR middle-end/69838 |
| * lra.c (lra_process_new_insns): If non-call exceptions are enabled, |
| call copy_reg_eh_region_note_forward on before and/or after sequences |
| and remove note from insn if it no longer can throw. |
| |
| PR target/69820 |
| * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode |
| if TARGET_AVX512BW. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md: Add missing commutative operand markers |
| to the patterns which qualify for one. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md (VI, VI_QHS): Add single element vector |
| types to mode iterators. |
| (vec_double): ... and mode attribute. |
| * config/s390/vx-builtins.md (non_vec_int): Likewise. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"): |
| Change the predicate of op2 from nonimmediate to general and let |
| reload fix it if necessary. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vecintrin.h (vec_sub_u128): Define missing macro. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vcond): Use the compare operand |
| mode. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype. |
| * config/s390/s390.c (s390_expand_vec_movstr): New function. |
| * config/s390/s390.md ("movstr<P:mode>"): Call |
| s390_expand_vec_movstr. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md: Add missing output modifier for operand 1 |
| to print it as address properly. |
| |
| 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*. |
| * config/s390/2964.md: New file. |
| * config/s390/s390.c (s390_get_sched_attrmask): Use the right set |
| of insn grouping attributes depending on the CPU level. |
| (s390_get_unit_mask): New function. |
| (s390_sched_score): Remove the OOO from the scheduling macros. |
| Add loop to calculate a score for the instruction mix. |
| (s390_sched_reorder): Likewise plus improve debug output. |
| (s390_sched_variable_issue): Rename macros as above. Calculate |
| the unit distances after actually scheduling an insn. Improve |
| debug output. |
| (s390_sched_init): Clear last_scheduled_unit_distance array. |
| * config/s390/s390.md: Include 2964.md. |
| |
| 2016-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69671 |
| * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1, |
| *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1, |
| *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1, |
| *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1, |
| *avx512f_<code>v8div16qi2_mask_1): New insns. |
| |
| 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68404 |
| * config/rs6000/predicates.md (fusion_gpr_addis): Revert |
| 2016-02-09 change. |
| |
| * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove |
| earlyclobber from target. Use wF constraint for fused memory |
| address. |
| (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise. |
| |
| 2016-02-18 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/69863 |
| * cfgexpand.c (asan_sanitize_stack_p): New function. |
| (partition_stack_vars): Use the function. |
| (expand_stack_vars): Likewise. |
| (defer_stack_allocation): Likewise. |
| (expand_used_vars): Likewise. |
| |
| 2016-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69553 |
| * fold-const.c (operand_equal_p): Properly compare offsets for |
| IMAGPART_EXPR and ARRAY_REF. |
| |
| 2016-02-18 Nick Clifton <nickc@redhat.com> |
| |
| PR target/62254 |
| PR target/69610 |
| * config/arm/arm.c (arm_option_override_internal): Disable |
| interworking if the target does not support thumb instructions. |
| (arm_reload_in_hi): Handle the case where a register to register |
| move needs reloading because there is no simple pattern to handle |
| it. |
| (arm_reload_out_hi): Likewise. |
| |
| 2016-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69854 |
| * match.pd: Don't use fold_binary or fold_unary for folding |
| constants. |
| |
| 2016-02-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69850 |
| * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning |
| on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND. |
| * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't |
| warn on gimple_no_warning_p statements. |
| |
| 2016-02-17 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (C++ Attributes): Correct description of |
| warn_unused type attribute. |
| |
| 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output |
| correct instruction. |
| |
| 2016-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69609 |
| * bb-reorder.c (struct bbro_basic_block_data): Add priority member. |
| (find_traces_1_round): When ending a trace update cached priority |
| of successors. |
| (bb_to_key): Use cached priority when available. |
| (copy_bb): Initialize cached priority. |
| (reorder_basic_blocks_software_trace_cache): Likewise. |
| |
| 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69161 |
| * config/aarch64/predicates.md (aarch64_comparison_operator_mode): |
| New predicate. |
| (aarch64_comparison_operator): Break overly long line into two. |
| (aarch64_comparison_operation): Likewise. |
| * config/aarch64/aarch64.md (cstorecc4): Use |
| aarch64_comparison_operator_mode instead of |
| aarch64_comparison_operator. |
| (cstore<mode>4): Likewise. |
| (aarch64_cstore<mode>): Likewise. |
| (*cstoresi_insn_uxtw): Likewise. |
| (cstore<mode>_neg): Likewise. |
| (*cstoresi_neg_uxtw): Likewise. |
| |
| 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69161 |
| * config/arm/predicates.md (arm_comparison_operator_mode): |
| New predicate. |
| * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode |
| instead of arm_comparison_operator. |
| (*mov_negscc): Likewise. |
| (*mov_notscc): Likewise. |
| * config/arm/thumb2.md (*thumb2_mov_scc): Likewise. |
| (*thumb2_mov_negscc): Likewise. |
| (*thumb2_mov_negscc_strict_it): Likewise. |
| (*thumb2_mov_notscc): Likewise. |
| (*thumb2_mov_notscc_strict_it): Likewise. |
| |
| 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): |
| Add missing return. |
| |
| 2016-02-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.c (machine_libfunc_index): New enum. |
| (machine_libfuncs): New structure. |
| (visium_libfuncs): New static variable. |
| (TARGET_INIT_LIBFUNCS): Define to... |
| (visium_init_libfuncs): ...this. New function. |
| (expand_block_move_4): Use the appropriate libfunc. |
| (expand_block_move_2): Likewise. |
| (expand_block_move_1): Likewise. |
| (expand_block_set_4): Likewise. |
| (expand_block_set_2): Likewise. |
| (expand_block_set_1): Likewise. |
| (visium_trampoline_init): Likewise. |
| |
| 2016-02-17 Nick Clifton <nickc@redhat.com> |
| |
| * config/msp430/msp430.c (msp430_mcu_data): Sync with data from |
| TI's devices.csv file as of March 2016. |
| |
| 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR Target/48344 |
| * opts-global.c (handle_common_deferred_options): Introduce and |
| initialize two global variables to remember command-line options |
| specifying a stack-limiting register. |
| * opts.h: Add extern declarations of the two new global variables. |
| * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx |
| variable based on the values of the two new global variables. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69835 |
| * common.opt (Wnonnull-compare): New warning. |
| * doc/invoke.texi (-Wnonnull): Remove text about comparison |
| of arguments against NULL. |
| (-Wnonnull-compare): Document. |
| * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o. |
| * tree-pass.h (make_pass_warn_nonnull_compare): Declare. |
| * passes.def (pass_warn_nonnull_compare): Add. |
| * gimple-ssa-nonnull-compare.c: New file. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (cortexa57_tunings): Remove |
| AARCH64_EXTRA_TUNE_RECIP_SQRT. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (use_rsqrt_p): Always use software |
| reciprocal sqrt for -mlow-precision-recip-sqrt. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor, |
| always use lane loads to construct non-constant vectors. |
| |
| 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.md |
| (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register |
| constraints for operand 3. |
| (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69820 |
| * tree-vect-patterns.c (type_conversion_p): Return false if |
| *orig_type is unsigned single precision or boolean. |
| (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern): |
| Formatting fix. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT |
| op1 is valid for GET_MODE_INNER (mode) and force it into a reg. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias |
| sets from caller. |
| (indirect_refs_may_alias_p): Likewise. |
| (refs_may_alias_p_1): Pass alias sets as from ao_ref. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set |
| according to tbaa_p. |
| * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag. |
| (optimize_stmt): For redundant store discovery do not allow tbaa. |
| |
| 2016-02-16 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR tree-optimization/69714 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change. |
| Return NULL if we have irrelevant high bytes on BIG_ENDIAN. |
| |
| 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes. |
| * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP) |
| (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define. |
| * config/arc/arc.c (arc_init): Check FPU options. |
| (get_arc_condition_code): Handle new CC_FPU* modes. |
| (arc_select_cc_mode): Likewise. |
| (arc_conditional_register_usage): Allow 64 bit datum into even-odd |
| register pair only. Allow access for ARCv2 accumulator. |
| (gen_compare_reg): Whenever we have FPU support use FPU compare |
| instructions. |
| (arc_reorg): Don't generate brcc insns when FPU compare |
| instructions are involved. |
| * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition. |
| (TARGET_OPTFPE): Add condition when ARC EM can use optimized |
| floating point emulation. |
| (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define. |
| (REVERSE_CONDITION): Add new CC_FPU* modes. |
| (TARGET_FP_SP_BASE): Define. |
| (TARGET_FP_DP_BASE): Likewise. |
| (TARGET_FP_SP_FUSED): Likewise. |
| (TARGET_FP_DP_FUSED): Likewise. |
| (TARGET_FP_SP_CONV): Likewise. |
| (TARGET_FP_DP_CONV): Likewise. |
| (TARGET_FP_SP_SQRT): Likewise. |
| (TARGET_FP_DP_SQRT): Likewise. |
| (TARGET_FP_DP_AX): Likewise. |
| * config/arc/arc.md (ARCV2_ACC): New constant. |
| (type): New fpu type attribute. |
| (SDF): Conditional iterator. |
| (cstore<mode>, cbranch<mode>): Change expand condition. |
| (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands, |
| handles FPU/FPX cases as well. |
| * config/arc/arc.opt (mfpu): New option. |
| * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx): |
| Renamed. |
| (adddf3, muldf3, subdf3): Removed. |
| * config/arc/predicates.md (proper_comparison_operator): Recognize |
| CC_FPU* modes. |
| * config/arc/fpu.md: New file. |
| * doc/invoke.texi (ARC Options): Document mfpu option. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69291 |
| * ifcvt.c (noce_try_store_flag_constants): Re-instantiate |
| noce_operand_ok check. |
| |
| 2016-02-16 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/67709 |
| * omp-low.c (simd_clone_create): Remove call to |
| symtab->call_cgraph_insertion_hooks. |
| |
| 2016-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69802 |
| * tree-ssa-reassoc.c (update_range_test): If op is |
| SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive |
| op == 1 test of precision 1 integral op, otherwise handle |
| that case as op itself. Fix up formatting. |
| (optimize_range_tests_to_bit_test, optimize_range_tests): Fix |
| up formatting. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69586 |
| * tree-vrp.c (register_edge_assert_for_2): Handle all integral |
| types for conversion sources. |
| |
| 2016-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69801 |
| * fold-const.c (operand_equal_p): For COND_EXPR zero operand |
| mask OEP_ADDRESS_OF. |
| |
| 2016-02-16 Alan Modra <amodra@gmail.com> |
| |
| PR target/68973 |
| * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter. |
| (p8_mtvsrd_df, p8_mtvsrd_sf): New. |
| (p8_mtvsrd_1, p8_mtvsrd_2): Delete. |
| (p8_mtvsrwz): New. |
| (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete. |
| (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF. |
| (p8_fmrgow_<mode>): Likewise. |
| (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above |
| changes. |
| (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint. |
| (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting |
| to use movdi_internal64. Remove op0_di. |
| * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode. |
| |
| 2016-02-15 Evandro Menezes <e.menezes@samsung.com> |
| |
| Add support for the FCCMP insn types |
| |
| * config/aarch64/aarch64.md (fccmp): Change insn type. |
| (fccmpe): Likewise. |
| * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types. |
| * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise. |
| * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise. |
| * config/arm/xgene1.md (xgene1_fcmp): Likewise. |
| * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation. |
| * config/arm/types.md (fccmps): Add new insn type. |
| (fccmpd): Likewise. |
| |
| 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * alias.c (get_alias_set): Fix a typo in comment. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69595 |
| * match.pd: Complete range test simplification to true. |
| |
| 2016-02-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/69648 |
| * lra-constraints.c (update_ebb_live_info): Don't remove sets of |
| pic_offset_table_rtx. |
| |
| PR rtl-optimization/69752 |
| * ira.c (update_equiv_regs): When looking for more than a single SET, |
| also take other side effects into account. |
| |
| 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.c (s390_function_profiler): Add a new sequence |
| for z900+ CPUs in 31-bit mode. |
| |
| 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * common/config/s390/s390-common.c (s390_supports_split_stack): |
| New function. |
| (TARGET_SUPPORTS_SPLIT_STACK): New macro. |
| * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue. |
| * config/s390/s390.c (struct machine_function): New field |
| split_stack_varargs_pointer. |
| (s390_register_info): Mark r12 as clobbered if it'll be used as temp |
| in s390_emit_prologue. |
| (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack |
| vararg pointer. |
| (morestack_ref): New global. |
| (SPLIT_STACK_AVAILABLE): New macro. |
| (s390_expand_split_stack_prologue): New function. |
| (s390_live_on_entry): New function. |
| (s390_va_start): Use split-stack vararg pointer if appropriate. |
| (s390_asm_file_end): Emit the split-stack note sections. |
| (TARGET_EXTRA_LIVE_ON_ENTRY): New macro. |
| * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec. |
| (UNSPECV_SPLIT_STACK_CALL): New unspec. |
| (UNSPECV_SPLIT_STACK_DATA): New unspec. |
| (split_stack_prologue): New expand. |
| (split_stack_space_check): New expand. |
| (split_stack_data): New insn. |
| (split_stack_call): New expand. |
| (split_stack_call_*): New insn. |
| (split_stack_cond_call): New expand. |
| (split_stack_cond_call_*): New insn. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69783 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Add trivially correct cases. |
| |
| 2016-02-15 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/69655 |
| * lto-cgraph.c (input_offload_tables): Add and handle bool parameter |
| do_force_output. |
| * lto-streamer.h (input_offload_tables): Add and handle bool parameter. |
| |
| 2016-02-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69776 |
| * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype. |
| * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to |
| indicate whether we can use TBAA to disambiguate against stores. |
| Use alias-set zero if not. |
| (visit_reference_op_store): Do not use TBAA when looking up |
| redundant stores. |
| * tree-ssa-pre.c (compute_avail): Use TBAA here. |
| (eliminate_dom_walker::before_dom_children): But not when looking |
| up redundant stores. |
| |
| 2016-02-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New. |
| |
| 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com> |
| |
| * config/i386/znver1.md |
| (znver1_pop, znver1_pop_mem, |
| znver1_load_imov_double_store, |
| znver1_load_imov_direct_store, |
| znver1_load_imov_direct_load, |
| znver1_load_imov_double_load): Add new. |
| (znver1_insn, znver1_insn_load): Add icmov type. |
| (znver1_sseavx_fma, |
| znver1_sseavx_fma_load, |
| znver1_avx256_fma, |
| znver1_avx256_fma_load): Fix pipe usage. |
| |
| 2016-02-14 Alan Modra <amodra@gmail.com> |
| |
| PR target/68973 |
| * reloads.c (find_reloads_address_1): For pre/post-inc/dec |
| with an invalid hard reg, reload just the reg not the entire |
| pre/post-inc/dec address expression. |
| |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67260 |
| * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with |
| fixed R1_REG scratch reg. |
| (sibcall_value_pcrel_fdpic): Likewise. |
| |
| 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/67636 |
| PR target/64345 |
| * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern. |
| |
| 2016-02-12 Walter Lee <walt@tilera.com> |
| |
| * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD. |
| * config/tilegx/t-tilegx: Likewise. |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69554 |
| * diagnostic-show-locus.c (struct line_span): New struct. |
| (layout::get_first_line): Delete. |
| (layout::get_last_line): Delete. |
| (layout::get_num_line_spans): New member function. |
| (layout::get_line_span): Likewise. |
| (layout::print_heading_for_line_span_index_p): Likewise. |
| (layout::get_expanded_location): Likewise. |
| (layout::calculate_line_spans): Likewise. |
| (layout::m_first_line): Delete. |
| (layout::m_last_line): Delete. |
| (layout::m_line_spans): New field. |
| (layout::layout): Update comment. Replace m_first_line and |
| m_last_line with m_line_spans, replacing their initialization |
| with a call to calculate_line_spans. |
| (diagnostic_show_locus): When printing source lines and |
| annotations, rather than looping over a single span |
| of lines, instead loop over each line_span within |
| the layout, with an inner loop over the lines within them. |
| Call the context's start_span callback when changing line spans. |
| * diagnostic.c (diagnostic_initialize): Initialize start_span. |
| (diagnostic_build_prefix): Break out the building of the location |
| part of the string into... |
| (diagnostic_get_location_text): ...this new function, rewriting |
| it from nested ternary expressions to a sequence of "if" |
| statements. |
| (default_diagnostic_start_span_fn): New function. |
| * diagnostic.h (diagnostic_start_span_fn): New typedef. |
| (diagnostic_context::start_span): New field. |
| (default_diagnostic_start_span_fn): New prototype. |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/69779 |
| * gcc.c (driver::finalize): Fix cleanup of "specs". |
| |
| 2016-02-12 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/69265 |
| PR driver/69453 |
| * gcc.c (driver::driver): Initialize m_option_suggestions. |
| (driver::~driver): Clean up m_option_suggestions. |
| (suggest_option): Convert to... |
| (driver::suggest_option): ...this, and split out into |
| driver::build_option_suggestions and find_closest_string. |
| (driver::build_option_suggestions): New function, from |
| first half of suggest_option. Special-case |
| OPT_fsanitize_ and OPT_fsanitize_recover_, making use of |
| the sanitizer_opts array. For options of enum types, add the |
| various enum values to the candidate strings. |
| (driver::handle_unrecognized_options): Remove "const". |
| * gcc.h (driver::handle_unrecognized_options): Likewise. |
| (driver::build_option_suggestions): New decl. |
| (driver::suggest_option): New decl. |
| (driver::m_option_suggestions): New field. |
| * opts-common.c (add_misspelling_candidates): New function. |
| * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s |
| and make non-static. |
| * opts.h (sanitizer_opts): New array decl. |
| (add_misspelling_candidates): New function decl. |
| * spellcheck.c (find_closest_string): New function. |
| * spellcheck.h (find_closest_string): New function decl. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69764 |
| PR rtl-optimization/69771 |
| * optabs.c (expand_binop_directly): For shift_optab_p, force |
| convert_modes with VOIDmode if xop1 has VOIDmode. |
| |
| 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69729 |
| * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args |
| to correctly determine instrumentation thunks. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/69241 |
| * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE |
| type by reference, force lhs on the call. |
| |
| PR ipa/68672 |
| * ipa-split.c (split_function): Don't compute/use main_part_return_p. |
| Compute retval and retbnd early in all cases if split_part_return_p |
| and return_bb is not EXIT. Remove all clobber stmts and reset |
| all debug stmts that refer to SSA_NAMEs defined in split part, |
| except if it is retval, in that case replace the old retval with the |
| lhs of the call to the split part. |
| |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| revert: |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR middle-end/66726 |
| * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt |
| whose result is used in PHI. |
| (maybe_optimize_range_tests): Likewise. |
| (final_range_test_p): Likweise. |
| |
| 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| PR middle-end/66726 |
| * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt |
| whose result is used in PHI. |
| (maybe_optimize_range_tests): Likewise. |
| (final_range_test_p): Likweise. |
| |
| 2016-02-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.c: Spelling fixes - behaviour -> behavior and |
| neighbour -> neighbor. |
| * target.def: Likewise. |
| * sel-sched.c: Likewise. |
| * config/mips/mips.c: Likewise. |
| * config/arc/arc.md: Likewise. |
| * config/arm/cortex-a57.md: Likewise. |
| * config/arm/arm.c: Likewise. |
| * config/arm/neon.md: Likewise. |
| * config/arm/arm-c.c: Likewise. |
| * config/vms/vms-c.c: Likewise. |
| * config/s390/s390.c: Likewise. |
| * config/i386/znver1.md: Likewise. |
| * config/i386/i386.c: Likewise. |
| * config/ia64/hpux-unix2003.h: Likewise. |
| * config/msp430/msp430.md: Likewise. |
| * config/rx/rx.c: Likewise. |
| * config/rx/rx.md: Likewise. |
| * config/aarch64/aarch64-simd.md: Likewise. |
| * config/aarch64/aarch64.c: Likewise. |
| * config/nvptx/nvptx.c: Likewise. |
| * config/bfin/bfin.c: Likewise. |
| * config/cris/cris.opt: Likewise. |
| * config/rs6000/rs6000.c: Likewise. |
| * target.h: Likewise. |
| * spellcheck.c: Likewise. |
| * ira-build.c: Likewise. |
| * tree-inline.c: Likewise. |
| * builtins.c: Likewise. |
| * lra-constraints.c: Likewise. |
| * explow.c: Likewise. |
| * hwint.h: Likewise. |
| * targhooks.c: Likewise. |
| * tree-vect-data-refs.c: Likewise. |
| * expr.c: Likewise. |
| * doc/tm.texi: Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/install.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * tree-ssa-tail-merge.c: Likewise. |
| * sched-int.h: Likewise. |
| * match.pd: Likewise. |
| * sched-ebb.c: Likewise. |
| * target.def (omit_struct_return_reg): Likewise. |
| * gimple-ssa-isolate-paths.c: Likewise. |
| (find_implicit_erroneous_behaviour): Renamed to... |
| (find_implicit_erroneous_behavior): ... this. |
| (find_explicit_erroneous_behaviour): Renamed to... |
| (find_explicit_erroneous_behavior): ... this. |
| (gimple_ssa_isolate_erroneous_paths): Adjust caller. |
| |
| 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| PR rtl-optimization/69737 |
| * combine.c (distribute_notes) <REG_DEAD>: If the register is set |
| in I2 as well, just lose it. |
| |
| 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_last_printed_arch_string): |
| New variable. |
| (aarch64_last_printed_tune_string): Likewise. |
| (aarch64_declare_function_name): Only output .arch assembler |
| directive if it will be different from the previously output |
| directive. Same for .tune comment but only if -dA is set. |
| (aarch64_start_file): New function. |
| (TARGET_ASM_FILE_START): Define. |
| |
| 2016-02-11 David Malcolm <dmalcolm@redhat.com> |
| |
| PR plugins/69758 |
| * Makefile.in (PLUGIN_HEADERS): Add params.list. |
| |
| 2016-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/65313 |
| * tree-vect-slp.c (vect_schedule_slp_instance): Avoid |
| -Wmaybe-uninitialized warning. |
| |
| 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/69713 |
| * config/sh/sh.md (casesi_worker_0): Add T_REG use. |
| |
| 2016-02-11 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69291 |
| * ifcvt.c (noce_try_store_flag_constants): Do not allow |
| subexpressions affected by changing the result. |
| |
| 2016-02-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69148 |
| * lra-constraints.c (curr_insn_transform): Find in/out operands |
| for secondary memory moves. Update dups. |
| |
| 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR tree-optimization/69652 |
| * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1 |
| to nested loop, did source re-formatting, skip debug statements, |
| add check on statement with volatile operand, remove dead scalar |
| statements. |
| |
| 2016-02-10 Jakub Jelinek <jakub@redhat.com> |
| Patrick Palka <ppalka@gcc.gnu.org> |
| |
| PR ipa/69241 |
| PR c++/69649 |
| * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn |
| calls if the return type is TREE_ADDRESSABLE. |
| * cgraphunit.c (cgraph_node::expand_thunk): Likewise. |
| * ipa-split.c (split_function): Fix doubled "we" in comment. |
| Use void return type for the split part even if |
| !split_point->split_part_set_retval. |
| |
| 2016-02-10 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/68021 |
| * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if |
| when computing the value of biv cand by itself. |
| |
| 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion. |
| (cortexa57_tunings): Likewise. |
| (cortexa72_tunings): Likewise. |
| (arch_macro_fusion_pair_p): Add support for AES fusion. |
| * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry. |
| * config/arm/aarch-common.c (aarch_crypto_can_dual_issue): |
| Allow virtual registers before reload so early scheduling works. |
| * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use |
| correct latency and pipeline. |
| (cortex_a57_crypto_complex): Likewise. |
| (cortex_a57_crypto_xor): Likewise. |
| (define_bypass): Add AES bypass. |
| |
| 2016-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69726 |
| * passes.def: Add DCE pass before late uninit. |
| * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to |
| really fixup if-conversions job. |
| |
| 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion. |
| (arm_cortex_a57_tune): Likewise. |
| (aarch_macro_fusion_pair_p): Add support for AES fusion. |
| * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC. |
| |
| 2016-02-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * timevar.def (TV_PHASE_DBGINFO): Delete. |
| (TV_PHASE_CHECK_DBGINFO): Likewise. |
| * varpool.c (varpool_node::assemble_decl): Do not change timevar. |
| |
| 2016-02-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Adjust previous fix by ensuring that dr_a1 is left of dr_a2. |
| |
| 2016-02-09 Andrew Pinski <apinski@cavium.com> |
| |
| PR tree-opt/69282 |
| * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if |
| get_vcond_mask_icode returns false. |
| |
| 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68404 |
| * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing |
| an ADDIS that adds a pointer to a large constant that sets the |
| upper16 bits with a load operation. |
| |
| 2016-02-09 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/68532 |
| * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane |
| order. |
| * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big |
| endian. |
| (vzipq_s16): Likewise. |
| (vzipq_s32): Likewise. |
| (vzipq_f32): Likewise. |
| (vzipq_u8): Likewise. |
| (vzipq_u16): Likewise. |
| (vzipq_u32): Likewise. |
| (vzipq_p8): Likewise. |
| (vzipq_p16): Likewise. |
| |
| 2016-02-09 Charles Baylis <charles.baylis@linaro.org> |
| |
| PR target/68532 |
| * config/arm/arm.c (neon_endian_lane_map): New function. |
| (neon_vector_pair_endian_lane_map): New function. |
| (arm_evpc_neon_vuzp): Allow for big endian lane order. |
| * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big |
| endian. |
| (vuzpq_s16): Likewise. |
| (vuzpq_s32): Likewise. |
| (vuzpq_f32): Likewise. |
| (vuzpq_u8): Likewise. |
| (vuzpq_u16): Likewise. |
| (vuzpq_u32): Likewise. |
| (vuzpq_p8): Likewise. |
| (vuzpq_p16): Likewise. |
| |
| 2016-02-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/69634 |
| * regstat.c (regstat_bb_compute_calls_crossed): Disregard |
| debug insns. |
| |
| 2016-02-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to |
| truncate const_int operand 1 to QImode. |
| |
| 2016-02-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument |
| corresponding to an abnormal edge. |
| |
| 2016-02-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69599 |
| * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New |
| function. |
| (find_func_aliases_for_builtin_call, find_func_clobbers) |
| (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto |
| partition. |
| |
| 2016-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69715 |
| * tree-ssa.c (execute_update_addresses_taken): Mark non-decl |
| LHS on calls as non-rewritable. |
| |
| 2016-02-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR lto/69707 |
| * lto-wrapper.c (append_diag_options): New function. |
| (compile_offload_image): Call append_diag_options. |
| |
| 2016-02-08 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR other/69722 |
| * doc/extend.texi (Flag Output Operands): Correct sectioning. |
| Minor copy-edit to fix verb tenses. |
| |
| 2016-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69209 |
| * ipa-split.c (split_function): If split part is not |
| returning retval, retval has gimple type but is not |
| gimple value, force it into a SSA_NAME first. |
| |
| 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com> |
| |
| * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove |
| outdated section. |
| |
| 2016-02-08 Jason Merrill <jason@redhat.com> |
| |
| PR c++/69631 |
| * convert.c (convert_to_integer_1): Check dofold on truncation |
| distribution. |
| (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold) |
| (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold): |
| Rename from *_nofold. |
| * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold) |
| (convert_to_real_nofold, convert_to_complex_nofold): New inlines. |
| |
| 2016-02-08 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR target/60410 |
| * tree.c (build_common_tree_nodes): Remove short_double argument. |
| All callers changed. |
| * tree.h (build_common_tree_nodes): Adjust declaration. |
| * doc/invoke.texi (-fshort-double): Remove documentation. |
| * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES, |
| MULTILIB_EXCEPTIONS): Remove -fshort-double variant. |
| * lto-wrapper.c (merge_and_complain, append_compiler_options) |
| (append_linker_options): Don't handle OPT_fshort_double. |
| |
| PR rtl-optimization/68730 |
| * lra-remat.c (insn_to_cand_activation): New static variable. |
| (lra_remat): Allocate and free it. |
| (create_cand): New arg activation. Initialize a field in |
| insn_to_cand_activation if it is nonnull. |
| (create_cands): Pass the activation insn to create_cand when making |
| a candidate involving an output reload. Reorganize code a little. |
| (do_remat): Keep track of active status of candidates in a separate |
| bitmap. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69719 |
| * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list): |
| Properly use absolute of the difference of the two offsets to |
| compare or adjust the segment length. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR target/68273 |
| * tree-ssanames.c (make_ssa_name_fn): Always use unqualified |
| types for anonymous SSA names. |
| |
| 2016-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/69274 |
| * ira.c (ira_setup_alts): Do not change recog_data.operand order. |
| |
| 2016-02-08 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/65917 |
| * tree-ssa-dom.c (record_temporary_equivalences): Record both |
| equivalences from if (x == y) style conditionals. |
| (loop_depth_of_name): Remove. |
| (record_equality): Remove loop depth check. |
| * tree-ssa-scopedtables.h (const_and_copies): Refine comments. |
| (const_and_copies::record_const_or_copy_raw): New member function. |
| * tree-ssa-scopedtables.c |
| (const_and_copies::record_const_or_copy_raw): New, factored out of |
| (const_and_copies::record_const_or_copy): Call new member function. |
| |
| 2016-02-05 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/68541 |
| * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h. |
| (count_stmts_in_block): New function. |
| (poor_ifcvt_candidate_code): Likewise. |
| (is_feasible_trace): Add some heuristics to determine when path |
| splitting is profitable. |
| (find_block_to_duplicate_for_splitting_paths): Make sure the graph |
| is a diamond with a single exit. |
| |
| 2016-02-05 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/69662 |
| * doc/invoke.texi: Update -Wplacement-new to take an optional |
| argument. |
| |
| 2016-02-06 Richard Henderson <rth@redhat.com> |
| |
| PR c/69643 |
| * tree.c (tree_nop_conversion_p): Do not strip casts into or |
| out of non-standard address spaces. |
| |
| 2016-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69691 |
| * lra-eliminations.c (move_plus_up): Don't add the addend twice. |
| |
| 2016-02-05 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type. |
| * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise. |
| (*ieee128_mfvsrd_64bit): Likewise. |
| (*ieee128_mfvsrd_32bit): Likewise. |
| |
| 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69369 |
| Revert r232560: |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraphunit.c (cgraph_node::reset): Clear thunk info and |
| instrumented_version. |
| |
| 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com> |
| |
| * doc/invoke.texi (Optimize Options): In table of --param options |
| rename second occurrence of tracer-min-branch-ratio to |
| tracer-min-branch-probability, rename |
| tracer-min-branch-ratio-feedback to |
| tracer-min-branch-probability-feedback and clarify description, |
| rename sched-spec-state-edge-prob-cutoff to |
| sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename |
| to selsched-insns-to-rename, rename lto-minpartition to |
| lto-min-partition, delete reorder-blocks-duplicate and |
| reorder-blocks-duplicate-feedback. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_register_info_set_ranges): Remove |
| superfluous loops. |
| |
| 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi: S/390: Correct some typos. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_emit_call): Add missing 64 bit check. |
| |
| 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/69625 |
| * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines. |
| (s390_register_info_gprtofpr): Use new macros above. |
| (s390_register_info_stdarg_fpr): Adjust max_fpr to better match |
| its name. |
| (s390_register_info_stdarg_gpr): Adjust max_gpr to better match |
| its name. Adjust restore and save gpr ranges. |
| (s390_register_info_set_ranges): New function. |
| (s390_register_info): Use new macros above. Call |
| s390_register_info_set_ranges. |
| (s390_optimize_register_info): Likewise. |
| (s390_hard_regno_rename_ok): Use new macros. |
| (s390_hard_regno_scratch_ok): Likewise. |
| (s390_emit_epilogue): Likewise. |
| (s390_can_use_return_insn): Likewise. |
| (s390_optimize_prologue): Likewise. |
| * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants. |
| |
| 2016-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/69677 |
| * config/i386/i386.c (convert_scalars_to_vector): Readd stack |
| alignment fixes. |
| (ix86_option_override_internal): Disable TARGET_STV even for |
| -m{incoming,preferred}-stack-boundary=3. |
| |
| 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
| |
| * config.gcc: Mark deprecated rtems targets as obsolete. |
| |
| 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| * combine.c (distribute_notes) <REG_DEAD>: Place the death note |
| before I2 only if the register is both used and set in I2. |
| |
| 2016-02-04 DJ Delorie <dj@redhat.com> |
| |
| * config/msp430/msp430.c (msp430_start_function): Add function type. |
| |
| 2016-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/69368 |
| * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code. |
| |
| 2016-02-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/69577 |
| Revert: |
| 2015-10-29 Richard Henderson <rth@redhat.com> |
| |
| PR target/68124 |
| PR rtl-opt/67609 |
| * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten |
| sse check to the exact conditions of PR 67609. |
| |
| 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/69667 |
| * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint |
| instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are |
| not allowed into the traditional Altivec registers. |
| (movtd_64bit_nodm): Likewise. |
| (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise. |
| |
| 2016-02-04 David Malcolm <dmalcolm@redhat.com> |
| |
| * config/aarch64/cortex-a57-fma-steering.c |
| (aarch64_register_fma_steering): Remove "static" from arguments |
| to register_pass. |
| |
| 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/69619 |
| * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1 |
| twice when complex. |
| |
| 2016-02-04 Mike Frysinger <vapier@gentoo.org> |
| |
| * doc/invoke.texi: Delete -mno-fma4. |
| |
| 2016-02-04 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR rtl-optimization/69577 |
| * reginfo.c (record_subregs_of_mode): Add a partial_def parameter. |
| (find_subregs_of_mode): Update accordingly. Iterate over partial |
| definitions. |
| |
| 2016-02-04 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/arm/arm-protos.h (neon_reinterpret): Remove. |
| * config/arm/arm.c (neon_reinterpret): Remove. |
| * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi, |
| vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi, |
| vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di, |
| vreinterpretti): Remove. |
| * config/arm/neon.md (neon_vreinterpretv8qi<mode>, |
| neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>, |
| neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>, |
| neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>, |
| neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>, |
| neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove. |
| * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32, |
| vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64, |
| vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32, |
| vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32, |
| vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64, |
| vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8, |
| vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8, |
| vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8, |
| vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64, |
| vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16, |
| vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16, |
| vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16, |
| vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64, |
| vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32, |
| vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32, |
| vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32, |
| vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8, |
| vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8, |
| vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8, |
| vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64, |
| vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16, |
| vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16, |
| vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16, |
| vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64, |
| vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32, |
| vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32, |
| vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32, |
| vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64, |
| vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8, |
| vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8, |
| vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64, |
| vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8, |
| vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16, |
| vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16, |
| vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64, |
| vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16, |
| vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32, |
| vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32, |
| vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64, |
| vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32, |
| vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8, |
| vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64, |
| vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8, |
| vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8, |
| vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32, |
| vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64, |
| vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16, |
| vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16, |
| vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32, |
| vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64, |
| vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16, |
| vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16, |
| vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16, |
| vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64, |
| vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16, |
| vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16, |
| vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16, |
| vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64, |
| vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16, |
| vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16, |
| vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16, |
| vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64, |
| vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16, |
| vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16, |
| vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16, |
| vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128, |
| vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16, |
| vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16, |
| vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16, |
| vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128, |
| vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16, |
| vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16, |
| vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16, |
| vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128, |
| vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16, |
| vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16, |
| vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16, |
| vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128, |
| vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8, |
| vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16, |
| vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16, |
| vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64, |
| vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64, |
| vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8, |
| vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8, |
| vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64, |
| vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64, |
| vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32, |
| vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8, |
| vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64, |
| vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64, |
| vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32, |
| vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8, |
| vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64, |
| vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64, |
| vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32, |
| vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts. |
| |
| 2016-02-04 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/69276 |
| * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls |
| that are gimple_store_p. |
| (maybe_instrument_call): Likewise. |
| |
| 2016-02-04 Bin Cheng <bin.cheng@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_legitimize_address): Force |
| register scaling out of memory reference and comment why. |
| |
| 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65932 |
| PR target/67714 |
| * cse.c (cse_insn): Pass NULL to fold_rtx when initially |
| folding the source of a SET. |
| |
| 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract |
| the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx. |
| |
| 2016-02-04 Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/65932 |
| PR target/67714 |
| * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and |
| HImode. |
| |
| 2016-02-04 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo. |
| * config/arm/arm.c (arm_set_current_function): Likewise. |
| |
| 2016-02-04 Jakub Jelinek <jakub@redhat.com> |
| Ilya Enkovich <enkovich.gnu@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69454 |
| * config/i386/i386.c (convert_scalars_to_vector): Remove |
| stack alignment fixes. |
| (ix86_option_override_internal): Disable TARGET_STV if stack |
| might not be aligned enough. |
| (ix86_minimum_alignment): Assert that TARGET_STV is false. |
| |
| 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com> |
| |
| * gcc/config/i386/x86-tune.def: Disable default prefetching |
| for -march=znver1. |
| |
| 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69461 |
| * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko |
| in validating fused toc addresses. |
| |
| 2016-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/69627 |
| * diagnostic-show-locus.c (layout::get_state_at_point): Don't read |
| range->m_caret fields if range->m_show_caret_p is false. |
| |
| PR target/69644 |
| * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): |
| Force oldval into register if it does not satisfy reg_or_short_operand |
| predicate. Fix up formatting. |
| |
| 2016-02-03 Vladimir Makarov <vmakarov@redhat.com> |
| Alexandre Oliva <aoliva@redhat.com> |
| |
| PR target/69461 |
| * lra-constraints.c (simplify_operand_subreg): Check additionally |
| address validity after potential reloading. |
| (process_address_1): Check insns validity. In case of failure do |
| nothing. |
| |
| 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| PR target/69118 |
| * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): |
| Fix target. |
| |
| 2016-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * wide-int.cc (canonize_uhwi): New function. |
| (wi::divmod_internal): Use it. |
| |
| 2016-02-02 James Norris <jnorris@codesourcery.com |
| |
| * gimplify.c (omp_notice_variable): Add usage check. |
| |
| 2016-02-02 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU |
| like LE, GE, LT, GT when emitting relational operator. |
| |
| 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ira-costs.c (find_costs_and_classes): Add extra argument. |
| * target.def (ira_change_pseudo_allocno_class): Add parameter. |
| * targhooks.h (ira_change_pseudo_allocno_class): Likewise. |
| * targhooks.c (ira_change_pseudo_allocno_class): Likewise. |
| * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class) |
| Add best_class parameter, and return it if not ALL_REGS. |
| * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): |
| Add parameter. |
| * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): |
| Update target hook. |
| |
| 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c |
| (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define. |
| (aarch64_ira_change_pseudo_allocno_class): New function. |
| |
| 2016-02-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/67032 |
| * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. |
| |
| 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com> |
| |
| * config/avr/avr.c (avr_option_override): Set |
| PARAM_ALLOW_STORE_DATA_RACES to 1. |
| |
| 2016-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69595 |
| * match.pd: Add range test simplifications to true/false. |
| |
| 2016-02-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove. |
| * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START |
| instead. |
| |
| 2016-02-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69606 |
| * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive |
| info on the result before moving a stmt. |
| |
| 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR middle-end/68542 |
| * config/i386/i386.c (ix86_expand_branch): Add support for conditional |
| branch with vector comparison. |
| * config/i386/sse.md (VI48_AVX): New mode iterator. |
| (define_expand "cbranch<mode>4): Add support for conditional branch |
| with vector comparison. |
| * tree-vect-loop.c (optimize_mask_stores): New function. |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize |
| has_mask_store field of vect_info. |
| * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for |
| vectorized loops having masked stores after vec_info destroy. |
| * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and |
| correspondent macros. |
| (optimize_mask_stores): Add prototype. |
| |
| 2016-02-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/69548 |
| * config/rs6000/predicates.md (quad_int_reg_operand): Don't |
| allow subregs. |
| |
| 2016-02-02 Alan Modra <amodra@gmail.com> |
| |
| PR target/68662 |
| * config/rs6000/rs6000.c (need_toc_init): New var, set it |
| whenever toc_label_name used. |
| (rs6000_file_start): Don't set up toc section here, |
| (rs6000_output_function_epilogue): do so here instead, |
| (rs6000_xcoff_file_start): and here. |
| * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init. |
| (load_toc_aix_di): Likewise. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69592 |
| * rtlanal.c (nonzero_bits_binary_arith_p): New inline function. |
| (cached_nonzero_bits): Use it instead of ARITHMETIC_P. |
| (num_sign_bit_copies_binary_arith_p): New inline function. |
| (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P. |
| |
| 2016-02-01 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69580 |
| * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param. |
| * tree-ssa-threadbackward.c |
| (fsm_find_control_statement_thread_paths): Do not try to walk |
| through large PHI nodes. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false |
| when count is incremented above limit, don't analyze further |
| insns afterwards. |
| |
| * omp-low.c (oacc_parse_default_dims): Avoid |
| -Wsign-compare warning, make sure value fits into int |
| rather than just unsigned int. |
| |
| 2016-02-01 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/67921 |
| * fold-const.c (split_tree): New parameters. Convert pointer |
| type variable part to proper type before negating. |
| (fold_binary_loc): Pass new arguments to split_tree. |
| |
| 2016-02-01 Nathan Sidwell <nathan@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New. |
| (nvptx_goacc_validate_dims): Extend to handle global defaults. |
| * target.def (OACC_VALIDATE_DIMS): Extend documentation. |
| * doc/tm.texti: Rebuilt. |
| * doc/invoke.texi (fopenacc-dim): Document. |
| * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case. |
| (append_compiler_options): Likewise. |
| * omp-low.c (oacc_default_dims, oacc_min_dims): New. |
| (oacc_parse_default_dims): New. |
| (oacc_validate_dims): Add USED arg. Select non-unity default when |
| possible. |
| (oacc_loop_fixed_partitions): Return mask of used partitions. |
| (oacc_loop_auto_partitions): Emit dump info. |
| (oacc_loop_partition): Return mask of used partitions. |
| (execute_oacc_device_lower): Parse default dimension arg. Adjust |
| loop partitioning and validation calls. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69556 |
| * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69574 |
| * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead |
| of asserting return chrec_dont_know. |
| |
| 2016-02-01 Martin Liska <mliska@suse.cz> |
| |
| * mem-stats-traits.h: Add copyright header. |
| * mem-stats.h: Likewise. |
| |
| 2016-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69579 |
| * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling): |
| Do not propagate through abnormal PHI results. |
| |
| 2016-02-01 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * postreload.c (reload_cse_simplify): Remove dead code. |
| |
| 2016-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/69570 |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only |
| if there is more than one set, not if there is a single set. |
| |
| 2016-02-01 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69535 |
| * combine.c (make_compound_operation): When looking through a |
| subreg, make sure to re-extend to the width of the outer mode. |
| |
| 2016-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69546 |
| * wide-int.cc (wi::divmod_internal): For unsigned division |
| where both operands fit into uhwi, if o1 is 1 and o0 has |
| msb set, if divident_prec is larger than bits per hwi, |
| clear another quotient word and return 2 instead of 1. |
| Similarly for remainder with msb in HWI set, if dividend_prec |
| is larger than bits per hwi. |
| |
| 2016-01-29 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK. |
| Use short lowercase names. |
| (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support |
| MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with |
| acq_rel one. Protect warning agains segfaults if |
| get_memory_order_name returns NULL. |
| (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST |
| with release semantics. Do not warn if get_memory_order already did. |
| (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire |
| semantics. Fix check for relaxed or acquire semantics. Do not warn |
| if get_memory_order already did. |
| |
| 2016-01-29 Sebastian Pop <s.pop@samsung.com> |
| |
| * doc/install.texi: Document that isl-0.16 is supported. |
| |
| 2016-01-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/69299 |
| * config/i386/constraints.md (Bm): Describe as special memory |
| constraint. |
| * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it. |
| * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * genpreds.c (struct constraint_data): Add is_special_memory. |
| (have_special_memory_constraints, special_memory_start): New |
| static vars. |
| (special_memory_end): Ditto. |
| (add_constraint): Add new arg is_special_memory. Add code to |
| process its true value. Update have_special_memory_constraints. |
| (process_define_constraint): Pass the new arg. |
| (process_define_register_constraint): Ditto. |
| (choose_enum_order): Process special memory. |
| (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and |
| function insn_extra_special_memory_constraint. |
| (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * gensupport.c (process_rtx): Process |
| DEFINE_SPECIAL_MEMORY_CONSTRAINT. |
| * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY. |
| * ira-lives.c (single_reg_class): Use |
| insn_extra_special_memory_constraint. |
| * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY. |
| * lra-constraints.c (process_alt_operands): Ditto. |
| (curr_insn_transform): Use insn_extra_special_memory_constraint. |
| * recog.c (asm_operand_ok, preprocess_constraints): Process |
| CT_SPECIAL_MEMORY. |
| * reload.c (find_reloads): Ditto. |
| * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New. |
| * stmt.c (parse_input_constraint): Use |
| insn_extra_special_memory_constraint. |
| |
| 2016-01-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69530 |
| * lra-splill.c (lra_final_code_change): Revert r229087 by |
| removing all sub-registers. |
| |
| 2016-01-29 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR target/65604 |
| * config/mips/mips.c (mips_output_division): Check flag_delayed_branch. |
| |
| 2016-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69551 |
| * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For |
| SSE1, copy target into the temporary reg first before recursing |
| on it. |
| |
| 2016-01-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm |
| with vm. |
| |
| 2016-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| * ginclude/stdarg.h: Test __cplusplus instead of |
| __GXX_EXPERIMENTAL_CXX0X__. |
| |
| 2016-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69547 |
| * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): |
| Do not mark clobbers necessary. |
| (mark_all_reaching_defs_necessary_1): Likewise. |
| |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format |
| declaration name with %qs and print it in both error messages. |
| Also fix indentation. |
| |
| 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR other/69006 |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove |
| trailing blank line from error message. |
| |
| 2016-01-29 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/69462 |
| * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG |
| for C++-11. |
| |
| 2016-01-29 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69537 |
| * match.pd: Allow all integral types when simplifying a |
| widening or sign-changing conversion. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert |
| back to setting codegen_error to fail codegen. |
| |
| 2016-01-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69459 |
| * config/i386/constraints.md (C): Only accept constant zero operand. |
| (BC): New constraint. |
| * config/i386/sse.md (*mov<mode>_internal): Use BC constraint |
| instead of C constraint. |
| * doc/md.texi (Machine Constraints): Update description |
| of C constraint. |
| |
| 2016-01-28 Steve Ellcey <sellcey@imgtec.com> |
| |
| PR target/68400 |
| * config/mips/mips.c (and_operands_ok): Add MIPS16 check. |
| |
| 2016-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/69542 |
| * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider |
| non-debug insns. |
| |
| 2016-01-28 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/rs6000.c (output_cbranch): Don't statically predict |
| branches if using guessed profile. |
| |
| 2016-01-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * graphite-optimize-isl.c (optimize_isl): Fix dump. |
| |
| 2016-01-28 Richard Henderson <rth@redhat.com> |
| |
| PR target/69305 |
| * config/aarch64/aarch64-modes.def (CC_Cmode): New |
| * config/aarch64/aarch64-protos.h: Update. |
| * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New. |
| (aarch64_select_cc_mode): Add check for use of CC_Cmode. |
| (aarch64_get_condition_code_1): Handle CC_Cmode. |
| * config/aarch64/aarch64.md (addti3): Use adddi3_compareC. |
| (*add<mode>3_compareC_cconly_imm): New. |
| (*add<mode>3_compareC_cconly): New. |
| (*add<mode>3_compareC_imm): New. |
| (add<mode>3_compareC): New. |
| (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand |
| to be first. Use aarch64_carry_operation. |
| (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove. |
| (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove. |
| (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove. |
| (subti3): Use subdi3_compare1. |
| (*sub<mode>3_compare0): Rename from sub<mode>3_compare0. |
| (sub<mode>3_compare1): New. |
| (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New. |
| (*sub<mode>3_carryin): Use aarch64_borrow_operation. |
| (*subsi3_carryin_uxtw): Likewise. |
| (*ngc<mode>, *ngcsi_uxtw): Likewise. |
| (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New. |
| * config/aarch64/iterators.md (DWI): New. |
| * config/aarch64/predicates.md (aarch64_carry_operation): New. |
| (aarch64_borrow_operation): New. |
| |
| 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com> |
| |
| * graphite-optimize-isl.c (optimize_isl): Print a different debug |
| message when isl does not return a valid schedule. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple): |
| Remove comments from class declarations: they are already in the code |
| close by the defs. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call |
| codegen_error_p. |
| (ternary_op_to_tree): Same. |
| (unary_op_to_tree): Same. |
| (nary_op_to_tree): Same. |
| (gcc_expression_from_isl_expr_op): Same. |
| (gcc_expression_from_isl_expression): Same. |
| (graphite_create_new_loop): Same. |
| (graphite_create_new_loop_guard): Same. |
| (build_iv_mapping): Same. |
| (graphite_create_new_guard): Same. |
| (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same. |
| (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same. |
| |
| 2016-01-28 Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert |
| instead of setting codegen_error to fail codegen. |
| |
| 2016-01-28 Jason Merrill <jason@redhat.com> |
| |
| * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_if_then_else_costs): |
| Remove CONST_INT_P check in CCMP cost calculation. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_vector_cost): |
| Set vec_permute_cost. |
| (cortexa57_vector_cost): Likewise. |
| (exynosm1_vector_cost): Likewise. |
| (xgene1_vector_cost): Likewise. |
| (aarch64_builtin_vectorization_cost): Use vec_permute_cost. |
| * config/aarch64/aarch64-protos.h (cpu_vector_cost): |
| Add vec_permute_cost entry. |
| |
| 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.md (ccmp<mode>): Disassemble |
| immediate as %1. |
| (add<mode>3_compare0): Likewise. |
| (addsi3_compare0_uxtw): Likewise. |
| (add<mode>3nr_compare0): Likewise. |
| (compare_neg<mode>): Likewise. |
| (<optab><mode>3): Likewise. |
| |
| 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * tree-vect-stmts.c (vectorizable_comparison): Add |
| NULL check for vectype. |
| |
| 2016-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69466 |
| * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges): |
| Account for PHIs we couldn't duplicate. |
| |
| 2016-01-28 Martin Liska <mliska@suse.cz> |
| |
| PR pch/68758 |
| * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro |
| instead of ENABLE_VALGRIND_CHECKING. |
| |
| 2016-01-27 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69447 |
| * lra-remat.c (subreg_regs): New. |
| (dump_candidates_and_remat_bb_data): Dump it. |
| (operand_to_remat): Reject if operand in subreg_regs. |
| (set_bb_regs): Collect subreg_regs. |
| (lra_remat): Init and free subreg_regs. Compute |
| calculate_local_reg_remat_bb_data before create_cands. |
| |
| 2016-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68986 |
| * config/i386/i386.c (ix86_update_stack_boundary): Don't |
| change stack_alignment_needed for __tls_get_addr call. |
| |
| 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (print_operand): Rollback 's' removal. |
| |
| 2016-01-27 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/68398 |
| PR tree-optimization/69196 |
| * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter. |
| (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise. |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Only count PHIs in the last block in the path. The others will |
| const/copy propagate away. Add heuristic to allow more irreducible |
| subloops to be created when it is likely profitable to do so. |
| |
| * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): |
| Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL |
| check from within the loop. Use gsi_next_nondebug rather than gsi_next. |
| |
| 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and |
| END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB. |
| * asan.c (DEF_BUILTIN_STUB): Temporarily define. |
| * tree-streamer-in.c: Include asan.h. |
| (streamer_get_builtin_tree): For builtins in sanitizer |
| range call initialize_sanitizer_builtins and retry. |
| |
| 2016-01-27 Ian Lance Taylor <iant@google.com> |
| |
| * common.opt (fkeep-gc-roots-live): New undocumented option. |
| * tree-ssa-loop-ivopts.c (add_candidate_1): If |
| -fkeep-gc-roots-live, skip pointers. |
| (add_iv_candidate_for_biv): Handle add_candidate_1 returning |
| NULL. |
| |
| 2016-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69512 |
| * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern. |
| (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND. |
| |
| 2016-01-27 Thomas Klausner <wiz@NetBSD.org> |
| |
| PR target/68380 |
| * configure.ac: NetBSD provides SSP in its C library. |
| * configure: Updated. |
| |
| 2016-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69166 |
| * tree-vect-loop.c (vect_is_simple_reduction): Always check |
| reduction code for commutativity / associativity. |
| |
| 2016-01-27 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/69355 |
| * tree-sra.c (analyze_access_subtree): Correct hole detection when |
| total_scalarization fails. |
| |
| 2016-01-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/driver-rs6000.c (detect_processor_aix): Add |
| power9. |
| |
| 2016-01-27 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/69245 |
| * config/arm/arm-c.c (arm_pragma_target_parse): Add comments. |
| Move arm_reset_previous_fndecl and set_target_option_current_node in |
| the conditional part. Call save_restore_target_globals. |
| * config/arm/arm.c (arm_set_current_function): |
| Refactor to better support #pragma target and attribute mix. |
| Call save_restore_target_globals. |
| * config/arm/arm-protos.h (save_restore_target_globals): New function. |
| |
| 2016-01-27 Martin Liska <mliska@suse.cz> |
| |
| * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR |
| reference for an HSA kernel and its host function. |
| |
| 2016-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69399 |
| * wide-int.h (wi::lrshift): For larger precisions, only |
| use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT. |
| |
| 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/predicates.md (proper_comparison_operator): Reject |
| constant-constant comparison. |
| |
| 2016-01-26 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69110 |
| * tree-data-ref.c (initialize_data_dependence_relation): Handle |
| DR_NUM_DIMENSIONS == 0. |
| |
| 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle |
| isl_ast_op_cond and isl_ast_op_select. |
| (gcc_expression_from_isl_expr_op): Same. |
| |
| 2016-01-26 Jason Merrill <jason@redhat.com> |
| |
| PR c++/68782 |
| * tree.c (recompute_constructor_flags): Split out from |
| build_constructor. |
| (verify_constructor_flags): New. |
| * tree.h: Declare them. |
| |
| 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org> |
| |
| PR rtl-optimization/69217 |
| * var-tracking.c (tracked_record_parameter_p): Don't segfault if there |
| are no TYPE_FIELDS set for the record type. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68662 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize |
| toc_label_name unconditionally. |
| (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for |
| SYMBOL_REF string. Use toc_label_name instead of constructing |
| LCTOC1. |
| (rs6000_elf_declare_function_name): Use toc_label_name instead of |
| constructing LCTOC1. |
| |
| 2016-01-26 Martin Sebor <msebor@redhat.com> |
| |
| PR other/69477 |
| * doc/extend.texi (Common Type Attributes): Move text that talks about |
| attribute packed from attribute aligned to the section discussing |
| the former attribute for clarity. |
| |
| 2016-01-26 Richard Henderson <rth@redhat.com> |
| |
| PR middle-end/60908 |
| * trans-mem.c (tm_region_init): Mark entry block as visited. |
| |
| 2016-01-26 David Malcolm <dmalcolm@redhat.com> |
| |
| PR other/69006 |
| * diagnostic-show-locus.c (layout::print_source_line): Replace |
| call to pp_newline with call to layout::print_newline. |
| (layout::print_annotation_line): Likewise. |
| (layout::move_to_column): Likewise. |
| (layout::print_any_fixits): After printing any fixits, print a |
| trailing newline, if necessary. |
| (layout::print_newline): New method, resetting any colorization |
| before a newline. |
| (diagnostic_show_locus): Move the pp_newline to before the |
| early bailout. Remove dummy block enclosing the layout instance. |
| * diagnostic.c (default_diagnostic_finalizer): Replace invocation |
| of pp_newline_and_flush with pp_flush. |
| (diagnostic_append_note): Delete use of pp_newline. |
| (diagnostic_append_note_at_rich_loc): Delete. |
| * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. |
| * pretty-print.h (output_buffer_append_r): Reset buff->line_length |
| when newline characters are added to the buffer. |
| |
| 2016-01-26 Michael Matz <matz@suse.de> |
| |
| * configure.ac (ac_cv_std_swap_in_utility): New test. |
| * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md (cstoresi4): Force operand into register. |
| (arcset<code>): Fix predicate. |
| (arcsetltu): Likewise. |
| (arcsetgeu): Likewise. |
| (arcsethi): Likewise. |
| (arcsetls): Likewise. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69483 |
| * gimple-fold.c (canonicalize_constructor_val): Return NULL |
| if base has error_mark_node type. |
| |
| 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/68620 |
| * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors. |
| * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq): |
| New helper macros. |
| (vget_lane_f16): Handle big-endian. |
| (vgetq_lane_f16): Likewise. |
| (vset_lane_f16): Likewise. |
| (vsetq_lane_f16): Likewise. |
| * config/arm/iterators.md (VQXMOV): Add V8HF. |
| (VDQ): Add V4HF and V8HF. |
| (V_reg): Handle V4HF and V8HF. |
| (Is_float_mode): Likewise. |
| * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf, |
| neon_vdup_nv8hf): New patterns. |
| (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>): |
| Use VD_LANE iterator. |
| (neon_vld1_dup<mode>): Use VQ2 iterator. |
| |
| 2016-01-26 Nathan Sidwell <nathan@acm.org> |
| |
| * omp-low.h (oacc_fn_attrib_kernels_p): Declare. |
| (set_oacc_fn_attrib): Add IS_KERNEL arg. |
| * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg. |
| (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New. |
| (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib. |
| (oacc_validate_dims): Add LEVEL arg, don't return level. |
| (new_oacc_loop_routine): Use oacc_fn_attrib_level, not |
| oacc_validate_dims. |
| (execute_oacc_device_lower): Adjust, add more dump output. |
| * tree-ssa-loop.c (gate_oacc_kernels): Use |
| oacc_fn_attrib_kernels_p. |
| * tree-parloops.c (create_parallel_loop): Adjust |
| set_oacc_fn_attrib call. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * lto-wrapper.c (merge_and_complain): Handle -fcilkplus. |
| (append_compiler_options): Handle -fcilkplus. |
| (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}. |
| |
| 2016-01-26 Nick Clifton <nickc@redhat.com> |
| |
| PR target/66655 |
| * config/i386/winnt.c (i386_pe_binds_local_p): If a function has |
| been marked as DECL_ONE_ONLY but we do not the means to make it |
| so, then do not allow it to bind locally. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR lto/69254 |
| * opts.h (parse_sanitizer_options): New prototype. |
| * opts.c (sanitizer_opts): New array. |
| (parse_sanitizer_options): New function. |
| (common_handle_option): Use parse_sanitizer_options. |
| |
| 2016-01-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68986 |
| * config/i386/i386.c (ix86_compute_frame_layout): Move stack |
| alignment adjustment to ... |
| (ix86_update_stack_boundary): Here. Don't over-align stack for |
| __tls_get_addr. |
| (ix86_finalize_stack_realign_flags): Use stack_alignment_needed |
| if __tls_get_addr is called. |
| |
| 2016-01-26 Christian Bruel <christian.bruel@st.com> |
| |
| * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove. |
| |
| 2016-01-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode. |
| |
| 2016-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69467 |
| * match.pd: Guard X * CST CMP 0 pattern with single_use. |
| |
| 2016-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69452 |
| * tree-ssa-loop-im.c (move_computations_dom_walker): Remove. |
| (move_computations_dom_walker::before_dom_children): Rename |
| to ... |
| (move_computations_worker): This. |
| (move_computations): Perform an RPO rather than a DOM walk. |
| |
| 2016-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69442 |
| * combine.c (combine_instructions): For REG_EQUAL note with |
| SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST |
| to the underlying register. |
| * doc/rtl.texi (REG_EQUAL): Document the behavior of |
| REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT. |
| |
| 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com> |
| |
| PR target/67896 |
| * config/aarch64/aarch64-builtins.c |
| (aarch64_init_simd_builtin_types): Do not set structural |
| equality to __Poly{8,16,64,128}_t types. |
| |
| 2016-01-26 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR tree-optimization/69400 |
| * wide-int.cc (wi_pack): Take the precision as argument and |
| perform canonicalization here rather than in the callers. |
| Use the main loop to handle all full-width HWIs. Add a |
| zero HWI if in_len isn't a full result. |
| (wi::divmod_internal): Update accordingly. |
| (wi::mul_internal): Likewise. Simplify. |
| |
| 2016-01-25 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-poly.c (apply_poly_transforms): Simplify. |
| (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK. |
| (print_isl_map): Same. |
| (print_isl_union_map): Same. |
| (print_isl_schedule): New. |
| (debug_isl_schedule): New. |
| * graphite-dependences.c (scop_get_reads): Do not call |
| isl_union_map_add_map that is undocumented isl functionality. |
| (scop_get_must_writes): Same. |
| (scop_get_may_writes): Same. |
| (scop_get_original_schedule): Remove. |
| (scop_get_dependences): Do not call isl_union_map_compute_flow that |
| is deprecated in isl 0.15. Instead, use isl_union_access_* interface. |
| (compute_deps): Remove. |
| * graphite-isl-ast-to-gimple.c (print_schedule_ast): New. |
| (debug_schedule_ast): New. |
| (translate_isl_ast_to_gimple::scop_to_isl_ast): Call |
| set_separate_option. |
| (graphite_regenerate_ast_isl): Add dump. |
| (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code |
| from scop->transformed_schedule. |
| (graphite_regenerate_ast_isl): Add more dump. |
| * graphite-optimize-isl.c (optimize_isl): Set |
| scop->transformed_schedule. Check whether schedules are equal. |
| (apply_poly_transforms): Move here. |
| * graphite-poly.c (apply_poly_transforms): ... from here. |
| (free_poly_bb): Static. |
| (free_scop): Static. |
| (pbb_number_of_iterations_at_time): Remove. |
| (print_isl_ast): New. |
| (debug_isl_ast): New. |
| (debug_scop_pbb): New. |
| * graphite-scop-detection.c (print_edge): Move. |
| (print_sese): Move. |
| * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. |
| (build_scop_scattering): Remove. |
| (create_pw_aff_from_tree): Assert instead of bailing out. |
| (add_condition_to_pbb): Remove unused code, do not fail. |
| (add_conditions_to_domain): Same. |
| (add_conditions_to_constraints): Remove. |
| (build_scop_context): New. |
| (add_iter_domain_dimension): New. |
| (build_iteration_domains): Initialize pbb->iterators. |
| Call add_conditions_to_domain. |
| (nested_in): New. |
| (loop_at): New. |
| (index_outermost_in_loop): New. |
| (index_pbb_in_loop): New. |
| (outermost_pbb_in): New. |
| (add_in_sequence): New. |
| (add_outer_projection): New. |
| (outer_projection_mupa): New. |
| (add_loop_schedule): New. |
| (build_schedule_pbb): New. |
| (build_schedule_loop): New. |
| (embed_in_surrounding_loops): New. |
| (build_schedule_loop_nest): New. |
| (build_original_schedule): New. |
| (build_poly_scop): Call build_original_schedule. |
| * graphite.h: Declare print_isl_schedule and debug_isl_schedule. |
| (free_poly_dr): Remove. |
| (struct poly_bb): Add iterators. Remove schedule, transformed, saved. |
| (free_poly_bb): Remove. |
| (debug_loop_vec): Remove. |
| (print_isl_ast): Declare. |
| (debug_isl_ast): Declare. |
| (scop_do_interchange): Remove. |
| (scop_do_strip_mine): Remove. |
| (scop_do_block): Remove. |
| (flatten_all_loops): Remove. |
| (optimize_isl): Remove. |
| (pbb_number_of_iterations_at_time): Remove. |
| (debug_scop_pbb): Declare. |
| (print_schedule_ast): Declare. |
| (debug_schedule_ast): Declare. |
| (struct scop): Remove schedule. Add original_schedule, |
| transformed_schedule. |
| (free_gimple_poly_bb): Remove. |
| (print_generated_program): Remove. |
| (debug_generated_program): Remove. |
| (unify_scattering_dimensions): Remove. |
| * sese.c (print_edge): ... here. |
| (print_sese): ... here. |
| (debug_edge): ... here. |
| (debug_sese): ... here. |
| * sese.h (print_edge): Declare. |
| (print_sese): Declare. |
| (dump_edge): Declare. |
| (dump_sese): Declare. |
| |
| 2016-01-25 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * Makefile.in: Set ISLVER in site.exp. |
| |
| 2016-01-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set |
| DECL_VALUE_EXPR of new_var even for the non-array case. Look |
| through DECL_VALUE_EXPR for expansion. |
| |
| 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/mips/mips.c (mips_compute_frame_info): Skip re-computing |
| the frame info after reload completed. |
| |
| 2016-01-25 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69196 |
| PR tree-optimization/68398 |
| * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from |
| tree-ssa-threadupdate.c. |
| (determine_bb_domination_status): Prototype |
| * tree-ssa-threadupdate.c (enum bb_dom_status): Remove |
| (determine_bb_domination_status): No longer static. |
| (valid_jump_thread_path): Remove code to detect characteristics |
| of the jump thread path not associated with correctness. |
| * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths): |
| Correct test for thread path length. Count PHIs for real operands as |
| statements that need to be copied. Do not count ASSERT_EXPRs. |
| Look at all the blocks in the thread path. Compute and selectively |
| filter thread paths based on threading through the latch, threading |
| a multiway branch or crossing a multiway branch. |
| |
| 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add |
| decl with __attribute__ ((unused)) annotation. |
| |
| 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69421 |
| * tree-vect-stmts.c (vectorizable_condition): Check vectype |
| of operands is compatible with a statement vectype. |
| |
| 2016-01-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/extend.texi (scalar_storage_order type attribute): Fix typo and |
| improve wording for mixed storage order support. |
| |
| 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com> |
| |
| * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic. |
| (vcvt_u64_f64): Likewise. |
| (vcvta_s64_f64): Likewise. |
| (vcvta_u64_f64): Likewise. |
| (vcvtm_s64_f64): Likewise. |
| (vcvtm_u64_f64): Likewise. |
| (vcvtn_s64_f64): Likewise. |
| (vcvtn_u64_f64): Likewise. |
| (vcvtp_s64_f64): Likewise. |
| (vcvtp_u64_f64): Likewise. |
| |
| 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define. |
| (arc_init): Check validity mll64 option. |
| (arc_save_restore): Use double load/store instruction. |
| (arc_expand_movmem): Likewise. |
| (arc_split_move): Don't split if we have double load/store |
| instructions. Returns a boolean. |
| (arc_process_double_reg_moves): Change function to return boolean |
| instead of a sequence of instructions. |
| (arc_dwarf_register_span): New function. |
| * config/arc/arc-protos.h (arc_split_move): Change prototype. |
| * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__. |
| * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions. |
| (*movdf_insn): Likewise. |
| * config/arc/arc.opt (mll64): New option. |
| * config/arc/predicates.md (even_register_operand): New predicate. |
| * doc/invoke.texi (ARC Options): Add mll64 documentation. |
| |
| 2016-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR lto/69393 |
| * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS. |
| * tree-streamer-out.c (pack_ts_base_value_fields): Stream |
| DECL_NAMELESS. |
| * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise. |
| |
| 2016-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69376 |
| * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p |
| flag. |
| (VN_INFO_ANTI_RANGE_P): New inline. |
| (VN_INFO_RANGE_TYPE): Likewise. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy |
| SSA_NAME_ANTI_RANGE_P. |
| (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Properly query VN_INFO_RANGE_TYPE. |
| |
| 2016-01-25 Nick Clifton <nickc@redhat.com> |
| |
| PR target/66655 |
| * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition. |
| |
| 2016-01-23 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69426 |
| * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of |
| removed clobber. |
| |
| 2016-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-ssanames.c (release_free_names_and_compact_live_names): Replace |
| "the the" with "the" in the comments. |
| * ipa-devirt.c (build_type_inheritance_graph, |
| update_type_inheritance_graph): Likewise. |
| * tree.c (build_function_type_list_1): Likewise. |
| * cfgloopmanip.c (scale_loop_profile): Likewise. |
| * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise. |
| * gimple-ssa-split-paths.c |
| (find_block_to_duplicate_for_splitting_paths): Likewise. |
| * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise. |
| * expr.c (convert_move): Likewise. |
| * var-tracking.c (vt_stack_adjustments): Likewise. |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. |
| * tree-vrp.c (test_for_singularity): Likewise. |
| |
| * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR |
| directly instead of building a temporary tree. |
| |
| PR bootstrap/69434 |
| * genrecog.c: Define INCLUDE_ALGORITHM before including system.h, |
| remove <algorithm> include. |
| |
| 2016-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69432 |
| * config/i386/i386.c: Include dojump.h. |
| (expand_small_movmem_or_setmem, |
| expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling |
| fixes. |
| (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early |
| if dynamic_check != -1. |
| |
| 2016-01-21 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-dom.c (back_propagate_equivalences): Factored out of |
| record_temporary_equivalences. Rewritten to avoid unnecessary calls |
| into dominated_by_p. |
| (cprop_into_successor_phis): Avoid unnecessary tests. |
| |
| 2016-01-22 Richard Henderson <rth@redhat.com> |
| |
| PR target/69416 |
| * config/aarch64/aarch64.md (UNSPEC_NZCV): New. |
| (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it. |
| |
| 2016-01-22 Michael Matz <matz@suse.de> |
| |
| * system.h (string, algorithm): Include only conditionally. |
| (new): Include always under C++. |
| * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM. |
| * final.c (toplevel): Ditto. |
| * ipa-chkp.c (toplevel): Define INCLUDE_STRING. |
| * genconditions.c (write_header): Make gencondmd.c define |
| INCLUDE_STRING. |
| * mem-stats.h (mem_usage::print_dash_line): Don't use std::string. |
| |
| * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING. |
| * common/config/aarch64/aarch64-common.c (toplevel): Ditto. |
| |
| 2016-01-22 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/68674 |
| * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed. |
| |
| 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69403 |
| * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to |
| define_insn_and_split. Ensure operands[1] and operands[0] do not |
| get assigned the same register. |
| |
| 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr. |
| |
| 2016-01-22 Christian Bruel <christian.bruel@st.com> |
| |
| * config/arm/arm-c.c (arm_pragma_target_parse): |
| Remove warn_builtin_macro_redefined overwrite. |
| |
| 2016-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * ipa-inline.c (can_inline_edge_p): Back out overzealous check on |
| flag_non_call_exceptions compatibility. |
| |
| 2016-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/66668 |
| * dwarf2out.c (add_child_die_after): New function. |
| (dwarf_qual_info_t): New type. |
| (dwarf_qual_info): New variable. |
| (qualified_die_p): New function. |
| (modified_type_die): For -fdebug-types-section, ensure |
| canonical order of qualifiers. Put qualified DIEs adjacent |
| to the corresponding non-qualified type DIE and search there |
| for existing qualified DIEs. |
| |
| 2016-01-22 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/extend.texi (scalar_storage_order type attribute): Document |
| restriction on type punning and aliasing, and remove future tense. |
| |
| 2016-01-21 Roman Zhuykov <zhroma@ispras.ru> |
| |
| PR target/69252 |
| * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new |
| first stage. |
| |
| 2016-01-21 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid |
| useless call to record_temporary_equivalences. |
| * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just |
| allocate 10 slots in the bb_path vector and let it grow as needed. |
| (fsm_find_control_statement_thread_paths): Similarly for the next_path |
| vector. |
| |
| 2016-01-21 David Edelsohn <dje.gcc@gmail.com> |
| |
| * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive): |
| Detangle. |
| * configure: Regenerate. |
| |
| 2016-01-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9. |
| * config/rs6000/driver-rs6000.c (struct asm_names): Likewise. |
| |
| 2016-01-21 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR middle-end/66178 |
| * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't |
| drop EXPAND_INITIALIZER. |
| * rtl.h (contains_symbolic_reference_p): Declare. |
| * rtlanal.c (contains_symbolic_reference_p): New function. |
| * simplify-rtx.c (simplify_binary_operation_1): Don't turn |
| a subtraction into a NOT if symbolic constants are involved. |
| |
| 2016-01-21 Anton Blanchard <anton@samba.org> |
| Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/63354 |
| * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New |
| #define. |
| * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New |
| function. |
| |
| 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com> |
| |
| * config/microblaze/microblaze.c |
| (get_branch_target): New. |
| (insert_wic_for_ilb_runout): New. |
| (insert_wic): New. |
| (microblaze_machine_dependent_reorg): New. |
| (TARGET_MACHINE_DEPENDENT_REORG): Define macro. |
| * config/microblaze/microblaze.md |
| (UNSPEC_IPREFETCH): Define. |
| (iprefetch): New pattern |
| * config/microblaze/microblaze.opt |
| (mxl-prefetch): New flag. |
| |
| 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com> |
| |
| * config/microblaze/microblaze.h |
| (FIXED_REGISTERS): Update in macro. |
| (CALL_USED_REGISTERS): Update in macro. |
| |
| 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR rtl-optimization/68920 |
| * ifcvt.c (cond_move_process_if_block): Limit number of conditional |
| moves. |
| |
| 2016-01-21 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/68990 |
| * lra-coalesce.c (lra_coalesce): Invalidate value for the result |
| pseudo instead of inheritance ones. |
| |
| 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| Nick Clifton <nickc@redhat.com> |
| |
| PR target/69129 |
| PR target/69012 |
| * config/mips/mips.c (mips_compute_frame_info): Initialise |
| args_size and hard_frame_pointer_offset fields of the frame |
| structure before calling mips_global_pointer. |
| |
| 2016-01-21 David Edelsohn <dje.gcc@gmail.com> |
| |
| * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section |
| label reference. |
| * configure: Regenerate. |
| |
| 2016-01-21 Richard Biener <rguenther@suse.de> |
| |
| * graphite-optimize-isl.c (get_schedule_map): Fix typo. |
| |
| 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.c (s390_asm_declare_function_size): Add code |
| to actually emit the .size directive. |
| |
| 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69187 |
| PR target/65624 |
| * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase |
| args array size by one to avoid buffer overflow. |
| |
| 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net> |
| |
| * config/s390/s390.md (pool_section_start): Use switch_to_section |
| to select proper read-only data section instead of hardcoding |
| .rodata. |
| (pool_section_end): Use switch_to_section to match the above. |
| |
| 2016-01-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69378 |
| * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function. |
| (set_ssa_val_to): Use it for dominance checks taking into |
| account not executable edges. |
| |
| 2016-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/69355 |
| * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode) |
| for bitsize instead of GET_MODE_PRECISION (mode). |
| |
| 2016-01-20 Martin Sebor <msebor@redhat.com> |
| |
| PR c/52291 |
| * extend.texi (__sync Builtins): Clarify the semantics of |
| __sync_fetch_and_OP built-ins on pointers. |
| (__atomic Builtins): Same. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New. |
| (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool. |
| (is_valid_rename): Same. |
| (translate_isl_ast_to_gimple::get_rename): Same. |
| (translate_isl_ast_to_gimple::rename_all_uses): Same. |
| (translate_isl_ast_to_gimple::rename_uses): Same. |
| (get_new_name): Check for close_phi nodes. |
| (copy_loop_phi_args): Use phi_node_kind. |
| (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same. |
| (translate_isl_ast_to_gimple::copy_cond_phi_args): Same. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| Revert commit r229783. |
| * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id): |
| Remove use of parameter_rename_map. |
| (copy_def): Remove. |
| (copy_internal_parameters): Remove. |
| (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters. |
| * sese.c (new_sese_info): Do not initialize parameter_rename_map. |
| (free_sese_info): Do not free parameter_rename_map. |
| (set_rename): Do not use parameter_rename_map. |
| (rename_uses): Update call to set_rename. |
| (graphite_copy_stmts_from_block): Do not use parameter_rename_map. |
| * sese.h (parameter_rename_map_t): Remove. |
| (struct sese_info_t): Remove field parameter_rename_map. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c: Fix comment. |
| * graphite-scop-detection.c (defined_in_loop_p): New. |
| (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA |
| names defined in loop. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): |
| Discard unstructured if-then-else regions. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove. |
| (cleanup_loop_iter_dom): Remove. |
| (build_loop_iteration_domains): Remove. |
| (build_scop_context): Remove. |
| (build_scop_iteration_domain): Remove. |
| (add_loop_constraints): New. |
| (build_iteration_domains): New. |
| (build_poly_scop): Call build_iteration_domains. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c |
| (scop_detection::harmful_loop_in_region): Free dom and loops. |
| (scop_detection::loop_body_is_valid_scop): Free bbs. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (record_loop_in_sese): New. |
| (gather_bbs::before_dom_children): Call record_loop_in_sese. |
| (build_scops): Remove call to build_sese_loop_nests. |
| * sese.c (sese_record_loop): Remove. |
| (build_sese_loop_nests): Remove. |
| (new_sese_info): Remove region->loops. |
| (free_sese_info): Same. |
| * sese.h (sese_contains_loop): Same. |
| (build_sese_loop_nests): Remove. |
| (sese_contains_loop): Remove. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-scop-detection.c (loop_is_valid_scop): Renamed |
| loop_is_valid_in_scop. |
| (scop_detection::harmful_stmt_in_region): Renamed |
| harmful_loop_in_region. |
| Call loop_is_valid_in_scop. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle |
| isl_ast_node_mark. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION. |
| * graphite.h (struct poly_bb): Remove field is_reduction. |
| (PBB_IS_REDUCTION): Remove. |
| |
| 2016-01-21 Aditya Kumar <aditya.k7@samsung.com> |
| Sebastian Pop <s.pop@samsung.com> |
| |
| * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce. |
| (add_pdr_constraints): Same. |
| (scop_get_reads): Same. |
| (scop_get_must_writes): Same. |
| (scop_get_may_writes): Same. |
| (scop_get_original_schedule): Same. |
| (extend_schedule): Same. |
| (apply_schedule_on_deps): Same. |
| (carries_deps): Same. |
| (compute_deps): Same. |
| (scop_get_dependences): Same. |
| * graphite-isl-ast-to-gimple.c |
| (translate_isl_ast_to_gimple::generate_isl_schedule): Same. |
| * graphite-optimize-isl.c (get_schedule_for_band): Same. |
| (get_schedule_for_band_list): Same. |
| (get_schedule_map): Same. |
| (apply_schedule_map_to_scop): Same. |
| * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same. |
| (build_loop_iteration_domains): Same. |
| (add_condition_to_pbb): Same. |
| (add_param_constraints): Same. |
| (pdr_add_memory_accesses): Same. |
| (pdr_add_data_dimensions): Same. |
| |
| 2016-01-20 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking |
| requirements. |
| |
| 2016-01-20 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * common.opt (feliminate-dwarf2-dups): Replace references to |
| "DWARF 2" with just "DWARF". |
| * config/ia64/ia64.opt (mdwarf2-asm): Likewise. |
| * doc/extend.texi: Likewise. |
| * doc/cpp.texi: Likewise. |
| * doc/invoke.texi: Likewise. |
| (Option Summary): Add -gdwarf to list of Debugging Options. |
| (Debugging Options): Document -gdwarf. |
| * doc/contrib.texi: Spell "DWARF" like that. |
| |
| 2016-01-21 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized |
| warning. Fix up formatting. |
| |
| PR middle-end/67653 |
| * gimplify.c (gimplify_asm_expr): Warn if it is too late to |
| attempt to mark memory input operand addressable and |
| call prepare_gimple_addressable in that case. Don't adjust |
| input_location for diagnostics, use error_at instead. |
| |
| 2016-01-20 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h: New file. |
| * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin. |
| (cpu_is): Likewise. |
| (cpu_supports): Likewise. |
| * config/rs6000/rs6000.c: include "ppc-auxv.h". |
| (cpu_is_info): New variable. |
| (cpu_supports_info): Likewise. |
| (tcb_verification_symbol): Likewise. |
| (cpu_builtin_p): Likewise. |
| (cpu_expand_builtin): New function. |
| (rs6000_expand_ternop_builtin): Add support for CPU builtin functions. |
| (rs6000_init_builtins): Likewise. |
| (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol. |
| * config/rs6000/rs6000.h (TLS_REGNUM): New define. |
| * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test. |
| * configure: Regenerate. |
| * config.in: Likewise. |
| * doc/extend.texi (PowerPC Built-in Functions): Document |
| __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports. |
| |
| 2016-01-20 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/68609 |
| * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt |
| domain check. |
| * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt |
| for V4SFmode. |
| |
| 2016-01-20 Richard Henderson <rth@redhat.com> |
| |
| PR bootstrap/69343 |
| PR bootstrap/69339 |
| PR tree-opt/68964 |
| Revert: |
| * tree.c (tm_define_builtin): New. |
| (find_tm_vector_type): New. |
| (build_tm_vector_builtins): New. |
| (build_common_builtin_nodes): Call it. |
| |
| 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry. |
| (arm_fp_ok): Likewise. |
| (arm_fp): Likewise. |
| (arm_crypto): Likewise. |
| |
| 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69328 |
| * tree-vect-stmts.c (vect_is_simple_cond): Check compared |
| vectors have same number of elements. |
| (vectorizable_condition): Fix masked version recognition. |
| |
| 2016-01-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69345 |
| * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function. |
| (VN_INFO_PTR_INFO): Likewise. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to |
| info when it is equal between non-dominating SSA names. |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Make sure to look at original SSA infos. |
| |
| 2016-01-20 Jeff Law <law@redhat.com> |
| |
| PR target/25114 |
| * config/m68k/predicates.md (pow2_m1_operand): New predicate |
| extracted from ... |
| (reg_or_pow2_m1_operand): Call pow2_m1_operand. |
| (pc_or_label_operand): New predicate. |
| * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU |
| tests for small integers that are 2^n - 1. |
| |
| 2016-01-20 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (Options Summary): Add '.' after @xref. |
| |
| 2016-01-19 Jeff Law <law@redhat.com> |
| |
| PR middle-end/69347 |
| * tree-ssa-threadbackwards.c |
| (fsm_find_control_statement_thread_paths): Do not try to lookup |
| FSM paths for SSA_NAMEs appearing in abnormal PHIs. |
| |
| 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * doc/lto.texi: Remove text that says only Gold has linker plugin |
| support. |
| |
| 2016-01-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * dwarf2out.c (need_endianity_attribute_p): New inline predicate. |
| (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to |
| the DIE accordingly. |
| (modified_type_die): Add REVERSE parameter and pass it recursively, |
| as well as to base_type_die. Adjust presence check accordingly. |
| (base_type_for_mode): Adjust call to modified_type_die. |
| (add_type_attribute): Add REVERSE parameter and pass it to |
| modified_type_die. |
| (generic_parameter_die): Adjust call to add_type_attribute. |
| (add_scalar_info): Likewise. |
| (add_subscript_info): Likewise. |
| (gen_array_type_die): Likewise. |
| (gen_descr_array_type_die): Likewise. |
| (gen_entry_point_die): Likewise. |
| (gen_enumeration_type_die): Likewise. |
| (gen_formal_parameter_die): Likewise. |
| (gen_subprogram_die): Likewise. |
| (gen_variable_die ): Likewise. |
| (gen_const_die): Likewise. |
| (gen_field_die): Likewise. |
| (gen_pointer_type_die): Likewise. |
| (gen_reference_type_die): Likewise. |
| (gen_ptr_to_mbr_type_die): Likewise. |
| (gen_inheritance_die): Likewise. |
| (gen_subroutine_type_die): Likewise. |
| (gen_typedef_die): Likewise. |
| (force_type_die): Adjust call to modified_type_die. |
| |
| 2016-01-19 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/standards.texi: Copy-editing for grammar, markup, and sentence |
| flow throughout the file. Fix broken link to Objective-C 2.0 |
| documentation. |
| * doc/invoke.texi: More copy-editing; fix numerous typos and spelling |
| errors. |
| |
| 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66223 |
| * ipa-devirt.c (is_cxa_pure_virtual_p): New function. |
| (maybe_record_node): Record cxa_pure_virtual as the only possible |
| target if there are not ohter candidates. |
| (possible_polymorphic_call_target_p): Accept cxa_pure_virtual. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants. |
| (get_memory_order): Likewise. |
| |
| 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com> |
| |
| * tree-vect-stmts.c (vectorizable_store): Check |
| rhs vectype. |
| |
| 2016-01-19 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/68446 |
| * gcc.c (driver::decode_argv): Add call to |
| init_opts_obstack before init_options_struct. |
| * opts.c (init_opts_obstack): Remove idempotency. |
| (init_options_struct): Replace call to init_opts_obstack |
| with a gcc_assert to verify that it has already been called. |
| * toplev.c (toplev::main): Add call to init_opts_obstack before |
| calls to init_options_struct. |
| (toplev::finalize): Move cleanup of opts_obstack next to |
| cleanup of save_decoded_options, clearing the latter, and |
| save_decoded_options_count. |
| |
| 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/69135 |
| * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds" |
| attribute to unconditional. Remove %? from output template. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| Jiong Wang <jiong.wang@arm.com> |
| |
| * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences |
| generated from different expand order. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * /config/aarch64/aarch64.c (aarch64_if_then_else_costs): |
| Add support for CCMP costing. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * ccmp.c (ccmp_candidate_p): Remove integer-only restriction. |
| * config/aarch64/aarch64.md (fccmp<mode>): New pattern. |
| (fccmpe<mode>): Likewise. |
| (fcmp): Rename to fcmp and globalize pattern. |
| (fcmpe): Likewise. |
| * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support. |
| (aarch64_gen_ccmp_next): Add FP support. |
| |
| 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * target.def (gen_ccmp_first): Update documentation. |
| (gen_ccmp_next): Likewise. |
| * doc/tm.texi (gen_ccmp_first): Update documentation. |
| (gen_ccmp_next): Likewise. |
| * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of |
| expand_ccmp_expr_1. Improve comments. |
| * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp. |
| (ccmp_ior<mode>): Remove pattern. |
| (cmp<mode>): Remove expand. |
| (cmp): Globalize pattern. |
| (cstorecc4): Use cc_register. |
| (mov<mode>cc): Remove ccmp_cc_register check. |
| * config/aarch64/aarch64.c (aarch64_get_condition_code_1): |
| Simplify after removal of CC_DNE/* modes. |
| (aarch64_ccmp_mode_to_code): Remove. |
| (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases. |
| In 'k' case use integer as condition. |
| (aarch64_nzcv_codes): Remove inverted cases. |
| (aarch64_code_to_ccmode): Remove. |
| (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct |
| comparison with CC register to be used in folowing CCMP/branch/CSEL. |
| (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP |
| pattern. Return the comparison with CC register. Invert conditions |
| when bitcode is OR. |
| * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes. |
| * config/aarch64/predicates.md (ccmp_cc_register): Remove. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * cgraphunit.c (cgraph_node::reset): Clear thunk info and |
| instrumented_version. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69336 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Handle all |
| handled components with get_ref_base_and_extent. |
| (equal_mem_array_ref_p): Adjust. |
| |
| 2016-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/65779 |
| * shrink-wrap.c: Include valtrack.h. |
| (move_insn_for_shrink_wrap): Add DEBUG argument. If |
| MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs |
| in between insn and where it will be moved to. Call |
| dead_debug_insert_temp. |
| (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init |
| first and dead_debug_local_finish at the end. |
| For uses and defs bitmap, handle all regs in between REGNO and |
| END_REGNO, not just the first one. |
| |
| 2016-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69352 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1. |
| (equal_mem_array_ref_p): Constrain size and max size properly. |
| Compare the reverse flag. |
| |
| 2016-01-19 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * ira.c (ira): Update regstat data if we deleted insns. |
| |
| 2016-01-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/68955 |
| PR rtl-optimization/64557 |
| * dse.c (record_store, check_mem_read_rtx): Don't call get_addr |
| here. Fix up formatting. |
| * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69133 |
| * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple |
| assume that the node has body. |
| * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p |
| check. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-streamer-out.c (lto_output): Do not stream instrumentation |
| thunks. |
| |
| 2016-01-19 Jan Hubicka <hubicka@ucw.cz> |
| |
| * symtab.c (symtab_node::asm_name): Do not call printable name directly. |
| (symtab_node::name): Report name as unnamed if DECL_NAME is not set. |
| |
| 2016-01-19 Martin Jambor <mjambor@suse.cz> |
| Martin Liska <mliska@suse.cz> |
| Michael Matz <matz@suse.de> |
| |
| * Makefile.in (OBJS): Add new source files. |
| (GTFILES): Add hsa.c. |
| * common.opt (disable_hsa): New variable. |
| (-Whsa): New warning. |
| * config.in (ENABLE_HSA): New. |
| * configure.ac: Treat hsa differently from other accelerators. |
| (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to |
| $enable_offloading. |
| (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa. |
| * doc/install.texi (Configuration): Document --with-hsa-runtime, |
| --with-hsa-runtime-include, --with-hsa-runtime-lib and |
| --with-hsa-kmt-lib. |
| * doc/invoke.texi (-Whsa): Document. |
| (hsa-gen-debug-stores): Likewise. |
| * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt |
| to invoke offload compiler for hsa acclerator. |
| * opts.c (common_handle_option): Determine whether HSA offloading |
| should be performed. |
| * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter. |
| * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed. |
| (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New. |
| * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY. |
| * gimple-pretty-print.c (dump_gimple_omp_for): Also handle |
| GF_OMP_FOR_KIND_GRID_LOOP. |
| (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY. |
| (pp_gimple_stmt_1): Likewise. |
| * gimple-walk.c (walk_gimple_stmt): Likewise. |
| * gimple.c (gimple_build_omp_grid_body): New function. |
| (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY. |
| * gimple.def (GIMPLE_OMP_GRID_BODY): New. |
| * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY, |
| GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and |
| GF_OMP_TEAMS_GRID_PHONY. |
| (gimple_statement_omp_single_layout): Updated comments. |
| (gimple_build_omp_grid_body): New function. |
| (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY. |
| (gimple_omp_for_grid_phony): New function. |
| (gimple_omp_for_set_grid_phony): Likewise. |
| (gimple_omp_parallel_grid_phony): Likewise. |
| (gimple_omp_parallel_set_grid_phony): Likewise. |
| (gimple_omp_teams_grid_phony): Likewise. |
| (gimple_omp_teams_set_grid_phony): Likewise. |
| (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY. |
| * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New. |
| (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise. |
| (BUILT_IN_GOMP_TARGET): Updated type. |
| * omp-low.c: Include symbol-summary.h, hsa.h and params.h. |
| (adjust_for_condition): New function. |
| (get_omp_for_step_from_incr): Likewise. |
| (extract_omp_for_data): Moved parts to adjust_for_condition and |
| get_omp_for_step_from_incr. |
| (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY. |
| (fixup_child_record_type): Bail out if receiver_decl is NULL. |
| (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_. |
| (scan_omp_parallel): Do not create child functions for phony |
| constructs. |
| (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY. |
| (scan_omp_1_op): Checking assert we are not remapping to |
| ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY. |
| (parallel_needs_hsa_kernel_p): New function. |
| (expand_parallel_call): Register apprpriate parallel child |
| functions as HSA kernels. |
| (grid_launch_attributes_trees): New type. |
| (grid_attr_trees): New variable. |
| (grid_create_kernel_launch_attr_types): New function. |
| (grid_insert_store_range_dim): Likewise. |
| (grid_get_kernel_launch_attributes): Likewise. |
| (get_target_argument_identifier_1): Likewise. |
| (get_target_argument_identifier): Likewise. |
| (get_target_argument_value): Likewise. |
| (push_target_argument_according_to_value): Likewise. |
| (get_target_arguments): Likewise. |
| (expand_omp_target): Call get_target_arguments instead of looking |
| up for teams and thread limit. |
| (grid_expand_omp_for_loop): New function. |
| (grid_arg_decl_map): New type. |
| (grid_remap_kernel_arg_accesses): New function. |
| (grid_expand_target_kernel_body): New function. |
| (expand_omp): Call it. |
| (lower_omp_for): Do not emit phony constructs. |
| (lower_omp_taskreg): Do not emit phony constructs but create for them |
| a temporary variable receiver_decl. |
| (lower_omp_taskreg): Do not emit phony constructs. |
| (lower_omp_teams): Likewise. |
| (lower_omp_grid_body): New function. |
| (lower_omp_1): Call it. |
| (grid_reg_assignment_to_local_var_p): New function. |
| (grid_seq_only_contains_local_assignments): Likewise. |
| (grid_find_single_omp_among_assignments_1): Likewise. |
| (grid_find_single_omp_among_assignments): Likewise. |
| (grid_find_ungridifiable_statement): Likewise. |
| (grid_target_follows_gridifiable_pattern): Likewise. |
| (grid_remap_prebody_decls): Likewise. |
| (grid_copy_leading_local_assignments): Likewise. |
| (grid_process_kernel_body_copy): Likewise. |
| (grid_attempt_target_gridification): Likewise. |
| (grid_gridify_all_targets_stmt): Likewise. |
| (grid_gridify_all_targets): Likewise. |
| (execute_lower_omp): Call grid_gridify_all_targets. |
| (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY. |
| * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_. |
| (tree_omp_clause): Added union field dimension. |
| * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_. |
| * tree.c (omp_clause_num_ops): Added number of arguments of |
| OMP_CLAUSE__GRIDDIM_. |
| (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_. |
| (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_. |
| * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New. |
| (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise. |
| (OMP_CLAUSE_GRIDDIM_SIZE): Likewise. |
| (OMP_CLAUSE_GRIDDIM_GROUP): Likewise. |
| * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail. |
| * tree-pass.h (make_pass_gen_hsail): Declare. |
| (make_pass_ipa_hsa): Likewise. |
| * ipa-hsa.c: New file. |
| * lto-section-in.c (lto_section_name): Add hsa section name. |
| * lto-streamer.h (lto_section_type): Add hsa section. |
| * timevar.def (TV_IPA_HSA): New. |
| * hsa-brig-format.h: New file. |
| * hsa-brig.c: New file. |
| * hsa-dump.c: Likewise. |
| * hsa-gen.c: Likewise. |
| * hsa.c: Likewise. |
| * hsa.h: Likewise. |
| * toplev.c (compile_file): Call hsa_output_brig. |
| * hsa-regalloc.c: New file. |
| |
| 2016-01-18 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69320 |
| * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean |
| ranged object, do nothing if the RHS constant is not [0..1]. |
| (optimize_stmt): Comparing a boolean ranged object against a |
| constant outside [0..1] results in a compile-time constant. |
| |
| * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary |
| test. |
| |
| 2016-01-18 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Add new section to menu. |
| (Option Summary): Update to reflect new section and moved options. |
| (C++ Dialect Options): Move -fstats to new section. |
| (Debugging Options): Move all dump, statistics, and other GCC |
| developer options to new section. Rewrite section introduction |
| and re-order remaining options to put the more basic ones first. |
| (Optimization Options): Move -fira-verbose and -flto-report* to |
| new section. |
| (Developer Options): New section incorporating moved options. |
| * doc/cppopts.texi (-dM): Update cross-reference. |
| |
| 2016-01-18 Richard Henderson <rth@redhat.com> |
| |
| PR target/69176 |
| * config/aarch64/aarch64.md (add<GPI>3): Move long immediate |
| operands to pseudo only if CSE is expected. Split long immediate |
| operands only after reload, and for the stack pointer. |
| (*add<GPI>3_pluslong): Remove. |
| (*addsi3_aarch64, *adddi3_aarch64): Merge into... |
| (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative. |
| (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative. |
| (*add<GPI>3 peepholes): New. |
| (*add<GPI>3 splitters): New. |
| * config/aarch64/constraints.md (Upl): New. |
| * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69297 |
| * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar |
| stmt at most once. |
| (vect_bb_vectorization_profitable_p): Clear visited flag again. |
| |
| 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR middle-end/68542 |
| * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case |
| of mixind vector and scalar types. |
| (fold_relational_const): Add handling of vector |
| comparison with boolean result. |
| * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow |
| comparison of vector operands with boolean result for EQ/NE only. |
| (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison. |
| (verify_gimple_cond): Likewise. |
| * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on |
| valid type of VAL. |
| |
| 2016-01-18 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require |
| !TARGET_OCTEON. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/69308 |
| * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * passes.def: Add pass_parallelize_loops to pass_oacc_kernels. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (set_oacc_fn_attrib): Make extern. |
| * omp-low.h (set_oacc_fn_attrib): Declare. |
| * tree-parloops.c (struct reduction_info): Add reduc_addr field. |
| (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL. |
| (create_parallel_loop, gen_parallel_loop, try_create_reduction_list): |
| Add and handle function parameter oacc_kernels_p. |
| (find_reduc_addr, get_omp_data_i_param): New function. |
| (ref_conflicts_with_region, oacc_entry_exit_ok_1) |
| (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function. |
| (parallelize_loops): Add and handle function parameter oacc_kernels_p. |
| Calculate dominance info. Skip loops that are not in a kernels region |
| in oacc_kernels_p mode. Skip inner loops of parallelized loops. |
| (pass_parallelize_loops::execute): Call parallelize_loops with |
| oacc_kernels_p argument. |
| (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param): |
| New member function. |
| (pass_parallelize_loops::bool oacc_kernels_p): New member var. |
| * passes.def: Add argument to pass_parallelize_loops instantation. |
| |
| 2016-01-18 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-parloops.c (pass_parallelize_loops::execute): Allow |
| pass_parallelize_loops to be run outside the loop pipeline. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * tree-scalar-evolution.c (follow_copies_to_constant): New. |
| (analyze_initial_condition, analyze_scalar_evolution_1): Call previous. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/63679 |
| * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF |
| using get_ref_base_and_extent. |
| (equal_mem_array_ref_p): New. |
| (hashable_expr_equal_p): Add call to previous. |
| |
| 2016-01-18 Alan Lawrence <alan.lawrence@arm.com> |
| |
| PR target/63679 |
| * tree-sra.c (disqualified_constants, constant_decl_p): New. |
| (sra_initialize): Allocate disqualified_constants. |
| (sra_deinitialize): Free disqualified_constants. |
| (disqualify_candidate): Update disqualified_constants when appropriate. |
| (create_access): Scan for constant-pool entries as we go along. |
| (scalarizable_type_p): Add check against type_contains_placeholder_p. |
| (maybe_add_sra_candidate): Allow constant-pool entries. |
| (load_assign_lhs_subreplacements): Bind debug for constant pool vars. |
| (initialize_constant_pool_replacements): New. |
| (sra_modify_assign): Avoid mangling assignments created by previous, |
| and don't generate writes into constant pool. |
| (sra_modify_function_body): Call initialize_constant_pool_replacements. |
| |
| 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (scalar_to_vector_candidate_p): Support |
| andnot instruction. |
| (scalar_chain::convert_op): Likewise. |
| * config/i386/i386.md (*andndi3_doubleword): New. |
| |
| 2016-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69170 |
| * tree-vect-slp.c (vect_build_slp_tree): Verify we are not |
| building a vector from scalar results of a pattern stmt. |
| |
| 2016-01-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * haifa-sched.c (autopref_multipass_init): Work around |
| -Wmaybe-uninitialized warning. |
| |
| 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.c (thumb1_reorg): Check that the comparison is |
| against the constant 0. |
| |
| 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/68799 |
| * gimple-ssa-strength-reduction.c (create_phi_basis): Directly |
| look up phi candidates in the statement-candidate map. |
| (phi_add_costs): Likewise. |
| (record_phi_increments): Likewise. |
| (phi_incr_cost): Likewise. |
| (ncd_with_phi): Likewise. |
| (all_phi_incrs_profitable): Likewise. |
| |
| 2016-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-low.c (mark_loops_in_oacc_kernels_region): Work around |
| -Wmaybe-uninitialized warning. |
| |
| 2016-01-16 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Add new section to menu. |
| (Option Summary): Update to reflect new section and moved options. |
| (C++ Dialect Options): Move -fvtable-verify and related options. |
| (Debugging Options): Move Sanitizer, Pointer Bounds Checker, |
| and profiling-related options. |
| (Optimization Options): Move profile generation options and |
| -fstack-protector and related options. |
| (Instrumentation Options): New section incorporating moved options. |
| (Code Generation Options): Move -finstrument-functions and |
| related options, -fstack-check, -fstack-limit*, and -fbounds-check. |
| |
| 2016-01-16 Tom de Vries <tom@codesourcery.com> |
| |
| * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops. |
| |
| 2016-01-16 Tom de Vries <tom@codesourcery.com> |
| |
| * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt. |
| |
| 2016-01-16 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * hash-table.h (hash_table::empty): Turn into an inline wrapper |
| that checks whether the table is already empty. Rename the |
| original implementation to... |
| (hash_table::empty_slot): ...this new private function. |
| |
| 2016-01-15 David Malcolm <dmalcolm@redhat.com> |
| |
| PR diagnostic/68899 |
| * diagnostic-show-locus.c (layout::print_source_line): Move x |
| offset of line until after call to |
| get_line_width_without_trailing_whitespace. |
| |
| 2016-01-15 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from |
| tree-ssa-dom.c. Improve test for [0..1] ranve from VRP. |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove. |
| * tree-ssanames.h (ssa_name_has_boolean_range): Prototype. |
| * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use |
| ssa_name_has_boolean_range and constant_boolean_node. |
| |
| 2016-01-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/69030 |
| * lra-spills.c (remove_pseudos): Check nrefs and make the function |
| returning bool. |
| (spill_pseudos): Delete debug insn for dead pseudo. |
| (lra_spill): Initiate spill_hard_reg and slots memory separately. |
| |
| 2016-01-15 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers): |
| New. |
| (TYPES_UNOPUS): Likewise. |
| * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct |
| builtin type, from UNOP to UNOPUS. |
| (lbtruncuv4sf): Likewise. |
| (lbtruncuv2df): Likewise. |
| (lrounduv2sf): Likewise. |
| (lrounduv4sf): Likewise. |
| (lrounduv2df): Likewise. |
| (lroundusf): Likewise. |
| (lroundusf): Likewise. |
| (lceiluv2sf): Likewise. |
| (lceiluv4sf): Likewise. |
| (lceiluv2df): Likewise. |
| (lceilusf): Likewise. |
| (lceiludf): Likewise. |
| (lflooruv2sf): Likewise. |
| (lflooruv4sf): Likewise. |
| (lflooruv2df): Likewise. |
| (lfloorusf): Likewise. |
| (lfloorudf): Likewise. |
| (lfrintnuv2sf): Likewise. |
| (lfrintnuv4sf): Likewise. |
| (lfrintnuv2df): Likewise. |
| (lfrintnusf): Likewise. |
| (lfrintnudf): Likewise. |
| * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type |
| conversion. |
| (vcvtq_u32_f32): Likewise. |
| (vcvtq_u64_f64): Likewise. |
| (vcvta_u32_f32): Likewise. |
| (vcvtaq_u32_f32): Likewise. |
| (vcvtaq_u64_f64): Likewise. |
| (vcvtm_u32_f32): Likewise. |
| (vcvtmq_u32_f32): Likewise. |
| (vcvtmq_u64_f64): Likewise. |
| (vcvtn_u32_f32): Likwise. |
| (vcvtnq_u32_f32): Likewise. |
| (vcvtnq_u64_f64): Likewise. |
| (vcvtp_u32_f32): Likewise. |
| (vcvtpq_u32_f32): Likewise. |
| (vcvtpq_u64_f64): Likewise. |
| (vcvtmd_u64_f64): Likewise. |
| (vcvtms_u32_f32): Likewise. |
| (vcvtad_u64_f64): Likewise. |
| (vcvtas_u32_f32): Likewise. |
| (vcvtnd_u64_f64): Likewise. |
| (vcvtns_u32_f32): Likewise. |
| (vcvtpd_u64_f64): Likewise. |
| (vcvtps_u32_f32): Likewise. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle |
| CSEL of zero_extended registers. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case): |
| Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate. |
| |
| 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return |
| false when argument string is not found in the attributes table |
| at all. |
| |
| 2016-01-15 David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/68609 |
| * config/rs6000/rs6000.c (rs6000_emit_msub): Delete. |
| (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm |
| * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high |
| precision estimate. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66856 |
| * tree-vect-loop.c (vect_transform_loop): Free SLP instances here. |
| * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count. |
| (vect_create_new_slp_node): Increment stmt reference count. |
| (vect_get_and_check_slp_defs): Make sure stmts are nor already in |
| an SLP tree before swapping operands. |
| (vect_build_slp_tree): Likewise. |
| (destroy_bb_vec_info): Free stmt info after SLP instances. |
| * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count. |
| * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field. |
| (STMT_VINFO_NUM_SLP_USES): New macro. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR debug/69137 |
| * dwarf2out.c (add_linkage_name_raw): New function split out from ... |
| (add_linkage_name): ... here. |
| (gen_typedef_die): Use add_linkage_name_raw instead of |
| add_linkage_attr to delay DECL_ASSEMBLER_NAME computation |
| if necessary. |
| |
| 2016-01-15 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * gimplify.c (oacc_default_clause): Decode reference and pointer |
| types for both kernels and parallel regions. |
| |
| 2016-01-15 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR middle-end/69246 |
| * calls.c (emit_call_1): Force n_popped to zero for sibcalls. |
| |
| 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo. |
| (convert_scalars_to_vector): Likewise. |
| |
| 2016-01-15 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (Type Traits): Fix grammar. |
| |
| 2016-01-15 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-inline.c (remap_decl): Use existing dclarations if |
| remapping a type and prevent_decl_creation_for_types. |
| (replace_locals_stmt): Do an initial remapping of non-VLA typed |
| decls first. Do real remapping with |
| prevent_decl_creation_for_types set. |
| * tree-inline.h (copy_body_data): New field |
| prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid |
| padding. |
| |
| 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.opt (mmvcle): More verbose help text. |
| |
| 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.opt: Add period to -mzvector option text. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68961 |
| * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost |
| of invariants in stores again. |
| |
| 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib. |
| |
| 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| * config/i386/i386.c (ix86_expand_branch): Don't split |
| DI mode xor instruction to SI mode. |
| |
| 2016-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/68148 |
| * ipa-icf.c (sem_function::merge): Virtual functions may become |
| reachable even if they address is not taken and there are no |
| idrect calls. |
| |
| 2016-01-15 Jan Hubicka <hubicka@ucw.cz> |
| |
| * lto-streamer-out.c (subtract_estimated_size): New function. |
| (get_symbol_initial_value): Use it. |
| |
| 2016-01-15 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/65837 |
| * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag. |
| (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins, |
| (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins. |
| use add_builtin_function_ext_scope instead of add_builtin_function. |
| (neon_set_p, neon_crypto_set_p): Remove. |
| (arm_init_builtins): Always call arm_init_neon_builtins and |
| arm_init_crypto_builtins. |
| (arm_expand_builtin): Check that builtins are allowed for the arch. |
| * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype. |
| * config/arm/arm.c (arm_valid_target_attribute_tree): Remove |
| arm_init_neon_builtins call. |
| |
| 2016-01-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69117 |
| * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member. |
| * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info |
| of the leader conservatively. |
| (free_scc_vn): Restore original SSA name infos. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a |
| single bit of precision, verify it's also unsigned. |
| (record_edge_info): Use constant_boolean_node rather than fold_convert |
| to convert boolean_true/boolean_false to the right type. |
| |
| 2016-01-14 Richard Henderson <rth@redhat.com> |
| |
| PR rtl-opt/69014 |
| * loop-doloop.c (record_reg_sets): New. |
| (doloop_optimize): Reject the transform if the sequence |
| clobbers registers live at the end of the loop block. |
| (doloop_optimize_loops): Enable df_live if needed. |
| |
| 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change. |
| * gcc/config/rs6000/rs6000.c: Likewise. |
| * gcc/config/rs6000/rs6000.h: Likewise. |
| * gcc/config/rs6000/rs6000.md: Likewise. |
| * gcc/doc/extend.texi: Likewsie. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment |
| typo. |
| |
| 2016-01-14 Richard Henderson <rth@redhat.com> |
| |
| PR c/69272 |
| PR tree-opt/68964 |
| * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size. |
| * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p |
| instead of builtin_decl_declared_p to test for declaration. |
| |
| 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com> |
| |
| * doc/loop.texi (Loop Analysis and Representation): Document |
| loop_depth function. |
| |
| 2016-01-14 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/68773 |
| * omp-low.c (expand_omp_target): Don't set force_output. |
| * varpool.c (varpool_node::get_create): Same. |
| * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and |
| offload_funcs with force_output. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/69244 |
| * lra-eliminations.c (move_plus_up): Don't change anything if either |
| the outer or inner subreg mode is not MODE_INT. |
| * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is |
| integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards. |
| |
| 2016-01-14 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m}, |
| reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m}, |
| reduc_uplus_@var{m}): Remove. |
| * expr.c (expand_expr_real_2): Remove expansion path for |
| reduc_[us](min|max|plus) optabs. |
| * optabs-tree.c (scalar_reduc_to_vector): Remove. |
| * optabs-tree.h (scalar_reduc_to_vector): Remove. |
| * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab, |
| reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove. |
| * tree-vect-loop.c (vectorizable_reduction): Remove test for |
| reduc_[us](min|max|plus) optabs. |
| |
| 2016-01-14 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove. |
| (reduc_plus_scal_v2sf): New. |
| (reduc_smax_v2sf): Rename to... |
| (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract. |
| (reduc_smin_v2sf): Rename to... |
| (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract. |
| |
| 2016-01-14 Jan Hubicka <hubicka@ucw.cz> |
| |
| * alias.c (compare_base_symbol_refs): New function. |
| (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use |
| it. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/68146 |
| PR tree-optimization/69155 |
| * tree-complex.c: Include cfganal.h. |
| (phis_to_revisit): New variable. |
| (extract_component): Add phiarg_p argument. Assert that returned |
| SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true. |
| (update_phi_components): Partly rewrite to use loop over real/imag |
| components instead of code duplication. If extract_component returns |
| SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or |
| create_tmp_reg into the PHI node instead, and mention the phi triplet |
| in phis_to_revisit. |
| (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded |
| in phis_to_revisit at the end. |
| |
| 2016-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68060 |
| * tree-vect-loop.c (vect_is_simple_reduction): Check the |
| outer loop reduction is only used in the inner loop before |
| detecting a double reduction. |
| |
| 2016-01-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/68269 |
| * combine.c (expand_field_assignment): Punt if compute_mode is |
| unsupported scalar mode. |
| |
| 2016-01-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/66856 |
| * tree-vect-slp.c (vect_build_slp_tree): Refactor to build |
| SLP node only if it built successfully. |
| (vect_analyze_slp_instance): Adjust. |
| |
| 2016-01-14 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/69270 |
| * tree-ssa-dom.c (ssa_name_has_boolean_range): New function. |
| (record_edge_info): Use it. Convert boolean_{true,false}_node |
| to the type of op0. |
| |
| 2016-01-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/66487 |
| * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): |
| use block_ultimate_origin |
| (noncall-stmt_may_be_vtbl_ptr_store): Likewise. |
| |
| 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Submodel Options): Rename section to |
| "Machine-Dependent Options" to better reflect its content. |
| Rewrite introductory text to remove archaic CPU names. |
| Update references. |
| |
| 2016-01-13 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Code Gen Options): Move section up in file, |
| before target-specific options. Update menu and option summary |
| to reflect the new section ordering. |
| |
| 2016-01-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C Dialect Options): Adjust -std default for C++. |
| (C++ Dialect Options): Add cross-reference to -std option. |
| * doc/standards.texi (C++ Language): Document C++14 support. |
| |
| 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support |
| for pack/unpack functions for __ibm128. |
| (PACK_IF): Likewise. |
| (UNPACK_IF): Likewise. |
| |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add |
| support for __ibm128 pack/unpack functions. |
| (rs6000_invalid_builtin): Likewise. |
| (rs6000_init_builtins): Likewise. |
| (rs6000_opt_masks): Likewise. |
| |
| * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name. |
| (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack |
| functions |
| (RS6000_BTM_COMMON): Likewise. |
| |
| * config/rs6000/rs6000.md (f128_vsx): New mode attribute. |
| (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to |
| disallow __builtin_{pack,unpack}_longdouble if long double is IEEE |
| 128-bit floating point. Add support for the double values to be |
| in Altivec registers for TF/IF packing and unpacking, but restrict |
| TD packing sub-fields to be FPR registers. Don't allow overlapped |
| register support for packing. Allow pack inputs to be memory |
| locations. Don't build generator functions for unpack<mode>_dm |
| and unpack<mode>_nodm. |
| (unpack<mode>_dm): Likewise. |
| (unpack<mode>_nodm): Likewise. |
| (pack<mode>): Likewise. |
| |
| * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add |
| built-in functions to pack/unpack explicit __ibm128 values. |
| (__builtin_unpack_ibm128): Likewise. |
| |
| * doc/extend.texi (PowerPC Built-in Functions): Document |
| __builtin_pack_ibm128 and __builtin_unpack_ibm128. |
| |
| 2016-01-13 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR c/66208 |
| * c-common.c (check_function_nonnull): Remove unnecessary declaration. |
| Add new arg loc and pass it down as context. |
| (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer |
| to the location to use for the warning. |
| (check_function_arguments): New arg loc. All callers changed. Pass |
| it to check_function_nonnull. |
| * c-common.h (check_function_arguments): Adjust declaration. |
| |
| 2016-01-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69156 |
| * gimple.c (validate_type): Removed. |
| (gimple_builtin_call_types_compatible_p): Use |
| useless_type_conversion_p instead of validate_type. |
| * value-prof.c (gimple_stringop_fixed_value): Fold |
| icall_size to correct type. |
| |
| 2016-01-13 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/extend.texi (__atomic Builtins): Clarify compare_exchange |
| effects. |
| |
| 2016-01-13 Richard Henderson <rth@redhat.com> |
| |
| PR tree-opt/68964 |
| * target.def (builtin_tm_load, builtin_tm_store): Remove. |
| * config/i386/i386.c (ix86_builtin_tm_load): Remove. |
| (ix86_builtin_tm_store): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. |
| * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove. |
| (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove. |
| * doc/tm.texi: Rebuild. |
| |
| * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New. |
| (BUILT_IN_TM_MEMCPY_RTWN): New. |
| * trans-mem.c (tm_log_emit_stmt): Rearrange code for better |
| fallback from vector to integer helpers. |
| (build_tm_load): Handle vector types directly, instead of |
| via target hook. |
| (build_tm_store): Likewise. |
| (expand_assign_tm): Prepare for register types not handled by |
| the above. Copy them to memory and use memcpy. |
| * tree.c (tm_define_builtin): New. |
| (find_tm_vector_type): New. |
| (build_tm_vector_builtins): New. |
| (build_common_builtin_nodes): Call it. |
| |
| 2016-01-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for |
| TARGET_SSE_MATH without TARGET_SSE2. Rewrite. |
| |
| 2016-01-13 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69169 |
| * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle |
| handled_struct_type param. |
| (create_variable_info_for, intra_create_variable_infos): Call |
| create_variable_info_for_1 with extra arg. |
| |
| 2016-01-13 Yvan Roux <yvan.roux@linaro.org> |
| |
| * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a" |
| and "armv8.1-a+crc" entries. |
| |
| 2016-01-13 Alexander Fomin <alexander.fomin@intel.com> |
| |
| PR target/69228 |
| * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"): |
| Change first operand predicate from register_or_constm1_operand |
| to register_operand. |
| (define_expand "avx512pf_gatherpf<mode>df"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_expand "avx512pf_scatterpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_gatherpf<mode>sf"): Remove. |
| (define_insn "*avx512pf_gatherpf<mode>df"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise. |
| (define_insn "*avx512pf_scatterpf<mode>df"): Likewise. |
| * config/i386/i386.c (ix86_expand_builtin): Remove first operand |
| comparison with constm1_rtx from vec_prefetch_gen part. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69013 |
| * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths): |
| Exchange assert for a test. |
| |
| 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/69247 |
| * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69242 |
| * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus |
| assert with a check. |
| |
| 2016-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69186 |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): |
| Properly guard vect_update_misalignment_for_peel call. |
| |
| 2016-01-12 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/pr67755 |
| * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field |
| "need_profile_correction". |
| (thread_block_1): Initialize new field to false by default. If we |
| have multiple thread paths through a common joiner to different |
| final targets, then set new field to true. |
| (compute_path_counts): Only do count adjustment when it's really |
| needed. |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Spec Files): Move section down in file, past |
| all command-line option descriptions. |
| |
| 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> |
| |
| PR middle-end/54809 |
| * doc/gty.texi: Remove documentation of mark_hook. |
| * gengtype.c (struct write_types_data): Remove code to support |
| mark_hook attribute. |
| (walk_type): Likewise. |
| (write_func_for_structure): Likewise. |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to |
| Directory Options, and -specs= to Overall Options. |
| (Overall Options): Adjust similarly. Reorder to group related |
| options together. Make -specs= cross-reference the spec file details. |
| (Directory Options): Adjust similarly. |
| |
| 2016-01-12 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-threadupdate.c: Various whitespace and typo fixes. |
| |
| 2016-01-12 Olivier Hainque <hainque@adacore.com> |
| |
| * gcc.c (spec_undefvar_allowed): New global. |
| (process_command): Set to true when running for --version or --help, |
| alone or together. |
| (getenv_spec_function): When the variable is not defined, use the |
| variable name as the variable value if we're allowed not to issue |
| a fatal error. |
| |
| 2016-01-12 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/68911 |
| * tree-vrp.c (adjust_range_with_scev): Check overflow in range |
| information computed for expression "init + nit * step". |
| |
| 2016-01-12 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information |
| about name of GCC executable. Remove deleted node from menu. |
| (Directory Options) <-B>: Remove cross-reference to deleted node. |
| (Target Options): Delete section. |
| |
| 2016-01-12 Christian Bruel <christian.bruel@st.com> |
| |
| PR target/69180 |
| * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL |
| for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX. |
| |
| 2016-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69198 |
| * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure |
| aligned_mem is properly set for AVX512-VL floating point masked |
| stores. |
| |
| PR target/69175 |
| * ifcvt.c (cond_exec_process_if_block): When removing the last |
| insn from then_bb, remove also any possible barriers that follow it. |
| |
| 2016-01-12 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68456 |
| PR target/69226 |
| * config/i386/iamcu.h (SIZE_TYPE): New macro. |
| (PTRDIFF_TYPE): Likewise. |
| (WCHAR_TYPE): Likewise. |
| (WCHAR_TYPE_SIZE): Likewise. |
| (STDINT_LONG32): Likewise. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69053 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Properly |
| convert initial value for cond reductions. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69007 |
| * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move |
| widen_sum after dot_prod and sad. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69168 |
| * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and |
| pattern stmt SLP type. |
| * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may |
| end up unused so cope with that case. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69157 |
| * tree-vect-stmts.c (vectorizable_mask_load_store): Check |
| stmts def type only during analyze phase. |
| (vectorizable_call): Likewise. |
| (vectorizable_simd_clone_call): Likewise. |
| (vectorizable_conversion): Likewise. |
| (vectorizable_assignment): Likewise. |
| (vectorizable_shift): Likewise. |
| (vectorizable_operation): Likewise. |
| (vectorizable_store): Likewise. |
| (vectorizable_load): Likewise. |
| |
| 2016-01-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69174 |
| * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical |
| space. |
| (vectorizable_load): Properly compute the number of loads needed |
| for permuted strided SLP loads and do not spuriously assign |
| to SLP_TREE_VEC_STMTS. |
| |
| 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi> |
| |
| * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2 |
| (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive |
| (MD_EXEC_PREFIX): Remove. |
| (MD_STARTFILE_PREFIX) Removee. |
| (FILE_NAME_ABSOLUTE_P): Remove. |
| (CPP_SPEC): Do not read macros from sys/version.h. |
| (LINK_COMMAND_SPEC): Remove. |
| (LOCAL_INCLUDE_DIR): Remove. |
| (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section |
| (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix. |
| (POST_LINK_SPEC): Define to invoke stubify after linker |
| (LIBSTDCXX): Remove define |
| (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map. |
| (DEFAULT_PCC_STRUCT_RETURN): Define to 1. |
| (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210. |
| (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message. |
| (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info. |
| (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove. |
| (i386_djgpp_asm_named_section): Add propotype of new procedure |
| |
| * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define. |
| (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h). |
| (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX |
| in config/i386/djgpp.h). |
| (STANDARD_STARTFILE_PREFIX_2): Define identical to |
| STANDARD_STARTFILE_PREFIX_1. |
| (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h). |
| (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal |
| installation errors. |
| (MAX_OFILE_ALIGNMENT): Define to 128. |
| (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h. |
| |
| * config/i386/djgpp.c: New file. Add implementation of |
| i386_djgpp_asm_named_section. |
| |
| * config/i386/djgpp.opt: Remove obsolete option -mbnu210. |
| |
| * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS. |
| Add rule for building djgpp.o. |
| |
| 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (v2df_reduction_p): New function. |
| (rtx_is_swappable_p): Reductions are swappable. |
| (insn_is_swappable_p): V2DF reductions are swappable. |
| |
| 2016-01-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_emit_move_sequence): Handle floating point |
| reloads for other unsupported memory operands. |
| |
| 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org> |
| Jim Wilson <jim.wilson@linaro.org> |
| |
| PR target/69194 |
| * config/arm/arm-builtins.c (arm_expand_neon_args): Call |
| copy_to_mode_reg instead of force_reg. |
| |
| 2016-01-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69225 |
| * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if |
| TARGET_80387 is true. |
| |
| 2016-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/69071 |
| * lra-eliminations.c (move_plus_up): Only move plus up |
| if subreg of the constant can be simplified into constant |
| and use the simplified subreg of the constant instead of |
| the original constant. |
| |
| * fold-const.c (fold_convertible_p): Don't return true |
| for conversion of VECTOR_TYPE to same sized integral type. |
| (fold_convert_loc): Fix up formatting. Fold conversion of |
| VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR |
| instead of NOP_EXPR. |
| |
| PR tree-optimization/69214 |
| * tree-vrp.c (simplify_cond_using_ranges): Don't propagate |
| innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| Formatting fix. |
| |
| PR tree-optimization/69207 |
| * tree-vect-slp.c (vect_get_constant_vectors): For |
| VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of |
| fold_convertible_p to vector_type's element type, and always |
| use VCE for non-VECTOR_BOOLEAN_TYPE_P. |
| |
| 2016-01-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69173 |
| * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only |
| fixup the cycle if all stmts are in a pattern. |
| |
| 2016-01-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/68999 |
| * alias.c (base_alias_check): Move check for addresses with |
| alignment ANDs before the call for compare_base_decls. |
| (memrefs_conflict_p): Return -1 for different decls |
| that went through alignment adjustments. |
| |
| 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68796 |
| * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern. |
| * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode |
| and QImode comparisons against zero with CC_NZmode. |
| * config/aarch64/iterators.md (short_mask): New mode_attr. |
| |
| 2016-01-11 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf. |
| (<avx512>_store<mode>_mask): Likewise. |
| |
| 2016-01-11 Bernd Schmidt <bschmidt@redhat.com> |
| Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68841 |
| * ifcvt.c (struct noce_if_info): Add orig_x field. |
| (bbs_ok_for_cmove_arith): Add to_rename parameter. |
| Don't record conflicts on to_rename if it's present. |
| Allow memory destinations in sets. |
| (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple |
| blocks, passing orig_x to the checks. |
| (noce_process_if_block): Set if_info->orig_x appropriately. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69069 |
| * tree-parloops.c (create_parallel_loop): Add missing phi args. |
| |
| 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com> |
| |
| PR rtl-optimization/68920 |
| * config/i386/i386.c (ix86_option_override_internal): Restrict number |
| of conditional moves for RTL if-conversion to 1 for |
| TARGET_ONE_IF_CONV_INSN. |
| * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros. |
| * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros. |
| * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new |
| parameter to restirct number of conditional moves for |
| RTL if-conversion. |
| * doc/invoke.texi (max-rtl-if-conversion-insns): Document it. |
| * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of |
| conditionl moves. |
| |
| 2016-01-11 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR bootstrap/69123 |
| * var-tracking.c (drop_overlapping_mem_locs): Operate on all |
| onepart vars. Fix typo in comment. Fix reversed condition in |
| unshare test. |
| (dataflow_set_remove_mem_locs): Operate on all onepart vars. |
| |
| PR bootstrap/69123 |
| * var-tracking.c (dump_onepart_variable_differences): New. |
| (dataflow_set_different): If a detailed dump is requested, |
| delay early returns and dump differences between onepart |
| variables present before and after, and added variables. |
| |
| 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com> |
| |
| PR target/69010 |
| * expr.c (expand_expr_real_1): For boolean vector constants |
| with a scalar mode use const_scalar_mask_from_tree. |
| (const_scalar_mask_from_tree): New. |
| * optabs.c (expand_vec_cond_mask_expr): Use mask mode |
| assigned to a mask type to handle constants. |
| |
| 2016-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/69044 |
| * ipa-cp.c (estimate_local_effects): Do not clone for removal of |
| useless parameters if we cannot change function signature. |
| |
| 2016-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/66616 |
| * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature |
| flag. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69109 |
| * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow |
| latch with phi. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69108 |
| * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi |
| res is not used in a phi. |
| |
| 2016-01-11 Yury Gribov <y.gribov@samsung.com> |
| |
| PR 67425 |
| * common.opt (frandom-seed): Fix parameter name. |
| * doc/invoke.texi (frandom-seed): Ditto and describe parameter. |
| |
| 2016-01-11 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69058 |
| * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp |
| not supported. |
| |
| 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com> |
| |
| * config/arc/arc.opt (mdiv-rem): Add period to the end. |
| (mcode-density): Likewise. |
| |
| 2016-01-10 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69062 |
| * tree-parloops.c (loop_has_phi_with_address_arg): New function. |
| (parallelize_loops): Don't paralelize loop that has phi with address |
| arg. |
| |
| 2016-01-10 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/69039 |
| * tree-parloops.c (try_create_reduction_list): Only allow single exit |
| phi for reduction. |
| |
| 2016-01-09 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR middle-end/68743 |
| * match.pd: Require target has function_c99_misc before doing |
| truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc. |
| |
| 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * configure.ac (isl_options_set_schedule_serialize_sccs): Also |
| use GMPINC. |
| * configure: Regenerate. |
| |
| 2016-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/50865 |
| PR tree-optimization/69097 |
| * fold-const.h (expr_not_equal_to): New prototype. |
| * fold-const.c: Include stringpool.h and tree-ssanames.h. |
| (expr_not_equal_to): New function. |
| * match.pd (X % -Y is the same as X % Y): Don't optimize |
| unless X is known not to be equal to minimum or Y is known |
| not to be equal to -1. |
| * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument. |
| fold TRUNC_MOD_EXPR if the second argument is not a power of two. |
| (simplify_stmt_using_ranges): Adjust caller. |
| (vrp_finalize): Call set_value_range on SSA_NAMEs before calling |
| substitute_and_fold. |
| |
| 2016-01-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL |
| w/o DECL_NAME. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69167 |
| * gimple-fold.c (replace_stmt_with_simplification): Also punt if |
| new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of |
| ops[0] comparison. |
| * gimple-match-head.c (maybe_push_res_to_seq): Likewise. |
| |
| 2016-01-08 Alan Lawrence <alan.lawrence@arm.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/68707 |
| * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP |
| instances that can be handled via vect_load_lanes. |
| |
| 2016-01-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2 |
| if we can't determine address equivalence. |
| * alias.c (compare_base_decl): Update for changed return value of |
| symtab_node::equal_address_to. |
| |
| 2016-01-08 Jason Merrill <jason@redhat.com> |
| |
| PR c++/68983 |
| PR c++/67557 |
| * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here. |
| * expr.c (store_field): Not here. |
| * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a |
| call with TREE_ADDRESSABLE type. |
| * tree-cfg.c (verify_gimple_call): Adjust. |
| |
| 2016-01-08 Olivier Hainque <hainque@adacore.com> |
| |
| * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with |
| libc_internal. |
| |
| 2016-01-08 Alan Lawrence <alan.lawrence@arm.com> |
| |
| * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to... |
| (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element. |
| (reduc_smin_v2sf): Rename to... |
| (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element. |
| (reduc_splus_v2sf): Rename to... |
| (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69162 |
| * gimplify.c (gimplify_va_arg_expr): Encode original type of |
| valist argument in another argument. |
| (gimplify_modify_expr): Adjust for the above change. Cleanup. |
| * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument |
| to determine the va_list type, build a MEM_REF instead of |
| build_fold_indirect_ref. |
| |
| PR tree-optimization/69172 |
| * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to |
| gimple_build. |
| |
| 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR tree-optimization/67781 |
| * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg |
| and cmpnop in two steps: first the ones not accessed in original |
| gimple expression in a endian independent way and then the ones not |
| accessed in the final result in an endian-specific way. |
| |
| 2016-01-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69083 |
| * tree-vect-slp.c (vect_get_constant_vectors): For |
| VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's |
| element type. If op is fold_convertible_p to vector_type's element |
| type, use NOP_EXPR instead of VCE. |
| |
| 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/67778 |
| PR rtl-optimization/68634 |
| PR rtl-optimization/68909 |
| * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop |
| block from the stack until done with it. Remove a superfluous |
| bitmap set. Remove a superfluous bitmap test. |
| |
| 2016-01-07 Martin Sebor <msebor@redhat.com> |
| |
| PR c/68966 |
| * doc/extend.texi (__atomic Builtins, __sync Builtins): Document |
| constraint on the type of arguments. |
| |
| 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to |
| SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check |
| unaligned_access on the gcc_options set. |
| * config/arm/arm.c (arm_option_override_internal): Use |
| SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. |
| |
| 2016-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_frame_pointer_required): Enable |
| frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned. |
| |
| 2016-01-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert |
| 2016-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid |
| depending on frame_pointer_needed before remaining integer and SSE |
| registers are saved. |
| |
| 2016-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (Nvidia PDX Function Attributes): New section. |
| |
| 2016-01-07 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/69171 |
| * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>): |
| Use the "xBm" constraint. |
| (float<sseintvecmodelower><mode>2<mask_name><round_name): |
| Likewise. |
| (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate. |
| (sse_cvtsi2ssq<round_name>): Likewise. |
| (sse_cvtss2si<round_name>): Likewise. |
| (sse_cvtss2siq<round_name>): Likewise. |
| (sse2_cvtsi2sdq<round_name>): Likewise. |
| (sse2_cvtsd2si<round_name>): Likewise. |
| (sse2_cvtsd2siq<round_name>): Likewise. |
| * config/i386/subst.md (round_nimm_scalar_predicate): New |
| predicate. |
| |
| 2015-12-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR middle-end/67639 |
| * varasm.c (make_decl_rtl): Mark invalid register vars as |
| DECL_EXTERNAL. |
| |
| PR rtl-optimization/66206 |
| * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx. |
| All callers changed. |
| |
| 2016-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69141 |
| * tree-ssa-pre.c: Include langhooks.h. |
| (eliminate_dom_walker::before_dom_children): Use |
| lang_hooks.decl_printable_name instead of |
| cgraph_node::get ()->name (). |
| |
| PR middle-end/68960 |
| * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy |
| it and DECL_ALIGN too. |
| |
| 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com> |
| |
| * config/mips/mips-ftypes.def: Sort to lexicographical order. |
| |
| 2016-01-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/69140 |
| * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid |
| depending on frame_pointer_needed before remaining integer and SSE |
| registers are saved. |
| |
| 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M |
| mode iterator with VSX_M2. |
| (*p9_vecstore_<mode>): Likewise. |
| (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR. |
| (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise. |
| (define_split for VSX_LE128 stores): Likewise. |
| (define_peephole2 for TImode LE swaps): Likewise. |
| (define_split for VSX_LE128 post-reload stores): Likewise. |
| |
| 2016-01-06 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/69099 |
| * convert.c (convert_to_integer_1): Adjust call to |
| ubsan_instrument_float_cast. Use NULL_TREE instead of NULL. |
| * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use |
| EXPR instead of ARG. |
| * ubsan.h (ubsan_instrument_float_cast): Adjust declaration. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (RL78 Variable Attributes): New section. |
| |
| 2016-01-05 Marek Polacek <polacek@redhat.com> |
| |
| PR c/69104 |
| * builtins.c (get_memmodel): Use expansion point location rather than |
| the input location. Call warning_at rather than warning. |
| (expand_builtin_atomic_compare_exchange): Likewise. |
| (expand_builtin_atomic_load): Likewise. |
| (expand_builtin_atomic_store): Likewise. |
| (expand_builtin_atomic_clear): Likewise. |
| |
| 2016-01-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68991 |
| * config/i386/i386.c (ix86_expand_vector_logical_operator): |
| Replace nonimmediate_operand with vector_operand. |
| * config/i386/predicates.md (vector_operand): New predicate. |
| (general_vector_operand): Replace nonimmediate_operand with |
| vector_operand. |
| * config/i386/sse.md: Replace nonimmediate_operand with |
| vector_operand and m constraint with Bm constraint on SSE |
| patterns with 16-byte memory operand. |
| * config/i386/subst.md (round_nimm_predicate): Replace |
| nonimmediate_operand with vector_operand. |
| (round_saeonly_nimm_predicate): Likewise. |
| (round_saeonly_nimm_scalar_predicate): New. |
| |
| 2016-01-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/68991 |
| * config/i386/constraints.md (Bm): New constraint. |
| * config/i386/predicates.md (vector_memory_operand): New |
| predicate. |
| * config/i386/sse.md: Replace xm with xBm in plusminus and |
| any_logic patterns. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (V850 Function Attributes): New section. |
| (V850 Variable Attributes): New section. |
| |
| 2016-01-05 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| * doc/extend.texi (MicroBlaze Function Attributes): Document |
| interrupt_handler and fast_interrupt attributes. |
| |
| 2016-01-05 Sergei Trofimovich <siarheit@google.com> |
| |
| PR other/60465 |
| * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64 |
| for local symbolic operands. |
| * config/ia64/predicates.md (local_symbolic_operand64): New |
| predicate. |
| |
| 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68651 |
| * combine.c (combine_simplify_rtx): Canonicalize x + x into |
| x << 1. |
| |
| 2016-01-05 Nathan Sidwell <nathan@acm.org> |
| |
| * alias.c (compare_base_decls): Use symtab_node::get. |
| |
| 2016-01-05 Nick Clifton <nickc@redhat.com> |
| |
| PR target/68770 |
| * ira-costs.c (copy_cost): Initialise the t_icode field of the |
| secondary_reload_info structure. |
| |
| PR target/66655 |
| * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak |
| decls if weak support is available. |
| |
| 2016-01-04 Martin Sebor <msebor@redhat.com> |
| |
| * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model. |
| |
| 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add |
| OPTION_MASK_P9_DFORM. |
| |
| * config/rs6000/constraints.md (wo constraint): New constraint for |
| ISA 3.0 (power9). |
| |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support |
| for wo constraint. |
| (rs6000_init_hard_regno_mode_ok): Likewise. |
| |
| * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for |
| wo constraint. |
| |
| * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm |
| expanders not to have constraints. Add support for ISA 3.0 xxperm |
| instruction. Add support for fusing xxlor with xxperm. |
| (altivec_vperm_<mode>_internal): Likewise. |
| (altivec_vperm_v8hiv16qi): Likewise. |
| (altivec_vperm_<mode>v16q): Likewise. |
| (altivec_vperm_<mode>_uns): Likewise. |
| (vperm_v8hiv4si): Likewise. |
| (vperm_v16qiv8hi): Likewise. |
| |
| * doc/md.texi (RS/6000 constraints): Document wo constraint. |
| |
| 2016-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov-dump.c (print_version): Ditto. |
| * gcov.c (print_version): Ditto. |
| * gcov-tool.c (print_version): Ditto. |
| * gengtype.c (create_file): Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer |
| modes larger than TImode as TImode if NEON is not enabled. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69100 |
| * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit |
| mode for %f0-%f31 only if TARGET_FPU. |
| |
| 2016-01-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/69072 |
| * config/sparc/sparc.c (scan_record_type): Take into account subfields |
| to compute the PACKED_P predicate. |
| (function_arg_record_value): Minor tweaks. |
| |
| 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * doc/install.texi (--with-multilib-list): Describe the meaning of the |
| option for arm*-*-* targets. |
| |
| 2016-01-03 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes): Move docs for |
| MSP430-specific attributes to.... |
| (MSP430 Function Attributes): ...here. Delete the redundant |
| entries and copy-edit the remaining text. |
| (MSP430 Variable Attributes): Use uniform format for index |
| entries and add a cross-reference to the corresponding function |
| attribute docs. |
| |
| 2016-01-03 Vladimír Čunát <vcunat@gmail.com> |
| |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Fix |
| -finite-math typo. |
| (x86 Options): Likewise. |
| |
| 2016-01-01 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR 1078 |
| |
| * extend.texi (Common Function Attributes) <no_stack_limit>: New. |
| * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer |
| to corresponding attribute. |
| |
| 2016-01-01 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi (Common Function Attributes) <noplt>: Move |
| to correct alphabetization of table. Copy-edit and correct |
| markup. |
| <stack_protect>: Likewise. |
| <target_clones>: Likewise. |
| <simd>: Likewise. |
| * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>: |
| Correct punctuation. |
| (Code Gen Options) <-fno-plt>: Copy-edit. |
| |
| 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR target/68917 |
| * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of |
| SI values. Explicitly convert SI to DI and vice-versa. |
| |
| 2016-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/69070 |
| * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test |
| REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST. |
| |
| PR sanitizer/69055 |
| * ubsan.c (ubsan_instrument_float_cast): Call |
| initialize_sanitizer_builtins. |
| |
| PR target/69015 |
| * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump). |
| |
| Copyright (C) 2016 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |