diff options
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r-- | gcc/ChangeLog | 1467 |
1 files changed, 1465 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 39e392e61c6..e686783f232 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,1466 @@ +2015-09-02 Alan Modra <amodra@gmail.com> + + * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define. + * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise. + (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target. + +2015-09-02 Alan Modra <amodra@gmail.com> + + PR target/67417 + * config/rs6000/predicates.md (current_file_function_operand): Don't + return true for weak symbols. + * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise. + +2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com> + Andrew Bennett <andrew.bennett@imgtec.com> + + * config/mips/mips-opts.h (mips_cb_setting): New enum. + * config/mips/mips-protos.h: Add definitions for + mips_output_jump and mips_output_equal_conditional_branch + * gcc/config/mips/mips.c (MIPS_JR): Change to support the + JIC instruction. + (mips_emit_compare): Add support for the MIPS R6 conditional + compact branches. + (mips_process_sync_loop): Likewise. + (mips_output_order_conditional_branch): Likewise. + (mips16_build_call_stub): Change MIPS_CALL to + mips_output_jump. + (mips_print_operand_punctuation): Update 's' case to only + apply to micromips r2. + (mips_adjust_insn_length): Add support for forbidden slot + hazards. + (mips_avoid_hazard): Likewise. + (mips_reorg_process_insns): Likewise. + (mips_output_jump): New function. + (mips_output_equal_conditional_branch): Likewise. + (mips_output_conditional_branch): Use jrc/bc if compact + branch support is enabled. Ensure the forbidden slots + between the two branch instructions is filled with a nop. + (mips_option_override): Add support to process the compact + branch option and set the correct defaults. Prevent + non-explict relocs being using for MIPS R6. + (mips_trampoline_init): Add compact branch support. + (mips_mult_zero_zero_cost): Allow zero initialisation of + accumulators with TARGET_DSP. + * gcc/config/mips/mips.h (TARGET_CB_NEVER): New define. + (TARGET_CB_MAYBE): New define. + (TARGET_CB_ALWAYS): New define. + (ISA_HAS_DELAY_SLOTS): New define. + (ISA_HAS_COMPACT_BRANCHES): New define. + (ISA_HAS_JRC): New define. + (MIPS_BRANCH_C): New define. + (MIPS_CALL): Removed. + (MICROMIPS_J): Removed. + * config/mips/mips.md (compact_form): New attr. + (hazard): Add support for forbidden slots. + (define_delay): Add support for compact branches. + (*branch_order<mode>): Likewise. + (*branch_order<mode>_inverted): Likewise. + (*branch_equality<mode>): Likewise. + (*branch_equality<mode>_inverted): Likewise. + (*jump_absolute): Likewise. + (*jump_pic): Likewise. + (indirect_jump): Use mips_output_jump to produce assembly output. + (tablejump_<mode>"): Likewise. + (*<optab>"): Likewise. + (<optab>_internal): Likewise. + (sibcall_internal): Likewise. + (sibcall_value_internal): Likewise. + (sibcall_value_multiple_internal): Likewise. + (call_internal): Likewise. + (call_split): Likewise. + (call_internal_direct): Likewise. + (call_direct_split): Likewise. + (call_value_internal): Likewise. + (call_value_split): Likewise. + (call_value_internal_direct): Likewise. + (call_value_direct_split): Likewise. + (call_value_multiple_internal): Likewise. + (call_value_multiple_split): Likewise. + (mips_get_fcsr_mips16_<mode>): Likewise. + (mips_set_fcsr_mips16_<mode>): Likewise. + (tls_get_tp_mips16_<mode>): Likewise. + * config/mips/mips.opt: Add -mcompact-branches option. + * config/mips/predicates.md (order_operator): Ensure the + conditional compact branches are only used if the ISA them. + * doc/invoke.texi: Document -mcompact-branches option. + +2015-09-01 Vladimir Makarov <vmakarov@redhat.com> + + PR target/61578 + * lra-lives.c (process_bb_lives): Process move pseudos with the + same value for copies and preferences + * lra-constraints.c (match_reload): Create match reload pseudo + with the same value from single dying input pseudo. + +2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com> + + PR target/67405 + * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check. + +2015-09-01 Aldy Hernandez <aldyh@redhat.com> + + * trans-mem.c: Add contributed-by. + * trans-mem.h: Same. + +2015-09-01 Richard Biener <rguenther@suse.de> + + * expr.c (expand_expr_real_1): For expanding TERed defs + set the current location to that of the def if not UNKNOWN. + +2015-09-01 David Sherwood <david.sherwood@arm.com> + + * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier. + +2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * ifcvt.c (struct noce_if_info): Add then_simple, else_simple, + then_cost, else_cost fields. Change branch_cost field to unsigned + int. + (end_ifcvt_sequence): Call set_used_flags on each insn in the + sequence. + Include rtl-iter.h. + (noce_simple_bbs): New function. + (noce_try_move): Bail if basic blocks are not simple. + (noce_try_store_flag): Likewise. + (noce_try_store_flag_constants): Likewise. + (noce_try_addcc): Likewise. + (noce_try_store_flag_mask): Likewise. + (noce_try_cmove): Likewise. + (noce_try_minmax): Likewise. + (noce_try_abs): Likewise. + (noce_try_sign_mask): Likewise. + (noce_try_bitop): Likewise. + (bbs_ok_for_cmove_arith): New function. + (noce_emit_all_but_last): Likewise. + (noce_emit_insn): Likewise. + (noce_emit_bb): Likewise. + (noce_try_cmove_arith): Handle non-simple basic blocks. + (insn_valid_noce_process_p): New function. + (contains_mem_rtx_p): Likewise. + (bb_valid_for_noce_process_p): Likewise. + (noce_process_if_block): Allow non-simple basic blocks + where appropriate. + +2015-08-31 Alan Lawrence <alan.lawrence@arm.com> + + * tree-ssa-dom.c (record_equivalences_from_phis, + record_equivalences_from_stmt, optimize_stmt): Use dom_valueize. + (lookup_avail_expr): Likewise, and remove comment and unused temp. + +2015-09-01 Nick Clifton <nickc@redhat.com> + + * config/msp430/msp430.opt (mcpu): Fix typo. + +2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.c (aarch64_set_current_function): + Re-layout any vector parameters have non-simd layout. + * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param): + Delete. + (aarch64_simd_expand_args): Delete call to the above. + +2015-08-31 Mike Frysinger <vapier@gentoo.org> + + * doc/invoke.texi (asan-stack): Add space before option. + +2015-08-31 Marc Glisse <marc.glisse@inria.fr> + + * tree.h (zerop): New function. + * tree.c (zerop): Likewise. + (element_precision): Handle expressions. + * match.pd (define_predicates): Add zerop. + (x <= +Inf): Fix comment. + (abs (x) == 0, A & C == C, A & C != 0): Converted from ... + * fold-const.c (fold_binary_loc): ... here. Remove. + +2015-08-31 Richard Biener <rguenther@suse.de> + + PR middle-end/67381 + * genmatch.c (dt_node::gen_kids): Also treat matches as barrier. + +2015-08-31 Marc Glisse <marc.glisse@inria.fr> + + * match.pd (SIN, COS, TAN, COSH): Reorder for consistency. + (CEXPI): New operator list. + (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)), + imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))): + Converted from ... + * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove. + +2015-08-31 Tom de Vries <tom@codesourcery.com> + + * tree-ssa-loop-manip.c (find_uses_to_rename_stmt) + (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags + parameter. + (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function. + (rewrite_into_loop_closed_ssa_1): New function, factored out of ... + (rewrite_into_loop_closed_ssa): ... here. + (replace_uses_in_dominated_bbs): Remove function. + (rewrite_virtuals_into_loop_closed_ssa): Reimplement using + rewrite_into_loop_closed_ssa_1. + +2015-08-31 Michael Matz <matz@suse.de> + + * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly + enter entry and exit blocks for reverse post order. + +2015-08-31 Richard Biener <rguenther@suse.de> + + * lto-streamer.h (lto_location_cache::cached_location::sysp): Add. + (lto_location_cache::current_sysp): Likewise. + (output_block::current_sysp): Likewise. + * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp. + (lto_location_cache::apply_location_cache): Properly record + system header locations. + (lto_location_cache::input_location): Input whether a file + is a system header. + * lto-streamer-out.c (lto_output_location): Stream whether a file + is a system header. + +2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + PR bootstrap/67363 + * gcc.c (env_manager::xput): Replace strndup by xstrndup. + +2015-08-31 Tom de Vries <tom@codesourcery.com> + + * tree-ssa-loop-manip.c (find_uses_to_rename_use) + (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename): + Improve function header comments. + +2015-08-30 Michael Collison <michael.collison@linaro.org> + + PR other/67320 + * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct + standard names + +2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + * config/rs6000/rs6000.c (swap_web_entry): Enlarge + special_handling bitfield. + (special_handling_values): Add SH_XXPERMDI and SH_CONCAT. + (rtx_is_swappable_p): Add handling for vec_select/vec_concat form + that represents a general xxpermdi. + (insn_is_swappable_p): Add handling for vec_concat of two + doublewords, which maps to a specific xxpermdi. + (adjust_xxpermdi): New function. + (adjust_concat): Likewise. + (handle_special_swappables): Call adjust_xxpermdi and + adjust_concat. + (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT. + +2015-08-30 Rich Felker <dalias@libc.org> + + * config.gcc (supported_defaults): Handle sh[123456ble]*-*-* + case instead of sh[123456ble]-*-*. + +2015-08-29 Anatoly Sokolov <aesok@post.ru> + + * ira.c (print_unform_and_important_classes, + print_translated_classes): Remove reg_class_names static array. + (print_unform_and_important_classes): Rename to ... + (print_uniform_and_important_classes): ... this. + (ira_debug_allocno_classes): Update accordingly. + +2015-08-29 Tom de Vries <tom@codesourcery.com> + + PR tree-optimization/46193 + * omp-low.c (omp_reduction_init): Handle pointer type for min or max + clause. + +2015-08-28 Jeff Law <law@redhat.com> + + PR lto/66752 + * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are + unable to find X NE 0 in the tables, return X as the simplified + condition. + (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are + in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH + to VISISTED_BBS. + * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags + after removing the control flow statement and unnecessary edges. + +2015-08-28 Alan Lawrence <alan.lawrence@arm.com> + + Revert: + 2015-08-27 Alan Lawrence <alan.lawrence@arm.com> + PR tree-optimization/67283 + * tree-sra.c (type_consists_of_records_p): Rename to... + (scalarizable_type_p): ...this, add case for ARRAY_TYPE. + + (completely_scalarize_record): Rename to... + (completely_scalarize): ...this, add ARRAY_TYPE case, move some + code to: + (scalarize_elem): New. + +2015-08-28 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename + SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE. + (aarch64_symbol_type): Likewise. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): + Likewise. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_tls_symbol): Likewise. + +2015-08-28 Richard Biener <rguenther@suse.de> + + * cgraphunit.c (symbol_table::compile): Move early debug generation + and finish... + (symbol_table::finalize_compilation_unit): ... back here and + add a !seen_error () guard. + +2015-08-27 Sebastian Pop <s.pop@samsung.com> + + * toplev.c (process_options): Do not use flag_loop_block, + flag_loop_interchange, and flag_loop_strip_mine. Add check for + flag_loop_optimize_isl. + +2015-08-27 Sebastian Pop <s.pop@samsung.com> + + * Makefile.in (OBJS): Remove graphite-blocking.o and + graphite-interchange.o. + * common.opt (floop-strip-mine, floop-interchange, floop-block): + Alias of floop-nest-optimize. + * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block): + Document as alias of -floop-nest-optimize. + * graphite-blocking.c: Remove. + * graphite-interchange.c: Remove. + * graphite-optimize-isl.c: Include dumpfile.h. + (getScheduleForBand): Add dump for tiled loops. Use + PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant. + * graphite-poly.c (scop_max_loop_depth): Remove. + (print_scattering_function_1): Remove. + (print_scattering_function): Remove. + (print_scattering_functions): Remove. + (debug_scattering_function): Remove. + (debug_scattering_functions): Remove. + (apply_poly_transforms): Remove use of flag_loop_block, + flag_loop_strip_mine, and flag_loop_interchange. + (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and + PBB_ORIGINAL. + (print_pdr_access_layout): Remove. + (print_pdr): Print ISL representation. + (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE, + SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE. + (free_scop): Same. + (openscop_print_pbb_domain): Remove. + (print_pbb): Remove call to print_scattering_function. + (openscop_print_scop_context): Remove. + (print_scop_context): Do not print matrices anymore. + (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and + SCOP_TRANSFORMED_SCHEDULE. + (print_isl_set): Add printing of a new line. + (print_isl_map): Same. + (print_isl_aff): Same. + (print_isl_constraint): Same. + (loop_to_lst): Remove. + (scop_to_lst): Remove. + (lst_indent_to): Remove. + (print_lst): Remove. + (debug_lst): Remove. + (dot_lst_1): Remove. + (dot_lst): Remove. + (reverse_loop_at_level): Remove. + (reverse_loop_for_pbbs): Remove. + * graphite-poly.h (pdr_dim_iter_domain): Remove. + (pdr_nb_params): Remove. + (pdr_alias_set_dim): Remove. + (pdr_subscript_dim): Remove. + (pdr_iterator_dim): Remove. + (pdr_parameter_dim): Remove. + (same_pdr_p): Remove. + (struct poly_scattering): Remove. + (struct poly_bb): Remove _original, _transformed, _saved. + (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove. + (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove. + (PBB_NB_LOCAL_VARIABLES): Remove. + (PBB_NB_SCATTERING_TRANSFORM): Remove. + (schedule_to_scattering): Remove. + (number_of_write_pdrs): Remove. + (pbb_dim_iter_domain): Remove. + (pbb_nb_params): Remove. + (pbb_nb_scattering_orig): Remove. + (pbb_nb_scattering_transform): Remove. + (pbb_nb_dynamic_scattering_transform): Remove. + (pbb_nb_local_vars): Remove. + (pbb_iterator_dim): Remove. + (pbb_parameter_dim): Remove. + (psco_scattering_dim): Remove. + (psct_scattering_dim): Remove. + (psct_local_var_dim): Remove. + (psco_iterator_dim): Remove. + (psct_iterator_dim): Remove. + (psco_parameter_dim): Remove. + (psct_parameter_dim): Remove. + (psct_dynamic_dim): Remove. + (psct_static_dim): Remove. + (psct_add_local_variable): Remove. + (new_lst_loop): Remove. + (new_lst_stmt): Remove. + (free_lst): Remove. + (copy_lst): Remove. + (lst_add_loop_under_loop): Remove. + (lst_depth): Remove. + (lst_dewey_number): Remove. + (lst_dewey_number_at_depth): Remove. + (lst_pred): Remove. + (lst_succ): Remove. + (lst_find_pbb): Remove. + (find_lst_loop): Remove. + (lst_find_first_pbb): Remove. + (lst_empty_p): Remove. + (lst_find_last_pbb): Remove. + (lst_contains_p): Remove. + (lst_contains_pbb): Remove. + (lst_create_nest): Remove. + (lst_remove_from_sequence): Remove. + (lst_remove_loop_and_inline_stmts_in_loop_father): Remove. + (lst_niter_for_loop): Remove. + (pbb_update_scattering): Remove. + (lst_update_scattering_under): Remove. + (lst_update_scattering): Remove. + (lst_insert_in_sequence): Remove. + (lst_replace): Remove. + (lst_substitute_3): Remove. + (lst_distribute_lst): Remove. + (lst_remove_all_before_including_pbb): Remove. + (lst_remove_all_before_excluding_pbb): Remove. + (struct scop): Remove original_schedule, transformed_schedule, and + saved_schedule. + (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove. + (SCOP_SAVED_SCHEDULE): Remove. + (poly_scattering_new): Remove. + (poly_scattering_free): Remove. + (poly_scattering_copy): Remove. + (store_scattering_pbb): Remove. + (store_lst_schedule): Remove. + (restore_lst_schedule): Remove. + (store_scattering): Remove. + (restore_scattering_pbb): Remove. + (restore_scattering): Remove. + * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): + Remove scattering_dimensions. Do not use pbb_dim_iter_domain: + compute the scattering polyhedron dimension from the dimension of + pbb->domain. + (build_scop_scattering): Update call to + build_pbb_scattering_polyhedrons. + (build_poly_scop): Remove call to scop_to_lst. + * graphite.c (graphite_transform_loops): Add call to print_scop. + (gate_graphite_transforms): Remove use of flag_loop_block, + flag_loop_interchange, and flag_loop_strip_mine. + +2015-08-27 Sebastian Pop <s.pop@samsung.com> + + * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize. + * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of + -floop-nest-optimize. + * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove. + (generate_luj_sepclass): Remove. + (generate_luj_options): Remove. + (set_options): Remove opt_luj. + (scop_to_isl_ast): Remove opt_luj. + * graphite-optimize-isl.c (getScheduleForBand): Remove check for + flag_loop_unroll_jam. + (getPrevectorMap_full): Remove. + (getScheduleForBandList): Remove map_sepcl. + (getScheduleMap): Same. + (apply_schedule_map_to_scop): Remove sepcl. + (optimize_isl): Same. + * graphite-poly.c (apply_poly_transforms): Remove check for + flag_loop_unroll_jam. + (new_poly_bb): Remove map_sepclass. + * graphite-poly.h (struct poly_bb): Same. + * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam. + * params.def (PARAM_LOOP_UNROLL_JAM_SIZE) + (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove. + * toplev.c (process_options): Remove flag_loop_unroll_jam. + +2015-08-27 Uros Bizjak <ubizjak@gmail.com> + + PR target/67317 + * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern. + (addqi3_cc): Ditto. + (UNSPEC_ADD_CARRY): Remove. + (addqi3_cconly_overflow): New expander. + (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow. + Adjust for changed add<mode>3_carry. + (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry. + (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry. + (<plusminus_insn><mode>3_carry): Remove expander. + (*<plusminus_insn><mode>3_carry): Split insn pattern to + add<mode>3_carry and sub<mode>3_carry. + (plusminus_carry_mnemonic): Remove code attribute. + (add<mode>3_carry): Canonicalize insn pattern. + (*addsi3_carry_zext): Ditto. + (sub<mode>3_carry): Ditto. + (*subsi3_carry_zext): Ditto. + (adcx<mode>3): Remove insn pattern. + (addcarry<mode>): New insn pattern. + (subborrow<mode>): Ditto. + * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use + gen_addqi3_cconly_overflow instead of gen_addqi3_cc. + (ix86_expand_builtin) <case IX86_BUILTIN_SBB32, + case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32, + case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi, + CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi. + Rewrite expander to not clobber carry flag chains. + +2015-08-27 Pat Haugen <pthaugen@us.ibm.com> + + * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift + instead of a rotate. + +2015-08-27 Marek Polacek <polacek@redhat.com> + + PR middle-end/67005 + * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing + an entry into an irreducible region. + +2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * configure: Regenerate. + +2015-08-27 Alan Lawrence <alan.lawrence@arm.com> + + PR tree-optimization/67283 + * tree-sra.c (type_consists_of_records_p): Rename to... + (scalarizable_type_p): ...this, add case for ARRAY_TYPE. + + (completely_scalarize_record): Rename to... + (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to: + (scalarize_elem): New. + +2015-08-27 Alan Lawrence <alan.lawrence@arm.com> + + * tree-sra.c (completely_scalarize_var): Rename to... + (create_total_scalarization_access): ... Here. Drop call to + completely_scalarize_record. + + (analyze_all_variable_accesses): Replace completely_scalarize_var + with create_total_scalarization_access and completely_scalarize_record. + +2015-08-27 Alan Modra <amodra@gmail.com> + + PR target/67356 + * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0" + for operand 1. + +2015-08-27 Richard Biener <rguenther@suse.de> + + * passes.c (rest_of_decl_compilation): Guard early_global_decl + call with !seen_error (). + * cgraphunit.c (symbol_table::finalize_compilation_unit): Move + early debug generation and finish... + (symbol_table::compile): ... here to put it after a !seen_error () + guard. + +2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> + + * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on + Solaris 12+. + +2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + Andre Vieira <andre.simoesdiasvieira@arm.com> + + * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB. + (*cb<optab><mode>1): Likewise. + (*tb<optab><mode>1): Likewise. + (*cb<optab><mode>1): Likewise. + * config/aarch64/iterators.md (inv_cb): New code attribute. + (inv_tb): Likewise. + * config/aarch64/aarch64.c (aarch64_gen_far_branch): New. + * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New. + +2015-08-27 Richard Biener <rguenther@suse.de> + + * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P. + +2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com> + + * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after + trap to fix ICE. + +2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com> + + * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert): + Add declaration. + + * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a + comment. + (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit + floating point in VSX registers. + (rs6000_output_move_128bit): Always print out the set insn if we + can't generate an appropriate 128-bit move. + (rs6000_generate_compare): Add support for IEEE 128-bit floating + point in VSX registers comparisons. + (rs6000_expand_float128_convert): Likewise. + + * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New + predicate for only GPR hard registers. + + * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point + modes to iterators. Add new iterators for moving 128-bit values in + scalar FPR registers and VSX registers. + (FMOVE128): Likewise. + (FMOVE128_FPR): Likewise. + (FMOVE128_GPR): Likewise. + (FMOVE128_VSX): Likewise. + (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point + in VSX registers. + (IFKF): Likewise. + (IBM128): Likewise. + (TFIFKF): Likewise. + (RELOAD): Add IEEE 128-bit floating point modes. + (signbittf2): Convert TF insns to add support for new IEEE 128-bit + floating point in VSX registers modes. + (signbit<mode>2, IBM128 iterator): Likewise. + (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise. + (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise. + (negtf2): Likewise. + (neg<mode>2, TFIFKF iterator): Likewise. + (negtf2_internal): Likewise. + (abstf2): Likewise. + (abs<mode>2, TFIFKF iterator): Likewise. + (ieee_128bit_negative_zero): New IEEE 128-bit floating point in + VSX insn support for negate, absolute value, and negative absolute + value. + (ieee_128bit_vsx_neg<mode>2): Likewise. + (ieee_128bit_vsx_neg<mode>2_internal): Likewise. + (ieee_128bit_vsx_abs<mode>2): Likewise. + (ieee_128bit_vsx_abs<mode>2_internal): Likewise. + (ieee_128bit_vsx_nabs<mode>2): Likewise. + (ieee_128bit_vsx_nabs<mode>2_internal): Likewise. + (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit + floating point in VSX registers. + (unpack<mode>_dm): Likewise. + (unpack<mode>_nodm): Likewise. + (pack<mode>): Likewise. + (unpackv1ti): Likewise. + (unpack<mode>, FMOVE128_VSX iterator): Likewise. + (packv1ti): Likewise. + (pack<mode>, FMOVE128_VSX iterator): Likewise. + (extenddftf2): Add support for IEEE 128-bit floating point in VSX + registers. + (extenddftf2_internal): Likewise. + (trunctfdf2): Likewise. + (trunctfdf2_internal2): Likewise. + (fix_trunc_helper): Likewise. + (fix_trunctfdi2"): Likewise. + (floatditf2): Likewise. + (floatuns<mode>tf2): Likewise. + (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise. + (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise. + (fix_trunc<IFKF:mode><SDI:mode>2): Likewise. + (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise. + (float<SDI:mode><IFKF:mode>2): Likewise. + (floatuns<SDI:mode><IFKF:mode>2): Likewise. + +2015-08-26 Renlin Li <renlin.li@arm.com> + + * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New. + +2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com> + Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC. + (tlsie_tiny_<mode>): New define_insn. + (tlsie_tiny_sidi): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define + SYMBOL_TINY_TLSIE. + (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support + SYMBOL_TINY_TLSIE. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (arch64_classify_tls_symbol): Likewise. + +2015-08-26 Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/arm-arches.def: Replace single value flags with + an initializer built from ARM_FSET_MAKE_CPU1. + * config/arm/arm-cores.def: Likewise. + * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1 + derivation from the ARM_CORE macro definition, use the given value + instead. + (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the + ARM_ARCH macro definition, use the given value instead. + +2015-08-26 Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a + feature set. + (struct builtin_description): Replace field mask with field + features. + (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags. + (IWMMXT2_BUILTIN): Likewise. + (IWMMXT2_BUILTIN2): Likewise. + (FP_BUILTIN): Likewise. + (CRC32_BUILTIN): Likewise. + (CRYPTO_BUILTIN): Likewise. + (iwmmx_mbuiltin): Likewise. + (iwmmx2_mbuiltin): Likewise. + (arm_init_iwmmxt_builtins): Likewise. Also, update for change to + struct builtin_description. + +2015-08-26 Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro. + (struct builtin_description): Change type of mask to unsigned + long. + * config/arm/arm-protos.h (insn_flags): Declare as type + arm_feature_set. + (tune_flags): Likewise. + * config/arm/arm.c (feature_count): New. + (insn_flags): Define as type arm_feature_set. + (tune_flags): Likewise. + (struct processors): Define field flags as type arm_feature_set. + (all_cores): Update for change to struct processors. + (all_architectures): Likewise. + (arm_option_check_internal): Use arm_feature_set and ARM_FSET + macros. + (arm_option_override_internal): Likewise. + (arm_option_override): Likewise. + +2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com> + Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default + tls size for tiny, small, large memory model. + (aarch64_load_symref_appropriately): Support new symbol types. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_tls_symbol): Likewise. + * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise. + (aarch64_symbol_type): Likewise. + * config/aarch64/aarch64.md (tlsle): Deleted. + (tlsle12_<mode>): New define_insn. + (tlsle24_<mode>): Likewise. + (tlsle32_<mode>): Likewise. + (tlsle48_<mode>): Likewise. + * doc/sourcebuild.texi (AArch64-specific attributes): Document + "aarch64_tlsle32". + +2015-08-26 Matthew Wahab <matthew.wahab@arm.com> + + * config/arm/arm-protos.h (FL_NONE): New. + (FL_ANY): New. + (arm_feature_set): New. + (ARM_FSET_MAKE): New. + (ARM_FSET_MAKE_CPU1): New. + (ARM_FSET_MAKE_CPU2): New. + (ARM_FSET_CPU1): New. + (ARM_FSET_CPU2): New. + (ARM_FSET_EMPTY): New. + (ARM_FSET_ANY): New. + (ARM_FSET_HAS_CPU1): New. + (ARM_FSET_HAS_CPU2): New. + (ARM_FSET_HAS_CPU): New. + (ARM_FSET_ADD_CPU1): New. + (ARM_FSET_ADD_CPU2): New. + (ARM_FSET_DEL_CPU1): New. + (ARM_FSET_DEL_CPU2): New. + (ARM_FSET_UNION): New. + (ARM_FSET_INTER): New. + (ARM_FSET_XOR): New. + (ARM_FSET_EXCLUDE): New. + (AFM_FSET_IS_EMPTY): New. + (ARM_FSET_CPU_SUBSET): New. + +2015-08-26 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename + SYMBOL_TLSLE to SYMBOL_TLSLE24. + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): + Likewise. + (aarch64_expand_mov_immediate): Likewise. + (aarch64_print_operand): Likewise. + (aarch64_classify_symbol): Likewise. + +2015-08-26 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64.opt (mtls-size): New entry. + * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function. + (aarch64_override_options_internal): Call initialize_aarch64_tls_size. + * doc/invoke.texi (AArch64 Options): Document -mtls-size. + +2015-08-26 Matthew Wahab <matthew.wahab@arm.com> + + * gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each + ARM_CORE entry. Fix some white-space. + * gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from + ARM_CORE definition. + +2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * fold-const.c (fold_binary_loc) : Move Optimize + root(x)*root(y) as root(x*y) to match.pd. + Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd. + Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd. + Move Optimize a/root(b/c) into a*root(c/b) to match.pd. + Move Optimize x/expN(y) into x*expN(-y) to match.pd. + * match.pd (mult (root:s @0) (root:s @1)): New simplifier. + (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier. + (mult (exps:s @0) (exps:s @1)) : New simplifier. + (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier. + (rdiv @0 (exps:s @1)) : New simplifier. + +2015-08-25 Joseph Myers <joseph@codesourcery.com> + + * gcc.c (driver::finalize): Only assign to extra_specs if + [EXTRA_SPECS]. + +2015-08-25 Marek Polacek <polacek@redhat.com> + + PR middle-end/67330 + * varasm.c (declare_weak): Return after giving an error. + +2015-08-25 David Malcolm <dmalcolm@redhat.com> + + * gcc-main.c (main): Add params to driver ctor. + * gcc.c (class env_manager): New. + (env): New global. + (env_manager::init): New. + (env_manager::get): New. + (env_manager::xput): New. + (env_manager::restore): New. + Poison getenv and putenv. + (DEFAULT_TARGET_SYSTEM_ROOT): New. + (target_system_root): Update initialization to use + DEFAULT_TARGET_SYSTEM_ROOT. + (struct spec_list): Add field "default_ptr". + (INIT_STATIC_SPEC): Initialize new field "default_ptr". + (init_spec): Likewise. + (set_spec): Clear field "default_ptr". + (read_specs): Free "spec" and "buffer". + (xputenv): Reimplement in terms of env_manager. + (process_command): Replace ::getenv calls with calls to the + env_manager singleton. + (process_brace_body): Free string in three places. + (driver::driver): New. + (driver::~driver): New. + (used_arg): Convert from a function to... + (class used_arg_t): ...this class, and... + (used_arg): ...this new global instance. + (used_arg_t::finalize): New function. + (getenv_spec_function): Add "const" to local "value". Replace + ::getenv call with call to the env_manager singleton. + (path_prefix_reset): New function. + (driver::finalize): New function. + * gcc.h (driver::driver): New. + (driver::~driver): New. + (driver::finalize): New. + +2015-08-25 Nathan Sidwell <nathan@acm.org> + + * optabs.c (emit_indirect_jump): Don't try an emit a jump if the + target doesn't have one. + +2015-08-25 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/67346 + * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch. + +2015-08-25 Segher Boessenkool <segher@kernel.crashing.org> + + PR target/67344 + * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to + a define_insn, remove second alternative. + +2015-08-25 Thomas Schwinge <thomas@codesourcery.com> + Joseph Myers <joseph@codesourcery.com> + + * gcc.c (struct switchstr): Expand comment. + +2015-08-25 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat. + (nvptx_reorg_subreg): Pass insn pattern to asm_operands. + +2015-08-25 Richard Biener <rguenther@suse.de> + + PR middle-end/67306 + * genmatch.c (expr::gen_transform): Verify the result of + builtin_decl_implicit. + (dt_simplify::gen_1): Likewise. + +2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com> + + * config/arm/constraints.md: Also list Cs and US ARM-specific + constraints as used. + +2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org> + + PR target/66609 + * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle + UNSPEC_PCREL. + (nonpic_symbol_mentioned_p): Likewise. + (sh_delegitimize_address): Likewise. + (sh_function_ok_for_sibcall): Take into account weak symbols. + (sh_expand_sym_label2reg): New. + * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare. + * config/sh/sh.md (UNSPEC_PCREL): New enum. + (call_pcrel): Use sh_expand_sym_label2reg. + (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise. + (symPCREL_label2reg) New expand. + +2015-08-24 Aditya Kumar <aditya.k7@samsung.com> + + * graphite-poly.c: Change type of region from void* to sese. + * graphite-poly.h (struct scop): Changing the type of scop::region + from void* to sese. Change accessor macro accordingly. + * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro. + +2015-08-24 Aditya Kumar <aditya.k7@samsung.com> + + * graphite-scop-detection.c (stmt_simple_for_scop_p): + Constrain only on INTEGER_TYPE. + +2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com> + + PR target/67211 + * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set + -mefficient-unaligned-vsx on ISA 2.7. + + * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert + option to a masked option. + + * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework + logic for -mefficient-unaligned-vsx so that it is set via an arch + ISA option, instead of being set if -mtune=power8 is set. Move + -mefficient-unaligned-vsx and -mallow-movmisalign handling to be + near other default option handling. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * genflags.c (gen_macro): Delete. + (gen_proto): Don't create GEN.*CALL.* macros. + * gensupport.h (get_file_location): Declare. + * gensupport.c (rtx_locs): New variable. + (read_md_rtx): Record rtx locations. + (get_file_location): New function. + * target-insns.def (call, call_pop, call_value, call_value_pop) + (sibcall, sibcall_value): New patterns. + * gentarget-def.c (parse_argument): New function. + (def_target_insn): Use it. Handle optional operands. Raise an + error if an .md pattern has the wrong number of operands for the + pattern name. Remove the names of unused operands from the prototype. + * builtins.c (expand_builtin_apply): Use targetm functions + instead of HAVE_call_value and GEN_CALL_VALUE. + * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop + and sibcall_value_pop. + * config/aarch64/aarch64.md (untyped_call): Use gen_call instead + of GEN_CALL. + * config/alpha/alpha.md (untyped_call): Likewise. + * config/iq2000/iq2000.md (untyped_call): Likewise. + * config/m68k/m68k.md (untyped_call): Likewise. + * config/mips/mips.md (untyped_call): Likewise. + * config/pa/pa.md (untyped_call): Likewise. + * config/rs6000/rs6000.md (untyped_call): Likewise. + * config/sparc/sparc.md (untyped_call): Likewise. + * config/tilegx/tilegx.md (untyped_call): Likewise. + * config/tilepro/tilepro.md (untyped_call): Likewise. + * config/visium/visium.md (untyped_call): Likewise. + * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use + gen_call_value instead of GEN_CALL_VALUE. + * config/arm/arm.md (untyped_call): Likewise. + * config/cr16/cr16.c (cr16_function_arg): Remove reference to + GEN_CALL. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete. + (have_cbranchcc4): New variable. + (cc_in_cond, noce_emit_cmove, noce_get_alt_condition) + (noce_get_condition): Use it instead of HAVE_cbranchcc4. + (if_convert): Initialize have_cbranchcc4. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * builtins.c (expand_cmpstrn): Rename to... + (expand_cmpstrn_or_cmpmem): ...this. + (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly. + (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem. + Remove mode argument. + (expand_builtin): Update accordingly. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * builtins.c (expand_cmpstr, expand_cmpstrn): New functions. + (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove + references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si. + * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2. + Add predicates for operands 0 and 3. + * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length + operand. + * config/sh/sh.md (cmpstrnsi): Change the length predicate from + immediate_operand to nonmemory_operand. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * df-scan.c (df_insn_info_init_fields): New function, split out + from... + (df_insn_create_insn_record): ...here. + (df_insn_info_free_fields): New function, split out from... + (df_insn_info_delete): ...here. + (df_insn_rescan): Use the new functions instead of freeing and + reallocating the df_insn_info. + +2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * doc/install.texi (Binaries): Remove links no longer valid. + +2015-08-24 Nathan Sidwell <nathan@codesourcery.com> + + * config/nvptx/mkoffload.c (process): Replace + GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver. + +2015-08-24 H.J. Lu <hongjiu.lu@intel.com> + + PR target/67329 + * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9. + +2015-08-24 Renlin Li <renlin.li@arm.com> + + * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare. + * config/arm/arm.c (arm_valid_symbolic_address_p): Define. + * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p. + * config/arm/constraints.md ("j"): Add check for high code. + +2015-08-24 Tom de Vries <tom@codesourcery.com> + + PR tree-optimization/65468 + * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if + chunk_size is one. + +2015-08-24 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/nvptx.c (walk_args_for_param): Revert previous + change to nvptx_type_from_mode call. Use arg_promotion for both + split and non-split args. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * target-insns.def (movstr): New pattern. + * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete. + (expand_movstr): Use targetm rather than HAVE_movstr/ + CODE_FOR_movstr. + +2015-08-24 Richard Sandiford <richard.sandiford@arm.com> + + * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix + cast syntax. + +2015-08-24 Andrew Pinski <apinski@cavium.com> + + * config/aarch64/aarch64-tuning-flags.def: Remove all index to + AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index): New enum. + (aarch64_extra_tuning_flags): Base the shifted value on the index instead + of the argument to AARCH64_EXTRA_TUNING_OPTION. + * config/aarch64/aarch64.c: Remove the last argument to + AARCH64_EXTRA_TUNING_OPTION. + +2015-08-23 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg + decls. + (nvptx_declare_function_name): Insert formatting tabs for + consistency. + +2015-08-23 Tom de Vries <tom@codesourcery.com> + + * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to + parm_decl, rather than generating a dummy default def in cfun. + * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure + ssa_name from cfun and child_fn do not share a stmt as def stmt. + (move_stmt_op): Handle PARM_DECl. + (gather_ssa_name_hash_map_from): New function. + (move_sese_region_to_fn): Add default defs for function params, and add + them to vars_map. Release copied ssa names. + * tree-cfg.h (gather_ssa_name_hash_map_from): Declare. + +2015-08-23 Tom de Vries <tom@codesourcery.com> + + * doc/sourcebuild.texi: Rename vect_no_int_max with + vect_no_int_min_max. Update description. + +2015-08-22 Andrew Pinski <apinski@cavium.com> + + * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR. + * config/aarch64/aarch64-protos.h + (aarch64_fusion_pairs_index): New enum. + (aarch64_fusion_pairs): Base the shifted value on the index instead + Rewrite AARCH64_FUSE_ALL to be based on the end index. + of the argument to AARCH64_FUSION_PAIR. + * config/aarch64/aarch64.c: Remove the last argument to + AARCH64_FUSION_PAIR. + +2015-08-22 Mikhail Maltsev <maltsevm@gmail.com> + + * dominance.c (new_zero_array): Define. + (dom_info): Redefine as class with proper encapsulation. + (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block): + Add new members. + (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory + allocations/deallocations. Pass function as parameter (instead of + using cfun). + (dom_info::get_idom): Define accessor method. + (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval, + link_roots, calc_idoms): Redefine as class members. Do not use cfun. + (calculate_dominance_info): Adjust to use dom_info class. + (verify_dominators): Likewise. + +2015-08-21 Alexandre Oliva <aoliva@redhat.com> + + * print-rtl.c (print_rtx): Check the correct range for + flag_dump_unnumbered_links to behave as documented. + + PR rtl-optimization/67227 + PR rtl-optimization/64164 + * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better. + (nonoverlapping_memrefs_p): Test offsets and sizes when given + identical gimple_reg exprs. + +2015-08-21 Nathan Sidwell <nathan@acm.org> + + * config/nvptx/nvptx.md (allocate_stack): Emit sorry during + expansion. + * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at + crtl->stack_alignment_needed to determine alignment. + (nvptx_get_drap_rtx): New. + (TARGET_GET_DRAP_RTX): Override. + * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set. + +2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*. + +2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> + + * configure.ac: Remove uwin* cases. + * config.build: Remove cases for i370-*-opened*, i370-*-mvs*, + i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*, + i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*, + i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta. + * config.host: Remove cases for i370-*-opened*, i370-*-mvs*, + i[34567]86-*-uwin*, powerpc-*-beos*. + +2015-08-21 Richard Sandiford <richard.sandiford@arm.com> + + * gencodes.c (gencodes): Print the comma for the preceding + enum value rather than the current one. Use aliased enum values + rather than #defines for compiled-out patterns. + (main): Update accordingly. Replace LAST_INSN_CODE with + NUM_INSN_CODES. + * lra.c (insn_code_data): Update accordingly. + (finish_insn_code_data_once, get_static_insn_data): Likewise. + * recog.h (target_recog): Likewise. + (preprocess_insn_constraints): Change parameter to unsigned int. + * recog.c (preprocess_insn_constraints): Likewise. + (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES. + * tree-vect-stmts.c (vectorizable_operation): Simplify. + +2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de> + + PR rtl-optimization/61657 + * loop-iv.c (iv_number_of_iterations): Declare up and down as + unsigned. Remove superflous uint64_t cast. + +2014-08-21 Felix Yang <felix.yang@huawei.com> + Jiji Jiang <jiangjiji@huawei.com> + + * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL argument + and get builtin function code directly from CALL. + (gimple_stringop_fixed_value): Modified accordingly. + (gimple_stringops_transform, gimple_stringops_values_to_profile): Modified + accordingly and only accept BUILT_IN_NORMAL string operations. + +2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com> + + * config/s390/s390-builtins.def: Fix value range of vec_load_bndry. + +2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com> + + * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x + to match.pd. + Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd. + Move Optimize tan(x)*cos(x) as sin(x) to match.pd. + Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd. + Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd. + Move Optimize sin(x)/cos(x) as tan(x) to match.pd. + Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd. + Move Optimize sin(x)/tan(x) as cos(x) to match.pd. + Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd. + Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd. + Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd. + + * match.pd (SIN ) : New Operator. + (TAN) : New Operator. + (mult (SQRT@1 @0) @1) : New simplifier. + (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier. + (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. + (mult:c (TAN:s @0) (COS:s @0)) : New simplifier. + (rdiv (SIN:s @0) (COS:s @0)) : New simplifier. + (rdiv (COS:s @0) (SIN:s @0)) : New simplifier. + (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier. + (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier. + (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier. + (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier. + (rdiv @0 (POW:s @1 @2)) : New simplifier. + +2015-08-21 Bin Cheng <bin.cheng@arm.com> + + * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break + loop if EXPR is simplified to const value. + +2015-08-21 Yury Gribov <y.gribov@samsung.com> + + * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG, + BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types. + +2015-08-21 Richard Biener <rguenther@suse.de> + + PR middle-end/67285 + * gimple-fold.c (replace_stmt_with_simplification): Assert + seq is empty when replacing a call with itself but different + arguments. + * gimple-match-head.c (maybe_push_res_to_seq): When pushing + a call require that it is const. + +2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * defaults.h (CONSTANT_ALIGNMENT): New macro definition. + * builtins.c (get_object_alignment_2): Adjust. + * varasm.c (align_variable): Likewise. + (get_variable_align): Likewise. + (build_constant_desc): Likewise. + (force_const_mem): Likewise. + * doc/tm.texi.in: Likewise. + * doc/tm.texi: Regenerate. + +2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * genconfig.c (main): Always define HAVE_cc0. + * recog.c (rest_of_handle_peephole2): Adjust. + +2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * reorg.c (relax_delay_slots): Don't use #if to check value of + HAVE_cc0. + +2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org> + + * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION. + * targhooks.c (default_have_conditional_execution): Adjust. + +2015-08-20 Richard Sandiford <richard.sandiford@arm.com> + + * rtl.h (rtvec_all_equal_p): Declare. + (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions. + * rtl.c (rtvec_all_equal_p): New function. + * expmed.c (expand_mult): Use unwrap_const_vec_duplicate. + * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p) + (aarch64_simd_dup_constant): Use const_vec_duplicate_p. + * config/arm/arm.c (neon_vdup_constant): Likewise. + * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise. + * config/tilegx/constraints.md (W, Y): Likewise. + * config/tilepro/constraints.md (W, Y): Likewise. + * config/spu/spu.c (spu_legitimate_constant_p): Likewise. + (classify_immediate): Use unwrap_const_vec_duplicate. + * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise. + (reg_or_v2s8bit_operand): Likewise. + * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise. + (reg_or_v4s8bit_operand): Likewise. + +2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> + + * config/rs6000/altivec.h (vec_pmsum_be): New #define. + (vec_shasigma_be): New #define. + * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2. + (VPMSUMH): Likewise. + (VPMSUMW): Likewise. + (VPMSUMD): Likewise. + (VPMSUM): New BU_P8V_OVERLOAD_2. + * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New + entries for VEC_MADD and VEC_VPMSUM. + +2015-08-20 Georg-Johann Lay <avr@gjlay.de> + + * config/avr/avr.c (avr_insert_attributes): In diagnostic essage: + Multiply argument avr_n_flash by 64 to match unit of "KiB". + (avr_pgm_check_var_decl): Same. + +2015-08-20 Alan Lawrence <alan.lawrence@arm.com> + + * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move + initialization of HFmode scalar type (float16_t) to... + (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization + code. + + (arm_init_builtins): Call arm_init_fp16_builtins earlier and always. + + * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on + having an -mfp16-format. + +2015-08-20 Richard Sandiford <richard.sandiford@arm.com> + + * config/i386/predicates.md (vector_all_ones_operand): Use + CONSTM1_RTX to simplify definition. + +2015-08-20 Richard Biener <rguenther@suse.de> + + * toplev.c (compile_file): Remove loop calling late_global_decl + on all symbols. + * varpool.c (varpool_node::assemble_decl): Call late_global_decl + on decls we assembled. + +2015-08-20 James Greenhalgh <james.greenhalgh@arm.com> + + * common/config/aarch64/aarch64-common.c + (AARCH64_CPU_NAME_LENGTH): Delete. + (aarch64_option_extension): New. + (all_extensions): Likewise. + (processor_name_to_arch): Likewise. + (arch_to_arch_name): Likewise. + (all_cores): New. + (all_architectures): Likewise. + (aarch64_get_extension_string_for_isa_flags): Likewise. + (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to + architecture names. + * config/aarch64/aarch64-protos.h + (aarch64_get_extension_string_for_isa_flags): New. + * config/aarch64/aarch64.c (aarch64_print_extension): Delete. + (aarch64_option_print): Get the string to print from + aarch64_get_extension_string_for_isa_flags. + (aarch64_declare_function_name): Likewise. + * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to... + (MCPU_TO_MARCH_SPEC): This. + (ASM_CPU_SPEC): Use it. + (BIG_LITTLE_SPEC_FUNCTIONS): Rename to... + (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This. + (EXTRA_SPEC_FUNCTIONS): Use it. + +2015-08-20 Simon Dardis <simon.dardis@imgtec.com> + + * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy + expansion when !ISA_HAS_LWL_LWR. + (mips_block_move_straight): Update the size of elements copied to + account for alignment when !ISA_HAS_LWL_LWR. + * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro. + +2015-08-19 Jiong Wang <jiong.wang@arm.com> + + * expr.c (expand_expr_real_2): Check gimple statement during + LSHIFT_EXPR expand. + +2015-08-19 Magnus Granberg <zorry@gentoo.org> + + * common.opt (fstack-protector): Initialize to -1. + (fstack-protector-all): Likewise. + (fstack-protector-strong): Likewise. + (fstack-protector-explicit): Likewise. + * configure.ac: Add --enable-default-ssp. + * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong. + * opts.c (finish_options): Update opts->x_flag_stack_protect if it is + -1. + * doc/install.texi: Document --enable-default-ssp. + * config.in: Regenerated. + * configure: Likewise. + +2015-08-19 Alexandre Oliva <aoliva@redhat.com> + + PR rtl-optimization/64164 + * cfgexpand.c (parm_maybe_byref_p): Renamed to... + (parm_in_stack_slot_p): ... this. Disregard mode, what + matters is whether the parm will live in a pseudo or a stack + slot. + (expand_one_ssa_partition): Deal with params without a default + def. Disregard mode. + * cfgexpand.h: Renamed function declaration. + * tree-ssa-coalesce.c: Adjust. + * function.c (split_complex_args): Allocate stack slot for + unassigned parms before splitting. + (parm_in_unassigned_mem_p): New. Use it instead of + parm_maybe_byref_p throughout this file. + (assign_parm_setup_block): Use it. Accept pseudos in the + expand-assigned rtl. + (assign_parm_setup_reg): Drop BLKmode requirement. + (assign_parm_setup_stack): Allocate and fill in the address of + unassigned MEM parms. + +2015-08-19 David Sherwood <david.sherwood@arm.com> + + * genmodes.c (emit_mode_unit_size_inline): New function. + (emit_mode_unit_precision_inline): New function. + (emit_insn_modes_h): Emit new #define. Emit new functions. + (emit_mode_unit_size): New function. + (emit_mode_unit_precision): New function. + (emit_mode_adjustments): Add mode_unit_size adjustments. + (emit_insn_modes_c): Emit new arrays. + * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to + use new inline methods. + +2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64.c (bit_count): Delete prototype + and definition. + (aarch64_print_operand): Use popcount_hwi instead of the above. + +2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/aarch64/aarch64-option-extensions.def: Delete obsolete + comment. + +2015-08-19 Marek Polacek <polacek@redhat.com> + + PR middle-end/67133 + * gimple-ssa-isolate-paths.c + (insert_trap_and_remove_trailing_statements): Rename to ... + (insert_trap): ... this. Don't remove trailing statements; split + block instead. + (find_explicit_erroneous_behaviour): Don't remove all outgoing edges. + +2015-08-19 Mikael Morin <mikael@gcc.gnu.org> + + PR other/67042 + * hwint.h (sext_hwi): Switch to unsigned for the left shift, and + conditionalize the whole on __GNUC__. Add fallback code + depending neither on undefined nor implementation-defined behaviour. + +2015-08-19 Jiong Wang <jiong.wang@arm.com> + + * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace + whitespaces with tab. + +2015-08-19 Florian Weimer <fweimer@redhat.com> + + * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context): + Move Name_Id_Set instantiation to the Prj package, to avoid trampolines. + * prj-proc.adb (Process.Process_Expression_Variable_Decl): + Move Name_Ids instantiation to the Prj.Proc package, to avoid + trampolines. + +2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> + + * config/arm/arm.c (bounds_check): Use %wd print format + for HOST_WIDE_INT arguments. + +2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org> + + * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c, + dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h, + mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c, + signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c, + tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c, + tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c, + tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c, + tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c, + tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless + typedefs. + 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org> * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c, @@ -710,8 +2173,8 @@ * configure.ac: Define LIBICONV_DEP with in-tree libiconv. * configure: Regenerate. -2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> - Jiong Wang <jiong.wang@arm.com> +2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> + Jiong Wang <jiong.wang@arm.com> * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern. * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0. |