summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog1719
1 files changed, 1660 insertions, 59 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 92a8651c562..a238cac62a6 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,8 +1,1625 @@
+2013-12-13 Kenneth Zadeck <zadeck@naturalbridge.com>
+
+ * config/arc/arc.h (BITS_PER_UNIT): Removed.
+ * config/bfin/bfin.h (BITS_PER_UNIT): Removed.
+ * config/lm32/lm32.h (BITS_PER_UNIT): Removed.
+ * config/m32c/m32c.h (BITS_PER_UNIT): Removed.
+ * config/microblaze/microblaze.h (BITS_PER_UNIT): Removed.
+ * config/picochip/picochip.h (BITS_PER_UNIT): Removed.
+ * config/spu/spu.h (BITS_PER_UNIT): Removed.
+ * defaults.h (BITS_PER_UNIT): Removed.
+ * config/i386/i386-modes.def (MAX_BITSIZE_MODE_ANY_INT): New.
+ * doc/rtl (BITS_PER_UNIT): Moved from tm.texi.
+ (MAX_BITSIZE_MODE_ANY_INT): Updated.
+ * doc/tm.texi (BITS_PER_UNIT): Removed.
+ * doc/tm.texi.in (BITS_PER_UNIT): Removed.
+ * genmodes.c (bits_per_unit, max_bitsize_mode_any_int): New.
+ (create_modes): Added code to set bits_per_unit and
+ max_bitsize_mode_any_int.
+ (emit_max_int): Changed code generation.
+ * mkconfig.sh: Added insn-modes.h.
+
+2013-12-13 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/45685
+ * tree-ssa-phiopt.c (neg_replacement): New function.
+ (tree_ssa_phiopt_worker): Call it.
+
+2013-12-13 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ * config/i386/i386.c (slm_cost): Fix imul cost for HI.
+
+2013-12-13 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/58296
+ PR tree-optimization/41488
+ * tree-scalar-evolution.c: Include necessary header files.
+ (simplify_peeled_chrec): New function.
+ (analyze_evolution_in_loop): New static variable.
+ Call simplify_peeled_chrec.
+ * tree-ssa-loop-ivopts.c (mark_bivs): Don't mark peeled IV as biv.
+ (add_old_iv_candidates): Don't add candidate for peeled IV.
+ * tree-affine.h (aff_combination_zero_p): New function.
+
+2013-12-13 Nick Clifton <nickc@redhat.com>
+
+ * config/msp430/msp430.c (is_wakeup_func): New function. Returns
+ true if the current function has the wakeup attribute.
+ (msp430_start_function): Note if the function has the wakeup
+ attribute.
+ (msp430_attribute_table): Add wakeup attribute.
+ (msp430_expand_epilogue): Add support for wakeup functions.
+ * config/msp430/msp430.md (disable_interrupts): Emit a NOP after
+ the DINT instruction.
+ * doc/extend.texi: Document the wakeup attribute.
+
+2013-12-13 Kai Tietz <kitetz@redhat.com>
+
+ PR c++/57897
+ * config/i386/i386.c (ix86_option_override_internal): Set for
+ x64 target flag_unwind_tables, if flag_asynchronous_unwind_tables
+ was explicit set.
+
+2013-12-12 Jeff Law <law@redhat.com>
+
+ * i386.md (simple LEA peephole2): Add missing mode to zero_extend
+ for zero-extended MULT simple LEA pattern.
+
+2013-12-12 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR middle-end/59470
+ * lra-coalesce.c (lra_coalesce): Invalidate inheritance pseudo
+ values if necessary.
+
+2013-12-12 Jakub Jelinek <jakub@redhat.com>
+
+ PR libgomp/59467
+ * gimplify.c (omp_check_private): Add copyprivate argument, if it
+ is true, don't check omp_privatize_by_reference.
+ (gimplify_scan_omp_clauses): For OMP_CLAUSE_COPYPRIVATE verify
+ decl is private in outer context. Adjust omp_check_private caller.
+
+2013-12-11 Jeff Law <law@redhat.com>
+
+ PR rtl-optimization/59446
+ * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
+ test for crossing a loop header.
+
+2013-12-11 Sriraman Tallam <tmsriram@google.com>
+
+ PR target/59390
+ * config/i386/i386.c (get_builtin): New function.
+ (ix86_builtin_vectorized_function): Replace all instances of
+ ix86_builtins[...] with get_builtin(...).
+ (ix86_builtin_reciprocal): Ditto.
+
+2013-12-11 Balaji V. Iyer <balaji.v.iyer@intel.com>
+
+ * langhooks.h (lang_hooks_for_decls): Remove lang_hooks_for_cilkplus.
+ (lang_hooks_for_cilkplus): Remove.
+ * langhooks.c (lhd_cilk_detect_spawn): Likewise.
+ (lhd_install_body_with_frame_cleanup): Likewise.
+ * langhooks-def.h (LANG_HOOKS_CILKPLUS_FRAME_CLEANUP): Likewise.
+ (LANG_HOOKS_CILKPLUS_DETECT_SPAWN_AND_UNWRAP): Likewise.
+ (LANG_HOOKS_CILKPLUS_CILKPLUS_GIMPLIFY_SPAWN): Likewise.
+ (LANG_HOOKS_CILKPLUS): Likewise.
+ (LANG_HOOKS_DECLS): Remove LANG_HOOKS_CILKPLUS.
+ * gimplify.c (gimplify_expr): Removed CILK_SPAWN_STMT case.
+ (gimplify_modify_expr): Removed handling of _Cilk_spawn in expr.
+ (gimplify_call_expr): Likewise.
+
+2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * expr.c (expand_assignment): Remove dependency on
+ flag_strict_volatile_bitfields. Always set the memory
+ access mode.
+ (expand_expr_real_1): Likewise.
+
+2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ PR middle-end/59134
+ * expmed.c (store_bit_field): Use narrow_bit_field_mem and
+ store_fixed_bit_field_1 for -fstrict-volatile-bitfields.
+ (store_fixed_bit_field): Split up. Call store_fixed_bit_field_1
+ to do the real work.
+ (store_fixed_bit_field_1): New function.
+ (store_split_bit_field): Limit the unit size to the memory mode size,
+ to prevent recursion.
+
+2013-12-11 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ Sandra Loosemore <sandra@codesourcery.com>
+
+ PR middle-end/23623
+ PR middle-end/48784
+ PR middle-end/56341
+ PR middle-end/56997
+ * expmed.c (strict_volatile_bitfield_p): Add bitregion_start
+ and bitregion_end parameters. Test for compliance with C++
+ memory model.
+ (store_bit_field): Adjust call to strict_volatile_bitfield_p.
+ Add fallback logic for cases where -fstrict-volatile-bitfields
+ is supposed to apply, but cannot.
+ (extract_bit_field): Likewise. Use narrow_bit_field_mem and
+ extract_fixed_bit_field_1 to do the extraction.
+ (extract_fixed_bit_field): Revert to previous mode selection algorithm.
+ Call extract_fixed_bit_field_1 to do the real work.
+ (extract_fixed_bit_field_1): New function.
+
+2013-12-11 Sandra Loosemore <sandra@codesourcery.com>
+
+ PR middle-end/23623
+ PR middle-end/48784
+ PR middle-end/56341
+ PR middle-end/56997
+ * expmed.c (strict_volatile_bitfield_p): New function.
+ (store_bit_field_1): Don't special-case strict volatile
+ bitfields here.
+ (store_bit_field): Handle strict volatile bitfields here instead.
+ (store_fixed_bit_field): Don't special-case strict volatile
+ bitfields here.
+ (extract_bit_field_1): Don't special-case strict volatile
+ bitfields here.
+ (extract_bit_field): Handle strict volatile bitfields here instead.
+ (extract_fixed_bit_field): Don't special-case strict volatile
+ bitfields here. Simplify surrounding code to resemble that in
+ store_fixed_bit_field.
+ * doc/invoke.texi (Code Gen Options): Update
+ -fstrict-volatile-bitfields description.
+
+2013-12-11 Kugan Vivekanandarajah <kuganv@linaro.org>
+
+ * configure.ac: Add check for aarch64 assembler -mabi support.
+ * configure: Regenerate.
+ * config.in: Regenerate.
+ * config/aarch64/aarch64-elf.h (ASM_MABI_SPEC): New define.
+ (ASM_SPEC): Update to substitute -mabi with ASM_MABI_SPEC.
+ * config/aarch64/aarch64.h (aarch64_override_options): Issue error
+ if assembler does not support -mabi and option ilp32 is selected.
+ * doc/install.texi: Added note that building gcc 4.9 and after
+ with pre 2.24 binutils will not support -mabi=ilp32.
+
+2013-12-11 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/59399
+ * expr.c (expand_expr_real_1): Remove assert dealing with
+ internal calls and turn that into a condition instead.
+
+2013-12-11 Yvan Roux <yvan.roux@linaro.org>
+
+ * config/arm/arm.opt (mlra): Enable LRA by default.
+
+2013-12-11 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/59417
+ * tree-ssa-copy.c (fini_copy_prop): If copy_of[i].value is defined
+ in a different bb rhan var, only duplicate points-to info and
+ not alignment info and don't duplicate range info.
+ * tree-ssa-loop-niter.c (determine_value_range): Instead of
+ assertion failure handle inconsistencies in range info by only
+ using var's range info and not PHI result range infos.
+
+ PR tree-optimization/59386
+ * tree-inline.c (remap_gimple_stmt): If not id->do_not_unshare,
+ unshare_expr (id->retval) before passing it to gimple_build_assign.
+
+2013-12-11 Bin Cheng <bin.cheng@arm.com>
+
+ Reverted:
+ 2013-12-10 Bin Cheng <bin.cheng@arm.com>
+ PR tree-optimization/41488
+ * tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
+ for PEELED_CHREC kind IV.
+ * tree-scalar-evolution.c: Include necessary header files.
+ (peeled_chrec_map, simplify_peeled_chrec): New.
+ (analyze_evolution_in_loop): New static variable.
+ Call simplify_peeled_chrec.
+ (scev_initialize): Initialize peeled_chrec_map.
+ (scev_reset, scev_finalize): Reset and release peeled_chrec_map.
+
+2013-12-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR target/59458
+ * config/i386/i386.md (*movsf_internal): Set mode to SI for
+ alternative 13.
+
+2013-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR rtl-optimization/58295
+ * simplify-rtx.c (simplify_truncation): Restrict the distribution for
+ WORD_REGISTER_OPERATIONS targets.
+
+2013-12-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * genrecog.c (validate_pattern): Treat all messages except missing
+ modes as errors.
+ * config/epiphany/epiphany.md: Remove constraints from
+ define_peephole2s.
+ * config/h8300/h8300.md: Remove constraints from define_splits.
+ * config/msp430/msp430.md: Likewise.
+ * config/mcore/mcore.md (movdi_i, movsf_i, movdf_k): Use
+ nonimmediate_operand rather than general_operand for operand 0.
+ * config/moxie/moxie.md (*movsi, *movqi, *movhi): Likewise.
+ * config/pdp11/predicates.md (float_operand, float_nonimm_operand):
+ Use match_operator rather than match_test to invoke general_operand.
+ * config/v850/v850.md (*movqi_internal, *movhi_internal)
+ (*movsi_internal_v850e, *movsi_internal, *movsf_internal): Likewise.
+
+2013-12-10 Richard Sandiford <rdsandiford@googlemail.com>
+
+ * config/tilegx/tilegx.md (insn_ld_add<bitsuffix>): Use
+ register_operand rather than pointer_operand. Add modes to the
+ operands.
+ (insn_ldna_add<bitsuffix>): Likewise.
+ (insn_ld<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
+ (insn_ldnt_add<bitsuffix>): Likewise.
+ (insn_ldnt<I124MODE:n><s>_add<I48MODE:bitsuffix>): Likewise.
+ (insn_ld_add_L2<bitsuffix>): Likewise.
+ (insn_ldna_add_L2<bitsuffix>): Likewise.
+ (insn_ld<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
+ (insn_ldnt_add_L2<bitsuffix>): Likewise.
+ (insn_ldnt<I124MODE:n><s>_add_L2<I48MODE:bitsuffix>): Likewise.
+ (insn_ld_add_miss<bitsuffix>): Likewise.
+ (insn_ldna_add_miss<bitsuffix>): Likewise.
+ (insn_ld<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
+ (insn_ldnt_add_miss<bitsuffix>): Likewise.
+ (insn_ldnt<I124MODE:n><s>_add_miss<I48MODE:bitsuffix>): Likewise.
+ (insn_st_add<bitsuffix>): Likewise.
+ (insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
+ (*insn_st<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
+ (insn_stnt_add<bitsuffix>): Likewise.
+ (insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
+ (*insn_stnt<I124MODE:n>_add<I48MODE:bitsuffix>): Likewise.
+ (vec_pack_<pack_optab>_v4hi): Use register_operand rather than
+ reg_or_0_operand for operand 0.
+ (insn_v2<pack_insn>): Likewise.
+ (vec_pack_hipart_v4hi): Likewise.
+ (insn_v2packh): Likewise.
+ (vec_pack_ssat_v2si): Likewise.
+ (insn_v4packsc): Likewise.
+
+2013-12-10 H.J. Lu <hongjiu.lu@intel.com>
+
+ * basic-block.h (gcov_working_set_t): Put back typedef.
+ * gcov-io.h (gcov_bucket_type): Likewise.
+ (gcov_working_set_info, gcov_working_set_t): Likewise.
+
+2013-12-10 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * cgraph.h (cgraph_node_set_iterator, varpool_node_set_iterator):
+ Remove typedef.
+ (cgraph_inline_failed_enum, cgraph_inline_failed_t): Remove typedef and
+ rename to cgraph_inline_failed_t.
+ * tree-ssa-alias.h (ao_ref_s, ao_ref): Remove typedef and rename
+ to ao_ref.
+ * reload.h (reg_equivs_s, reg_equivs_t): Remove typedef and rename
+ to reg_equivs_t.
+ * conditions.h (CC_STATUS): Remove typedef.
+ * bitmap.h (bitmap_obstack): Remove typedef.
+ (bitmap_element_def, bitmap_element): Remove typedef and rename to
+ bitmap_element.
+ (bitmap_head_def, bitmap_head): Remove typedef and rename to
+ bitmap_head.
+ (bitmap_iterator): Remove typedef.
+ * target.h (cumulative_args_t, print_switch_type,
+ secondary_reload_info): Remove typedef.
+ * dwarf2out.h (dw_cfi_oprnd_struct, dw_cfi_oprnd): Remove
+ dw_cfi_oprnd_struct alias.
+ (dw_cfi_struct, dw_cfi_node): Remove typedef and rename to dw_cfi_node.
+ (dw_fde_struct, dw_fde_node): Remove typedef and rename to dw_fde_node.
+ (cfa_loc, dw_cfa_location): Remove typedef and rename to
+ dw_cfa_location.
+ (dw_vec_struct, dw_vec_const): Remove typedef and rename to
+ dw_vec_const.
+ (dw_val_struct, dw_val_node): Remove typedef and rename to dw_val_node.
+ (dw_loc_descr_struct, dw_loc_descr_node): Remove typedef and rename to
+ dw_loc_descr_node.
+ * params.h (param_info, compiler_param): Remove typedef.
+ * opts.h (cl_deferred_param): Remove typedef.
+ * sreal.h (sreal): Remove typedef.
+ * ddg.h (dep_type, dep_data_type): Remove typedef.
+ * graphite-clast-to-gimple.h (cloog_prog_clast, bb_pbb_def): Remove
+ typedef.
+ * lto-streamer.h (lto_decl_stream_e_t, lto_encoder_entry,
+ lto_symtab_encoder_iterator, res_pair): Remove typedef.
+ * tree-affine.h (affine_tree_combination, aff_tree): Remove typedef
+ and rename to aff_tree.
+ * sched-int.h (region): Remove typedef.
+ * diagnostic.h (diagnostic_info,
+ diagnostic_classification_change_t): Remove typedef.
+ * tree-ssa-loop.h (affine_iv_d): Remove typedef and rename to
+ affine_iv.
+ * sbitmap.h (sbitmap_iterator): Remove typedef.
+ * ssa-iterators.h (immediate_use_iterator_d, imm_use_iterator):
+ Remove typedef and rename to imm_use_iterator.
+ (ssa_operand_iterator_d, ssa_op_iter): Remove typedef and rename to
+ ssa_op_iter.
+ * ggc-internal.h (ggc_statistics): Remove typedef.
+ * cselib.h (cselib_val_struct, cselib_val): Remove typedef and
+ rename to cselib_val.
+ * tree-core.h (alias_pair): Remove typedef.
+ (constructor_elt_d, constructor_elt): Remove typedef and rename to
+ constructor_elt.
+ (ssa_use_operand_d, ssa_use_operand_t): Remove typedef and rename to
+ ssa_use_operand_t.
+ * graphite-sese-to-poly.h (base_alias_pair): Remove typedef.
+ * tree-data-ref.h (conflict_function): Remove typedef.
+ * tree-inline.h (copy_body_data): Remove typedef.
+ * ipa-inline.h (condition, size_time_entry, inline_param_summary_t,
+ edge_growth_cache_entry): Remove typedef.
+ * regrename.h (operand_rr_info, insn_rr_info): Remove typedef.
+ * gimple-iterator.h (gimple_stmt_iterator_d, gimple_stmt_iterator):
+ Remove typedef and rename to gimple_stmt_iterator.
+ * basic-block.h (ce_if_block, ce_if_block_t): Remove typedef and
+ rename to ce_if_block.
+ (edge_iterator): Remove typedef.
+ * ipa-prop.h (ipa_agg_jf_item, ipa_agg_jf_item_t): Remove typedef
+ and rename to ipa_agg_jf_item.
+ (ipa_agg_jump_function_t, ipa_param_descriptor_t, ipa_node_params_t,
+ ipa_parm_adjustment_t): Remove typedef.
+ (ipa_jump_func, ipa_jump_func_t): Remove typedef and rename to
+ ipa_jump_func.
+ (ipa_edge_args, ipa_edge_args_t): Remove typedef and rename to
+ ipa_edge_args.
+ * gcov-io.h (gcov_bucket_type): Remove typedef.
+ (gcov_working_set_info, gcov_working_set_t): Remove typedef and rename
+ to gcov_working_set_t.
+ * ira-int.h (minmax_set_iterator, ira_allocno_iterator,
+ ira_object_iterator, ira_allocno_object_iterator, ira_pref_iterator,
+ ira_copy_iterator, ira_object_conflict_iterator): Remove typedef.
+ * tree-iterator.h (tree_stmt_iterator): Remove typedef.
+ * rtl.h (addr_diff_vec_flags, mem_attrs, reg_attrs,
+ replace_label_data): Remove typedef.
+ (rtunion_def, rtunion): Remove typedef and rename to rtunion.
+ * hard-reg-set.h (hard_reg_set_iterator): Remove typedef.
+ * sel-sched-ir.h (_list_iterator, sel_global_bb_info_def,
+ sel_region_bb_info_def, succ_iterator): Remove typedef.
+ (deps_where_def, deps_where_t): Remove typedef and rename to
+ deps_where_t.
+ * coretypes.h: Adapt forward declarations.
+ * tree-scalar-evolution.h: Likewise.
+ * tree-ssa-address.h: Likewise.
+ * tree-ssa-operands.h: Likewise.
+ * function.h: Likewise.
+ * config/frv/frv-protos.h: Likewise.
+ * targhooks.h: Likewise.
+ * basic_block.h: Likewise.
+ * rtl.def: Adapt documentation.
+ * doc/tm.texi: Likewise.
+ * ipa-cp.c: Adapt uses.
+ * bitmap.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * target.def: Likewise.
+ * ipa-inline-analysis.c: Likewise.
+ * dwarf2cfi.c: Likewise.
+ * tree-ssa-loop-ivopts.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * config/frv/frv.c: Likewise.
+ * ifcvt.c: Likewise.
+ * ipa-prop.c: Likewise.
+
+2013-12-10 Kai Tietz <ktietz@redhat.com>
+
+ PR target/56807
+ * config/i386/i386.c (ix86_expand_prologue): Address saved
+ registers stack-relative, not via frame-pointer.
+
+2013-12-10 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/38474
+ * tree-ssa-structalias.c (solution_set_expand): Expand into
+ a different possibly cached bitmap and return the result.
+ (set_union_with_increment): Pass in a shared expanded bitmap
+ and adjust.
+ (do_sd_constraint): Likewise.
+ (do_ds_constraint): Likewise.
+ (do_complex_constraint): Likewise.
+ (solve_graph): Manage the shared expanded bitmap.
+
+2013-12-10 Jakub Jelinek <jakub@redhat.com>
+
+ * tree-vectorizer.h (struct _loop_vec_info): Add scalar_loop field.
+ (LOOP_VINFO_SCALAR_LOOP): Define.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
+ * config/i386/sse.md (maskload<mode>, maskstore<mode>): New expanders.
+ * tree-data-ref.c (get_references_in_stmt): Handle MASK_LOAD and
+ MASK_STORE.
+ * internal-fn.def (LOOP_VECTORIZED, MASK_LOAD, MASK_STORE): New
+ internal fns.
+ * tree-if-conv.c: Include expr.h, optabs.h, tree-ssa-loop-ivopts.h and
+ tree-ssa-address.h.
+ (release_bb_predicate): New function.
+ (free_bb_predicate): Use it.
+ (reset_bb_predicate): Likewise. Don't unallocate bb->aux
+ just to immediately allocate it again.
+ (add_to_predicate_list): Add loop argument. If basic blocks that
+ dominate loop->latch don't insert any predicate.
+ (add_to_dst_predicate_list): Adjust caller.
+ (if_convertible_phi_p): Add any_mask_load_store argument, if true,
+ handle it like flag_tree_loop_if_convert_stores.
+ (insert_gimplified_predicates): Likewise.
+ (ifcvt_can_use_mask_load_store): New function.
+ (if_convertible_gimple_assign_stmt_p): Add any_mask_load_store
+ argument, check if some conditional loads or stores can't be
+ converted into MASK_LOAD or MASK_STORE.
+ (if_convertible_stmt_p): Add any_mask_load_store argument,
+ pass it down to if_convertible_gimple_assign_stmt_p.
+ (predicate_bbs): Don't return bool, only check if the last stmt
+ of a basic block is GIMPLE_COND and handle that. Adjust
+ add_to_predicate_list caller.
+ (if_convertible_loop_p_1): Only call predicate_bbs if
+ flag_tree_loop_if_convert_stores and free_bb_predicate in that case
+ afterwards, check gimple_code of stmts here. Replace is_predicated
+ check with dominance check. Add any_mask_load_store argument,
+ pass it down to if_convertible_stmt_p and if_convertible_phi_p,
+ call if_convertible_phi_p only after all if_convertible_stmt_p
+ calls.
+ (if_convertible_loop_p): Add any_mask_load_store argument,
+ pass it down to if_convertible_loop_p_1.
+ (predicate_mem_writes): Emit MASK_LOAD and/or MASK_STORE calls.
+ (combine_blocks): Add any_mask_load_store argument, pass
+ it down to insert_gimplified_predicates and call predicate_mem_writes
+ if it is set. Call predicate_bbs.
+ (version_loop_for_if_conversion): New function.
+ (tree_if_conversion): Adjust if_convertible_loop_p and combine_blocks
+ calls. Return todo flags instead of bool, call
+ version_loop_for_if_conversion if if-conversion should be just
+ for the vectorized loops and nothing else.
+ (main_tree_if_conversion): Adjust caller. Don't call
+ tree_if_conversion for dont_vectorize loops if if-conversion
+ isn't explicitly enabled.
+ * tree-vect-data-refs.c (vect_check_gather): Handle
+ MASK_LOAD/MASK_STORE.
+ (vect_analyze_data_refs, vect_supportable_dr_alignment): Likewise.
+ * gimple.h (gimple_expr_type): Handle MASK_STORE.
+ * internal-fn.c (expand_LOOP_VECTORIZED, expand_MASK_LOAD,
+ expand_MASK_STORE): New functions.
+ * tree-vectorizer.c: Include tree-cfg.h and gimple-fold.h.
+ (vect_loop_vectorized_call, fold_loop_vectorized_call): New functions.
+ (vectorize_loops): Don't try to vectorize loops with
+ loop->dont_vectorize set. Set LOOP_VINFO_SCALAR_LOOP for if-converted
+ loops, fold LOOP_VECTORIZED internal call depending on if loop
+ has been vectorized or not.
+ * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
+ New function.
+ (slpeel_tree_duplicate_loop_to_edge_cfg): Add scalar_loop argument.
+ If non-NULL, copy basic blocks from scalar_loop instead of loop, but
+ still to loop's entry or exit edge.
+ (slpeel_tree_peel_loop_to_edge): Add scalar_loop argument, pass it
+ down to slpeel_tree_duplicate_loop_to_edge_cfg.
+ (vect_do_peeling_for_loop_bound, vect_do_peeling_for_loop_alignment):
+ Adjust callers.
+ (vect_loop_versioning): If LOOP_VINFO_SCALAR_LOOP, perform loop
+ versioning from that loop instead of LOOP_VINFO_LOOP, move it to the
+ right place in the CFG afterwards.
+ * tree-vect-loop.c (vect_determine_vectorization_factor): Handle
+ MASK_STORE.
+ * cfgloop.h (struct loop): Add dont_vectorize field.
+ * tree-loop-distribution.c (copy_loop_before): Adjust
+ slpeel_tree_duplicate_loop_to_edge_cfg caller.
+ * optabs.def (maskload_optab, maskstore_optab): New optabs.
+ * passes.def: Add a note that pass_vectorize must immediately follow
+ pass_if_conversion.
+ * tree-predcom.c (split_data_refs_to_components): Give up if
+ DR_STMT is a call.
+ * tree-vect-stmts.c (vect_mark_relevant): Don't crash if lhs
+ is NULL.
+ (exist_non_indexing_operands_for_use_p): Handle MASK_LOAD
+ and MASK_STORE.
+ (vectorizable_mask_load_store): New function.
+ (vectorizable_call): Call it for MASK_LOAD or MASK_STORE.
+ (vect_transform_stmt): Handle MASK_STORE.
+ * tree-ssa-phiopt.c (cond_if_else_store_replacement): Ignore
+ DR_STMT where lhs is NULL.
+ * optabs.h (can_vec_perm_p): Fix up comment typo.
+ (can_vec_mask_load_store_p): New prototype.
+ * optabs.c (can_vec_mask_load_store_p): New function.
+
+2013-12-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * expr.c (expand_expr_real_1) <normal_inner_ref>: Always return 0 for
+ the extraction of a bit-field of null size.
+
+2013-12-10 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/59437
+ * vtable-verify.c (var_is_used_for_virtual_call_p): Check the
+ return value of gimple_call_fn. Use is_gimple_call/is_gimple_assign
+ instead of gimple_code.
+
+2013-12-10 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config.gcc (mips*-mti-linux*, mips64*-*-linux*):
+ Add android definitions.
+ (s390x-*-linux*): Use linux-protos.h.
+
+2013-12-10 Bin Cheng <bin.cheng@arm.com>
+
+ PR tree-optimization/41488
+ * tree-ssa-loop-ivopts.c (add_old_iv_candidates): Don't add cand
+ for PEELED_CHREC kind IV.
+ * tree-scalar-evolution.c: Include necessary header files.
+ (peeled_chrec_map, simplify_peeled_chrec): New.
+ (analyze_evolution_in_loop): New static variable.
+ Call simplify_peeled_chrec.
+ (scev_initialize): Initialize peeled_chrec_map.
+ (scev_reset, scev_finalize): Reset and release peeled_chrec_map.
+
+2013-12-09 Andrew Pinski <apinski@cavium.com>
+
+ * config/aarch64/t-aarch64 (MULTILIB_OPTIONS): Fix definition so
+ that options are conflicting ones.
+
+2013-12-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * optabs.c (gen_int_libfunc): Do not compare modes directly.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (FOR_ALL_BB): Eliminate macro.
+
+ * cfg.c (alloc_aux_for_blocks, clear_aux_for_blocks): Replace
+ uses of FOR_ALL_BB with FOR_ALL_BB_FN, making uses of cfun explicit.
+
+ * cfganal.c (inverted_post_order_compute): Likewise.
+ * cfgcleanup.c (try_optimize_cfg): Likewise.
+ * cfgexpand.c (add_scope_conflicts): Likewise.
+ * cfghooks.c (dump_flow_info, account_profile_record): Likewise.
+ * cfgrtl.c (relink_block_chain): Likewise.
+ * dce.c (mark_artificial_uses): Likewise.
+ * df-core.c (df_set_blocks, df_compute_cfg_image, df_dump): Likewise.
+ * df-problems.c (df_lr_verify_solution_start,
+ df_lr_verify_solution_end, df_lr_verify_transfer_functions,
+ df_live_verify_solution_start, df_live_verify_solution_end,
+ df_live_set_all_dirty, df_live_verify_transfer_functions,
+ df_md_local_comput): Likewise.
+ * df-scan.c (df_scan_free_internal, df_scan_alloc)
+ df_reorganize_refs_by_insn, df_scan_verify): Likewise.
+ * dominance.c (compute_dom_fast_query, calculate_dominance_info,
+ free_dominance_info): Likewise.
+ * dse.c (dse_step1, dse_step3, dse_step4, dse_step6): Likewise.
+ * graph.c (draw_cfg_edges): Likewise.
+ * graphite-scop-detection.c (print_graphite_scop_statistics,
+ dot_all_scops_1): Likewise.
+ * graphite.c (print_global_statistics,
+ print_graphite_scop_statistics): Likewise.
+ * ira.c (do_reload): Likewise.
+ * loop-init.c (loop_optimizer_finalize): Likewise.
+ * lto-streamer-in.c (input_function): Likewise.
+ * lto-streamer-out.c (output_function): Likewise.
+ * mcf.c (adjust_cfg_counts): Likewise.
+ * predict.c (estimate_loops): Likewise.
+ * sched-rgn.c (haifa_find_rgns): Likewise.
+ * tree-cfg.c (split_critical_edges): Likewise.
+ * tree-dfa.c (renumber_gimple_stmt_uids): Likewise.
+ * tree-loop-distribution.c (tree_loop_distribution): Likewise.
+ * tree-ssa-pre.c (compute_antic, insert, init_pre): Likewise.
+ * tree-ssa-propagate.c (ssa_prop_init): Likewise.
+ * var-tracking.c (vt_initialize, vt_finalize): Likewise.
+ * vtable-verify.c (vtable_verify_main): Likewise.
+ * web.c (web_main): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (FOR_EACH_BB_REVERSE): Eliminate macro.
+
+ * cfghooks.c (verify_flow_info): Replace uses of FOR_EACH_BB_REVERSE
+ with FOR_EACH_BB_REVERSE_FN, making uses of cfun explicit.
+ * cfgrtl.c (print_rtl_with_bb, rtl_verify_edges,
+ rtl_verify_bb_insns, rtl_verify_bb_pointers,
+ rtl_verify_bb_insn_chain, rtl_verify_fallthru): Likewise.
+ * config/ia64/ia64.c (emit_predicate_relation_info): Likewise.
+ * config/sh/sh.c (sh_md_init_global): Likewise.
+ * config/sh/sh_optimize_sett_clrt.cc
+ (sh_optimize_sett_clrt::execute): Likewise.
+ * dce.c (reset_unmarked_insns_debug_uses, delete_unmarked_insns):
+ Likewise.
+ * dominance.c (calc_dfs_tree): Likewise.
+ * final.c (final): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns): Likewise.
+ * gcse.c (compute_code_hoist_vbeinout): Likewise.
+ * ira.c (update_equiv_regs, build_insn_chain): Likewise.
+ * lcm.c (compute_antinout_edge): Likewise.
+ * mode-switching.c (optimize_mode_switching): Likewise.
+ * postreload.c (reload_combine): Likewise.
+ * recog.c (split_all_insns, peephole2_optimize): Likewise.
+ * tree-ssa-live.c (live_worklist): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (FOR_EACH_BB): Eliminate macro.
+
+ * asan.c (transform_statements, execute_sanopt): Eliminate
+ use of FOR_EACH_BB in favor of FOR_EACH_BB_FN, to make use of cfun
+ explicit.
+ * auto-inc-dec.c (rest_of_handle_auto_inc_dec): Likewise.
+ * bb-reorder.c (find_rarely_executed_basic_blocks_and_crossing_edges,
+ set_edge_can_fallthru_flag, fix_up_fall_thru_edges,
+ fix_crossing_unconditional_branches, add_reg_crossing_jump_notes,
+ insert_section_boundary_note, rest_of_handle_reorder_blocks,
+ duplicate_computed_gotos): Likewise.
+ * cfg.c (clear_edges, compact_blocks, brief_dump_cfg): Likewise.
+ * cfganal.c (find_unreachable_blocks, add_noreturn_fake_exit_edges,
+ compute_dominance_frontiers_1, single_pred_before_succ_order): Likewise.
+ * cfgbuild.c (find_many_sub_basic_blocks): Likewise.
+ * cfgcleanup.c (try_optimize_cfg, delete_dead_jumptables): Likewise.
+ * cfgexpand.c (add_scope_conflicts, discover_nonconstant_array_refs):
+ Likewise.
+ * cfgloop.c (flow_loops_cfg_dump, get_loop_body, record_loop_exits,
+ verify_loop_structure): Likewise.
+ * cfgloopanal.c (mark_loop_exit_edges): Likewise.
+ * cfgrtl.c (compute_bb_for_insn, find_partition_fixes,
+ verify_hot_cold_block_grouping, purge_all_dead_edges,
+ fixup_abnormal_edges, record_effective_endpoints,
+ outof_cfg_layout_mode, fixup_reorder_chain, force_one_exit_fallthru,
+ break_superblocks): Likewise.
+ * cgraphbuild.c (build_cgraph_edges, rebuild_cgraph_edges,
+ cgraph_rebuild_references): Likewise.
+ * combine-stack-adj.c (combine_stack_adjustments): Likewise.
+ * combine.c (delete_noop_moves, create_log_links,
+ combine_instructions): Likewise.
+ * config/arm/arm.c (thumb1_reorg, thumb2_reorg): Likewise.
+ * config/bfin/bfin.c (bfin_gen_bundles, reorder_var_tracking_notes):
+ Likewise.
+ * config/c6x/c6x.c (c6x_gen_bundles, conditionalize_after_sched,
+ c6x_reorg): Likewise.
+ * config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
+ * config/frv/frv.c (frv_optimize_membar): Likewise.
+ * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
+ * config/ia64/ia64.c (ia64_reorg): Likewise.
+ * config/mips/mips.c (mips_annotate_pic_calls): Likewise.
+ * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
+ * config/rs6000/rs6000.c (rs6000_alloc_sdmode_stack_slot): Likewise.
+ * config/s390/s390.c (s390_regs_ever_clobbered): Likewise.
+ * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Likewise.
+ * config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
+ * config/tilegx/tilegx.c (tilegx_gen_bundles,
+ reorder_var_tracking_notes): Likewise.
+ * config/tilepro/tilepro.c (tilepro_gen_bundles,
+ reorder_var_tracking_notes): Likewise.
+ * coverage.c (coverage_compute_cfg_checksum): Likewise.
+ * cprop.c (compute_hash_table_work, compute_cprop_data,
+ local_cprop_pass, find_implicit_sets): Likewise.
+ * cse.c (cse_condition_code_reg): Likewise.
+ * dce.c (prescan_insns_for_dce): Likewise.
+ * df-core.c (df_compact_blocks): Likewise.
+ * df-problems.c (df_word_lr_alloc): Likewise.
+ * df-scan.c (df_scan_start_dump, df_scan_blocks, df_insn_rescan_all,
+ df_update_entry_exit_and_calls): Likewise.
+ * dominance.c (calculate_dominance_info, verify_dominators,
+ debug_dominance_info): Likewise.
+ * dse.c (dse_step5_nospill): Likewise.
+ * except.c (finish_eh_generation): Likewise.
+ * final.c (compute_alignments): Likewise.
+ * function.c (thread_prologue_and_epilogue_insns,
+ rest_of_match_asm_constraints): Likewise.
+ * gcse.c (compute_hash_table_work, prune_expressions,
+ compute_pre_data, compute_code_hoist_vbeinout, hoist_code,
+ calculate_bb_reg_pressure, compute_ld_motion_mems): Likewise.
+ * gimple-iterator.c (gsi_commit_edge_inserts): Likewise.
+ * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour,
+ find_explicit_erroneous_behaviour): Likewise.
+ * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa,
+ rewrite_cross_bb_scalar_deps_out_of_ssa): Likewise.
+ * haifa-sched.c (haifa_sched_init): Likewise.
+ * hw-doloop.c (discover_loops, set_bb_indices, reorder_loops):
+ Likewise.
+ * ifcvt.c (if_convert): Likewise.
+ * init-regs.c (initialize_uninitialized_regs): Likewise.
+ * ipa-prop.c (ipcp_transform_function): Likewise.
+ * ipa-pure-const.c (analyze_function): Likewise.
+ * ipa-split.c (find_split_points, execute_split_functions): Likewise.
+ * ira-build.c (form_loop_tree): Likewise.
+ * ira-costs.c (find_costs_and_classes): Likewise.
+ * ira-emit.c (emit_moves, add_ranges_and_copies, ira_emit): Likewise.
+ * ira.c (decrease_live_ranges_number, compute_regs_asm_clobbered,
+ mark_elimination, update_equiv_regs, find_moveable_pseudos,
+ split_live_ranges_for_shrink_wrap, allocate_initial_values): Likewise.
+ * jump.c (mark_all_labels): Likewise.
+ * lcm.c (compute_laterin, compute_insert_delete, compute_available,
+ compute_nearerout, compute_rev_insert_delete): Likewise.
+ * loop-init.c (fix_loop_structure): Likewise.
+ * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
+ * lower-subreg.c (decompose_multiword_subregs,
+ decompose_multiword_subregs): Likewise.
+ * lra-assigns.c (assign_by_spills): Likewise.
+ * lra-coalesce.c (lra_coalesce): Likewise.
+ * lra-constraints.c (lra_inheritance, remove_inheritance_pseudos):
+ Likewise.
+ * lra-eliminations.c (lra_init_elimination): Likewise.
+ * lra-spills.c (assign_spill_hard_regs, spill_pseudos,
+ lra_final_code_change): Likewise.
+ * lra.c (remove_scratches, check_rtl, has_nonexceptional_receiver,
+ update_inc_notes): Likewise.
+ * mcf.c (adjust_cfg_counts): Likewise.
+ * mode-switching.c (optimize_mode_switching): Likewise.
+ * modulo-sched.c (rest_of_handle_sms): Likewise.
+ * omp-low.c (optimize_omp_library_calls, expand_omp_taskreg,
+ expand_omp_target): Likewise.
+ * postreload-gcse.c (alloc_mem, compute_hash_table): Likewise.
+ * postreload.c (reload_cse_regs_1): Likewise.
+ * predict.c (strip_predict_hints, tree_bb_level_predictions,
+ tree_estimate_probability, expensive_function_p,
+ estimate_bb_frequencies, compute_function_frequency): Likewise.
+ * profile.c (is_inconsistent, compute_branch_probabilities,
+ branch_prob): Likewise.
+ * ree.c (find_removable_extensions): Likewise.
+ * reg-stack.c (compensate_edges, convert_regs, reg_to_stack): Likewise.
+ * regcprop.c (copyprop_hardreg_forward): Likewise.
+ * reginfo.c (init_subregs_of_mode): Likewise.
+ * regrename.c (regrename_analyze): Likewise.
+ * regstat.c (regstat_compute_ri, regstat_compute_calls_crossed):
+ Likewise.
+ * reload1.c (has_nonexceptional_receiver, reload,
+ calculate_elim_costs_all_insns): Likewise.
+ * resource.c (init_resource_info, free_resource_info): Likewise.
+ * sched-ebb.c (schedule_ebbs): Likewise.
+ * sched-rgn.c (is_cfg_nonregular, find_single_block_region,
+ haifa_find_rgns, sched_rgn_local_init): Likewise.
+ * sel-sched-dump.c (sel_dump_cfg_2): Likewise.
+ * sel-sched-ir.c (init_lv_sets, free_lv_sets,
+ make_regions_from_the_rest): Likewise.
+ * sese.c (build_sese_loop_nests, sese_build_liveouts): Likewise.
+ * stack-ptr-mod.c (notice_stack_pointer_modification): Likewise.
+ * store-motion.c (compute_store_table, build_store_vectors,
+ one_store_motion_pass): Likewise.
+ * tracer.c (tail_duplicate): Likewise.
+ * trans-mem.c (compute_transaction_bits): Likewise.
+ * tree-call-cdce.c (tree_call_cdce): Likewise.
+ * tree-cfg.c (replace_loop_annotate, factor_computed_gotos,
+ fold_cond_expr_cond, make_edges, assign_discriminators,
+ make_abnormal_goto_edges, cleanup_dead_labels, group_case_labels,
+ dump_cfg_stats, gimple_verify_flow_info, print_loop,
+ execute_fixup_cfg): Likewise.
+ * tree-cfgcleanup.c (cleanup_tree_cfg_1, merge_phi_nodes): Likewise.
+ * tree-complex.c (init_dont_simulate_again, tree_lower_complex):
+ Likewise.
+ * tree-dfa.c (collect_dfa_stats, dump_enumerated_decls): Likewise.
+ * tree-eh.c (execute_lower_resx, execute_lower_eh_dispatch,
+ mark_reachable_handlers): Likewise.
+ * tree-emutls.c (lower_emutls_function_body): Likewise.
+ * tree-if-conv.c (main_tree_if_conversion): Likewise.
+ * tree-inline.c (optimize_inline_calls): Likewise.
+ * tree-into-ssa.c (rewrite_into_ssa, update_ssa): Likewise.
+ * tree-nrv.c (tree_nrv, execute_return_slot_opt): Likewise.
+ * tree-object-size.c (compute_object_sizes): Likewise.
+ * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees,
+ insert_backedge_copies, tree_profiling): Likewise.
+ * tree-scalar-evolution.c (scev_const_prop): Likewise.
+ * tree-sra.c (scan_function, sra_modify_function_body,
+ propagate_dereference_distances, ipa_sra_modify_function_body,
+ convert_callers): Likewise.
+ * tree-ssa-ccp.c (ccp_initialize, execute_fold_all_builtins): Likewise.
+ * tree-ssa-coalesce.c (build_ssa_conflict_graph): Likewise.
+ create_outofssa_var_map, coalesce_partitions): Likewise.
+ * tree-ssa-copy.c (init_copy_prop): Likewise.
+ * tree-ssa-copyrename.c (rename_ssa_copies): Likewise.
+ * tree-ssa-dce.c (find_obviously_necessary_stmts,
+ eliminate_unnecessary_stmts): Likewise.
+ * tree-ssa-dom.c (free_all_edge_infos, tree_ssa_dominator_optimize):
+ Likewise.
+ * tree-ssa-forwprop.c (ssa_forward_propagate_and_combine): Likewise.
+ * tree-ssa-live.c (clear_unused_block_pointer, remove_unused_locals,
+ new_tree_live_info, calculate_live_on_exit, dump_live_info,
+ analyze_memory_references, fill_always_executed_in,
+ tree_ssa_lim_finalize): Likewise.
+ * tree-ssa-loop-manip.c (find_uses_to_rename, verify_loop_closed_ssa):
+ Likewise.
+ * tree-ssa-math-opts.c (execute_cse_reciprocals, execute_cse_sincos,
+ execute_optimize_bswap, execute_optimize_widening_mul): Likewise.
+ * tree-ssa-propagate.c (substitute_and_fold): Likewise.
+ * tree-ssa-structalias.c (compute_points_to_sets): Likewise.
+ * tree-ssa-tail-merge.c (find_same_succ, reset_cluster_vectors):
+ Likewise.
+ * tree-ssa-ter.c (find_replaceable_exprs): Likewise.
+ * tree-ssa-threadupdate.c (thread_through_all_blocks): Likewise.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges,
+ tree_ssa_uncprop): Likewise.
+ * tree-ssa-uninit.c (warn_uninitialized_vars,
+ execute_late_warn_uninitialized): Likewise.
+ * tree-ssa.c (verify_ssa, execute_update_addresses_taken): Likewise.
+ * tree-stdarg.c (check_all_va_list_escapes, execute_optimize_stdarg):
+ Likewise.
+ * tree-switch-conversion.c (do_switchconv): Likewise.
+ * tree-vect-generic.c (expand_vector_operations): Likewise.
+ * tree-vectorizer.c (adjust_simduid_builtins, note_simd_array_uses,
+ execute_vect_slp): Likewise.
+ * tree-vrp.c (check_all_array_refs, remove_range_assertions,
+ vrp_initialize, identify_jump_threads, instrument_memory_accesses):
+ Likewise.
+ * ubsan.c (ubsan_pass): Likewise.
+ * value-prof.c (verify_histograms, gimple_value_profile_transformations,
+ gimple_find_values_to_profile): Likewise.
+ * var-tracking.c (vt_find_locations, dump_dataflow_sets, vt_emit_notes,
+ vt_initialize, delete_debug_insns, vt_finalize): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (last_basic_block): Eliminate macro.
+
+ * asan.c (transform_statements): Eliminate use of last_basic_block
+ in favor of last_basic_block_for_fn, in order to make use of cfun
+ explicit.
+ * bb-reorder.c (copy_bb, reorder_basic_blocks): Likewise.
+ * bt-load.c (compute_defs_uses_and_gen, compute_kill, compute_out,
+ link_btr_uses, build_btr_def_use_webs, migrate_btr_defs): Likewise.
+ * cfg.c (compact_blocks): Likewise.
+ * cfganal.c (mark_dfs_back_edges,
+ control_dependences::control_dependences, post_order_compute,
+ pre_and_rev_post_order_compute_fn, dfs_enumerate_from, compute_idf,
+ single_pred_before_succ_order): Likewise.
+ * cfgbuild.c (make_edges): Likewise.
+ * cfgexpand.c (add_scope_conflicts, gimple_expand_cfg): Likewise.
+ * cfghooks.c (verify_flow_info): Likewise.
+ * cfgloop.c (verify_loop_structure): Likewise.
+ * cfgloopanal.c (just_once_each_iteration_p,
+ mark_irreducible_loops): Likewise.
+ * cfgloopmanip.c (fix_bb_placements, remove_path,
+ update_dominators_in_loop): Likewise.
+ * cfgrtl.c (create_basic_block_structure, rtl_create_basic_block,
+ break_superblocks, rtl_flow_call_edges_add): Likewise.
+ * config/epiphany/resolve-sw-modes.c (resolve_sw_modes): Likewise.
+ * config/frv/frv.c (frv_optimize_membar): Likewise.
+ * config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
+ * config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
+ * cprop.c (compute_local_properties, find_implicit_sets,
+ bypass_conditional_jumps, one_cprop_pass): Likewise.
+ * cse.c (cse_main): Likewise.
+ * df-core.c (rest_of_handle_df_initialize, df_worklist_dataflow,
+ df_analyze, df_grow_bb_info, df_compact_blocks): Likewise.
+ * df-problems.c (df_lr_verify_solution_start,
+ df_live_verify_solution_start, df_md_local_compute): Likewise.
+ * dominance.c (init_dom_info, calc_dfs_tree_nonrec, calc_dfs_tree,
+ calc_idoms): Likewise.
+ * domwalk.c (dom_walker::walk): Likewise.
+ * dse.c (dse_step0, dse_step3): Likewise.
+ * function.c (epilogue_done): Likewise.
+ * gcse.c (alloc_gcse_mem, compute_local_properties,
+ prune_insertions_deletions, compute_pre_data,
+ pre_expr_reaches_here_p, one_pre_gcse_pass,
+ compute_code_hoist_vbeinout, should_hoist_expr_to_dom, hoist_code,
+ one_code_hoisting_pass): Likewise.
+ * graph.c (draw_cfg_nodes_no_loops): Likewise.
+ * graphite-sese-to-poly.c (build_scop_bbs): Likewise.
+ * haifa-sched.c (unlink_bb_notes): Likewise.
+ * ipa-split.c (execute_split_functions): Likewise.
+ * ira-build.c (create_loop_tree_nodes,
+ remove_unnecessary_regions): Likewise.
+ * ira-emit.c (ira_emit): Likewise.
+ * ira.c (find_moveable_pseudos, ira): Likewise.
+ * lcm.c (compute_antinout_edge, compute_laterin,
+ compute_insert_delete, pre_edge_lcm, compute_available,
+ compute_nearerout, compute_rev_insert_delete,
+ pre_edge_rev_lcm): Likewise.
+ * loop-unroll.c (opt_info_start_duplication,
+ apply_opt_in_copies): Likewise.
+ * lower-subreg.c (decompose_multiword_subregs): Likewise.
+ * lra-lives.c (lra_create_live_ranges): Likewise.
+ * lra.c (lra): Likewise.
+ * mode-switching.c (optimize_mode_switching): Likewise.
+ * recog.c (split_all_insns): Likewise.
+ * regcprop.c (copyprop_hardreg_forward): Likewise.
+ * regrename.c (regrename_analyze): Likewise.
+ * reload1.c (reload): Likewise.
+ * resource.c (init_resource_info): Likewise.
+ * sched-rgn.c (haifa_find_rgns, extend_rgns, compute_trg_info,
+ realloc_bb_state_array, schedule_region, extend_regions): Likewise.
+ * sel-sched-ir.c (sel_extend_global_bb_info, extend_region_bb_info,
+ recompute_rev_top_order, sel_init_pipelining,
+ make_regions_from_the_rest): Likewise.
+ * store-motion.c (remove_reachable_equiv_notes,build_store_vectors)
+ Likewise.
+ * tracer.c (tail_duplicate): Likewise.
+ * trans-mem.c (tm_region_init, get_bb_regions_instrumented): Likewise.
+ * tree-cfg.c (create_bb, cleanup_dead_labels, gimple_dump_cfg,
+ gimple_flow_call_edges_add): Likewise.
+ * tree-cfgcleanup.c (split_bbs_on_noreturn_calls,
+ cleanup_tree_cfg_1): Likewise.
+ * tree-complex.c (tree_lower_complex): Likewise.
+ * tree-inline.c (copy_cfg_body): Likewise.
+ * tree-into-ssa.c (mark_phi_for_rewrite, rewrite_into_ssa,
+ prepare_def_site_for, update_ssa): Likewise.
+ * tree-ssa-dce.c (tree_dce_init, perform_tree_ssa_dce): Likewise.
+ * tree-ssa-dom.c (record_edge_info): Likewise.
+ * tree-ssa-live.c (new_tree_live_info, live_worklist): Likewise.
+ * tree-ssa-loop-im.c (fill_always_executed_in_1): Likewise.
+ * tree-ssa-loop-manip.c (copy_phi_node_args
+ gimple_duplicate_loop_to_header_edge): Likewise.
+ * tree-ssa-pre.c (compute_antic): Likewise.
+ * tree-ssa-propagate.c (ssa_prop_init): Likewise.
+ * tree-ssa-reassoc.c (init_reassoc): Likewise.
+ * tree-ssa-sccvn.c (init_scc_vn): Likewise.
+ * tree-ssa-tail-merge.c (init_worklist): Likewise.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
+ * tree-stdarg.c (reachable_at_most_once): Likewise.
+ * tree-vrp.c (find_assert_locations): Likewise.
+ * var-tracking.c (vt_find_locations): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (profile_status): Eliminate macro.
+
+ * cfgbuild.c (find_many_sub_basic_blocks): Eliminate use of
+ profile_status macro in favor of profile_status_for_fn, making
+ use of cfun explicit.
+ * cfghooks.c (account_profile_record): Likewise.
+ * cfgloopanal.c (single_likely_exit):
+ * cfgrtl.c (rtl_verify_edges, rtl_account_profile_record): Likewise.
+ * graphite.c (graphite_finalize):
+ * internal-fn.c (ubsan_expand_si_overflow_addsub_check,
+ ubsan_expand_si_overflow_neg_check,
+ ubsan_expand_si_overflow_mul_check): Likewise.
+ * ipa-split.c (consider_split, execute_split_functions):
+ * loop-unroll.c (decide_peel_simple):
+ * optabs.c (emit_cmp_and_jump_insn_1):
+ * predict.c (maybe_hot_edge_p, probably_never_executed,
+ predictable_edge_p, probability_reliable_p, gimple_predict_edge,
+ tree_estimate_probability_driver, estimate_bb_frequencies,
+ compute_function_frequency, rebuild_frequencies): Likewise.
+ * profile.c (compute_branch_probabilities): Likewise.
+ * tree-cfg.c (gimple_account_profile_record): Likewise.
+ * tree-inline.c (optimize_inline_calls): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (label_to_block_map): Eliminate macro.
+
+ * gimple.c (gimple_set_bb): Replace uses of label_to_block_map
+ with uses of label_to_block_map_for_fn, making uses of cfun be
+ explicit.
+ * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
+ (verify_gimple_label): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (basic_block_info): Eliminate macro.
+
+ * cfgrtl.c (rtl_create_basic_block): Replace uses of
+ basic_block_info with basic_block_info_for_fn, making uses
+ of cfun be explicit.
+ * tree-cfg.c (build_gimple_cfg, create_bb): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (BASIC_BLOCK): Eliminate macro.
+
+ * alias.c (init_alias_analysis): Eliminate BASIC_BLOCK macro in
+ favor of uses of BASIC_BLOCK_FOR_FN, making uses of cfun explicit.
+ * bt-load.c (compute_defs_uses_and_gen, compute_out, link_btr_uses,
+ block_at_edge_of_live_range_p, migrate_btr_defs): Likewise.
+ * caller-save.c (insert_one_insn): Likewise.
+ * cfg.c (debug_bb, get_bb_original, get_bb_copy): Likewise.
+ * cfgexpand.c (add_scope_conflicts): Likewise.
+ * cfghooks.c (verify_flow_info): Likewise.
+ * cfgloop.c (flow_loops_find): Likewise.
+ * cfgrtl.c (rtl_flow_call_edges_add): Likewise.
+ * config/mips/mips.c (r10k_insert_cache_barriers): Likewise.
+ * config/s390/s390.c (s390_optimize_nonescaping_tx): Likewise.
+ * config/spu/spu.c (spu_machine_dependent_reorg): Likewise.
+ * cse.c (cse_main): Likewise.
+ * dce.c (fast_dce): Likewise.
+ * df-core.c (df_set_blocks, df_worklist_propagate_forward,
+ df_worklist_propagate_backward, df_worklist_dataflow_doublequeue,
+ df_bb_replace, df_dump_region): Likewise.
+ * df-problems.c (df_rd_bb_local_compute, df_lr_bb_local_compute,
+ df_live_bb_local_compute, df_chain_remove_problem)
+ df_chain_create_bb, df_word_lr_bb_local_compute, df_note_bb_compute,
+ df_md_bb_local_compute, df_md_local_compute,
+ df_md_transfer_function): Likewise.
+ * df-scan.c (df_scan_blocks, df_reorganize_refs_by_reg_by_insn,
+ df_reorganize_refs_by_insn, df_bb_refs_collect,
+ df_record_entry_block_defs, df_update_entry_block_defs,
+ df_record_exit_block_uses): Likewise.
+ * dominance.c (nearest_common_dominator_for_set): Likewise.
+ * gcse.c (hoist_code): Likewise.
+ * graph.c (draw_cfg_nodes_no_loops): Likewise.
+ * ipa-inline-analysis.c (param_change_prob,
+ estimate_function_body_sizes): Likewise.
+ * ipa-split.c (dominated_by_forbidden): Likewise.
+ * loop-unroll.c (apply_opt_in_copies): Likewise.
+ * lower-subreg.c (decompose_multiword_subregs): Likewise.
+ * lra-lives.c (lra_create_live_ranges): Likewise.
+ * predict.c (propagate_freq): Likewise.
+ * regrename.c (regrename_analyze): Likewise.
+ * regstat.c (regstat_bb_compute_ri,
+ regstat_bb_compute_calls_crossed): Likewise.
+ * resource.c (mark_target_live_regs): Likewise.
+ * sched-ebb.c (ebb_fix_recovery_cfg): Likewise.
+ * sched-int.h (EBB_FIRST_BB, EBB_LAST_BB): Likewise.
+ * sched-rgn.c (debug_region, dump_region_dot, too_large,
+ haifa_find_rgns, extend_rgns, compute_dom_prob_ps, update_live,
+ propagate_deps, sched_is_disabled_for_current_region_p): Likewise.
+ * sched-vis.c (debug_bb_n_slim): Likewise.
+ * sel-sched-ir.c (sel_finish_global_and_expr, verify_backedges,
+ purge_empty_blocks, sel_remove_loop_preheader): Likewise.
+ * sel-sched.c (remove_insns_that_need_bookkeeping)
+ (current_region_empty_p, sel_region_init,
+ simplify_changed_insns): Likewise.
+ * trans-mem.c (execute_tm_mark, execute_tm_edges,
+ tm_memopt_compute_antic, ipa_tm_scan_irr_function): Likewise.
+ * tree-cfg.c (make_edges, end_recording_case_labels,
+ label_to_block_fn, gimple_debug_bb, gimple_flow_call_edges_add,
+ remove_edge_and_dominated_blocks, remove_edge_and_dominated_blocks,
+ gimple_purge_all_dead_eh_edges,
+ gimple_purge_all_dead_abnormal_call_edges): Likewise.
+ * tree-cfgcleanup.c (fixup_noreturn_call,
+ split_bbs_on_noreturn_calls, cleanup_tree_cfg_1): Likewise.
+ * tree-inline.c (copy_cfg_body, fold_marked_statements): Likewise.
+ * tree-into-ssa.c (set_livein_block, prune_unused_phi_nodes,
+ insert_phi_nodes_for, insert_updated_phi_nodes_for): Likewise.
+ * tree-ssa-dom.c (tree_ssa_dominator_optimize): Likewise.
+ * tree-ssa-live.c (live_worklist): Likewise.
+ * tree-ssa-loop-manip.c (compute_live_loop_exits,
+ add_exit_phis_var, find_uses_to_rename, copy_phi_node_args): Likewise.
+ * tree-ssa-pre.c (compute_antic): Likewise.
+ * tree-ssa-reassoc.c (update_range_test, optimize_range_tests): Likewise.
+ * tree-ssa-sink.c (nearest_common_dominator_of_uses): Likewise.
+ * tree-ssa-tail-merge.c (same_succ_hash, same_succ_def::equal,
+ same_succ_flush_bbs, update_worklist, set_cluster,
+ same_phi_alternatives, find_clusters_1, apply_clusters,
+ update_debug_stmts): Likewise.
+ * tree-ssa-threadupdate.c (mark_threaded_blocks,
+ thread_through_all_blocks): Likewise.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
+ * tree-vrp.c (find_assert_locations): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (SET_BASIC_BLOCK): Eliminate macro.
+
+ * cfg.c (compact_blocks): Replace uses of SET_BASIC_BLOCK
+ with SET_BASIC_BLOCK_FOR_FN, making use of cfun explicit.
+ (expunge_block): Likewise.
+ * cfgrtl.c (create_basic_block_structure): Likewise.
+ * df-core.c (df_compact_blocks, df_bb_replace): Likewise.
+ * sel-sched.c (create_block_for_bookkeeping): Likewise.
+ * tree-cfg.c (create_bb): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (profile_status_for_function): Rename to...
+ (profile_status_for_fn): ...this.
+
+ * cfg.c (check_bb_profile): Update for renaming.
+ * cgraphbuild.c (compute_call_stmt_bb_frequency): Likewise.
+ * lto-streamer-in.c (input_cfg): Likewise.
+ * lto-streamer-out.c (output_cfg): Likewise.
+ * predict.c (maybe_hot_frequency_p, maybe_hot_count_p,
+ maybe_hot_bb_p, probably_never_executed)
+ (handle_missing_profiles): Likewise.
+ * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+ * tree-inline.c (copy_bb, initialize_cfun): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (label_to_block_map_for_function): Rename to...
+ (label_to_block_map_for_fn): ...this.
+
+ * lto-streamer-in.c (input_cfg): Update for renaming.
+ * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (last_basic_block_for_function): Rename to...
+ (last_basic_block_for_fn): ...this.
+
+ * ipa-utils.c (ipa_merge_profiles): Update for renaming of
+ last_basic_block_for_function to last_basic_block_for_fn.
+ * lto-streamer-in.c (input_cfg): Likewise.
+ * lto-streamer-out.c (output_cfg): Likewise.
+ * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+ * tree-sra.c (propagate_dereference_distances, ipa_early_sra):
+ Likewise.
+
+2013-12-09 David Malcolm <dmalcolm@redhat.com>
+
+ * basic-block.h (basic_block_info_for_function): Rename to...
+ (basic_block_info_for_fn): ...this.
+ (BASIC_BLOCK_FOR_FUNCTION): Rename to...
+ (BASIC_BLOCK_FOR_FN): ...this.
+ (SET_BASIC_BLOCK_FOR_FUNCTION): Rename to...
+ (SET_BASIC_BLOCK_FOR_FN): ...this.
+
+ * gimple-streamer-in.c (input_phi, input_bb): Update for renaming
+ of BASIC_BLOCK_FOR_FUNCTION to BASIC_BLOCK_FOR_FN.
+ * ipa-utils.c (ipa_merge_profiles): Likewise.
+ * lto-streamer-in.c (make_new_block): Update for renaming of
+ SET_BASIC_BLOCK_FOR_FUNCTION to SET_BASIC_BLOCK_FOR_FN.
+ (input_cfg): Update for renamings.
+ * tree-cfg.c (init_empty_tree_cfg_for_function): Likewise.
+ (dump_function_to_file): Update for renaming of
+ basic_block_info_for_function to basic_block_info_for_fn.
+
+2013-12-09 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/38474
+ * tree-ssa-structalias.c (set_union_with_increment): Remove
+ unreachable code.
+ (do_complex_constraint): Call set_union_with_increment with
+ the solution delta, not the full solution.
+ (make_transitive_closure_constraints): Merge the two
+ constraints.
+
+2013-12-09 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm.c (mem_ok_for_ldrd_strd): Rename first argument as MEM. Do
+ more address validation checks.
+
+2013-12-09 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/59415
+ * vtable-verify.c (verify_bb_vtables): Check the return value
+ of gimple_call_fn. Use is_gimple_call instead of gimple_code.
+
+2013-12-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/arm/arm.md (generic_sched): Add cortexa12.
+ (generic_vfp): Likewise.
+ * config/arm/arm.c (cortexa12_extra_costs): New cost table.
+ (arm_cortex_a12_tune): New tuning struct.
+ * config/arm/arm-cores.def: Add cortex-a12.
+ * config/arm/arm-tables.opt: Regenerate.
+ * config/arm/arm-tune.md: Likewise.
+ * config/arm/bpabi.h: Add cortex-a12.
+ * doc/invoke.texi: Document -mcpu=cortex-a12.
+
+2013-12-09 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
+
+ * doc/install.texi (Prerequisites): Explicitly mention C library
+ and its headers for multilib builds.
+
+2013-12-08 Oleg Endo <olegendo@gcc.gnu.org>
+
+ PR target/52898
+ PR target/51697
+ * common/config/sh/sh-common.c (sh_option_optimization_table): Remove
+ OPT_mcbranchdi entry.
+ * config/sh/sh.opt (mcbranchdi, mcmpeqdi): Mark as undocumented and
+ emit a warning.
+ * config/sh/sh.c (sh_option_override): Initialize TARGET_CBRANCHDI4
+ and TARGET_CMPEQDI_T variables.
+ * doc/invoke.texi (SH options): Undocument -mcbranchdi and -mcmpeqdi.
+
+2013-12-07 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config/linux.h: Fix typo in a comment.
+
+2013-12-07 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config.gcc (*linux*): Split libc selection from Android support.
+ Add libc selection to all *linux* targets. Add Android support to
+ architectures that support it.
+ (arm*-*-linux-*, i[34567]86-*-linux*, x86_64-*-linux*,)
+ (mips*-*-linux*): Add Android support.
+
+2013-12-07 Alexander Ivchenko <alexander.ivchenko@intel.com>
+ Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config/bfin/uclinux.h, config/c6x/uclinux-elf.h,
+ * config/lm32/uclinux-elf.h, config/m68k/uclinux.h,
+ * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Move definitions
+ to linux.h.
+ * config/linux-android.h (TARGET_HAS_IFUNC_P): Move definition
+ to linux.h.
+ * config/linux.h (TARGET_LIBC_HAS_FUNCTION, TARGET_HAS_IFUNC_P):
+ Define appropriately for Linux and uClinux targets.
+
+2013-12-07 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config/linux.c (linux_has_ifunc_p): Use correct test.
+
+2013-12-07 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * config/linux.c (linux_android_has_ifunc_p): Rename to
+ linux_has_ifunc_p.
+ (linux_android_libc_has_function): Rename to linux_libc_has_function.
+ * config/linux-protos.h (linux_android_has_ifunc_p,)
+ (linux_android_libc_has_function): Update declarations.
+ * config/linux.h, config/linux-android.h, config/alpha/linux.h,
+ * config/rs6000/linux.h, config/rs6000/linux64.h: Update.
+
+2013-12-07 Maxim Kuvyrkov <maxim@kugelworks.com>
+
+ * linux-android.c: Rename to linux.c.
+ * t-linux-android: Rename to t-linux. Update references
+ to linux-android.c
+ * config.gcc: Update references to t-linux-android and linux-android.o.
+
+2013-12-07 Alan Modra <amodra@gmail.com>
+
+ * config/rs6000/rs6000.md (bswapdi2_32bit): Remove ?? from r->r
+ alternative.
+
+2013-12-07 Ralf Corsépius <ralf.corsepius@rtems.org>
+
+ * config.gcc (microblaze*-*-rtems*): Add TARGET_BIG_ENDIAN_DEFAULT.
+
+2013-12-06 Vladimir Makarov <vmakarov@redhat.com>
+
+ * config/rs6000/rs600.md (*bswapdi2_64bit): Remove ?? from the
+ constraint.
+
+2013-12-06 Caroline Tice <cmtice@google.com>
+
+ Submitting patch from Stephen Checkoway, s@cs.jhu.edu
+ * vtable-verify.c (verify_bb_vtables): Replace all uses of verified
+ vtable pointer with the results of the verification call, rather than
+ only the uses in the next statement.
+
+2013-12-06 Andrew Pinski <apinski@cavium.com>
+
+ PR target/59092
+ * config/aarch64/aarch64.md (trap): New pattern.
+
+2013-12-06 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/59388
+ * tree-ssa-reassoc.c (update_range_test): If op == range->exp,
+ gimplify tem after stmt rather than before it.
+
+ * tree-data-ref.c (struct data_ref_loc_d): Replace pos field with ref.
+ (get_references_in_stmt): Don't record operand addresses, but
+ operands themselves.
+ (find_data_references_in_stmt, graphite_find_data_references_in_stmt):
+ Adjust for the pos -> ref change.
+
+2013-12-06 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Change --with-cpu=ia to --with-cpu=intel.
+
+ * config/i386/i386.c (cpu_names): Replace "ia" with "intel".
+ (processor_alias_table): Likewise.
+ (ix86_option_override_internal): Likewise.
+ * config/i386/i386.h (target_cpu_default): Replace
+ TARGET_CPU_DEFAULT_ia with TARGET_CPU_DEFAULT_intel.
+
+ * doc/invoke.texi: Replace -mtune=ia with -mtune=intel.
+
+2013-12-06 Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/59405
+ * config/i386/i386.c (type_natural_mode): Properly handle
+ size 8 for !TARGET_64BIT.
+
+2013-12-06 Trevor Saunders <tsaunders@mozilla.com>
+
+ * tree-ssa-pre.c (compute_antic_aux): Remove redundant call to
+ vec::release.
+
+2013-12-06 Ian Bolton <ian.bolton@arm.com>
+ Mark Mitchell <mark@codesourcery.com>
+
+ PR target/59091
+ * config/arm/arm.md (trap): New pattern.
+ * config/arm/types.md: Added a type for trap.
+
+2013-12-06 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * expr.c (expand_assignment): Update bitregion_start and bitregion_end.
+
+2013-12-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR target/59316
+ * config/sparc/sparc.h (SPARC_LOW_FE_EXCEPT_VALUES): Define.
+ * config/sparc/sol2.h (SPARC_LOW_FE_EXCEPT_VALUES): Redefine.
+ * config/sparc/sparc.c (TARGET_INIT_BUILTINS): Move around.
+ (TARGET_BUILTIN_DECL): Define.
+ (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Likewise.
+ (sparc32_initialize_trampoline): Adjust call to gen_flush.
+ (enum sparc_builtins): New enumeral type.
+ (sparc_builtins): New static array.
+ (sparc_builtins_icode): Likewise.
+ (def_builtin): Accept a separate icode and save the result.
+ (def_builtin_const): Likewise.
+ (sparc_fpu_init_builtins): New function.
+ (sparc_vis_init_builtins): Pass the builtin code.
+ (sparc_init_builtins): Call it if TARGET_FPU.
+ (sparc_builtin_decl): New function.
+ (sparc_expand_builtin): Deal with SPARC_BUILTIN_{LD,ST}FSR.
+ (sparc_handle_vis_mul8x16): Use the builtin code.
+ (sparc_fold_builtin): Likewise. Deal with SPARC_BUILTIN_{LD,ST}FSR
+ and SPARC_BUILTIN_PDISTN.
+ (compound_expr): New helper function.
+ (sparc_atomic_assign_expand_fenv): New function.
+ * config/sparc/sparc.md (unspecv): Reorder values, add UNSPECV_LDFSR
+ and UNSPECV_STFSR.
+ (flush, flushdi): Merge into single pattern.
+ (ldfsr): New instruction.
+ (stfsr): Likewise.
+
+2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * asan.c: Remove struct tags when referring to class varpool_node.
+ * cgraph.h: Likewise.
+ * cgraphbuild.c: Likewise.
+ * cgraphunit.c: Likewise.
+ * dbxout.c: Likewise.
+ * dwarf2out.c: Likewise.
+ * gimple-fold.c: Likewise.
+ * ipa-devirt.c: Likewise.
+ * ipa-ref-inline.h: Likewise.
+ * ipa-ref.h: Likewise.
+ * ipa-reference.c: Likewise.
+ * ipa-utils.c: Likewise.
+ * ipa.c: Likewise.
+ * lto-cgraph.c: Likewise.
+ * lto-streamer-out.c: Likewise.
+ * lto-streamer.h: Likewise.
+ * passes.c: Likewise.
+ * toplev.c: Likewise.
+ * tree-eh.c: Likewise.
+ * tree-emutls.c: Likewise.
+ * tree-pass.h: Likewise.
+ * tree-ssa-structalias.c: Likewise.
+ * tree-vectorizer.c: Likewise.
+ * tree.c: Likewise.
+ * varasm.c: Likewise.
+ * varpool.c: Likewise.
+
+2013-12-06 Oleg Endo <olegendo@gcc.gnu.org>
+
+ * cgraphunit.c: Remove struct tags when referring to class
+ ipa_opt_pass_d or class opt_pass.
+ * function.h: Likewise.
+ * lto-cgraph.c: Likewise.
+ * pass_manager.h: Likewise.
+ * passes.c: Likewise.
+ * tree-pass.h: Likewise.
+
+2013-12-06 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59058
+ * tree-vectorizer.h (struct _loop_vec_info): Add num_itersm1 member.
+ (LOOP_VINFO_NITERSM1): New macro.
+ * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Express
+ the vector loop entry test in terms of scalar latch executions.
+ (vect_do_peeling_for_alignment): Update LOOP_VINFO_NITERSM1.
+ * tree-vect-loop.c (vect_get_loop_niters): Also return the
+ number of latch executions.
+ (new_loop_vec_info): Initialize LOOP_VINFO_NITERSM1.
+ (vect_analyze_loop_form): Likewise.
+ (vect_generate_tmps_on_preheader): Compute the number of
+ vectorized iterations differently.
+
+2013-12-05 Jan-Benedict Glaw <jbglaw@lug-owl.de>
+
+ * config/score/score.c (score_force_temporary): Delete function.
+ (score_split_symbol): Ditto.
+ * config/score/score.h (ASM_OUTPUT_ADDR_DIFF_ELT): Add extra
+ parentheses to silence ambiguity warning and reindent.
+
+2013-12-05 Marek Polacek <polacek@redhat.com>
+
+ * doc/invoke.texi: Document -fsanitize=signed-integer-overflow.
+
+2013-12-05 H.J. Lu <hongjiu.lu@intel.com>
+
+ * config.gcc: Support --with-cpu=ia.
+
+ * config/i386/i386.c (cpu_names): Add "ia".
+ (processor_alias_table): Likewise.
+ (ix86_option_override_internal): Disallow -march=ia.
+ * config/i386/i386.h (target_cpu_default): Add TARGET_CPU_DEFAULT_ia.
+
+ * doc/invoke.texi: Document -mtune=ia.
+
+2013-12-05 Vladimir Makarov <vmakarov@redhat.com>
+
+ PR rtl-optimization/59317
+ * lra-constraints.c (in_class_p): Don't ignore insn with constant
+ as a source.
+
+2013-12-05 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/58253
+ * ipa-prop.c (ipa_modify_formal_parameters): Create decls of
+ non-BLKmode in their naturally aligned type.
+
+2013-12-05 Marek Polacek <polacek@redhat.com>
+
+ PR sanitizer/59333
+ PR sanitizer/59397
+ * ubsan.c: Include rtl.h and expr.h.
+ (ubsan_encode_value): Add new parameter. If expanding, assign
+ a stack slot for DECL_RTL of the temporary and call expand_assignment.
+ Handle BOOLEAN_TYPE and ENUMERAL_TYPE.
+ (ubsan_build_overflow_builtin): Adjust ubsan_encode_value call.
+ * ubsan.h (ubsan_encode_value): Adjust declaration.
+ * internal-fn.c (ubsan_expand_si_overflow_addsub_check): Move
+ ubsan_build_overflow_builtin above expand_normal call. Surround
+ this call with push_temp_slots and pop_temp_slots.
+ (ubsan_expand_si_overflow_neg_check): Likewise.
+ (ubsan_expand_si_overflow_mul_check): Likewise.
+
+2013-12-05 Yufeng Zhang <yufeng.zhang@arm.com>
+
+ * gimple-ssa-strength-reduction.c (find_basis_for_candidate): Guard
+ the get_alternative_base call with flag_expensive_optimizations.
+ (alloc_cand_and_find_basis): Likewise.
+
+2013-12-05 Tejas Belagod <tejas.belagod@arm.com>
+
+ * rtlanal.c (set_noop_p): Return nonzero in case of redundant
+ vec_select for overlapping register lanes.
+
+2013-12-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c (ix86_expand_builtin): Generate
+ reg for readflags built-in when optimizing.
+ * config/i386/i386.md (*pushfl<mode>): Rename to ...
+ (pushfl<mode>2): This. Fix iterator.
+ (*popfl<mode>): Rename to ...
+ (*popfl<mode>1): This. Fix iterator.
+
+2013-12-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/i386.c (IX86_BUILTIN_READ_FLAGS): New.
+ (IX86_BUILTIN_WRITE_FLAGS): Ditto.
+ (ix86_init_mmx_sse_builtins): Define
+ __builtin_ia32_writeeflags_u32, __builtin_ia32_writeeflags_u64,
+ __builtin_ia32_readeflags_u32, __builtin_ia32_readeflags_u64.
+ (ix86_expand_builtin): Expand them.
+ * config/i386/ia32intrin.h (__readeflags): New.
+ (__writeeflags): Ditto.
+ * config/i386/i386.md (*pushfl<mode>): Ditto.
+ (*popfl<mode>1): Ditto.
+
+2013-12-05 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/59374
+ * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
+ Commonize known and unknown dependence case fixing the allowed
+ read-write dependence case and dropping code that should not matter.
+
+2013-12-05 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/ia64/ia64.md (prologue_allocate_stack): Block auto-
+ generation of predicated version.
+ (epilogue_deallocate_stack): Ditto.
+ (prologue_allocate_stack_pr): Add explicit predicated version.
+ (epilogue_deallocate_stack_pr): Ditto.
+ * config/ia64/ia64.c (ia64_single_set): Use explicit version.
+
+2013-12-05 Alan Modra <amodra@gmail.com>
+
+ * configure.ac (BUILD_CXXFLAGS) Don't use ALL_CXXFLAGS for
+ build != host.
+ <recursive call for build != host>: Clear GMPINC. Don't bother
+ saving CFLAGS.
+
+2013-12-04 Jakub Jelinek <jakub@redhat.com>
+ Marek Polacek <polacek@redhat.com>
+
+ * opts.c (common_handle_option): Handle
+ -fsanitize=signed-integer-overflow.
+ * config/i386/i386.md (addv<mode>4, subv<mode>4, mulv<mode>4,
+ negv<mode>3, negv<mode>3_1): Define expands.
+ (*addv<mode>4, *subv<mode>4, *mulv<mode>4, *negv<mode>3): Define insns.
+ * sanitizer.def (BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW,
+ BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW,
+ BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW,
+ BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW): Define.
+ * ubsan.h (PROB_VERY_UNLIKELY, PROB_EVEN, PROB_VERY_LIKELY,
+ PROB_ALWAYS): Define.
+ (ubsan_build_overflow_builtin): Declare.
+ * gimple-fold.c (gimple_fold_stmt_to_constant_1): Add folding of
+ internal functions.
+ * ubsan.c (PROB_VERY_UNLIKELY): Don't define here.
+ (ubsan_build_overflow_builtin): New function.
+ (instrument_si_overflow): Likewise.
+ (ubsan_pass): Add signed integer overflow checking.
+ (gate_ubsan): Enable the pass also when SANITIZE_SI_OVERFLOW.
+ * flag-types.h (enum sanitize_code): Add SANITIZE_SI_OVERFLOW.
+ * internal-fn.c: Include ubsan.h and target.h.
+ (ubsan_expand_si_overflow_addsub_check): New function.
+ (ubsan_expand_si_overflow_neg_check): Likewise.
+ (ubsan_expand_si_overflow_mul_check): Likewise.
+ (expand_UBSAN_CHECK_ADD): Likewise.
+ (expand_UBSAN_CHECK_SUB): Likewise.
+ (expand_UBSAN_CHECK_MUL): Likewise.
+ * fold-const.c (fold_binary_loc): Don't fold A + (-B) -> A - B and
+ (-A) + B -> B - A when doing the signed integer overflow checking.
+ * internal-fn.def (UBSAN_CHECK_ADD, UBSAN_CHECK_SUB, UBSAN_CHECK_MUL):
+ Define.
+ * tree-vrp.c (extract_range_basic): Handle internal calls.
+ * optabs.def (addv4_optab, subv4_optab, mulv4_optab, negv4_optab): New
+ optabs.
+ * asan.c: Include predict.h.
+ (PROB_VERY_UNLIKELY, PROB_ALWAYS): Don't define here.
+ * predict.c: Move the PROB_* macros...
+ * predict.h (enum br_predictor): ...here.
+ (PROB_LIKELY, PROB_UNLIKELY): Define.
+ * trans-mem.c: Include predict.h.
+ (PROB_VERY_UNLIKELY, PROB_ALWAYS, PROB_VERY_LIKELY,
+ PROB_LIKELY, PROB_UNLIKELY): Don't define here.
+
+2013-12-04 Jeff Law <law@redhat.com>
+
+ * common.opt: Split up -fisolate-erroneous-paths into
+ -fisolate-erroneous-paths-dereference and
+ -fisolate-erroneous-paths-attribute.
+ * invoke.texi: Corresponding changes.
+ * gimple.c (infer_nonnull_range): Add and use new arguments to control
+ what kind of statements can be used to infer a non-null range.
+ * gimple.h (infer_nonnull_range): Update prototype.
+ * tree-vrp.c (infer_value_range): Corresponding changes.
+ * opts.c (default_options_table): Update due to option split.
+ * gimple-ssa-isolate-paths.c: Fix trailing whitespace.
+ (find_implicit_erroneous_behaviour): Pass additional arguments
+ to infer_nonnull_range.
+ (find_explicit_erroneous_behaviour): Similarly.
+ (gate_isolate_erroneous_paths): Check both of the new options.
+
+2013-12-04 Jeff Law <law@redhat.com>
+
+ * expr.c (expand_assignment): Update comments.
+
+2013-12-04 Tobias Burnus <burnus@net-b.de>
+
+ PR debug/37132
+ * lto-streamer.h (LTO_tags): Add LTO_namelist_decl_ref.
+ * tree.def (NAMELIST_DECL): Add.
+ * tree.h (NAMELIST_DECL_ASSOCIATED_DECL): New macro.
+ * tree.c (initialize_tree_contains_struct): Add asserts for it.
+ * dwarf2out.c (gen_namelist_decl): New function.
+ (gen_decl_die, dwarf2out_decl): Call it.
+ (dwarf2out_imported_module_or_decl_1): Handle NAMELIST_DECL.
+ * lto-streamer-in.c (lto_input_tree_ref): Handle NAMELIST_DECL.
+ (lto_input_tree_ref, lto_input_tree_1): Update lto_tag_check_range
+ call.
+ * lto-streamer-out.c (lto_output_tree_ref): Handle NAMELIST_DECL.
+
+2013-12-03 Xinliang David Li <davidxl@google.com>
+
+ * tree-ssa-structalias.c (constraint_set_union): Change return type
+ from void to bool.
+ (merge_node_constraints): Ditto.
+ (unify_nodes): Update changed set when constraints set changes.
+
+2013-12-04 H.J. Lu <hongjiu.lu@intel.com>
+
+ * configure.ac: Append gdbasan.in to .gdbinit if CFLAGS contains
+ -fsanitize=address.
+ * configure: Regenerated.
+
+ * gdbasan.in: New file.
+
+2013-12-04 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/58726
+ * combine.c (force_to_mode): Fix comment typo. Don't destructively
+ modify x for ROTATE, ROTATERT and IF_THEN_ELSE.
+
+2013-12-04 Jakub Jelinek <jakub@redhat.com>
+ Uros Bizjak <ubizjak@gmail.com>
+
+ PR target/59163
+ * config/i386/i386.c (ix86_legitimate_combined_insn): If for
+ !TARGET_AVX there is misaligned MEM operand with vector mode
+ and get_attr_ssememalign is 0, return false.
+ (ix86_expand_special_args_builtin): Add get_pointer_alignment
+ computed alignment and for non-temporal loads/stores also
+ at least GET_MODE_ALIGNMENT as MEM_ALIGN.
+ * config/i386/sse.md
+ (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>,
+ <sse>_storeu<ssemodesuffix><avxsizesuffix>,
+ <sse2_avx_avx512f>_loaddqu<mode><mask_name>,
+ <sse2_avx_avx512f>_storedqu<mode>, <sse3>_lddqu<avxsizesuffix>,
+ sse_vmrcpv4sf2, sse_vmrsqrtv4sf2, sse2_cvtdq2pd, sse_movhlps,
+ sse_movlhps, sse_storehps, sse_loadhps, sse_loadlps,
+ *vec_interleave_highv2df, *vec_interleave_lowv2df,
+ *vec_extractv2df_1_sse, sse2_movsd, sse4_1_<code>v8qiv8hi2,
+ sse4_1_<code>v4qiv4si2, sse4_1_<code>v4hiv4si2,
+ sse4_1_<code>v2qiv2di2, sse4_1_<code>v2hiv2di2,
+ sse4_1_<code>v2siv2di2, sse4_2_pcmpestr, *sse4_2_pcmpestr_unaligned,
+ sse4_2_pcmpestri, sse4_2_pcmpestrm, sse4_2_pcmpestr_cconly,
+ sse4_2_pcmpistr, *sse4_2_pcmpistr_unaligned, sse4_2_pcmpistri,
+ sse4_2_pcmpistrm, sse4_2_pcmpistr_cconly): Add ssememalign attribute.
+ * config/i386/i386.md (ssememalign): New define_attr.
+
2013-12-04 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/59355
- * ipa-devirt.c (gate_ipa_devirt): Return false if
- !flag_devirtualize.
+ * ipa-devirt.c (gate_ipa_devirt): Return false if !flag_devirtualize.
* opts.c (common_handle_option): Fix comment spelling.
2013-12-04 Yufeng Zhang <yufeng.zhang@arm.com>
@@ -47,9 +1664,9 @@
2013-12-03 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
- * config/avr/avr.c (avr_option_override): Warn if asked to generate
- position independent code.
- * config/avr/avr.h: Modify LINK_SPEC to reject -shared.
+ * config/avr/avr.c (avr_option_override): Warn if asked to generate
+ position independent code.
+ * config/avr/avr.h: Modify LINK_SPEC to reject -shared.
2013-12-03 H.J. Lu <hongjiu.lu@intel.com>
@@ -61,8 +1678,7 @@
2013-12-03 Marek Polacek <polacek@redhat.com>
PR middle-end/56344
- * calls.c (expand_call): Disallow passing huge arguments
- by value.
+ * calls.c (expand_call): Disallow passing huge arguments by value.
2013-12-03 Jakub Jelinek <jakub@redhat.com>
@@ -133,9 +1749,8 @@
(ix86_tune_memset_strategy): Ditto.
(ix86_tune_no_default): Ditto.
(ix86_veclibabi_type): Ditto.
- * config/i386/i386.c
- (function_specific_save): Save the above variables
- in gcc_options to cl_target_option.
+ * config/i386/i386.c (function_specific_save): Save the above
+ variables in gcc_options to cl_target_option.
(function_specific_restore): Do the reverse done in
function_specific_save.
(ix86_valid_target_attribute_tree): Change ix86_arch_string
@@ -152,9 +1767,8 @@
2013-12-02 Jakub Jelinek <jakub@redhat.com>
PR tree-optimization/59358
- * tree-vrp.c (union_ranges): To check for the partially
- overlapping ranges or adjacent ranges, also compare *vr0max
- with vr1max.
+ * tree-vrp.c (union_ranges): To check for the partially overlapping
+ ranges or adjacent ranges, also compare *vr0max with vr1max.
2013-12-02 Sterling Augustine  <saugustine@google.com>
@@ -198,9 +1812,8 @@
PR middle-end/59199
* tree-ssa-operands.c (opf_implicit): Remove.
(opf_address_taken): New flag.
- (get_expr_operands): Remove early out, pass down
- opf_address_taken for ADDR_EXPRs, add a use operand only
- for non-opf_address_taken bases.
+ (get_expr_operands): Remove early out, pass down opf_address_taken for
+ ADDR_EXPRs, add a use operand only for non-opf_address_taken bases.
(get_indirect_ref_operands): Rename to ...
(get_mem_ref_operands): ... this.
(get_asm_expr_operands): Rename to ...
@@ -222,9 +1835,9 @@
* config/arm/arm.c (arm_preferred_reload_class): Only return LO_REGS
when rclass is GENERAL_REGS.
-2013-12-02 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+2013-12-02 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
- * loop-unroll.c (decide_unroll_constant_iterations): Check macro
+ * loop-unroll.c (decide_unroll_constant_iterations): Check macro
TARGET_LOOP_UNROLL_ADJUST while deciding unroll factor.
2013-12-01 Eric Botcazou <ebotcazou@adacore.com>
@@ -297,15 +1910,14 @@
2013-11-29 Yvan Roux <yvan.roux@linaro.org>
- * config/arm/arm.md (store_minmaxsi): Use only when
+ * config/arm/arm.md (store_minmaxsi): Use only when
optimize_function_for_size_p.
2013-11-29 Jakub Jelinek <jakub@redhat.com>
Yury Gribov <y.gribov@samsung.com>
PR sanitizer/59063
- * config/gnu-user.h: Removed old code for setting up sanitizer
- libs.
+ * config/gnu-user.h: Removed old code for setting up sanitizer libs.
* gcc.c: Using libsanitizer spec instead of explicit libs.
2013-11-29 Ilya Enkovich <ilya.enkovich@intel.com>
@@ -588,17 +2200,14 @@
(enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_LAST.
(enum omp_clause_map_kind): Add OMP_CLAUSE_MAP_LAST.
(enum omp_clause_proc_bind_kind): Add OMP_CLAUSE_PROC_BIND_LAST.
- * lto-streamer-out.c (lto_is_streamable): Allow streaming
- OMP_CLAUSE.
+ * lto-streamer-out.c (lto_is_streamable): Allow streaming OMP_CLAUSE.
(DFS_write_tree_body): Handle OMP_CLAUSE.
- * tree-streamer-out.c (pack_ts_omp_clause_value_fields): New
- function.
+ * tree-streamer-out.c (pack_ts_omp_clause_value_fields): New function.
(streamer_pack_tree_bitfields): Call it for OMP_CLAUSE.
(write_ts_omp_clause_tree_pointers): New function.
(streamer_write_tree_body): Call it for OMP_CLAUSE.
(streamer_write_tree_header): For OMP_CLAUSE stream OMP_CLAUSE_CODE.
- * tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New
- function.
+ * tree-streamer-in.c (unpack_ts_omp_clause_value_fields): New function.
(unpack_value_fields): Call it for OMP_CLAUSE.
(streamer_alloc_tree): Handle OMP_CLAUSE.
(lto_input_ts_omp_clause_tree_pointers): New function.
@@ -619,8 +2228,7 @@
2013-11-28 Jakub Jelinek <jakub@redhat.com>
PR middle-end/59327
- * cfgexpand.c (expand_used_vars): Avoid warning on 32-bit
- HWI hosts.
+ * cfgexpand.c (expand_used_vars): Avoid warning on 32-bit HWI hosts.
2013-11-28 Vladimir Makarov <vmakarov@redhat.com>
@@ -669,8 +2277,7 @@
lower. Switch off lra_in_progress temporarily to generate regs
involved into elimination.
(lra_init_elimination): Rename to init_elimination. Make it
- static. Set up insn sp offset, check the offsets at the end of
- BBs.
+ static. Set up insn sp offset, check the offsets at the end of BBs.
(process_insn_for_elimination): Add parameter. Pass its value to
eliminate_regs_in_insn.
(lra_eliminate): : Add parameter. Pass its value to
@@ -765,7 +2372,7 @@
* tree-vect-loop.c (vect_estimate_min_profitable_iters): Ditto
plus added openmp-simd warining.
-2013-11-27 H.J. Lu <hongjiu.lu@intel.com>
+2013-11-27 H.J. Lu <hongjiu.lu@intel.com>
PR rtl-optimization/59311
* dwarf2cfi.c (dwf_regno): Assert reg isn't pseudo register.
@@ -793,8 +2400,8 @@
2013-11-27 Kenneth Zadeck <zadeck@naturalbridge.com>
- * fold-const.c (int_const_binop_1): Make INT_MIN % -1 return 0 with the
- overflow bit set.
+ * fold-const.c (int_const_binop_1): Make INT_MIN % -1 return 0 with
+ the overflow bit set.
2013-11-27 Richard Biener <rguenther@suse.de>
@@ -868,8 +2475,7 @@
(make_pass_omp_simd_clone): New function.
* passes.def (pass_omp_simd_clone): New.
* target.def (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN,
- TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): New target
- hooks.
+ TARGET_SIMD_CLONE_ADJUST, TARGET_SIMD_CLONE_USABLE): New target hooks.
* target.h (struct cgraph_node, struct cgraph_simd_node): Declare.
* tree-core.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Document.
* tree.h (OMP_CLAUSE_LINEAR_VARIABLE_STRIDE): Define.
@@ -882,8 +2488,8 @@
the call arguments or in lhs.
* tree-vect-loop.c (vect_determine_vectorization_factor): Handle
calls with no lhs.
- (vect_transform_loop): Allow NULL STMT_VINFO_VECTYPE for calls without
- lhs.
+ (vect_transform_loop): Allow NULL STMT_VINFO_VECTYPE for calls
+ without lhs.
* tree-vectorizer.h (enum stmt_vec_info_type): Add
call_simd_clone_vec_info_type.
(struct _stmt_vec_info): Add simd_clone_fndecl field.
@@ -965,10 +2571,8 @@
(GSS_OMP_PARALLEL_LAYOUT, gimple_statement_omp_parallel_layout):
...these.
(GSS_OMP_SINGLE, gimple_statement_omp_single): Rename to...
- (GSS_OMP_SINGLE_LAYOUT, gimple_statement_omp_single_layout):
- ...these.
- (GSS_OMP_ATOMIC_STORE, gimple_statement_omp_atomic_store): Rename
- to...
+ (GSS_OMP_SINGLE_LAYOUT, gimple_statement_omp_single_layout): ...these.
+ (GSS_OMP_ATOMIC_STORE, gimple_statement_omp_atomic_store): Rename to...
(GSS_OMP_ATOMIC_STORE_LAYOUT, gimple_statement_omp_atomic_store):
...these.
@@ -1057,8 +2661,7 @@
GIMPLE_OMP_RETURN.
(gimple_resx_region, gimple_resx_set_region): Replace bogus
downcasts to gimple_statement_eh_ctrl with downcasts to
- gimple_statement_resx, thus requiring that the code be
- GIMPLE_RESX.
+ gimple_statement_resx, thus requiring that the code be GIMPLE_RESX.
(gimple_eh_dispatch_region, gimple_eh_dispatch_set_region):
Replace bogus downcasts to const gimple_statement_eh_ctrl with
downcasts to gimple_statement_eh_dispatch, thus requiring that
@@ -1151,14 +2754,13 @@
* config/arm/arm.c (arm_new_rtx_costs): Initialise cost correctly
for zero_extend case.
-2013-11-26 H.J. Lu <hongjiu.lu@intel.com>
+2013-11-26 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/55552
* configure.ac (install_gold_as_default): New. Set to yes for
--disable-ld or --enable-gold=default.
(gcc_cv_ld_gold_srcdir): New.
- (gcc_cv_ld): Also check in-tree gold if install_gold_as_default
- is yes.
+ (gcc_cv_ld): Also check in-tree gold if install_gold_as_default is yes.
(ORIGINAL_LD_BFD_FOR_TARGET): New AC_SUBST.
(ORIGINAL_LD_GOLD_FOR_TARGET): Likewise.
* configure: Regenerated.
@@ -1248,8 +2850,7 @@
* config/aarch64/aarch64-builtins.c
(VAR1): Use new naming scheme for aarch64_builtins.
- (aarch64_builtin_vectorized_function): Use new
- aarch64_builtins names.
+ (aarch64_builtin_vectorized_function): Use new aarch64_builtins names.
2013-11-26 Richard Biener <rguenther@suse.de>
@@ -1305,8 +2906,8 @@
* doc/invoke.texi (-mslow-flash-data): Document new option.
* config/arm/arm.opt (mslow-flash-data): New option.
- * config/arm/arm-protos.h (arm_max_const_double_inline_cost): Declare
- it.
+ * config/arm/arm-protos.h (arm_max_const_double_inline_cost):
+ Declare it.
* config/arm/arm.h (TARGET_USE_MOVT): Always true when literal pools
are disabled.
(arm_disable_literal_pool): Declare it.
@@ -1561,14 +3162,14 @@
2013-11-22 Yuri Rumyantsev <ysrumyan@gmail.com>
- * config/i386/i386.c(processor_alias_table): Enable PTA_AES,
+ * config/i386/i386.c (processor_alias_table): Enable PTA_AES,
PTA_PCLMUL and PTA_RDRND for Silvermont.
* config/i386/driver-i386.c (host_detect_local_cpu): Set up cpu
for Silvermont.
* doc/invoke.texi: Mention AES, PCLMUL and RDRND for Silvermont.
-2013-11-22 Andrew MacLeod <amacleod@redhat.com>
+2013-11-22 Andrew MacLeod <amacleod@redhat.com>
* hooks.h (hook_uint_mode_0): Add Prototype.
* hooks.c (hook_uint_mode_0): New default function.
@@ -1578,7 +3179,7 @@
* doc/tm.texi.in (TARGET_ATOMIC_ALIGN_FOR_MODE): Define.
* doc/tm.texi (TARGET_ATOMIC_ALIGN_FOR_MODE): Add description.
-2013-11-22 Andrew MacLeod <amacleod@redhat.com>
+2013-11-22 Andrew MacLeod <amacleod@redhat.com>
* gimple.h: Remove all includes.
(recalculate_side_effects): Move prototype to gimplify.h.
@@ -2337,7 +3938,7 @@
2013-11-20 James Greenhalgh <james.greenhalgh@arm.com>
- * gcc/config/aarch64/aarch64-builtins.c
+ * config/aarch64/aarch64-builtins.c
(aarch64_simd_itype): Remove.
(aarch64_simd_builtin_datum): Remove itype, add qualifiers pointer.
(VAR1): Use qualifiers.
@@ -3815,7 +5416,7 @@
* profile.c (compute_branch_probabilities): Do not sanity check
run_max.
-2013-11-18 Kenneth Zadeck <zadeck@naturalbridge.com>
+2013-11-18 Kenneth Zadeck <zadeck@naturalbridge.com>
* tree.c (int_fits_type_p): Change GET_MODE_BITSIZE to
GET_MODE_PRECISION.
@@ -4317,7 +5918,7 @@
* lto-streamer-in.c (input function): Call cgraph_create_node if
cgraph_get_node failed.
-2013-11-14 Olivier Hainque <hainque@adacore.com>
+2013-11-14 Olivier Hainque <hainque@adacore.com>
* cfgexpand.c (defer_stack_allocation): When optimization is enabled,
defer allocation of DECL_IGNORED_P variables at toplevel unless really
@@ -10134,7 +11735,7 @@
* config/iq2000/iq2000.c (init_cumulative_args): Likewise.
* config/rs6000/rs6000.c (init_cumulative_args): Likewise.
-2013-10-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
+2013-10-16 Ganesh Gopalasubramanian <Ganesh.Gopalasubramanian@amd.com>
* config/i386/i386.c (ix86_option_override_internal): Enable FMA4
for AMD bdver3.
@@ -10144,7 +11745,7 @@
* config/cris/t-elfmulti (MULTILIB_OPTIONS, MULTILIB_DIRNAMES)
(MULTILIB_MATCHES): Add multilib for -march=v8.
-2013-10-15 Sriraman Tallam <tmsriram@google.com>
+2013-10-15 Sriraman Tallam <tmsriram@google.com>
PR target/57756
* optc-save-gen.awk: Add extra parameter to the save and restore