summaryrefslogtreecommitdiff
path: root/gcc/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ChangeLog')
-rw-r--r--gcc/ChangeLog44656
1 files changed, 1523 insertions, 43133 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 9b81b4818f2..d6750386785 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,43468 +1,1858 @@
-2015-12-15 Martin Jambor <mjambor@suse.cz>
+2016-01-20 Richard Biener <rguenther@suse.de>
- PR ipa/68851
- * cgraph.c (collect_callers_of_node_1): Do not collect thunks.
- * cgraph.h (cgraph_node): Change comment of collect_callers.
-
-2015-12-15 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66688
- * tree-cfgcleanup.c (cleanup_control_flow_bb): Handle
- noreturn call followed only by debug stmts by removing
- the debug stmts and handling it the same as if the noreturn
- call is the last stmt.
-
-2015-12-14 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_promote_function_mode): New function.
- (TARGET_PROMOTE_FUNCTION_MODE): Define as above function.
- (TARGET_PROMOTE_PROTOTYPES): Remove.
-
-2015-12-14 Jason Merrill <jason@redhat.com>
-
- PR c++/68309
- * hash-table.h: Add copy constructor.
- * hash-map.h: Add copy constructor.
-
-2015-12-14 Tom de Vries <tom@codesourcery.com>
-
- PR other/68882
- * gimple-pretty-print.c (dump_ssaname_info_to_file): New function.
- * gimple-pretty-print.h (dump_ssaname_info_to_file): Declare.
- * tree-cfg.c (dump_default_def): New function.
- (dump_function_to_file): Dump default defs for arguments, static chain,
- and decl-by-reference.
-
-2015-12-14 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32.
- * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete.
- (pass_in_memory, promote_arg, promote_return): New.
- (nvptx_function_arg_boundary): Delete.
- (nvptx_function_value): Use promote_return.
- (nvptx_pass_by_reference): Use pass_in_memory.
- (nvptx_return_in_memory): Use pass_in_memory.
- (nvptx_promote_function_mode): Use promote_arg.
- (write_arg): Adjust arg splitting logic.
- (write_return): Check and clear ret_reg_mode, if needed.
- (write_fn_proto, nvptx_declare_function_name): Adust write_return
- calls.
- (TARGET_RUNCTION_ARG_BOUNDARY,
- TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override.
+ PR tree-optimization/69345
+ * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
+ (VN_INFO_PTR_INFO): Likewise.
+ * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
+ info when it is equal between non-dominating SSA names.
+ * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
+ Make sure to look at original SSA infos.
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
+2016-01-20 Jeff Law <law@redhat.com>
- PR c/68833
- * common.opt (Wmissing-noreturn): Add Warning option.
- * opts-common.c (control_warning_option): If opt is
- alias_target with alias_arg, set arg to it.
+ PR target/25114
+ * config/m68k/predicates.md (pow2_m1_operand): New predicate
+ extracted from ...
+ (reg_or_pow2_m1_operand): Call pow2_m1_operand.
+ (pc_or_label_operand): New predicate.
+ * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
+ tests for small integers that are 2^n - 1.
+
+2016-01-20 Jonathan Wakely <jwakely@redhat.com>
-2015-12-14 Segher Boessenkool <segher@kernel.crashing.org>
+ * doc/invoke.texi (Options Summary): Add '.' after @xref.
- PR target/68865
- PR target/68879
- * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands
- into registers.
+2016-01-19 Jeff Law <law@redhat.com>
-2015-12-14 Richard Biener <rguenther@suse.de>
+ PR middle-end/69347
+ * tree-ssa-threadbackwards.c
+ (fsm_find_control_statement_thread_paths): Do not try to lookup
+ FSM paths for SSA_NAMEs appearing in abnormal PHIs.
- Revert accidentially applied
- PR tree-optimization/68707
- PR tree-optimization/67323
- * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances
- if they can be vectorized using load/store-lane instructions.
-
-2015-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68852
- * tree-vectorizer.h (struct _slp_tree): Add def_type member.
- (SLP_TREE_DEF_TYPE): New accessor.
- * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization
- hack.
- * tree-vect-slp.c (vect_create_new_slp_node): Initialize
- SLP_TREE_DEF_TYPE.
- (vect_build_slp_tree): When a node is to be built up from scalars
- do not push a NULL as child but instead set its def_type to
- vect_external_def.
- (vect_analyze_slp_cost_1): Check for child def-type instead
- of NULL.
- (vect_detect_hybrid_slp_stmts): Likewise.
- (vect_bb_slp_scalar_cost): Likewise.
- (vect_get_slp_defs): Likewise.
- (vect_slp_analyze_node_operations): Likewise. Before
- processing node push the children def-types to the underlying
- stmts vinfo and restore it afterwards.
- (vect_schedule_slp_instance): Likewise.
- (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances
- as not vectorizable.
-
-2015-12-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68775
- * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply
- a operand swapping even if replacing the op with scalars.
-
-2015-12-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (change_zero_ext): Do not create a shift of zero length.
-
-2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P):
- Provide target hook.
- (arc_no_speculation_in_delay_slots_p): New function.
-
-2015-12-14 Claudiu Zissulescu <claziss@synopsys.com>
- Andrew Burgess <andrew.burgess@embecosm.com>
-
- * config/arc/arc.c (frame_move): Set frame related flag.
- (arc_save_restore): Emit epilogue related DWARF2 information.
- (arc_expand_epilogue): Likewise.
- * config/arc/arc.opt (mno-epilogue-cfi): Remove.
- (mepilogue-cfi): Likewise.
- * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation.
-
-2015-12-14 Martin Jambor <mjambor@suse.cz>
+2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
- PR ipa/66616
- * ipa-cp.c (propagate_constants_accross_call): Move thuk check...
- (call_passes_through_thunk_p): ...here.
- (find_more_scalar_values_for_callers_subset): Perform thunk checks
- like propagate_constants_accross_call does.
-
-2015-12-14 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68730
- * cfgrtl.c (cfg_layout_finalize): Free dominators.
-
-2015-12-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/67355
- * var-tracking.c (reverse_op): Don't add dummy zero to reverse
- ops that simplify back to the original value.
- * alias.c (refs_newer_value_p): Cut off recursion for
- expressions containing the original value.
-
-2015-12-13 Kazu Kirata <kazu@gcc.gnu.org>
-
- * config/m68k/m68k.md (load feeding clear byte): New peephole2.
-
-2015-12-13 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds
- parameters of GOACC_paralllel.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::get_untransformed_body): Pass compressed
- flag to lto_get_section_data.
- * varpool.c (varpool_node::get_constructor): Likewise.
- * lto-section-in.c (lto_get_section_data): Add new flag decompress.
- (lto_free_section_data): Likewise.
- (lto_get_raw_section_data): New function.
- (lto_free_raw_section_data): New function.
- (copy_function_or_variable): Copy sections w/o decompressing.
- (lto_output_decl_state_refs): Picke compressed bit.
- * lto-streamer.h (lto_in_decl_state): New flag compressed.
- (lto_out_decl_state): Likewise.
- (lto_get_section_data, lto_free_section_data): Update prototypes
- (lto_get_raw_section_data, lto_free_raw_section_data): Declare.
- (lto_write_raw_data): Declare.
- (lto_begin_section): Remove FIXME.
- (lto_write_raw_data): New function.
- (lto_write_stream): Remove FIXME.
- (lto_new_out_decl_state): Set compressed flag.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_lang_data_in_type, find_decls_types_r): Also free
- unnecesary type decls.
- * tree.h (is_redundant_typedef): Declare.
- * dwarf2out.c (is_redundant_typedef): Export; booleanize
-
-2015-12-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
- * config/sparc/sparc.c (sparc_emit_set_const64): Remove code
- conditionalized on HOST_BITS_PER_WIDE_INT == 32.
- (sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case.
- <CONST_DOUBLE>: Remove VOIDmode test.
- (epilogue_renumber) <CONST_WIDE_INT>: New case.
- (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode.
- (sparc_assemble_integer): Likewise.
- (set_extends): Likewise.
- (sparc_rtx_costs) <CONST_INT>: Use SMALL_INT.
- <CONST_WIDE_INT>: New case.
- <CONST_DOUBLE>: Remove support for VOIDmode.
- <MULT>: Remove support for CONST_DOUBLE with VOIDmode.
- * config/sparc/predicates.md (const_zero_operand): Add const_wide_int.
- (const_all_ones_operand): Likewise.
- (uns_small_int_operand): Remove const_double and code conditionalized
- on HOST_BITS_PER_WIDE_INT == 32.
- (arith_double_operand): Likewise.
- (arith_double_add_operand): Likewise.
- (input_operand): Remove support for CONST_DOUBLE with DImode.
- * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code
- conditionalized on HOST_BITS_PER_WIDE_INT == 32.
- (DFmode CONST_DOUBLE splitter): Likewise.
- (*adddi3_insn_sp32): Likewise.
- (*subdi3_insn_sp32): Likewise.
- (DImode logical splitter): Likewise.
- (DImode CONST_DOUBLE splitter): Delete.
-
-2015-12-12 Paolo Bonzini <bonzini@gnu.org>
-
- PR sanitizer/68418
- * c-family/c-ubsan.c (ubsan_instrument_shift): Disable
- sanitization of left shifts for wrapping signed types as well.
-
-2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68215
- * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
- Do not gimplify the result.
- (do_unop): Adjust call to tree_vec_extract.
- (do_binop): Likewise.
- (do_compare): Likewise.
- (do_plus_minus): Likewise.
- (do_negate): Likewise.
- (expand_vector_condition): Likewise.
- (do_cond): Likewise.
-
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete.
- (OUTGOING_ARG_POINTER_REGNUM): Delete.
- (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete.
- (REGISTER_NAMES): Name static chain regs.
- * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge
- ifs.
- (nvptx_incoming_arg): Merge ifs.
- (nvptx_function_arg_boundary): Reimplement to avoid mixing units.
- (nvptx_function_value): Tail call nvptx_libcall_value.
- (nvptx_pass_by_reference): Add ARG_UNUSED.
- (nvptx_static_chain): Use conditional op.
- (nvptx_handle_kernel_attribute): Use VOID_TYPE_P.
-
-2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de>
- Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR target/26427
- PR target/33120
- PR testsuite/35710
- * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and
- trailing whitespace.
-
-2015-12-11 Jan Beulich <jbeulich@suse.com>
-
- * cfgexpand.c (expand_one_var): Exit early for static and
- external variables when adjusting stack alignment related.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs)
- (s390_cannot_force_const_mem, legitimate_pic_operand_p)
- (s390_preferred_reload_class, s390_reload_symref_address)
- (legitimate_reload_constant_p, print_operand): Wide int support.
- * config/s390/predicates.md ("const0_operand", "constm1_operand")
- ("consttable_operand"): Likewise.
- ("larl_operand"): Add a comment.
- * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int
+ * doc/lto.texi: Remove text that says only Gold has linker plugin
support.
-2015-12-11 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define.
- * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for
- unrecognizable RTX.
-
-2015-12-11 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Remove unpaired TERMINATE_PASS_LIST.
-
-2015-12-11 Michael Matz <matz@suse.de>
-
- * hash-map.h (hash_map::hash_map): Gather statistics only
- when GATHER_STATISTICS is true.
- * hash-set.h (hash_set::hash_set): Ditto.
- * hash-table.h (hash_table::hash_table): Ditto.
- (hash_table::create_ggc): Ditto.
-
-2015-12-11 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/68064
- * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking
- assert that align is nonzero.
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_setmem): Use new expanders.
- * config/s390/s390.md ("*setmem_long")
- ("*setmem_long_and", "*setmem_long_31z"): Fix warnings.
- ("*setmem_long_and_31z"): New define_insn.
- ("setmem_long_<P:mode>"): New expanders.
- * (<modesize>): New mode attribute
-
-2015-12-11 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("movstr", "*movstr"): Fix warning.
- ("movstr<P:mode>"): New indirect expanders used by "movstr".
-
-2015-12-11 Martin Liska <mliska@suse.cz>
- Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67484
- * config/i386/i386.c (ix86_valid_target_attribute_tree):
- Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and
- opts->x_ix86_tune_string.
-
-2015-12-11 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (lto_simple_header_with_strings): Remove
- main_size field already in lto_simple_header.
-
-2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check
- mask vectype.
-
-2015-12-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
+ (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
+ the DIE accordingly.
+ (modified_type_die): Add REVERSE parameter and pass it recursively,
+ as well as to base_type_die. Adjust presence check accordingly.
+ (base_type_for_mode): Adjust call to modified_type_die.
+ (add_type_attribute): Add REVERSE parameter and pass it to
+ modified_type_die.
+ (generic_parameter_die): Adjust call to add_type_attribute.
+ (add_scalar_info): Likewise.
+ (add_subscript_info): Likewise.
+ (gen_array_type_die): Likewise.
+ (gen_descr_array_type_die): Likewise.
+ (gen_entry_point_die): Likewise.
+ (gen_enumeration_type_die): Likewise.
+ (gen_formal_parameter_die): Likewise.
+ (gen_subprogram_die): Likewise.
+ (gen_variable_die ): Likewise.
+ (gen_const_die): Likewise.
+ (gen_field_die): Likewise.
+ (gen_pointer_type_die): Likewise.
+ (gen_reference_type_die): Likewise.
+ (gen_ptr_to_mbr_type_die): Likewise.
+ (gen_inheritance_die): Likewise.
+ (gen_subroutine_type_die): Likewise.
+ (gen_typedef_die): Likewise.
+ (force_type_die): Adjust call to modified_type_die.
+
+2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/standards.texi: Copy-editing for grammar, markup, and sentence
+ flow throughout the file. Fix broken link to Objective-C 2.0
+ documentation.
+ * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
+ errors.
- * config/i386/i386.c (ix86_get_mask_mode): Use scalar
- modes for 32 and 16 byte boolean vectors when possible.
+2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
-2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
+ * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
- PR rtl-optimization/67778
- PR rtl-optimization/68634
- * shrink-wrap.c (try_shrink_wrapping): Add a comment about why we want
- to put the prologue earlier. When determining if an earlier block is
- suitable, make sure it dominates every block reachable from it.
-
-2015-12-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68814
- * rtlanal.c (set_noop_p): Use BITS_BIG_ENDIAN instead of
- BYTES_BIG_ENDIAN.
-
-2015-12-10 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_function_arg,
- nvptx_function_incoming_arg, nvptx_function_arg_advance,
- nvptx_strict_argument_naming, nvptx_function_arg_boundary,
- nvptx_libcall_value, nvptx_function_value,
- nvptx_function_value_regno_p, nvptx_pass_by_reference,
- nvptx_return_in_memory, nvptx_promote_function_mode,
- nvptx_static_chain): Move earlier.
- (write_one_arg): Break out as helper fn for ...
- (write_arg): ... this new function. Adjust all callers.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (wrap_refs): Only wrap public decls.
-
-2015-12-10 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_cloning_candidate_p): Use node->optimize_for_size_p.
- (good_cloning_opportunity_p): Likewise.
- (gather_context_independent_values): Do not return true when
- polymorphic call context is known or when we have known aggregate
- value of unused parameter.
- (estimate_local_effects): Try to create clone for all context
- when either some params are substituted or devirtualization is possible
- or some params can be removed; use local flag instead of
- node->will_be_removed_from_program_if_no_direct_calls_p.
- (identify_dead_nodes): Likewise.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * doc/invoke.texi (-Wall): Add -Wmisleading-indentation to the
- list.
- (-Wmisleading-indentation): Update documentation to reflect
- being enabled by -Wall in C/C++.
-
-2015-12-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68691
- * lra-spills.c (lra_final_code_change): Check pseudo occurrence
- number in non-debug insns and remove debug insns if necessary.
-
-2015-12-10 Martin Sebor <msebor@redhat.com>
-
- * invoke.texi (Warning Options): Update -Wall options. Clarify
- when some -Wextra options are enabled. Add -Wplacement-new example.
-
-2015-12-10 Uros Bizjak <ubizjak@gmail.com>
-
- * graphite-scop-detection.c (gather_bbs::before_dom_children):
- Change return type to an edge. Always return NULL.
-
-2015-12-10 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68619
- * tree-ssa-dom.c (dom_opt_dom_walker::before_dom_children): Propgate
- return value from optimize_stmt.
- (dom_opt_dom_walker): Add new argument to dom_walker constructor.
- (pass_dominator:execute): If a block has an unreachable edge,
- remove all jump threads through any successor of the affected block.
- (record_equivalences_from_phis): Ignore alternative if the edge
- does not have EDGE_EXECUTABLE set.
- (single_incoming_edge_ignoring_loop_edges): Similarly.
- (optimize_stmt): If a gimple_code has a compile-time constant
- condition, return the edge taken for that constant value. Also
- change the condition to true/false as necessary.
- * domwalk.h (dom_walker::dom_walker): Add new argument
- skip_unreachable_blocks. Don't provide empty constructor body.
- (dom_walker::before_dom_children): Change return type.
- (dom_walker::bb_reachable): Declare new private method.
- (dom_walker::propagate_unreachable_to_edges): Likewise.
- (dom_walker::m_unreachable_dom): Declare new private data member.
- (dom_walker::m_skip_unreachable_blocks): Likewise.
- * domwalk.c: Include dumpfile.h.
- (dom_walker::dom_walker): New constructor. Initialize private data
- members. If needed, set EDGE_EXECUTABLE for all edges in the CFG,
- extracted from tree-ssa-sccvn.c.
- (dom_walker::bb_reachable): New method extracted from tree-ssa-sccvn.c
- (dom_walker::propagate_unreachable_to_edges): Likewise.
- (dom_walker::walk): Only call before_dom_children on reachable
- blocks. If before_dom_children returns an edge, then clear
- EDGE_EXECUTABLE for all other outgoing edges from the same block.
- For unreachable blocks, call propagate_unreachable_to_edges.
- Similarly, only call after_dom_children on reachable blocks. For
- unreachable blocks, conditionally clear m_unreachable_dom.
- * tree-ssa-sccvn.c (sccvn_dom_walker::unreachable_dom): Remove
- private data member.
- (sccvn_dom_walker::after_dom_children): Use methods from dom_walker
- class.
- (run_scc_vn): Likewise.
- (sccvn_dom_walker::before_dom_children): Likewise. Return the taken
- outgoing edge if a COND, SWITCH, or GOTO are optimized.
- * compare-elim.c (find_comparison_dom_walker::before_dom_children):
- Change return type to an edge. Always return NULL.
- * fwprop.c (single_def_use_dom_walker::before_dom_children): Likewise.
- * gimple-ssa-strength-reduction.c
- (find_candidates_dom_walker::before_dom_children): Likewise.
- * ipa-prop.c (analysis_dom_walker::before_dom_children): Likewise.
- (ipcp_modif_dom_walker::before_dom_children): Likewise.
- * tree-into-ssa.c (rewrite_dom_walker::before_dom_children): Likewise.
- (rewrite_update_dom_walker::before_dom_children): Likewise.
- (mark_def_dom_children::before_dom_children): Likewise.
- * tree-ssa-dse.c (dse_dom_walker::before_dom_children): Likewise.
- * tree-ssa-loop-im.c
- (invariantness_dom_walker::before_dom_children): Likewise.
- (move_computations_dom_walker::before_dom_walker): Likewise.
- * tree-ssa-phiopt.c
- (nontrapping_dom_walker::before_dom_children): Likewise.
- * tree-ssa-pre.c
- (eliminate_dom_walker::before_dom_children): Likewise.
- * tree-ssa-propagate.c
- (substitute_and_fold_dom_walker::before_dom_children): Likewise.
- * tree-ssa-strlen.c
- (strlen_dom_walker::before_dom_children): Likewise.
- * tree-ssa-uncprop.c
- (uncprop_dom_walker::before_dom_children): Likewise.
-
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- PR rtl-optimization/68670
- * ifcvt.c (noce_try_abs): For one_cmpl allow < 0, >= 0
- or > -1 conditions regardless of negate, and disallow
- all other conditions.
-
-2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_call_returns_bounds_p): Return true
- for VA_ARG call.
- (chkp_fixup_inlined_call): New.
- * tree-chkp.h (chkp_fixup_inlined_call): New.
- * tree-stdarg.c: Include tree-chkp.h.
- (expand_ifn_va_arg_1): Fixup bndret calls for removed
- VA_ARG calls.
-
-2015-12-10 Martin Jambor <mjambor@suse.cz>
-
- * tree-inline.c (duplicate_remap_omp_clause_seq): New function.
- (replace_locals_op): Duplicate gimple sequences in OMP clauses.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * graphite-optimize-isl.c (scop_get_domains): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * ifcvt.c (noce_try_inverse_constants): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * regrename.c (scan_rtx_address): Fix indentation.
-
-2015-12-10 David Malcolm <dmalcolm@redhat.com>
-
- * function.c (locate_and_pad_parm): Fix indentation.
-
-2015-12-10 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (struct variable_info): Add
- is_ipa_escape_point flag.
- (new_var_info): Initialize to false.
- (find_func_aliases): Generate escape constraints for stores
- properly in IPA mode.
- (ipa_pta_execute): Compute is_ipa_escape_point for globals.
-
-2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/atomic.md: Add new file.
-
-2015-12-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc-protos.h (arc_expand_atomic_op): Prototype.
- (arc_split_compare_and_swap): Likewise.
- (arc_expand_compare_and_swap): Likewise.
- * config/arc/arc.c (arc_init): Check usage atomic option.
- (arc_pre_atomic_barrier): New function.
- (arc_post_atomic_barrier): Likewise.
- (emit_unlikely_jump): Likewise.
- (arc_expand_compare_and_swap_qh): Likewise.
- (arc_expand_compare_and_swap): Likewise.
- (arc_split_compare_and_swap): Likewise.
- (arc_expand_atomic_op): Likewise.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): New C macro.
- (ASM_SPEC): Enable mlock option when matomic is used.
- * config/arc/arc.md (UNSPEC_ARC_MEMBAR): Define.
- (VUNSPEC_ARC_CAS): Likewise.
- (VUNSPEC_ARC_LL): Likewise.
- (VUNSPEC_ARC_SC): Likewise.
- (VUNSPEC_ARC_EX): Likewise.
- * config/arc/arc.opt (matomic): New option.
- * config/arc/constraints.md (ATO): New constraint.
- * config/arc/predicates.md (mem_noofs_operand): New predicate.
- * doc/invoke.texi: Document -matomic.
- * config/arc/atomic.md: New file.
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
-2015-12-10 Richard Biener <rguenther@suse.de>
+ PR ipa/66223
+ * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
+ (maybe_record_node): Record cxa_pure_virtual as the only possible
+ target if there are not ohter candidates.
+ (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
- PR tree-optimization/68817
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Detect
- gaps early.
+2016-01-19 Richard Biener <rguenther@suse.de>
-2015-12-10 Ilya Enkovich <enkovich.gnu@gmail.com>
+ * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
+ (get_memory_order): Likewise.
- * tree-vect-stmts.c (vectorizable_assignment): Support
- useless boolean conversion.
+2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
-2015-12-10 Alan Lawrence <alan.lawrence@arm.com>
+ * tree-vect-stmts.c (vectorizable_store): Check
+ rhs vectype.
- * doc/install.texi: Add note against GNAT 4.8 on ARM targets.
+2016-01-19 David Malcolm <dmalcolm@redhat.com>
-2015-12-10 Jakub Jelinek <jakub@redhat.com>
+ PR jit/68446
+ * gcc.c (driver::decode_argv): Add call to
+ init_opts_obstack before init_options_struct.
+ * opts.c (init_opts_obstack): Remove idempotency.
+ (init_options_struct): Replace call to init_opts_obstack
+ with a gcc_assert to verify that it has already been called.
+ * toplev.c (toplev::main): Add call to init_opts_obstack before
+ calls to init_options_struct.
+ (toplev::finalize): Move cleanup of opts_obstack next to
+ cleanup of save_decoded_options, clearing the latter, and
+ save_decoded_options_count.
- PR tree-optimization/68785
- * gimple-fold.c (fold_ctor_reference): Pass return value from
- native_encode_expr to native_interpret_expr.
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Likewise.
+2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-12-10 Richard Biener <rguenther@suse.de>
+ PR target/69135
+ * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
+ attribute to unconditional. Remove %? from output template.
- PR ipa/68331
- * tree-ssa-structalias.c (set_uids_in_ptset): Add fndecl
- parameter and make vars_contains_nonlocal properly have
- function-scope semantics in IPA mode.
- (find_what_var_points_to): Add fndecl parameter.
- (find_what_p_points_to): Likewise.
- (pt_solution_includes_global): Remove IPA PTA early out.
- (compute_points_to_sets): Adjust.
- (ipa_pta_execute): Likewise. Clear final_solutions after
- each function.
-
-2015-12-10 Tom de Vries <tom@codesourcery.com>
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+ Jiong Wang <jiong.wang@arm.com>
- PR ada/65102
- * doc/include/fdl.texi: Add nodefaultgnufreedocumentationlicensenode
- ifdef to allow disabling default @node GNU Free Documentation License.
+ * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
+ generated from different expand order.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
+ Add support for CCMP costing.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
+ * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
+ (fccmpe<mode>): Likewise.
+ (fcmp): Rename to fcmp and globalize pattern.
+ (fcmpe): Likewise.
+ * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
+ (aarch64_gen_ccmp_next): Add FP support.
+
+2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
+
+ * target.def (gen_ccmp_first): Update documentation.
+ (gen_ccmp_next): Likewise.
+ * doc/tm.texi (gen_ccmp_first): Update documentation.
+ (gen_ccmp_next): Likewise.
+ * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
+ expand_ccmp_expr_1. Improve comments.
+ * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
+ (ccmp_ior<mode>): Remove pattern.
+ (cmp<mode>): Remove expand.
+ (cmp): Globalize pattern.
+ (cstorecc4): Use cc_register.
+ (mov<mode>cc): Remove ccmp_cc_register check.
+ * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
+ Simplify after removal of CC_DNE/* modes.
+ (aarch64_ccmp_mode_to_code): Remove.
+ (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
+ In 'k' case use integer as condition.
+ (aarch64_nzcv_codes): Remove inverted cases.
+ (aarch64_code_to_ccmode): Remove.
+ (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
+ comparison with CC register to be used in folowing CCMP/branch/CSEL.
+ (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
+ pattern. Return the comparison with CC register. Invert conditions
+ when bitcode is OR.
+ * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
+ * config/aarch64/predicates.md (ccmp_cc_register): Remove.
+
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
+
+ * cgraphunit.c (cgraph_node::reset): Clear thunk info and
+ instrumented_version.
+
+2016-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69336
+ * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
+ handled components with get_ref_base_and_extent.
+ (equal_mem_array_ref_p): Adjust.
+
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/65779
+ * shrink-wrap.c: Include valtrack.h.
+ (move_insn_for_shrink_wrap): Add DEBUG argument. If
+ MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
+ in between insn and where it will be moved to. Call
+ dead_debug_insert_temp.
+ (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
+ first and dead_debug_local_finish at the end.
+ For uses and defs bitmap, handle all regs in between REGNO and
+ END_REGNO, not just the first one.
+
+2016-01-19 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69352
+ * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
+ (equal_mem_array_ref_p): Constrain size and max size properly.
+ Compare the reverse flag.
+
+2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
+
+ * ira.c (ira): Update regstat data if we deleted insns.
+
+2016-01-19 Jakub Jelinek <jakub@redhat.com>
+
+ PR rtl-optimization/68955
+ PR rtl-optimization/64557
+ * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
+ here. Fix up formatting.
+ * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- * tree-ssa-structalias.c (create_function_info_for): Add missing
- constraint from nonlocal for DECL_RESULT.
+ PR lto/69133
+ * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
+ assume that the node has body.
+ * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
+ check.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- * tree-if-conv.c: Include params.h.
- (ifcvt_memrefs_wont_trap): Use PARAM_ALLOW_STORE_DATA_RACES
- instead of flag_tree_loop_if_convert_stores to guard cases
- we'd introduce store-data-races.
+ * lto-streamer-out.c (lto_output): Do not stream instrumentation
+ thunks.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Jan Hubicka <hubicka@ucw.cz>
- PR ipa/68721
- * ipa-split.c (split_function): Record return value properly
- when the split part doesn't set it.
+ * symtab.c (symtab_node::asm_name): Do not call printable name directly.
+ (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-19 Martin Jambor <mjambor@suse.cz>
+ Martin Liska <mliska@suse.cz>
+ Michael Matz <matz@suse.de>
+
+ * Makefile.in (OBJS): Add new source files.
+ (GTFILES): Add hsa.c.
+ * common.opt (disable_hsa): New variable.
+ (-Whsa): New warning.
+ * config.in (ENABLE_HSA): New.
+ * configure.ac: Treat hsa differently from other accelerators.
+ (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
+ $enable_offloading.
+ (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
+ * doc/install.texi (Configuration): Document --with-hsa-runtime,
+ --with-hsa-runtime-include, --with-hsa-runtime-lib and
+ --with-hsa-kmt-lib.
+ * doc/invoke.texi (-Whsa): Document.
+ (hsa-gen-debug-stores): Likewise.
+ * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
+ to invoke offload compiler for hsa acclerator.
+ * opts.c (common_handle_option): Determine whether HSA offloading
+ should be performed.
+ * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
+ * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
+ (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
+ * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
+ * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
+ GF_OMP_FOR_KIND_GRID_LOOP.
+ (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
+ (pp_gimple_stmt_1): Likewise.
+ * gimple-walk.c (walk_gimple_stmt): Likewise.
+ * gimple.c (gimple_build_omp_grid_body): New function.
+ (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
+ * gimple.def (GIMPLE_OMP_GRID_BODY): New.
+ * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
+ GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
+ GF_OMP_TEAMS_GRID_PHONY.
+ (gimple_statement_omp_single_layout): Updated comments.
+ (gimple_build_omp_grid_body): New function.
+ (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
+ (gimple_omp_for_grid_phony): New function.
+ (gimple_omp_for_set_grid_phony): Likewise.
+ (gimple_omp_parallel_grid_phony): Likewise.
+ (gimple_omp_parallel_set_grid_phony): Likewise.
+ (gimple_omp_teams_grid_phony): Likewise.
+ (gimple_omp_teams_set_grid_phony): Likewise.
+ (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
+ * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
+ (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
+ (BUILT_IN_GOMP_TARGET): Updated type.
+ * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
+ (adjust_for_condition): New function.
+ (get_omp_for_step_from_incr): Likewise.
+ (extract_omp_for_data): Moved parts to adjust_for_condition and
+ get_omp_for_step_from_incr.
+ (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
+ (fixup_child_record_type): Bail out if receiver_decl is NULL.
+ (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
+ (scan_omp_parallel): Do not create child functions for phony
+ constructs.
+ (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
+ (scan_omp_1_op): Checking assert we are not remapping to
+ ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
+ (parallel_needs_hsa_kernel_p): New function.
+ (expand_parallel_call): Register apprpriate parallel child
+ functions as HSA kernels.
+ (grid_launch_attributes_trees): New type.
+ (grid_attr_trees): New variable.
+ (grid_create_kernel_launch_attr_types): New function.
+ (grid_insert_store_range_dim): Likewise.
+ (grid_get_kernel_launch_attributes): Likewise.
+ (get_target_argument_identifier_1): Likewise.
+ (get_target_argument_identifier): Likewise.
+ (get_target_argument_value): Likewise.
+ (push_target_argument_according_to_value): Likewise.
+ (get_target_arguments): Likewise.
+ (expand_omp_target): Call get_target_arguments instead of looking
+ up for teams and thread limit.
+ (grid_expand_omp_for_loop): New function.
+ (grid_arg_decl_map): New type.
+ (grid_remap_kernel_arg_accesses): New function.
+ (grid_expand_target_kernel_body): New function.
+ (expand_omp): Call it.
+ (lower_omp_for): Do not emit phony constructs.
+ (lower_omp_taskreg): Do not emit phony constructs but create for them
+ a temporary variable receiver_decl.
+ (lower_omp_taskreg): Do not emit phony constructs.
+ (lower_omp_teams): Likewise.
+ (lower_omp_grid_body): New function.
+ (lower_omp_1): Call it.
+ (grid_reg_assignment_to_local_var_p): New function.
+ (grid_seq_only_contains_local_assignments): Likewise.
+ (grid_find_single_omp_among_assignments_1): Likewise.
+ (grid_find_single_omp_among_assignments): Likewise.
+ (grid_find_ungridifiable_statement): Likewise.
+ (grid_target_follows_gridifiable_pattern): Likewise.
+ (grid_remap_prebody_decls): Likewise.
+ (grid_copy_leading_local_assignments): Likewise.
+ (grid_process_kernel_body_copy): Likewise.
+ (grid_attempt_target_gridification): Likewise.
+ (grid_gridify_all_targets_stmt): Likewise.
+ (grid_gridify_all_targets): Likewise.
+ (execute_lower_omp): Call grid_gridify_all_targets.
+ (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
+ * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
+ (tree_omp_clause): Added union field dimension.
+ * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
+ * tree.c (omp_clause_num_ops): Added number of arguments of
+ OMP_CLAUSE__GRIDDIM_.
+ (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
+ (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
+ * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
+ (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
+ (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
+ (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
+ * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
+ * tree-pass.h (make_pass_gen_hsail): Declare.
+ (make_pass_ipa_hsa): Likewise.
+ * ipa-hsa.c: New file.
+ * lto-section-in.c (lto_section_name): Add hsa section name.
+ * lto-streamer.h (lto_section_type): Add hsa section.
+ * timevar.def (TV_IPA_HSA): New.
+ * hsa-brig-format.h: New file.
+ * hsa-brig.c: New file.
+ * hsa-dump.c: Likewise.
+ * hsa-gen.c: Likewise.
+ * hsa.c: Likewise.
+ * hsa.h: Likewise.
+ * toplev.c (compile_file): Call hsa_output_brig.
+ * hsa-regalloc.c: New file.
+
+2016-01-18 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/69320
+ * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
+ ranged object, do nothing if the RHS constant is not [0..1].
+ (optimize_stmt): Comparing a boolean ranged object against a
+ constant outside [0..1] results in a compile-time constant.
+
+ * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
+ test.
+
+2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
+
+ * doc/invoke.texi (Invoking GCC): Add new section to menu.
+ (Option Summary): Update to reflect new section and moved options.
+ (C++ Dialect Options): Move -fstats to new section.
+ (Debugging Options): Move all dump, statistics, and other GCC
+ developer options to new section. Rewrite section introduction
+ and re-order remaining options to put the more basic ones first.
+ (Optimization Options): Move -fira-verbose and -flto-report* to
+ new section.
+ (Developer Options): New section incorporating moved options.
+ * doc/cppopts.texi (-dM): Update cross-reference.
+
+2016-01-18 Richard Henderson <rth@redhat.com>
+
+ PR target/69176
+ * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
+ operands to pseudo only if CSE is expected. Split long immediate
+ operands only after reload, and for the stack pointer.
+ (*add<GPI>3_pluslong): Remove.
+ (*addsi3_aarch64, *adddi3_aarch64): Merge into...
+ (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
+ (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
+ (*add<GPI>3 peepholes): New.
+ (*add<GPI>3 splitters): New.
+ * config/aarch64/constraints.md (Upl): New.
+ * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
+
+2016-01-18 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69297
+ * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
+ stmt at most once.
+ (vect_bb_vectorization_profitable_p): Clear visited flag again.
+
+2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR middle-end/68542
+ * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
+ of mixind vector and scalar types.
+ (fold_relational_const): Add handling of vector
+ comparison with boolean result.
+ * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
+ comparison of vector operands with boolean result for EQ/NE only.
+ (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
+ (verify_gimple_cond): Likewise.
+ * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
+ valid type of VAL.
+
+2016-01-18 Joseph Myers <joseph@codesourcery.com>
+
+ * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
+ !TARGET_OCTEON.
+
+2016-01-18 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/69308
+ * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * omp-low.c (set_oacc_fn_attrib): Make extern.
+ * omp-low.h (set_oacc_fn_attrib): Declare.
+ * tree-parloops.c (struct reduction_info): Add reduc_addr field.
+ (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
+ (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
+ Add and handle function parameter oacc_kernels_p.
+ (find_reduc_addr, get_omp_data_i_param): New function.
+ (ref_conflicts_with_region, oacc_entry_exit_ok_1)
+ (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
+ (parallelize_loops): Add and handle function parameter oacc_kernels_p.
+ Calculate dominance info. Skip loops that are not in a kernels region
+ in oacc_kernels_p mode. Skip inner loops of parallelized loops.
+ (pass_parallelize_loops::execute): Call parallelize_loops with
+ oacc_kernels_p argument.
+ (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
+ New member function.
+ (pass_parallelize_loops::bool oacc_kernels_p): New member var.
+ * passes.def: Add argument to pass_parallelize_loops instantation.
+
+2016-01-18 Tom de Vries <tom@codesourcery.com>
+
+ * tree-parloops.c (pass_parallelize_loops::execute): Allow
+ pass_parallelize_loops to be run outside the loop pipeline.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ * tree-scalar-evolution.c (follow_copies_to_constant): New.
+ (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/63679
+ * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
+ using get_ref_base_and_extent.
+ (equal_mem_array_ref_p): New.
+ (hashable_expr_equal_p): Add call to previous.
+
+2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
+
+ PR target/63679
+ * tree-sra.c (disqualified_constants, constant_decl_p): New.
+ (sra_initialize): Allocate disqualified_constants.
+ (sra_deinitialize): Free disqualified_constants.
+ (disqualify_candidate): Update disqualified_constants when appropriate.
+ (create_access): Scan for constant-pool entries as we go along.
+ (scalarizable_type_p): Add check against type_contains_placeholder_p.
+ (maybe_add_sra_candidate): Allow constant-pool entries.
+ (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
+ (initialize_constant_pool_replacements): New.
+ (sra_modify_assign): Avoid mangling assignments created by previous,
+ and don't generate writes into constant pool.
+ (sra_modify_function_body): Call initialize_constant_pool_replacements.
+
+2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
- PR tree-optimization/68806
- * tree-vect-loop.c (vect_analyze_loop_2): Properly detect
- reduction chains and ignore SLP reductions.
+ * config/i386/i386.c (scalar_to_vector_candidate_p): Support
+ andnot instruction.
+ (scalar_chain::convert_op): Likewise.
+ * config/i386/i386.md (*andndi3_doubleword): New.
-2015-12-10 Richard Biener <rguenther@suse.de>
+2016-01-18 Richard Biener <rguenther@suse.de>
- * tree-if-conv.c (if_convertible_loop_p_1): Do not compute
- dependences.
- (if_convertible_loop_p): Adjust.
+ PR tree-optimization/69170
+ * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
+ building a vector from scalar results of a pattern stmt.
-2015-12-10 Tom de Vries <tom@codesourcery.com>
+2016-01-18 Jakub Jelinek <jakub@redhat.com>
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call): Remove
- invalid assert.
-
-2015-12-10 Martin Liska <mliska@suse.cz>
-
- * tree-vect-data-refs.c: Free an overwritten dataref.
-
-2015-12-09 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/68729
- * config/pa/pa.c (pa_emit_move_sequence): Don't check that mode is
- consistent with modes of the input and output operands when doing
- reloads to and from floating point registers. Do reload for all
- address forms.
+ * haifa-sched.c (autopref_multipass_init): Work around
+ -Wmaybe-uninitialized warning.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
- PR ipa/61886
- PR middle-end/25140
- * tree-ssa-alias.c (ptr_deref_may_alias_decl_p): Use compare_base_decls
- (nonoverlapping_component_refs_of_decl_p): Update sanity check.
- (decl_refs_may_alias_p): Use compare_base_decls.
- * alias.c: Include cgraph.h
- (get_alias_set): Add cut-off for recursion.
- (rtx_equal_for_memref_p): Use rtx_equal_for_memref_p.
- (compare_base_decls): New function.
- (base_alias_check): Likewise.
- (memrefs_conflict_p): Likewise.
- (nonoverlapping_memrefs_p): Likewise.
- * alias.h (compare_base_decls): Declare.
+ * config/arm/arm.c (thumb1_reorg): Check that the comparison is
+ against the constant 0.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- PR ipa/61886
- * ipa-visibility.c (function_and_variable_visibility): Fix vtable
- rewritting guard.
+ PR tree-optimization/68799
+ * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
+ look up phi candidates in the statement-candidate map.
+ (phi_add_costs): Likewise.
+ (record_phi_increments): Likewise.
+ (phi_incr_cost): Likewise.
+ (ncd_with_phi): Likewise.
+ (all_phi_incrs_profitable): Likewise.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-17 Jakub Jelinek <jakub@redhat.com>
- PR ipa/61886
- PR middle-end/25140
- * ipa-reference.c (ipa_reference_get_not_read_global,
- ipa_reference_get_not_read_global): Fix WRT aliases.
- (is_improper): Break out from ...
- (is_proper_for_analysis): ... here; fix WRT aliases.
- (analyze_function, generate_summary,
- ipa_reference_write_optimization_summary,
- ipa_reference_read_optimization_summary): Use ipa_reference_var_uid.
- * ipa-refrence.h (ipa_reference_var_uid): New inline.
- * tree-ssa-alias.c: Revert my accidental previous commit.
- (ref_maybe_used_by_call_p_1,
- call_may_clobber_ref_p_1): Use ipa_reference_var_uid.
+ * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
+ -Wmaybe-uninitialized warning.
-2015-12-09 Andreas Tobler <andreast@gcc.gnu.org>
+2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
- * config/rs6000/freebsd64.h: Remove the redefinition of WCHAR_TYPE.
+ * doc/invoke.texi (Invoking GCC): Add new section to menu.
+ (Option Summary): Update to reflect new section and moved options.
+ (C++ Dialect Options): Move -fvtable-verify and related options.
+ (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
+ and profiling-related options.
+ (Optimization Options): Move profile generation options and
+ -fstack-protector and related options.
+ (Instrumentation Options): New section incorporating moved options.
+ (Code Generation Options): Move -finstrument-functions and
+ related options, -fstack-check, -fstack-limit*, and -fbounds-check.
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
+2016-01-16 Tom de Vries <tom@codesourcery.com>
- * graphite-optimize-isl.c: Include isl/ast_build.h
- (optimize_isl): Set several isl_options_set_* options.
-
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (pdr_add_memory_accesses): Iterate in
- the same order as adding data reference access functions.
-
-2015-12-09 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Improve dump message.
-
-2015-12-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66949
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Don't call
- single_non_singleton_phi_for_edges to get the PHI from
- factor_out_conditional_conversion. Use NULL_TREE instead of NULL.
- (factor_out_conditional_conversion): Adjust declaration. Make it
- return the newly-created PHI.
-
-2015-12-09 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_cannot_change_mode_class): Bring back.
- * config/aarch64/aarch64.c
- (aarch64_cannot_change_mode_class): Likewise.
- * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Likewise.
- * config/aarch64/aarch64.md (aarch64_movdi_<mode>low): Use
- zero_extract rather than truncate.
- (aarch64_movdi_<mode>high): Likewise.
-
-2015-12-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68786
- * tree-if-conv.c: Include builtins.h.
- (predicate_mem_writes): Put result of get_object_alignment (ref)
- into second argument's value.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Put minimum
- pointer alignment into second argument's value.
- * tree-data-ref.c (get_references_in_stmt): Use value of second
- argument for build_aligned_type, and only the type to build
- a zero second argument for MEM_REF.
- * internal-fn.c (expand_mask_load_optab_fn,
- expand_mask_store_optab_fn): Likewise.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68583
- * tree-if-conv.c (if_convertible_phi_p): Drop
- flag_tree_loop_if_convert_stores check in favor of the
- existing any_mask_load_store check.
- (insert_gimplified_predicates): Likewise.
- (combine_blocks): Likewise.
- (tree_if_conversion): Likewise.
- (ifcvt_memrefs_wont_trap): Properly check
- flag_tree_loop_if_convert_stores in all places that can end
- up introducing store-data-races.
- (if_convertible_gimple_assign_stmt_p): Remove restriction
- on flag_tree_loop_if_convert_stores for stores we can if-convert
- without introducing store-data-races. Force versioning for
- all if-converted stores.
-
-2015-12-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68716
- * tree-ssa-structalias.c (find_func_clobbers): Fix handling of
- BUILT_IN_GOMP_PARALLEL and BUILT_IN_GOACC_PARALLEL.
+ * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
-2015-12-09 Martin Liska <mliska@suse.cz>
-
- * hash-traits.h (struct typed_delete_remove): New function.
- (typed_delete_remove ::remove): Likewise.
- * tree-ssa-loop-ivopts.c (struct iv_common_cand): Replace
- auto_vec with vec.
- (record_common_cand): Replace XNEW with operator new.
-
-2015-12-09 Martin Liska <mliska@suse.cz>
-
- * tree-if-conv.c (ifcvt_local_dce): Replace vec with auto_vec.
+2016-01-16 Tom de Vries <tom@codesourcery.com>
-2015-12-09 Martin Liska <mliska@suse.cz>
+ * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
- PR ipa/68790
- * ipa-icf.c (sem_function::param_used_p): Return true
- if ipa_node_params_sum equals to NULL.
+2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
-2015-12-09 Richard Biener <rguenther@suse.de>
+ * hash-table.h (hash_table::empty): Turn into an inline wrapper
+ that checks whether the table is already empty. Rename the
+ original implementation to...
+ (hash_table::empty_slot): ...this new private function.
- PR tree-optimization/68583
- * tree-if-conv.c (ifc_dr): Make flags bool, add w_unconditionally
- flag and rename predicates to w_predicate, rw_predicate and
- base_w_predicate.
- (DR_WRITTEN_AT_LEAST_ONCE): Rename to ...
- (DR_BASE_W_UNCONDITIONALLY): ... this.
- (DR_W_UNCONDITIONALLY): Add.
- (hash_memrefs_baserefs_and_store_DRs_read): Adjust. Compute
- unconditionally written separately from read or written.
- (ifcvt_memrefs_wont_trap): Properly treat reads.
- (ifcvt_could_trap_p): Inline ...
- (if_convertible_gimple_assign_stmt_p): ... here. Refactor
- to avoid code duplication.
- (if_convertible_loop_p_1): Adjust and properly initialize
- predicates.
-
-2015-12-09 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Set new vinfo only
- if it was not yet set.
- * tree-vectorizer.h (set_vinfo_for_stmt): Assert we don't
- overwrite an existing entry.
-
-2015-12-09 Chung-Lin Tang <cltang@codesourcery.com>
-
- * c-family/c-omp.c (c_finish_oacc_wait): Remove add_stmt() call.
- * c/c-parser.c (c_parser_oacc_wait): Add add_stmt() call.
- * cp/parser.c (cp_parser_oacc_wait): Add finish_expr_stmt() call.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 David Malcolm <dmalcolm@redhat.com>
- PR ipa/61886
- * symtab.c (symtab_node::equal_address_to): New parameter
- MEMORY_ACCESSED.
- * cgraph.h (symtab_node::equal_address_to): Update prototype.
-
-2015-12-08 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.opt (-mjsr): Add.
- * config/rx/predicates.md (rx_call_operand): Avoid overflowing
- calls when -mjsr.
- * config/rx/rx.c (rx_function_ok_for_sibcall): Likewise for
- overflowing jumps.
- * doc/invoke.texi (-mjsr): Document it.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * lto-streamer.h (lto_symtab_merge_decls, lto_symtab_merge_symbols,
- lto_symtab_prevailing_decl): MOve to lto-symtab.h.
- * lto-streamer-out.c (DFS::DFS_write_tree_body): Check that
- DECL_ABSTRACT_ORIGIN is not error_mark_node.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * tree-nested.c (convert_tramp_reference_stmt): Fix indentation.
-
-2015-12-08 David Malcolm <dmalcolm@redhat.com>
-
- * tree-ssa-loop-unswitch.c (tree_unswitch_outer_loop): Fix
- indentation.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * lto-cgraph.c (compute_ltrans_boundary): Add transparent alias targets
- into the boundary.
-
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * varpool.c (varpool_node::get_availability): Recurse only on
- weakrefs with definition in the target.
- (symbol_table::remove_unreferenced_decls): Keep aliases in the boundary.
+ PR diagnostic/68899
+ * diagnostic-show-locus.c (layout::print_source_line): Move x
+ offset of line until after call to
+ get_line_width_without_trailing_whitespace.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 Jeff Law <law@redhat.com>
- PR ipa/61886
- * ipa-visibility.c (can_replace_by_local_alias): Look through
- transparent aliases; refuse weakrefs.
- (update_visibility_by_resolution_info): Skip transparent aliases in the
- analysis part
+ PR tree-optimization/69270
+ * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
+ tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
+ * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
+ * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
+ ssa_name_has_boolean_range and constant_boolean_node.
-2015-12-08 Jan Hubicka <hubicka@ucw.cz>
+2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
- PR ipa/61886
- * symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
- (symtab_node::noninterposable_alias): Do not accept transparent
- aliases.
+ PR rtl-optimization/69030
+ * lra-spills.c (remove_pseudos): Check nrefs and make the function
+ returning bool.
+ (spill_pseudos): Delete debug insn for dead pseudo.
+ (lra_spill): Initiate spill_hard_reg and slots memory separately.
-2015-12-08 Nathan Sidwell <nathan@acm.org>
+2016-01-15 Jiong Wang <jiong.wang@arm.com>
- * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode,
- decl_offset, init_part, object_size, object_finished): Replace
- with ...
- (struct init_frag): ... this new struct variable.
- (begin_decl_field, output_decl_chunk): Replace with ...
- (output_init_frag): ... this new function.
- (nvptx_assemble_value): Reimplement.
- (nvptx_assemble_integer, nvptx_output_skip): Adjust.
- (nvptx_assemble_decl_begin, nvptx_assemble_decl_end): Adjust.
- (nvptx_output_aligned_decl): Call nvptx_assemble_decl_end.
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68291
- PR middle-end/68292
- * cfgexpand.c (set_rtl): Always accept mode mismatch for SSA names
- with BLKmode promoted mode based on RESULT_DECLs.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68701
- * config/i386/i386.c (ix86_option_override_internal): Enable
- -maccumulate-outgoing-args when %ebp is fixed due to stack
- realignment requirements.
-
-2015-12-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68640
- * omp-low.c (install_var_field): Clear the restrict qualifier on the var
- type.
+ * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
+ New.
+ (TYPES_UNOPUS): Likewise.
+ * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
+ builtin type, from UNOP to UNOPUS.
+ (lbtruncuv4sf): Likewise.
+ (lbtruncuv2df): Likewise.
+ (lrounduv2sf): Likewise.
+ (lrounduv4sf): Likewise.
+ (lrounduv2df): Likewise.
+ (lroundusf): Likewise.
+ (lroundusf): Likewise.
+ (lceiluv2sf): Likewise.
+ (lceiluv4sf): Likewise.
+ (lceiluv2df): Likewise.
+ (lceilusf): Likewise.
+ (lceiludf): Likewise.
+ (lflooruv2sf): Likewise.
+ (lflooruv4sf): Likewise.
+ (lflooruv2df): Likewise.
+ (lfloorusf): Likewise.
+ (lfloorudf): Likewise.
+ (lfrintnuv2sf): Likewise.
+ (lfrintnuv4sf): Likewise.
+ (lfrintnuv2df): Likewise.
+ (lfrintnusf): Likewise.
+ (lfrintnudf): Likewise.
+ * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
+ conversion.
+ (vcvtq_u32_f32): Likewise.
+ (vcvtq_u64_f64): Likewise.
+ (vcvta_u32_f32): Likewise.
+ (vcvtaq_u32_f32): Likewise.
+ (vcvtaq_u64_f64): Likewise.
+ (vcvtm_u32_f32): Likewise.
+ (vcvtmq_u32_f32): Likewise.
+ (vcvtmq_u64_f64): Likewise.
+ (vcvtn_u32_f32): Likwise.
+ (vcvtnq_u32_f32): Likewise.
+ (vcvtnq_u64_f64): Likewise.
+ (vcvtp_u32_f32): Likewise.
+ (vcvtpq_u32_f32): Likewise.
+ (vcvtpq_u64_f64): Likewise.
+ (vcvtmd_u64_f64): Likewise.
+ (vcvtms_u32_f32): Likewise.
+ (vcvtad_u64_f64): Likewise.
+ (vcvtas_u32_f32): Likewise.
+ (vcvtnd_u64_f64): Likewise.
+ (vcvtns_u32_f32): Likewise.
+ (vcvtpd_u64_f64): Likewise.
+ (vcvtps_u32_f32): Likewise.
+
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
+ CSEL of zero_extended registers.
+
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-12-08 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "<avx512>_vec_dup<mode>_1"): Fix
- assembler to make source always 128bit.
+ * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
+ Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
-2015-12-08 Jakub Jelinek <jakub@redhat.com>
+2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR c/48088
- PR c/68657
- * common.opt (Wframe-larger-than=): Add Warning.
- * opts.h (control_warning_option): Add ARG argument.
- * opts-common.c (cmdline_handle_error): New function.
- (read_cmdline_option): Use it.
- (control_warning_option): Likewise. Add ARG argument.
- If non-NULL, decode it if needed and pass through
- to handle_generated_option. Handle CLVC_ENUM like
- CLVC_BOOLEAN.
- * opts.c (common_handle_option): Adjust control_warning_option
- caller.
- (enable_warning_as_error): Likewise.
+ * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
+ false when argument string is not found in the attributes table
+ at all.
-2015-12-08 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-options-extensions.def: Remove
- AARCH64_FL_RDMA from "fp" and "simd". Remove "pan", "lor",
- "rdma".
- * config/aarch64/aarch64.h (AARCH64_FL_PAN): Remove.
- (AARCH64_FL_LOR): Remove.
- (AARCH64_FL_RDMA): Remove.
- (AARCH64_FL_V8_1): New.
- (AARCH64_FL_FOR_AARCH8_1): Replace AARCH64_FL_PAN, AARCH64_FL_LOR
- and AARCH64_FL_RDMA with AARCH64_FL_V8_1.
- (AARCH64_ISA_RDMA): Replace AARCH64_FL_RDMA with AARCH64_FL_V8_1.
- * doc/invoke.texi (AArch64 -march): Rewrite initial paragraph and
- section on -march=native. Group descriptions of permitted
- architecture names together. Expand description of
- -march=armv8.1-a.
- (AArch64 -mtune): Slightly rework section on -march=native.
- (AArch64 -mcpu): Slightly rework section on -march=native.
- (AArch64 Feature Modifiers): Remove "pan", "lor" and "rdma".
- State that -march=armv8.1-a enables "crc" and "lse".
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/invoke.texi (SPARC options): Fix typo.
-
-2015-12-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (ia64_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-12-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_emit_swsqrtsf): Cleanup
- infinity filterning code.
-
-2015-12-08 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68766
- * tree-vectorizer.c (vectorize_loops): Check for
- if-converted loops when debug counters are used.
-
-2015-12-07 DJ Delorie <dj@redhat.com>
-
- * config/rl78/constraints.md (Wfr): Change to be a non-memory
- constraint.
- * config/rl78/rl78-protos.h (rl78_one_far_p): Declare.
- * config/rl78/rl78.c (rl78_one_far_p): Define.
- * config/rl78/rl78-virt (movqi_virt): Fix far memory
- alternatives.
- (movhi_virt): Likewise.
- (zero_extendqihi2_virt): Likewise.
- (extendqihi2_virt): Likewise.
- (add<mode>3_virt): Likewise.
- (sub<mode>3_virt): Likewise.
- (andqi3_virt): Likewise.
- (iorqi3_virt): Likewise.
- (xorqi3_virt): Likewise.
- * config/rl78/rl78-real.md (bf,br): Use long forms to avoid reloc
- overflow in large files.
-
-2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/63668
- * doc/invoke.texi (SPARC options): Document -mstd-struct-return.
- * config/sparc/sparc.c (sparc_struct_value_rtx): Minor tweaks.
- * config/sparc/sparc.h (CALL_REALLY_USED_REGISTERS): Define.
- * config/sparc/sparc.opt (mstd-struct-return): Accept negative.
-
-2015-12-07 Steve Ellcey <sellcey@imgtec.com>
-
- * reorg.c (optimize_skip): Do not put frame related instructions
- in annulled delay slots.
- (steal_delay_list_from_target): Ditto.
- (fill_slots_from_thread): Ditto.
-
-2015-12-07 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-cores.def: Use the Exynos M1 sched model.
- * config/aarch64/aarch64.md: Include "exynos-m1.md".
- * config/arm/arm.md: Likewise.
- * config/arm/exynos-m1.md: New file.
-
-2015-12-07 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Drop flag_strict_aliasing check.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config//nvptx/nvptx.c (write_return): New.
- (write_fn_proto, nvptx_declare_function_name): Call it.
-
-2015-12-07 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61886
- * symtab.c (ultimate_transparent_alias_target): New inline function.
- (symbol_table::assembler_names_equal_p): New method; break out from ...
- (symbol_table::decl_assembler_name_equal): ... here.
- (symbol_table::change_decl_assembler_name): Also update names and
- translation links of transparent aliases.
- (symtab_node::dump_base): Dump transparent_alias.
- (symtab_node::verify_base): Implement basic transparent alias
- verification.
- (symtab_node::make_decl_local): Support localization of weakrefs;
- recurse to transparent aliases; set TREE_STATIC.
- (symtab_node::ultimate_alias_target_1): Handle visibility of
- transparent aliases.
- (symtab_node::resolve_alias): New parmaeter transparent; handle
- transparent aliases; recurse to aliases of aliases to fix comdat
- groups.
- (symtab_node::get_partitioning_class): Handle transparent aliases.
- * ipa-visibility.c (cgraph_externally_visible_p,
- varpool_node::externally_visible_p): Visibility of transparent alias
- depends on its target.
- (function_and_variable_visibility): Do not tweak visibility of
- transparent laiases.
- (function_and_variable_visibility): Likewise.
- * ipa.c (symbol_table::remove_unreachable_nodes): Clear
- transparent_alias flag.
- * alias.c (cgraph_node::create_alias, cgraph_node::get_availability):
- Support transparent aliases.
- * cgraph.h (symtab_node): Update prototype of resolve_alias;
- add transparent_alias flag.
- (symbol_table: Add assembler_names_equal_p.
- (symtab_node::real_symbol_p): Skip transparent aliases.
- * cgraphunit.c (cgraph_node::reset): Reset transparent_alias flag.
- (handle_alias_pairs): Set transparent_alias for weakref.
- (cgraph_node::assemble_thunks_and_aliases): Do not asemble transparent
- aliases.
- * lto-cgraph.c (lto_output_node): When outputting same_comdat_group
- skip symbols not put into boundary; stream transparent_alias.
- (lto_output_varpool_node): Likewise.
- (input_overwrite_node, input_varpool_node): Stream transparent alias.
- * varpool.c (ctor_for_folding, varpool_node::get_availability,
- varpool_node::assemble_aliases,
- symbol_table::remove_unreferenced_decls): Handle transparent aliase.
- (varpool_node::create_alias): Set transparent_alias.
-
-2015-12-07 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68291
- PR middle-end/68292
- * cfgexpand.c (set_rtl): Always accept PARALLELs with BLKmode for
- SSA names based on RESULT_DECLs.
- * function.c (expand_function_start): Do not create BLKmode REGs
- for GIMPLE registers when coalescing is enabled.
-
-2015-12-07 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * final.c (shorten_branches): Fix check for basic asm.
- * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Add check for
- basic asm.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_output_call_insn): Emit trap after no
- return call.
-
-2015-12-07 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.c (text_info::set_range): Rename to...
- (text_info::set_location): ...this, converting 2nd param
- from source_range to a location_t.
- * pretty-print.h (text_info::set_location): Convert
- from inline function to external definition.
- (text_info::set_range): Delete.
-
-2015-12-07 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Look inside
- complex and vector types. Cope with packed structs.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68627
- * config/i386/sse.md: Make 'v' alternative work on 'avx512f' ISA only.
- Force destination to 512 bits register.
-
-2015-12-07 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/68633
- * config/i386/sse.md (define_insn "kunpckhi"): Fix operands order.
- (define_insn "kunpcksi"): Ditto.
- (define_insn "kunpckdi"): Ditto.
-
-2015-12-06 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (rsqrtsf2): Adjust for canonical form with unspec.
-
-2015-12-06 Victoria Stepanyan <victoria.stepanyan@amd.com>
-
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_CLZERO_SET): New.
- (ix86_handle_option): Handle clzero.
- * config.gcc (i[34567]86-*-*): Add clzerointrin.h,
- (x86_64-*-*): Likewise.
- * config/i386/clzerointrin.h: New header.
- * config/i386/cpuid.h (bit_CLZERO): Define.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- CLZERO support.
- * config/i386/i386.opt (clzero): New.
- * config/i386/i386-c.c: Define __CLZERO__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mclzero option.
- (PTA_CLZERO): New.
- (ix86_option_override_internal): Handle new option.
- (processor_alias_table): Added PTA_CLZERO.
- (ix86_valid_target_attribute_inner_p): Add OPT_mclzero.
- (ix86_builtins): Add IX86_BUILTIN_CLZERO, IX86_BUILTIN_CLZERO.
- (ix86_expand_builtin): Handle IX86_BUILTIN_CLZERO and
- IX86_BUILTIN_CLZERO built-ins.
- * config/i386/i386.h (TARGET_CLZERO): New.
- * config/i386/i386.md (unspecv): Add UNSPEC_CLZERO.
- (clzero): New pattern.
- (clzero_<mode>): New pattern.
- * config/i386/x86intrin.h: Include clzerointrin.h.
- * doc/extend.texi: Document clzero builtins.
- * doc/invoke.texi: Document -mclzero option.
-
-2015-12-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::merge): Check that local_original exists.
-
-2015-12-05 David Edelsohn <dje.gcc@gmail.com>
+2016-01-15 David Edelsohn <dje.gcc@gmail.com>
PR target/68609
- * config/rs6000/rs6000-protos.h (rs6000_emit_swsqrt): Rename and add
- bool arguement.
- * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Rename. Add
- non-reciporcal path.
- * config/rs6000/rs6000.md (rsqrt<mode>2): Call new function name.
- (sqrt<mode>2): Replace define_insn with define_expand that may call
- rs6000_emit_swsqrt.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Improve debug.
- (get_rename_from_scev): Check that all the ops in an expression
- have their uses dominated by corresponding defs.
-
-2015-12-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68693
- * graphite-scop-detection.c (dot_all_sese): New
- (dot_all_scops_1): Renamed to dot_all_sese.
- (dot_all_scops): Removed.
- (dot_sese): New.
- (dot_cfg): New.
- (scop_detection::get_nearest_dom_with_single_entry): Check that
- preds are from different loop levels.
- (scop_detection::get_nearest_pdom_with_single_exit): Check that
- succs are from different loop levels.
- (scop_detection::print_sese): Inlined.
- (scop_detection::print_edge): New.
- (scop_detection::merge_sese): Added dumps.
- * graphite.h: Add declarations.
-
-2015-12-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3_pluslong): Add register
- constraints.
-
-2015-12-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68349
- * lra-eliminations.c (move_plus_up): New function.
- (lra_eliminate_regs_1): Use the function.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): New, replacing ...
- (init_output_initializer): ... this.
- (nvptx_output_aligned_decl, nvptx_asm_declare_constant_name,
- nvptx_declare_object_name, nvptx_assemble_undefined_decl): Use
- nvptx_assemble_decl_begin.
-
-2015-12-04 Dmitry Vyukov <dvyukov@google.com>
-
- * sancov.c: New file.
- * Makefile.in (OBJS): Add sancov.o.
- * invoke.texi (-fsanitize-coverage=trace-pc): Describe.
- * passes.def (sancov_pass): Add.
- * tree-pass.h (sancov_pass): Add.
- * common.opt (-fsanitize-coverage=trace-pc): Add.
- * sanitizer.def (BUILT_IN_SANITIZER_COV_TRACE_PC): Add.
- * builtins.def (DEF_SANITIZER_BUILTIN): Enable for
- flag_sanitize_coverage.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * config/arm/unspecs.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
- (unspecv): Add VUNSPEC_PROBE_STACK_RANGE.
- * config/arm/arm.md (probe_stack_range): Adjust.
- * config/aarch64/aarch64.md (unspec): Remove UNSPEC_PROBE_STACK_RANGE.
- (unspecv): Add UNSPECV_PROBE_STACK_RANGE.
- (probe_stack_range_<PTR:mode>): Adjust.
-
-2015-12-04 David Malcolm <dmalcolm@redhat.com>
-
- * convert.c (convert_to_real_1): When converting from a
- REAL_TYPE, preserve the location of EXPR in the result.
- * tree.c (get_pure_location): Make non-static.
- (set_source_range): Return the resulting location_t.
- (make_location): New function.
- * tree.h (get_pure_location): New decl.
- (get_finish): New inline function.
- (set_source_range): Convert return type from void to location_t.
- (make_location): New decl.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR c/68656
- * toplev.c (init_asm_output): Pass UNKNOWN_LOCATION instead of
- input_location to inform.
- (process_options): Use warning_at (UNKNOWN_LOCATION instead of
- warning ( and error_at (UNKNOWN_LOCATION instead of error (.
- Pass UNKNOWN_LOCATION instead of input_location to fatal_error.
-
-2015-12-04 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p) Use merged_comdat.
- * cgraphclones.c (cgraph_node::create_clone): Use merged_comdat.
- * cgraph.c (cgraph_node::dump): Dump merged_comdat.
- * ipa-icf.c (sem_function::merge): Drop merged_comdat when merging
- comdat and non-comdat.
- * cgraph.h (cgraph_node): Rename merged to merged_comdat.
- * ipa-inline-analysis.c (simple_edge_hints): Check both merged_comdat
- and icf_merged.
-
-2015-12-04 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_unsigned): Use gpc_reg_operand
- instead of register_operand. Remove empty constraints. Use std::swap.
- (cstore_si_as_di, cstore<mode>4_signed_imm,
- cstore<mode>4_unsigned_imm, cstore<mode>4 for GPR): Use
- gpc_reg_operand instead of register_operand.
- (cstore<mode>4 for FP): Use gpc_reg_operand instead of
- register_operand. Remove empty constraints.
-
-2015-12-04 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (extra_gcc_objs): Define for MSP430.
- * common/config/msp430/msp430-common.c (msp430_handle_option):
- Pass both -mmcu and -mcpu on to the back end if they are both defined.
- * config/msp430/msp430.c (hwmult_name): New function.
- (msp430_option_override): If an unrecognised MCU name is
- detected only warn if the user has not provided suitable
- -mhwmult and -mcpu options. Use msp430_warn_mcu to control
- warning messages. Generate warnings about conflicts between
- -mmcu and -mcpu and -mhwmult options.
- If neither -mcpu nor -mmcu have been specified but -mhwmult=
- f5series has the select the 430X isa.
- (msp430_no_hwmult): If -mmcu has not been specified and
- msp430_hwmult_type is AUTO then return true.
- * config/msp430/msp430.h (EXTRA_SPEC_FUNCTIONS): Define.
- (LIB_SPEC): Add hardware multiply library selection.
- * config/msp430/t-msp430: Delete hardware multiply multilibs.
- Add rule to build driver-msp430.o
- * config/msp430/driver-msp430.c: New file.
- * config/msp430/msp430.opt (warn-mcu): New option.
- * doc/invoke.texi: Update description of -mhwmult=auto.
- Document -mwarn-mcu option.
-
-2015-12-04 Segher Boessenkool <segher&kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_signed): New expander.
- (cstore<mode>4): Call it.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- * tree-tailcall.c (find_tail_calls): Ignore GIMPLE_NOPs.
-
- PR tree-optimization/68680
- * calls.c (special_function_p): Return ECF_MAY_BE_ALLOCA for
- BUILT_IN_ALLOCA{,_WITH_ALIGN}. Don't check for __builtin_alloca
- by name.
-
- PR tree-optimization/68671
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): For basic
- blocks starting with the successor of first bb we've modified
- and ending with last_bb call reset_flow_sensitive_info_in_bb.
-
-2015-12-04 Jeff Law <law@redhat.com>
-
- * tree-ssa-reassoc.c (maybe_optimize_range_tests): Return boolean
- indicating if a gimple conditional was optimized to true/false.
- (reassociate_bb): Bubble up return value from
- maybe_optimize_range_tests.
- (do_reassoc): Similarly, but for reassociate_bb.
- (execute_reassoc): Return TODO_cleanup_cfg as needed.
-
-2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_override_options_internal):
- Do not alter target_flags due to TARGET_GENERAL_REGS_ONLY_P.
- * doc/invoke.texi (AArch64 options): Mention that -mgeneral-regs-only
- does not affect the assembler directives.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_asm_file_start): Implement hook function to
- emit .machine and .machinemode to the top of the assembler file.
- (TARGET_ASM_FILE_START): Provide target hook.
- (s390_asm_output_machine_for_arch): Protect with
- HAVE_AS_MACHINE_MACHINEMODE instead of S390_USE_TARGET_ATTRIBUTE.
-
-2015-12-04 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.opt (s390_arch_string): Remove.
- (s390_tune_string): Likewise.
- (s390_cost_pointer): Add Variable.
- (s390_tune_flags): Add TargetVariable.
- (s390_arch_flags, march=, mbackchain, mdebug, mesa, mhard-dfp),
- (mhard-float, mlong-double-128, mlong-double-64, mhtm, mvx),
- (mpacked-stack, msmall-exec, msoft-float, mstack-guard=, mstack-size=),
- (mtune=, mmvcle, mzvector, mzarch, mbranch-cost=, mwarn-dynamicstack),
- (mwarn-framesize=): Save option.
- (mno-stack-guard, mno-stack-guard): New option.
- (mwarn-dynamicstack): Allow mno-warn-dynamicstack.
- (mwarn-framesize=): Convert to UInteger (negative values are rejected
- now).
- * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Split setting
- macros changeable through the GCC target pragma into a separate
- function.
- (s390_cpu_cpp_builtins): Likewise.
- (s390_pragma_target_parse): New function, implement GCC target pragma
- if enabled.
- (s390_register_target_pragmas): Register s390_pragma_target_parse if
- available.
- * common/config/s390/s390-common.c (s390_handle_option):
- Export.
- Move setting s390_arch_flags to s390.c.
- Remove s390_tune_flags.
- Allow 0 as argument to -mstack-size (switch to default value).
- Allow 0 as argument to -mstack-guard (switch off).
- Remove now unnecessary explicit parsing code for -mwarn-framesize.
- * config/s390/s390-protos.h (s390_handle_option): Export.
- (s390_valid_target_attribute_tree): Export.
- (s390_reset_previous_fndecl): Export.
- * config/s390/s390-builtins.def: Use new macro B_GROUP to mark the start
- and end of HTM and VX builtins.
- (s390_asm_output_function_prefix): Declare hook.
- (s390_asm_declare_function_size): Likewise.
- * config/s390/s390-builtins.h (B_GROUP): Use macro.
- * config/s390/s390-opts.h: Add comment about processor_type usage.
- * config/s390/s390.h (TARGET_CPU_IEEE_FLOAT_P, TARGET_CPU_ZARCH_P),
- (TARGET_CPU_LONG_DISPLACEMENT_P, TARGET_CPU_EXTIMM_P, TARGET_CPU_DFP_P),
- (TARGET_CPU_Z10_P, TARGET_CPU_Z196_P, TARGET_CPU_ZEC12_P),
- (TARGET_CPU_HTM_P, TARGET_CPU_Z13_P, TARGET_CPU_VX_P),
- (TARGET_HARD_FLOAT_P, TARGET_LONG_DISPLACEMENT_P, TARGET_EXTIMM_P),
- (TARGET_DFP_P, TARGET_Z10_P, TARGET_Z196_P, TARGET_ZEC12_P),
- (TARGET_HTM_P, TARGET_Z13_P, TARGET_VX_P, TARGET_CPU_EXTIMM),
- (TARGET_CPU_DFP, TARGET_CPU_Z10, TARGET_CPU_Z196, TARGET_CPU_ZEC12),
- (TARGET_CPU_HTM, TARGET_CPU_Z13, TARGET_LONG_DISPLACEMENT),
- (TARGET_EXTIMM, TARGET_DFP, TARGET_Z10, TARGET_Z196, TARGET_ZEC12),
- (TARGET_Z13, TARGET_VX, S390_USE_TARGET_ATTRIBUTE),
- (S390_USE_ARCHITECTURE_MODIFIERS, SWITCHABLE_TARGET),
- (ASM_DECLARE_FUNCTION_SIZE, ASM_OUTPUT_FUNCTION_PREFIX): Likewise.
- * config/s390/vecintrin.h: Use vector definitions even if __VEC__ is
- undefined.
- (vec_all_nan): Rewrite as macro using statement expressions to avoid
- that the vector keyword needs to be defined when including the file.
- (vec_all_numeric): Likewise.
- (vec_any_nan): Likewise.
- (vec_any_numeric): Likewise.
- * config/s390/s390.c (s390_previous_fndecl): New static variable.
- (s390_set_current_function): New function.
- (s390_cost): Wrapper macro to allow defining the cost table pointer in
- the options file.
- (processor_table): Table for march= and mtune= parsing.
- (s390_init_builtins): Enable all builtins and types unconditionally.
- (s390_expand_builtin): Generate an error message if builtin is not
- supported by current options.
- Correct an error message.
- (s390_function_specific_restore): New function to set s390_cost.
- (s390_asm_output_machine_for_arch): New function for emitting .machine
- and .machinmode directives to the assembler file.
- (s390_asm_output_function_prefix): Likewise.
- (s390_asm_declare_function_size): Likewise.
- (s390_asm_output_function_label): Add mdebug output for feature testing.
- (s390_option_override): Move implementation into internal function.
- (s390_option_override_internal): Likewise.
- Implement option overriding based on current options.
- (s390_valid_target_attribute_inner_p): New function implementing target
- attribute logic.
- (s390_valid_target_attribute_tree): Likewise.
- (s390_valid_target_attribute_p): Likewise.
- (s390_reset_previous_fndecl): Likewise.
- (s390_set_current_function): Likewise.
- (TARGET_SET_CURRENT_FUNCTION): Provide target hook function.
- (TARGET_OPTION_VALID_ATTRIBUTE_P): Likewise.
- (TARGET_OPTION_RESTORE): Likewise.
- * doc/extend.texi: S390: Document target attribute and pragma.
- * config.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: S390: Check for .machinemode and .machine in gas.
- S390: Check for architecture modifiers support in gas.
-
-2015-12-04 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/extend.texi ("simd"): Describe new flags.
-
-2015-12-04 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (<avx512>_store<mode>_mask): Fix
- operand checked for alignment.
-
-2015-12-04 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (write_one_arg): Deal with prologue
- emission too. Change 'no_arg_types' to 'prototyped'.
- (write_fn_proto): Use write_one_arg for stdarg, static chain &
- main.
- (nvptx_declare_function_name): Use write_one_arg for prologue copies.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (sccvn_dom_walker): Add unreachable_dom
- member and initialize it.
- (sccvn_dom_walker::after_dom_children): Reset unreachable_dom
+ * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
+ (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
+ * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
+ precision estimate.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/66856
+ * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
+ * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
+ (vect_create_new_slp_node): Increment stmt reference count.
+ (vect_get_and_check_slp_defs): Make sure stmts are nor already in
+ an SLP tree before swapping operands.
+ (vect_build_slp_tree): Likewise.
+ (destroy_bb_vec_info): Free stmt info after SLP instances.
+ * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
+ * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
+ (STMT_VINFO_NUM_SLP_USES): New macro.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR debug/69137
+ * dwarf2out.c (add_linkage_name_raw): New function split out from ...
+ (add_linkage_name): ... here.
+ (gen_typedef_die): Use add_linkage_name_raw instead of
+ add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
if necessary.
- (sccvn_dom_walker::before_dom_children): If unreachable_dom
- is set BB is not reachable either. Set unreachable_dom
- if not set and BB is unreachable.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- * bitmap.c (bitmap_find_bit): Guard the bitmap descriptor
- query with GATHER_STATISTICS.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * gimplify.c (struct gimplify_ctx): Turn boolean fields into 1-bit
- fields, add keep_stack and reorder them.
- (gimplify_bind_expr): Save gimplify_ctxp->keep_stack on entry then
- set it to false. Do not insert a stack save/restore pair if it has
- been set to true by the gimplification of the statements.
- Restore it to the saved value on exit if it is still false.
- (gimplify_vla_decl): Do not set gimplify_ctxp->save_stack here.
- (gimplify_call_expr) <BUILT_IN_ALLOCA[_WITH_ALIGN]>: New case. Set
- either save_stack or keep_stack depending on CALL_ALLOCA_FOR_VAR_P.
- * doc/extend.texi (Variable Length): Document new behavior.
- * doc/generic.texi (Blocks): Document new handling of VLAs.
-
-2015-12-04 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- PR middle-end/65958
- * config/aarch64/aarch64-protos.h (aarch64_output_probe_stack-range):
- Declare.
- * config/aarch64/aarch64.md: Declare UNSPECV_BLOCKAGE and
- UNSPEC_PROBE_STACK_RANGE.
- (blockage): New instruction.
- (probe_stack_range_<PTR:mode>): Likewise.
- * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): New
- function.
- (aarch64_output_probe_stack_range): Likewise.
- (aarch64_expand_prologue): Invoke aarch64_emit_probe_stack_range if
- static builtin stack checking is enabled.
- * config/aarch64/aarch64-linux.h (STACK_CHECK_STATIC_BUILTIN):
- Define to 1.
-
-2015-12-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68214
- * config/arm/arm.md (*call_mem): Delete pattern.
- (*call_value_mem): Likewise.
- * config/arm/arm.c (output_call_mem): Delete.
- * config/arm/arm-protos.h (output_call_mem): Delete prototype.
-
-2015-12-04 Bin Cheng <bin.cheng@arm.com>
-
- * config/aarch64/atomics.md (atomic_store<mode>): Use predicate
- aarch64_sync_memory_operand.
-
-2015-12-04 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68655
- * config/i386/i386.c (canonicalize_vector_int_perm): New function.
- (expand_vec_perm_1): Use it and recurse if everything else
- failed. Use nd.perm instead of perm2.
- (expand_vec_perm_even_odd_1): If testing_p, use gen_raw_REG
- instead of gen_lowpart for the target.
- (ix86_expand_vec_perm_const_1): Use canonicalize_vector_int_perm
- and recurse if everything else failed.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68636
- * builtins.c (get_pointer_alignment_1): Take care of byte to
- bit alignment computation overflow.
-
-2015-12-04 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67438
- * match.pd: Guard ~X cmp ~Y -> Y cmp X and the variant with
- a constant with single_use.
-
-2015-12-04 Bin Cheng <bin.cheng@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_legitimize_address): legitimize
- address expressions like Ra + Rb + CONST and Ra + Rb<<SCALE + CONST.
-
-2015-12-03 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_set_subset_of, alias_sets_must_conflict_p):
- Add short circuit for !flag_strict_aliasing
- (get_alias_set): Remove flag_strict_aliasing check.
- (new_alias_set): Likewise.
-
-2015-12-03 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-cores.def: Use the Exynos M1 cost model.
- * config/aarch64/aarch64.c (exynosm1_addrcost_table): New variable.
- (exynosm1_regmove_cost): Likewise.
- (exynosm1_vector_cost): Likewise.
- (exynosm1_tunings): Likewise.
- * config/arm/aarch-cost-tables.h (exynosm1_extra_costs): Likewise.
- * config/arm/arm.c (arm_exynos_m1_tune): Likewise.
-
-2015-12-03 Alan Lawrence <alan.lawrence@arm.com>
- Richard Biener <richard.guenther@gmail.com>
-
- * cfgexpand.c (pass_expand::execute): Replace call to
- redirect_edge_var_map_destroy with redirect_edge_var_map_empty.
- * tree-ssa.c (delete_tree_ssa): Likewise.
- * function.c (set_cfun): Call redirect_edge_var_map_empty.
- * passes.c (execute_one_ipa_transform_pass, execute_one_pass): Likewise.
- * tree-ssa.h (redirect_edge_var_map_destroy): Remove.
- (redirect_edge_var_map_empty): New.
- * tree-ssa.c (redirect_edge_var_map_destroy): Remove.
- (redirect_edge_var_map_empty): New.
-
-2015-12-03 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68599
- * loop-init.c (rtl_loop_init): Set LOOPS_HAVE_RECORDED_EXITS
- in call to loop_optimizer_init.
- * loop-iv.c (get_simple_loop_desc): Only allow unsafe loop
- optimization to drop the assumptions/infinite notations if
- the loop has a single exit.
-
-2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/md.texi (vec_load_lanes@var{m}@var{n}): Document that
- the pattern cannot FAIL.
- (vec_store_lanes@var{m}@var{n}): Likewise.
- (maskload@var{m}@var{n}): Likewise.
- (maskstore@var{m}@var{n}): Likewise. Fix a cut-&-paste error
- in the name of the pattern.
- (rsqrt@var{m}2): Document that mode m must be a scalar or vector
- floating-point mode and that all operands have that mode.
- (fmin@var{m}3, fmax@var{m}3): Likewise. Document that the
- pattern cannot FAIL.
- (sqrt@var{m}2): Document that mode m must be a scalar or vector
- floating-point mode, that all operands have that mode, and that
- the patterns cannot FAIL. Remove previous documentation referring
- to @code{double} and @code{float}.
- (fmod@var{m}3, remainder@var{m}3, cos@var{m}2, sin@var{m}2)
- (sincos@var{m}3, log@var{m}2, pow@var{m}3, atan2@var{m}3)
- (copysign@var{m}3): Likewise.
- (exp@var{m}2): Likewise. Explicitly state the base.
- (floor@var{m}2): As for sqrt@var{m}2, but also specify the operands.
- (btrunc@var{m}2, rint@var{m}2): Likewise.
- (round@var{m}2): Likewise. Fix incorrect description of rounding
- effect.
- (ceil@var{m}2): As for round@var{m}2.
- (nearbyint@var{m}2): As for floor@var{m}2, but also mention that
- the instruction must not raise an inexact condition.
- (scalb@var{m}3): Document previously-undocumented pattern
- (ldexp@var{m}3, tan@var{m}2, asin@var{m}2, acos@var{m}2)
- (atan@var{m}2, expm1@var{m}2, exp10@var{m}2, exp2@var{m}2)
- (log1p@var{m}2, log10@var{m}2, log2@var{m}2, logb@var{m}2)
- (significand@var{m}2): Likewise.
- (ffs@var{m}2): Fix the description of the modes, so that operand 1 has
- mode m and operand 0 is defined more freely. Document that @var{m}
- can be a scalar or vector integer mode and that the pattern is not
- allowed to FAIL.
- (clz@var{m}2, ctz@var{m}2, popcount@var{m}2, parity@var{m}2): Likewise.
- (clrsb@var{m}2): Likewise, except that the description of the
- mode was missing in this case.
-
-2015-12-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def (RSQRT): New function.
- * optabs.def (rsqrt_optab): New optab.
- * doc/md.texi (rsqrtM2): Document.
- * target.def (builtin_reciprocal): Replace gcall argument with
- a function decl. Restrict hook to machine functions.
- * doc/tm.texi: Regenerate.
- * targhooks.h (default_builtin_reciprocal): Update prototype.
- * targhooks.c (default_builtin_reciprocal): Likewise.
- * tree-ssa-math-opts.c: Include internal-fn.h.
- (internal_fn_reciprocal): New function.
- (pass_cse_reciprocals::execute): Call it, and build a call to an
- internal function on success. Only call targetm.builtin_reciprocal
- for machine functions.
- * config/aarch64/aarch64-protos.h (aarch64_builtin_rsqrt): Remove
- second argument.
- * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin_rsqrt):
- Rename aarch64_rsqrt_<mode>2 to rsqrt<mode>2.
- (aarch64_builtin_rsqrt): Remove md_fn argument and only handle
- machine functions.
- * config/aarch64/aarch64.c (use_rsqrt_p): New function.
- (aarch64_builtin_reciprocal): Replace gcall argument with a
- function decl. Use use_rsqrt_p. Remove optimize_size check.
- Only handle machine functions. Update call to aarch64_builtin_rsqrt.
- (aarch64_optab_supported_p): New function.
- (TARGET_OPTAB_SUPPORTED_P): Define.
- * config/aarch64/aarch64-simd.md (aarch64_rsqrt_<mode>2): Rename to...
- (rsqrt<mode>2): ...this.
- * config/i386/i386.c (use_rsqrt_p): New function.
- (ix86_builtin_reciprocal): Replace gcall argument with a
- function decl. Use use_rsqrt_p. Remove optimize_insn_for_size_p
- check. Only handle machine functions.
- (ix86_optab_supported_p): Handle rsqrt_optab.
- * config/rs6000/rs6000.c (TARGET_OPTAB_SUPPORTED_P): Define.
- (rs6000_builtin_reciprocal): Replace gcall argument with a
- function decl. Remove optimize_insn_for_size_p check.
- Only handle machine functions.
- (rs6000_optab_supported_p): New function.
-
-2015-12-03 Bernd Schmidt <bschmidt@redhat.com>
-
- PR target/68471
- PR target/68472
- * config/i386/i386.c (ix86_mitigate_rop): Don't call
- compute_bb_for_insn again. Call df_insn_rescan_all.
- * config/i386/i386.md (set_got_rex64): Override modrm_class.
-
- * regrename.c (build_def_use): Ignore stack regs if regstack_completed.
-
-2015-12-03 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (npvptx_section_from_addr_space): Delete.
- * config/nvptx/nvptx.c (enum nvptx_data_area): New.
- (SYMBOL_DATA_AREA, SET_SYMBOL_DATA_AREA): New defines.
- (nvptx_option_override): Set data ares for worker vars.
- (nvptx_addr_space_from_sym): Delete.
- (nvptx_encode_section_info): New.
- (section_for_sym, section_for_decl): New.
- (nvptx_maybe_convert_symbolic_operand): Get data area from symbol flags.
- (nvptx_section_from_addr_space): Delete.
- (nvptx_section_for_decl): Delete.
- (nvptx_output_aligned, nvptx_declare_object_name,
- nvptx_assemble_undefined_decl): Use section_for_decl, remove
- unnecessary checks.
- (nvptx_print_operand): Add 'D', adjust 'A'.
- (nvptx_expand_worker_addr): Adjust unspec generation.
- (TARGET_ENCODE_SECTION_INFO): Override.
- * config/nvptx/nvptx.h (ADDR_SPACE_GLOBAL, ADDR_SPACE_SHARED,
- ADDR_SPACE_CONST, ADDR_SPACE_LOCAL, ADDR_SPACE_PARAM): Delete.
- * config/nvptx/nvptx.md (UNSPEC_FROM_GLOBAL, UNSPEC_FROM_LOCAL,
- UNSPEC_FROM_PARAM, UNSPEC_FROM_SHARED, UNSPEC_FROM_CONST,
- UNSPEC_TO_GLOBAL, UNSPEC_TO_LOCAL, UNSPEC_TO_PARAM,
- UNSPEC_TO_SHARED, UNSPEC_TO_CONST): Delete.
- (UNSPEC_TO_GENERIC): New.
- (nvptx_register_or_symbolic_operand): Delete.
- (cvt_code, cvt_name, cvt_str): Delete.
- (convaddr_<cvt_name><mode> [P]): Delete.
- (convaddr_<mode> [P]): New.
-
-2015-12-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68624
- * ifcvt.c (noce_try_cmove_arith): Check clobbers of temp regs in both
- blocks if they exist and simplify the logic choosing the order to emit
- them in.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66051
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
- on load group size. Do not pass in vectorization_factor.
- (vect_transform_slp_perm_load): Do not require any permute support.
- (vect_build_slp_tree): Do not pass in vectorization factor.
- (vect_analyze_slp_instance): Do not compute vectorization
- factor estimate. Use vector size instead of vectorization factor
- estimate to split store groups for BB vectorization.
-
-2015-12-03 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * cfgexpand.c (expand_gimple_stmt_1): Return statement with
- DECL as return value is allowed to have NULL bounds.
-
-2015-12-03 Tom de Vries <tom@codesourcery.com>
-
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree)
- (gcc_expression_from_isl_expr_op): Guard isl_ast_op_zdiv_r usage with
- HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67800
- PR tree-optimization/68333
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Restore
- restriction to reduction contexts but allow SLP reductions as well.
- (vect_recog_sad_pattern): Likewise.
- (vect_recog_widen_sum_pattern): Likewise.
-
-2015-12-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68639
- * tree-vect-data-refs.c (dr_group_sort_cmp): Split groups
- belonging to different loops.
- (vect_analyze_data_ref_accesses): Likewise.
-
-2015-12-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/sse.md (define_insn "vec_extract_hi_<mode>_maskm"):
- Remove "prefix_extra".
- (define_insn "vec_extract_hi_<mode>_mask"): New.
- (define_insn "vec_extract_hi_<mode>"): Remove masking.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-pure-const.c (ignore_edge_for_pure_const): New function.
- (propagate_pure_const): Use it; fix comments and optimize loops.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-pure-const.c (ignore_edge): Rename to ...
- (ignore_edge_for_nothrow) ... this one; also ignore eges to
- interposable functions or ones that can not throw.
- (propagate_nothrow): Fix handling of availability.
-
-2015-12-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68184
- * cgraphunit.c (cgraph_node::analyze): Set can_throw_external.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Handle
- isl_ast_op_zdiv_r.
- (gcc_expression_from_isl_expr_op): Same.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (copy_bb_and_scalar_dependences): Check
- that insertion point is still in the region.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68550
- * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Add dump.
- (copy_bb_and_scalar_dependences): Do not code generate loop peeled
- statements.
-
-2015-12-02 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * configure.ac: Check assembler support for R_PPC64_ENTRY relocation.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/rs6000/rs6000.c (rs6000_global_entry_point_needed_p): New
- function.
- (rs6000_output_function_prologue): Use it instead of checking
- cfun->machine->r2_setup_needed. Use internal labels instead of
- GNU as local label extension. Handle ELFv2 large code model.
- (rs6000_output_mi_thunk): Do not set cfun->machine->r2_setup_needed.
- (rs6000_elf_declare_function_name): Handle ELFv2 large code model.
-
-2015-12-02 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68647
- * optabs.c (expand_doubleword_popcount, expand_doubleword_parity):
- New functions.
- (expand_unop): Use them.
-
-2015-12-02 Marek Polacek <polacek@redhat.com>
-
- PR c++/68653
- * tree.c (nonnull_arg_p): Allow OFFSET_TYPE.
-
-2015-12-02 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (enum nvptx_shuffle_kind): New. Absorb
- SHUFFLE defines.
- (nvptx_gen_shuffle, nvptx_print_operand, nvptx_expand_shuffle): Adjust.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_reads): Add extra dumps.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (compute_deps): Same.
- * graphite-sese-to-poly.c (bounds_are_valid): New.
- (pdr_add_data_dimensions): Call bounds_are_valid.
-
-2015-12-02 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * common.opt (flag_loop_optimize_isl): Renamed flag_loop_nest_optimize.
- * graphite-poly.c (apply_poly_transforms): Same.
- * graphite.c (gate_graphite_transforms): Same.
- * toplev.c (process_options): Same.
-
-2015-12-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/mips/mips.c (mips_emit_probe_stack_range): Adjust.
- (mips_output_probe_stack_range): Rotate the loop and simplify.
-
-2015-12-02 David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64.md: New pattern.
- * config/aarch64/aarch64-simd.md: Likewise.
- * config/aarch64/iterators.md: New unspecs, iterators.
-
-2015-12-02 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (dwar2out_var_location): In addition to notes,
- process indirect calls whose target is compile-time known.
- Enhance pattern matching to get the SYMBOL_REF they embed.
- (gen_subprogram_die): Handle such calls.
- * final.c (final_scan_insn): For call instructions, invoke the
- var_location debug hook only after the call has been emitted.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * gimplify.c (enum gimplify_omp_var_data): Add enum value
- GOVD_MAP_FORCE.
- (oacc_default_clause): Fix default for scalars in oacc kernels.
- (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_FORCE.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (install_var_field, scan_sharing_clauses): Add and handle
- parameter base_pointers_restrict.
- (omp_target_base_pointers_restrict_p): New function.
- (scan_omp_target): Call scan_sharing_clauses with
- base_pointers_restrict arg.
-
-2015-12-02 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_output_mov_insn): Declare.
- (nvptx_underlying_object_mode): Delete.
- * config/nvptx/nvptx.c (nvptx_underlying_object_mode): Delete.
- (output_reg): New.
- (nvptx_declare_function_name): Use output_reg. Remove punning buffer.
- (nvptx_output_mov_insn): New.
- (nvptx_print_operand): Separate SUBREG handling, remove 'f' case,
- Use output_reg. Merge 't' and 'u' handling.
- * config/nvptx/nvptx.h (NVPTX_PUNNING_BUFFER_REGNUM): Delete.
- (struct machine_function): Remvoe punning_buffer_size.
- (REGISTER_NAMES): Remove %punbuffer.
- * config/nvptx/nvptx.md (UNSPEC_CPLX_LOWPART,
- UNSPEC_CPLX_HIGHPART): Delete.
- (*mov<mode>_insn [QHSDIM): Remove unnecessary constraints, use
- nvptx_output_mov_insn.
- (*mov<mode>_insn [SDFM): Reorder constraints to match integer moc.
- Use nvptx_output_mov_insn.
- (highpartscsf2, set_highpartscsf2, lowpartscsf2, set_lowpartscsf2):
- Delete.
- (mov<mode> [SDCM]): Delete.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- * tree.h (tree_invariant_p): Declare.
- * tree.c (tree_invariant_p): Export.
- * genmatch.c (dt_simplify::gen_1): For GENERIC code-gen never
- create SAVE_EXPRs but reject patterns if we would need to.
-
-2015-12-02 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (find_func_aliases_for_builtin_call)
- (find_func_clobbers, ipa_pta_execute): Handle BUILT_IN_GOACC_PARALLEL.
-
-2015-12-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore_si_as_di): New expander.
- (cstore<mode>4): Use it.
-
-2015-12-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68625
- * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not call
- cleanup_control_flow_bb.
- (cleanup_tree_cfg_1): First perform cleanup_control_flow_bb
- on all BBs, then cleanup_tree_cfg_bb and finally iterate
- over the worklist doing both.
-
-2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68432
- * coretypes.h (optimization_type): New enum.
- * doc/tm.texi.in (TARGET_OPTAB_SUPPORTED_P): New hook.
- * doc/tm.texi: Regenerate.
- * target.def (optab_supported_p): New hook.
- * targhooks.h (default_optab_supported_p): Declare.
- * targhooks.c (default_optab_supported_p): New function.
- * predict.h (function_optimization_type): Declare.
- (bb_optimization_type): Likewise.
- * predict.c (function_optimization_type): New function.
- (bb_optimization_type): Likewise.
- * optabs-query.h (convert_optab_handler): Define an overload
- that takes an optimization type.
- (direct_optab_handler): Likewise.
- * optabs-query.c (convert_optab_handler): Likewise.
- (direct_optab_handler): Likewise.
- * internal-fn.h (direct_internal_fn_supported_p): Take an
- optimization_type argument.
- * internal-fn.c (direct_optab_supported_p): Likewise.
- (multi_vector_optab_supported_p): Likewise.
- (direct_internal_fn_supported_p): Likewise.
- * builtins.c (replacement_internal_fn): Update call to
- direct_internal_fn_supported_p.
- * gimple-match-head.c (build_call_internal): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
- * tree-vect-stmts.c (vectorizable_internal_function): Likewise.
- * tree.c (maybe_build_call_expr_loc): Likewise.
- * config/i386/i386.c (ix86_optab_supported_p): New function.
- (TARGET_OPTAB_SUPPORTED_P): Define.
- * config/i386/i386.md (asinxf2): Remove optimize_insn_for_size_p check.
- (asin<mode>2, acosxf2, acos<mode>2, log1pxf2, log1p<mode>2)
- (expNcorexf3, expxf2, exp<mode>2, exp10xf2, exp10<mode>2, exp2xf2)
- (exp2<mode>2, expm1xf2, expm1<mode>2, ldexpxf3, ldexp<mode>3)
- (scalbxf3, scalb<mode>3, rint<mode>2, round<mode>2)
- (<rounding_insn>xf2, <rounding_insn><mode>2): Likewise.
-
-2015-12-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (GENSUPPORT_H): New macro.
- (build/gensupport.o, build/read-rtl.o, build/genattr.o)
- (build/genattr-common.o, build/genattrtab.o, build/genautomata.o)
- (build/gencodes.o, build/genconditions.o, build/genconfig.o)
- (build/genconstants.o, build/genextract.o, build/genflags.o)
- (build/gentarget-def.o): Use it.
- (build/genemit.o): Likewise. Depend on internal-fn.def.
- * genopinit.c: Move block comment to optabs.def.
- (optab_tag, optab_def): Move to gensupport.h
- (pattern): Likewise, renaming to optab_pattern.
- (match_pattern): Move to gensupport.c
- (gen_insn): Use find_optab.
- (patterns, pattern_cmp): Replace pattern with optab_pattern.
- (main): Likewise. Use num_optabs.
- * optabs.def: Add comment that was previously in genopinit.c.
- * gensupport.h (optab_tag): Moved from genopinit.c
- (optab_def): Likewise, expanding commentary.
- (optab_pattern): Likewise, after renaming from pattern.
- (optabs, num_optabs, find_optab): Declare.
- * gensupport.c (optabs): Moved from genopinit.c.
- (num_optabs): New variable.
- (match_pattern): Moved from genopinit.c.
- (find_optab): New function, extracted from genopinit.c:gen_insn.
- * genemit.c (nofail_optabs): New variable.
- (emit_c_code): New function.
- (gen_expand): Check whether the instruction is an optab that isn't
- allowed to fail. Call emit_c_code.
- (gen_split): Call emit_c_code here too.
- (main): Initialize nofail_optabs. Don't emit FAIL and DONE here.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/predicates.md (const_mask_operand): New predicate.
- * config/s390/s390-builtins.def: Set a smaller bitmask
- for a few builtins.
- * config/s390/vector.md: Change predicate from immediate_operand
- to either const_int_operand or const_mask_operand. Add special
- insn conditions on patterns which have to exclude certain values.
- * config/s390/vx-builtins.md: Likewise.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md ("*vec_set<mode>"): Change shift count
- mode from DI to SI.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: New builtin types added.
- * config/s390/s390-builtins.def: Add s390_vec_splat_* definitions.
- * config/s390/s390.c (s390_expand_builtin): Always truncate
- constants to the mode in the pattern.
- * config/s390/vecintrin.h: Let the vec_splat_* macros point to the
- respective builtin __builtin_s390_vec_splat_*.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Sort builtin types.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-c.c (s390_get_vstring_flags): Invert the
- condition for the RT flag.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md ("jKK"): New constraint.
- * config/s390/s390.c (tm-constrs.h): Include for
- satisfies_constraint_*.
- (s390_legitimate_constant_p): Allow jKK constants. Use
- satisfies_constraint_* also for the others.
- (legitimate_reload_vector_constant_p): Likewise.
- (print_operand): Allow h output modifier on vectors.
- * config/s390/vector.md ("mov<mode>"): Add vrepi.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vector.md ("*vec_splats<mode>"): Fix constraint
- letter I->K.
-
-2015-12-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("bswap<mode>2"): Add support for strv and strvg.
- ("bswaphi2"): New pattern.
- New splitter for HI reg-reg bswap.
-
-2015-11-27 Jiri Engelthaler <engycz@gmail.com>
-
- PR driver/68029
- * opts-common.c (prune_options): Don't ignore -fdiagnostics-color
- if it is the first parameter.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68577
- * tree-vect-stmts.c (simple_integer_narrowing): New function.
- (vectorizable_call): Restrict internal function handling
- to NONE and NARROW cases, using simple_integer_narrowing
- to test for the latter. Add cost of narrowing operation
- and insert it where necessary.
-
-2015-12-01 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/freebsd64.h (ELFv2_ABI_CHECK): Add new macro.
- (SUBSUBTARGET_OVERRIDE_OPTIONS): Use it to decide whether to set
- rs6000_current_abi to ABI_AIX or ABI_ELFv2.
-
-2015-12-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_output_aligned_decl): Declare.
- * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
- ASM_OUTPUT_ALIGNED_DECL_LOCAL): Forward to nvptx_output_aligned_decl.
- * config/nvptx/nvptx.c (write_fn_marker, write_var_marker): New.
- (write_fn_proto, write_fn_proto_from_insn): Call write_fn_marker.
- (init_output_initializer): Call write_var_marker.
- (nvptx_output_aligned_decl): New.
- (nvptx_assemble_undefined_decl, nvptx_file_end): Call write_var_marker.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * c-common.c (parse_optimize_options): Do not silently ignore
- -fstrict-aliasing changes.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (hash_tree): Do not stream TYPE_ALIAS_SET.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not
- stream TYPE_ALIAS_SET.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Do not
- stream TYPE_ALIAS_SET.
-
-2015-12-01 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_function_arg_advance): Don't
- consider mode.
-
-2015-12-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (const_load_sequence_p): Handle extra
- indirection for large and small code models.
- (adjust_vperm): Likewise.
-
-2015-12-01 Julian Brown <julian@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <James_Norris@mentor.com>
-
- * gimple-pretty-print.c (dump_gimple_omp_target): Add host_data support.
- * gimple.h (gf_mask): Add GF_OMP_TARGET_KIND_OACC_HOST_DATA.
- (is_gimple_omp_oacc): Add support for above.
- * gimplify.c (omp_region_type): Add ORT_ACC_HOST_DATA.
- (omp_notice_variable): Diagnose undefined implicit uses of
- use_device variables in offloaded regions.
- (gimplify_scan_omp_clauses): Add host_data, use_device
- support. Diagnose undefined mapping of use_device variables in
- OpenACC clauses.
- (gimplify_omp_workshare): Add host_data support.
- (gimplify_expr): Likewise.
- * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): New.
- * omp-low.c (lookup_decl_in_outer_ctx)
- (maybe_lookup_decl_in_outer_ctx): Add optional argument to skip
- host_data regions.
- (scan_sharing_clauses): Support use_device.
- (check_omp_nesting_restrictions): Support host_data.
- (expand_omp_target): Support host_data.
- (lower_omp_target): Skip over outer host_data regions when looking
- up decls. Support use_device.
- (make_gimple_omp_edges): Support host_data.
- * tree-nested.c (convert_nonlocal_omp_clauses): Add use_device clause.
-
-2015-12-01 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/68582
- * cgraphunit.c (check_global_declaration): Only depend
- on TREE_THIS_VOLATILE for VAR_DECLs.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68474
- * tree-call-cdce.c (use_internal_fn): Protect call to
- gen_shrink_wrap_conditions.
-
-2015-12-01 Christian Bruel <christian.bruel@st.com>
-
- PR target/68617
- * config/arm/arm.opt (unaligned_access): Save.
- * config/arm/arm-c.c (__ARM_FEATURE_UNALIGNED): Conditionally define.
- * config/arm/arm.c (arm_option_override): Move unaligned_access setting.
- (arm_option_override_internal): ... here.
- * config/arm/arm.h (TARGET_32BIT_P): New macro.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68379
- * tree-vect-stmts.c (vectorizable_load): For BB vectorization
- always base loads on the first used DR of a group.
- * tree-vect-data-refs.c (vect_slp_analyze_and_verify_node_alignment):
- Compute alignment of the first scalar element unconditionally.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68590
- * genmatch.c (struct capture_info): Add match_use_count.
- (capture_info::walk_match): Increment match_use_count.
- (dt_simplify::gen_1): For GENERIC, only wrap multi-use
- replacements in a save_expr if they occur more often than
- in the original expression.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR ipa/68470
- * ipa-split.c (split_function): Handle main part not returning.
-
-2015-12-01 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68595
- * tree-vect-stmts.c (vect_init_vector): Cast boolean
- scalars to a proper value before building a vector.
-
-2015-12-01 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (check_attr_test): Take an attr_desc instead of
- an is_const flag. Put the file_location argument first.
- Update recursive calls. Improve error messages.
- (check_attr_value): Take a file location and use it instead
- of attr->loc. Improve error messages. Update calls to
- check_attr_test.
- (check_defs): Update call to check_attr_value.
- (make_canonical): Likewise.
- (gen_attr): Likewise.
- (main): Likewise.
- (gen_insn_reserv): Update call to check_attr_test.
-
-2015-12-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Fix typo.
-
-2015-12-01 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68590
- * match.pd: Merge (eq @0 @0) and (ge/le @0 @0) patterns.
-
-2015-12-01 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_with_linkage_p, type_in_anonymous_namespace_p,
- odr_type_p): Move to ...
- * ipa-utils.h (type_with_linkage_p, type_in_anonymous_namespace_p,
- odr_type_p): here; miscro-optimize.
-
-2015-12-01 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/68529
- * tree-ssa-loop-niter.c (number_of_iterations_ne): Add new param.
- Compute no-overflow information for control iv.
- (number_of_iterations_lt, number_of_iterations_le): Add new param.
- (number_of_iterations_cond): Pass new argument to above functions.
-
-2015-11-30 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-transform.c (inline_call): Drop -fstrict-aliasing when
- inlining -fno-strict-aliasing into -fstrict-aliasing body.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68565
- * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Early return on
- codegen_error. Fail when rhs of division operations is integer_zerop.
- (ternary_op_to_tree): Early return on codegen_error.
- (unary_op_to_tree): Same.
- (nary_op_to_tree): Same.
- (gcc_expression_from_isl_expr_op): Same.
- (gcc_expression_from_isl_expression): Same.
- (graphite_create_new_loop): On codegen_error continue generating
- wrong code.
- (graphite_create_new_loop_guard): Same.
- (build_iv_mapping): Same.
- (graphite_create_new_guard): Same.
-
-2015-11-30 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c: Fix dump messages.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c (isl_id_for_ssa_name): Do not call get_name.
-
-2015-11-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * tree-nested.c (convert_nonlocal_omp_clauses): Add support for
- OMP_CLAUSE_{NUM_GANGS,NUM_VECTORS,VECTOR_LENGTH,SEQ}.
- (convert_local_omp_clauses): Likewise.
-
-2015-11-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/46032
- * tree-ssa-structalias.c (find_func_aliases_for_call_arg): New function,
- factored out of ...
- (find_func_aliases_for_call): ... here.
- (find_func_aliases_for_builtin_call, find_func_clobbers): Handle
- BUILT_IN_GOMP_PARALLEL.
- (ipa_pta_execute): Same. Handle node->parallelized_function as a local
- function.
-
-2015-11-30 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68501
- * target.def (builtin_reciprocal): Replace the 3 arguments with
- a gcall * one, adjust description.
- * targhooks.h (default_builtin_reciprocal): Replace the 3 arguments
- with a gcall * one.
- * targhooks.c (default_builtin_reciprocal): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Use
- targetm.builtin_reciprocal even on internal functions, adjust
- the arguments and allow replacing an internal function with normal
- built-in.
- * config/i386/i386.c (ix86_builtin_reciprocal): Replace the 3 arguments
- with a gcall * one. Handle internal fns too.
- * config/rs6000/rs6000.c (rs6000_builtin_reciprocal): Likewise.
- * config/aarch64/aarch64.c (aarch64_builtin_reciprocal): Likewise.
- * doc/tm.texi (builtin_reciprocal): Document.
-
-2015-11-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68592
- * tree-vect-loop.c (vect_analyze_loop_2): Reset SLP type also
- on the pattern def sequence.
-
-2015-11-30 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_name_replacement): Move earlier.
- (write_one_arg): Reorder parms, add 'sep' param.
- (nvptx_write_function_decl): Rename to ...
- (write_fn_proto): ... here. Do name replacement. Emit linaer
- comment marker. Deal with both decls and defns. Simplify argument
- formatting.
- (write_function_decl_and_comment): Delete.
- (write_func_decl_from_insn): Rename to ...
- (write_fn_proto_from_insn): ... here. Don't do name replacement.
- (nvptx_record_fndecl): Call write_fn_proto.
- (nvptx_record_libfunc): Call write_fn_proto_from_insn.
- (nvptx_declare_function_name): Adjust for write_fn_proto changes.
- (nvotx_output_call_insn): Call write_fn_prot_from_insn.
-
-2015-11-30 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_mode_iterator SWI1248_AVX512BW): New.
- (define_insn "*k<logic><mode>"): Use new iterator.
-
-2015-11-30 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/28115
- * config/sparc/sparc.c (supersparc_adjust_cost): Fix thinko.
- (sparc_adjust_cost): Add missing space.
-
-2015-11-30 Richard Biener <rguenther@suse.de>
-
- PR c/68162
- * dwarf2out.c (gen_type_die_with_usage): Keep variant types of arrays.
-
-2015-11-30 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
-
- * tree-if-conv.c (struct ifc_dr): Add new tree base_predicate field.
- (hash_memrefs_baserefs_and_store_DRs_read_written_info): Hash
- base ref, DR pairs and store base_predicate for write type DRs.
- (ifcvt_memrefs_wont_trap): Guard checks with
- -ftree-loop-if-convert-stores flag.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::make_local): No name is unique during
- incremental linking.
- * cgraph.h (can_be_discarded_p): Update comment; also common and
- WEAK in named sections can be discarded; when doing incremental
- link do not rely on resolution being the final one.
- * varasm.c (default_binds_local_p_3, decl_binds_to_current_def_p):
- When symbol can be discarded, do not rely on resolution info.
- * symtab.c (symtab_node::nonzero_address): Take into account that
- symbol can be discarded.
- * ipa-visibility.c (update_visibility_by_resolution_info): Handle
- definition correctly.
- (function_and_variable_visibility): Do not set unique_name when
- incrementally linking.
-
-2015-11-29 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (const_0_operand, global_mem_operand,
- const_mem_operand, param_mem_operand, shared_mem_operand): Delete.
- (ctrap<mode>): Use const0_operand.
-
-2015-11-29 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (add_type_duplicate): Remove redundant
- ODR violation dump.
-
-2015-11-29 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/28115
- * config/rs6000/rs6000.c (rs6000_adjust_cost): Correct
- recog_memoized test for insn and check recog_memoized for dep_insn.
-
-2015-11-28 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (FIRST_PARM_OFFSET): Add void cast.
- (FRAME_POINTER_CFA_OFFSET): Define.
- (struct nvptx_args): Use 'tree' type.
- (INIT_CUMULATIVE_ARGS): Remove unnecessary do...while.
-
-2015-11-28 Tom de Vries <tom@codesourcery.com>
-
- * lto-wrapper.c (run_gcc): Handle -flinker-output argument.
-
-2015-11-27 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (Option Summary): Use negative form of
- -Waggressive-loop-optimizations, remove redundant -Wpedantic-ms-format,
- sort alphabetically and re-justify.
-
-2015-11-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68536
- * lra.c (lra_emit_add): Add code for null base.
- * lra-constraints.c (curr_insn_transform): Skip operators for
- subreg reloads.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- Revert
- 2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
- multiple_sets.
- (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
- are not modified by the final modified insns in the basic blocks.
-
-2015-11-27 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_addr_space_from_address):
- Don't declare.
- * config/nvptx/nvptx.c (nvptx_addr_space_from_sym): New.
- (nvptx_maybe_convert_symbolic_operand): Simplify.
- (nvptx_addr_space_from_address): Delete.
- (nvptx_print_operand): Adjust 'A' case.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68559
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Move
- peeling for gap checks ...
- * tree-vect-stmts.c (vectorizable_load): ... here and relax for SLP.
- * tree-vect-loop.c (vect_analyze_loop_2): Re-set
- LOOP_VINFO_PEELING_FOR_GAPS before re-trying without SLP.
-
-2015-11-27 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx-protos.h (nvptx_record_needed_decl): Don't declare.
- * config/nvptx/nvptx.c (write_func_decl_from_insn): Move earlier.
- (nvptx_record_fndecl): Don't return value, remove force
- argument. Require fndecl.
- (nvptx_record_libfunc): New.
- (nvptx_record_needed_decl): Deteermine how to record decl here.
- (nvptx_maybe_record_fnsym): New.
- (nvptx_expand_call): Don't record libfuncs here,
- (nvptx_maybe_convert_symbolic_operand): Use
- nvptx_maye_record_fnsym.
- (nvptx_assemble_integer): Reimplement with single switch.
- (nvptx_output_call_insn): Register libfuncs here.
- (nvptx_file_end): Adjust nvptx_record_fndecl call.
- * config/nvptx/nvptx.md (expand_movdi): Don't call
- nvptx_record_needed_decl.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68553
- * tree-vect-slp.c (vect_create_mask_and_perm): Skip VEC_PERM_EXPR
- generation for 1:1 permutations.
- (vect_transform_slp_perm_load): Detect 1:1 permutations.
-
-2015-11-27 Bernd Schmidt <bschmidt@redhat.com>
-
- * gimple.h (nonbarrier_call_p): Declare.
- * gimple.c (nonbarrier_call_p): New function.
- * tree-ssa-phiopt.c (nontrapping_dom_walker::before_dom_children):
- Also increment call phase for ASMs with vdef and potential barrier
- calls.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (insn_valid_noce_process_p): Reject insn if it satisfies
- multiple_sets.
- (noce_try_cmove_arith): Add checking asserts that orig_a and orig_b
- are not modified by the final modified insns in the basic blocks.
-
-2015-11-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68506
- * ifcvt.c (noce_try_cmove_arith): Try emitting the else basic block
- first if emit_a exists or then_bb modifies 'b'. Reindent if-else
- blocks.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- PR c++/68312
- * vec.h (release_vec_vec): New function.
-
-2015-11-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68552
- * optabs.c (expand_vec_perm_1): Move vec_shr handling from here...
- (expand_vec_perm): ... here. Do it regardless of vec_perm_const_optab
- or whether v0 == v1.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-uninit.c: Fix whitespaces in the source file.
- The change is just automatical.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-chkp.c (chkp_make_static_bounds): Release buffer
- used for string.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * tree-vect-loop-manip.c (vect_create_cond_for_alias_checks):
- Do not release memory for comp_alias_ddrs.
- * tree-vect-loop.c (destroy_loop_vec_info): Release
- the memory for all loop_vec_info.
-
-2015-11-27 Martin Liska <mliska@suse.cz>
-
- * ipa-devirt.c (ipa_devirt): Use auto_vec instead
- of a local-scope vec.
- (struct final_warning_record): Use auto_vec instead of vec.
-
-2015-11-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68553
- * tree-vect-slp.c (vect_get_mask_element): Remove.
- (vect_transform_slp_perm_load): Implement in a simpler way.
-
-2015-11-26 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/67753
- PR rtl-optimization/64164
- * function.c (assign_parm_setup_block): Right-shift
- upward-padded big-endian args when bypassing the stack slot.
-
-2015-11-26 Maciej W. Rozycki <macro@imgtec.com>
-
- * doc/invoke.texi (Option Summary) <MIPS Options>: Reorder
- `-mcompact-branches='.
- (MIPS Options): Likewise.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (build/genmatch.o): Depend on internal-fn.def.
-
-2015-11-26 David Edelsohn <dje.gcc@gmail.com>
-
- * doc/install.texi (Prerequisites): Increase ISL requirement to
- 0.14 or 0.15.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/arm_neon.h
- (vqrdmlah_laneq_s16, vqrdmlah_laneq_s32): New.
- (vqrdmlahq_laneq_s16, vqrdmlahq_laneq_s32): New.
- (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
- (vqrdmlshq_laneq_s16, vqrdmlshq_laneq_s32): New.
- (vqrdmlah_lane_s16, vqrdmlah_lane_s32): New.
- (vqrdmlahq_lane_s16, vqrdmlahq_lane_s32): New.
- (vqrdmlahh_s16, vqrdmlahh_lane_s16, vqrdmlahh_laneq_s16): New.
- (vqrdmlahs_s32, vqrdmlahs_lane_s32, vqrdmlahs_laneq_s32): New.
- (vqrdmlsh_lane_s16, vqrdmlsh_lane_s32): New.
- (vqrdmlshq_lane_s16, vqrdmlshq_lane_s32): New.
- (vqrdmlshh_s16, vqrdmlshh_lane_s16, vqrdmlshh_laneq_s16): New.
- (vqrdmlshs_s32, vqrdmlshs_lane_s32, vqrdmlshs_laneq_s32): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/arm_neon.h (vqrdmlah_s16, vqrdmlah_s32): New.
- (vqrdmlahq_s16, vqrdmlahq_s32): New.
- (vqrdmlsh_s16, vqrdmlsh_s32): New.
- (vqrdmlshq_s16, vqrdmlshq_s32): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Add
- ARM_FEATURE_QRDMX.
-
-2015-11-26 Pierre-Marie de Rodat <derodat@adacore.com>
-
- PR debug/53927
- * tree-nested.c (finalize_nesting_tree_1): Append a field to
- hold the frame base address.
- * dwarf2out.c (gen_subprogram_die): Generate for
- DW_AT_static_link a location description that computes the value
- of this field.
-
-2015-11-26 Tom de Vries <tom@codesourcery.com>
-
- revert:
- 2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * cfgloop.c (find_single_latch): New function, factored out of ...
- (flow_loops_find): ... here.
- (verify_loop_structure): Improve verification of loop->latch.
- * cfgloop.h (find_single_latch): Declare.
- * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def:
- Add missing changes from r230962.
-
-2015-11-26 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (write_func_decl_from_insn): Replace callee
- arg with name. Don't deal with split regs. Tweak formatting.
- (nvptx_expand_call): Adjust write_func_decl_from_insn call.
- (nvptx_output_call_insn): Don't deal with split regs here.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def
- (sqrdmlah, sqrdmlsh): New.
- (sqrdmlah_lane, sqrdmlsh_lane): New.
- (sqrdmlah_laneq, sqrdmlsh_laneq): New.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_sqmovun<mode>): Fix some white-space.
- (aarch64_<sur>qmovun<mode>): Likewise.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h<mode>): New.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): New.
- (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): New.
- * config/aarch64/iterators.md (UNSPEC_SQRDMLAH): New.
- (UNSPEC_SQRDMLSH): New.
- (SQRDMLH_AS): New.
- (rdma_as): New.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66721
- * tree-vect-loop.c (vect_analyze_loop_2): Compute scalar
- iteration cost earlier. Re-do analysis without SLP when
- vectorization using SLP fails and without has a chance to succeed.
-
-2015-11-26 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_simplify::gen_1): For generic wrap all
- multi-result-use captures in a SAVE_EXPR.
-
-2015-11-26 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_ISA_RDMA): New.
- (TARGET_SIMD_RDMA): New.
-
-2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (subst): Do not return clobber of zero in widening mult
- case. Just return x unchanged if it is a no-op substitution.
-
-2015-11-26 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/68416
- * config/i386/i386.h (enum reg_class): Add
- bounds registers to ALL_REGS.
-
-2015-11-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68128
- * tree.h (OMP_CLAUSE_SHARED_READONLY): Define.
- * gimplify.c: Include gimple-walk.h.
- (enum gimplify_omp_var_data): Add GOVD_WRITTEN.
- (omp_notice_variable): Set flags to n->value if n already
- exists in target region, but we need to jump to do_outer.
- (omp_shared_to_firstprivate_optimizable_decl_p,
- omp_mark_stores, omp_find_stores_op, omp_find_stores_stmt): New
- functions.
- (gimplify_adjust_omp_clauses_1): Set OMP_CLAUSE_SHARED_READONLY
- on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
- not modified in the body. Call omp_mark_stores for outer
- contexts on OMP_CLAUSE_SHARED clauses if they could be written
- in the body or on OMP_CLAUSE_LASTPRIVATE.
- (gimplify_adjust_omp_clauses): Add body argument, call
- omp_find_stores_{stmt,op} on the body through walk_gimple_seq.
- Set OMP_CLAUSE_SHARED_READONLY
- on OMP_CLAUSE_SHARED if it is a scalar non-addressable that is
- not modified in the body. Call omp_mark_stores for outer
- contexts on OMP_CLAUSE_SHARED clauses if they could be written
- in the body or on OMP_CLAUSE_LASTPRIVATE or on OMP_CLAUSE_LINEAR
- without OMP_CLAUSE_LINEAR_NO_COPYOUT or on OMP_CLAUSE_REDUCTION.
- (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task,
- gimplify_omp_for, gimplify_omp_workshare, gimplify_omp_target_update,
- gimplify_expr): Adjust gimplify_adjust_omp_clauses callers.
- * tree-nested.c (convert_nonlocal_omp_clauses,
- convert_local_omp_clauses): Clear OMP_CLAUSE_SHARED_READONLY on
- non-local vars or local vars referenced from nested routines.
- * omp-low.c (scan_sharing_clauses): For OMP_CLAUSE_SHARED_READONLY
- attempt to optimize it into OMP_CLAUSE_FIRSTPRIVATE. Even for
- TREE_READONLY, don't call use_pointer_for_field with non-NULL
- second argument until we are sure we are keeping OMP_CLAUSE_SHARED.
-
-2015-11-26 Paolo Bonzini <bonzini@gnu.org>
-
- * doc/implement-c.texi (Integers Implementation): Make GCC's promises
- about signed left shift stronger and clarify the cases when they're
- broken.
-
-2015-11-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- Bernd Schmidt <bschmidt@redhat.com>
-
- PR rtl-optimization/67226
- * calls.c (store_one_arg): Take into account
- crtl->args.pretend_args_size when checking for overlap between
- arg->value and argblock + arg->locate.offset during sibcall
- optimization.
-
-2015-11-26 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (cbranch<mode>4): Use
- aarch64_fp_compare_operand.
- (store_pairsf): Use aarch64_reg_or_fp_zero.
- (store_pairdf): Likewise.
- (cstore<mode>4): Use aarch64_fp_compare_operand.
- (cmov<mode>6): Likewise.
- * config/aarch64/aarch64-ldpstp.md: Use aarch64_reg_or_fp_zero.
-
-2015-11-25 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68453
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_for_loop): Do
- not redirect edges already pointing to their destination.
- (translate_isl_ast_node_for): Split edges after loops to create
- basic blocks for close phi nodes. Save merge points at the end of
- a loop guard.
- (translate_isl_ast_node_if): Save merge points at the end of the
- if region.
- (add_close_phis_to_outer_loops): New.
- (add_close_phis_to_merge_points): New.
- (copy_loop_close_phi_args): Call add_close_phis_to_merge_points.
- (copy_bb_and_scalar_dependences): Do not split basic blocks on
- loop close phi locations.
-
-2015-11-25 Jan Hubicka <jh@suse.cz>
-
- * ipa-visibility.c (cgraph_externally_visible_p,
- varpool_node::externally_visible_p): When doing incremental linking,
- hidden symbols may be still used later.
- (update_visibility_by_resolution_info): Do not drop weak during
- incremental link.
- (function_and_variable_visibility): Fix formating.
- * flag-types.h (lto_linker_output): Declare.
- * common.opt 9flag_incremental_link): New flag.
-
-2015-11-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (wb constraint): New constraint for
- ISA 3.0 d-form scalar addressing.
-
- * config/rs6000/rs6000.c (mode_supports_vmx_dform): Add support
- for ISA 3.0 D-form addressing to load SFmode/DFmode scalars into
- Altivec registers. Add wb constraint for Altivec registers with
- D-form addressing. If we have ISA 3.0 d-form support, undo
- secondary reload support for using FPR registers if we want to do
- D-form addressing.
- (rs6000_debug_reg_global): Likewise.
- (rs6000_setup_reg_addr_masks): Likewise.
- (rs6000_init_hard_regno_mode_ok): Likewise.
- (rs6000_secondary_reload): Likewise.
- (rs6000_preferred_reload_class): Likewise.
- (rs6000_secondary_reload_class): Likewise.
-
- * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wb
- constraint.
-
- * config/rs6000/rs6000.md (f32_lr2 mode attribute): Add support
- for ISA 3.0 SFmode/DFmode d-form addressing to Altivec registers.
- (f32_lm2): Likewise.
- (f32_li2): Likewise.
- (f32_sr2): Likewise.
- (f32_sm2): Likewise.
- (f32_si2): Likewise.
- (f64_p9): Likewise.
- (extendsfdf2_fpr): Likewise.
- (mov<mode>_hardfloat): Likewise.
- (mov<mode>_hardfloat32): Likewise.
- (mov<mode>_hardfloat64): Likewise.
-
- * doc/md.texi (RS/6000 constraints): Document wb constraint.
- Fixup we constraint documentation.
-
-2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (pass_expand_omp_ssa::clone): New function.
- * passes.def: Add pass_oacc_kernels pass group.
- * tree-ssa-loop-ch.c (pass_ch::clone): New function.
-
-2015-11-25 Tom de Vries <tom@codesourcery.com>
-
- * tree-pass.h (make_pass_oacc_kernels, make_pass_oacc_kernels2):
- Declare.
- * tree-ssa-loop.c (gate_oacc_kernels): New static function.
- (pass_data_oacc_kernels, pass_data_oacc_kernels2): New pass_data.
- (class pass_oacc_kernels, class pass_oacc_kernels2): New pass.
- (make_pass_oacc_kernels, make_pass_oacc_kernels2): New function.
-
-2015-11-25 Jan Hubicka <hubicka@ucw.cz>
-
- * timevar.def (TV_IPA_LTO_DECOMPRESS, TV_IPA_LTO_COMPRESS,
- TV_IPA_LTO_OUTPUT): New.
- * lto-compress.c: Include timevar.h
- (lto_end_compression, lto_end_uncompression): Add timers.
- * langhooks.c: Include timevar.h.
- (lhd_append_data): Add timer.
-
-2015-11-25 Jan Hubicka <hubicka@ucw.cz>
-
- * varasm.c (default_elf_asm_output_limited_string,
- default_elf_asm_output_ascii): Replace fprintf by putc.
-
-2015-11-25 Vladimir Makarov <vmakarov@redhat.com>
- PR rtl-optimization/67954
- * lra-constraints.c (curr_insn_transform): Add check on scratch
- pseudo when change class to NO_REGS. Add an assert.
+2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
-2015-11-25 Nathan Sidwell <nathan@acm.org>
+ * gimplify.c (oacc_default_clause): Decode reference and pointer
+ types for both kernels and parallel regions.
- * config/nvptx/nvptx.md (load_arg_reg<mode>): Arg number
- constraint is 'n'.
- * config/nvptx/nvptx.c (write_one_arg): Use 'i' directly as arg number.
- (nvptx_write_function_decl): Number args from 0.
- (nvptx_declare_function_name): Likewise.
- (nvptx_function_incoming_arg): Likewise.
- (nvptx_output_call_insn): Correct formatting.
+2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
-2015-11-25 David Sherwood <david.sherwood@arm.com>
+ PR middle-end/69246
+ * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
- * optabs.def: Add new optabs fmax_optab/fmin_optab.
- * internal-fn.def: Add new fmax/fmin internal functions.
- * doc/md.texi: Add fmin and fmax patterns.
+2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-2015-11-25 Jason Merrill <jason@redhat.com>
+ * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
+ (convert_scalars_to_vector): Likewise.
- PR c++/68385
- * tree.c (integer_zerop, integer_onep, integer_each_onep)
- (integer_all_onesp, integer_minus_onep, integer_pow2p)
- (integer_nonzerop, integer_truep, tree_log2, tree_floor_log2)
- (real_zerop, real_onep, real_minus_onep): Remove STRIP_NOPS.
+2016-01-15 Jonathan Wakely <jwakely@redhat.com>
-2015-11-25 Richard Biener <rguenther@suse.de>
+ * doc/extend.texi (Type Traits): Fix grammar.
- PR middle-end/68528
- * fold-const.c (fold_binary_loc): Do not call negate_expr_p
- on stripped operands.
+2016-01-15 Martin Jambor <mjambor@suse.cz>
-2015-11-25 Nathan Sidwell <nathan@acm.org>
+ * tree-inline.c (remap_decl): Use existing dclarations if
+ remapping a type and prevent_decl_creation_for_types.
+ (replace_locals_stmt): Do an initial remapping of non-VLA typed
+ decls first. Do real remapping with
+ prevent_decl_creation_for_types set.
+ * tree-inline.h (copy_body_data): New field
+ prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
+ padding.
- * config/nvptx/nvptx.c (walk_args_for_params): Delete.
- (nvptx_declare_function_name): Move assignments next to register
- declarations, and process params here.
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-2015-11-25 David Edelsohn <dje.gcc@gmail.com>
+ * config/s390/s390.opt (mmvcle): More verbose help text.
- * config/rs6000/rs6000.c (rs6000_declare_alias): Rename and globalize
- both the symbol and the "dot" symbol for function descriptors. Fix
- inversion for rename of symbols with dollar sign.
+2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
-2015-11-25 Tom de Vries <tom@codesourcery.com>
+ * config/s390/s390.opt: Add period to -mzvector option text.
- * cfgloop.c (find_single_latch): New function, factored out of ...
- (flow_loops_find): ... here.
- (verify_loop_structure): Improve verification of loop->latch.
- * cfgloop.h (find_single_latch): Declare.
- * omp-low.c (expand_omp_for_generic): Initialize latch of orig_loop.
+2016-01-15 Richard Biener <rguenther@suse.de>
-2015-11-25 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+ PR tree-optimization/68961
+ * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
+ of invariants in stores again.
- * config/sol2.h (SUPPORTS_INIT_PRIORITY): Move up.
- (STARTFILE_VTV_SPEC, ENDFILE_VTV_SPEC): Define.
- (STARTFILE_SPEC): Use %(startfile_vtv).
- (ENDFILE_SPEC): Use %(endfile_vtv).
- (SUBTARGET_EXTRA_SPECS): Handle STARTFILE_VTV_SPEC,
- ENDFILE_VTV_SPEC.
+2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
- * gcc.c (LINK_COMMAND_SPEC): Move VTABLE_VERIFICATION_SPEC after %{L*}.
+ * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
-2015-11-25 Bernd Schmidt <bschmidt@redhat.com>
+2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
- * ifcvt.c (noce_mem_write_may_trap_or_fault_p,
- noce_can_store_speculate): Delete.
- (noce_process_if_block): Don't try to handle single MEM stores.
- * rtl.h (memory_must_be_modified_in_insn_p): Don't declare.
- * alias.c (memory_must_be_modified_in_insn_p): Delete.
+ * config/i386/i386.c (ix86_expand_branch): Don't split
+ DI mode xor instruction to SI mode.
-2015-11-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR rtl-optimization/68435
- * ifcvt.c (noce_try_cmove_arith): Skip final insn when checking
- for conflicts between a, b and the set destinations.
+ PR ipa/68148
+ * ipa-icf.c (sem_function::merge): Virtual functions may become
+ reachable even if they address is not taken and there are no
+ idrect calls.
-2015-11-25 Richard Biener <rguenther@suse.de>
+2016-01-15 Jan Hubicka <hubicka@ucw.cz>
- PR tree-optimization/68517
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses):
- Properly handle zero-sized types.
+ * lto-streamer-out.c (subtract_estimated_size): New function.
+ (get_symbol_initial_value): Use it.
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c: Include gimplify.h
- (set_cond_stmt_execution_predicate,
- set_switch_stmt_execution_predicate): Be sure to not leak locations
- to function body.
-
-2015-11-25 Jakub Jelinek <jakub@redhat.com>
-
- PR target/67089
- * tree-ssa-math-opts.c (uaddsub_overflow_check_p,
- match_uaddsub_overflow): New functions.
- (pass_optimize_widening_mul::execute): Call match_uaddsub_overflow.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68492
- * tree-vect-slp.c (vect_build_slp_tree): Consistently build up
- op from scalars after operand swapping.
-
-2015-11-25 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68502
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Restore
- check that the step is a multiple of the type size.
-
-2015-11-24 Michael Collison <michael.collison@linaro.org>
-
- * config/aarch64/aarch64-simd.md (widen_ssum, widen_usum)
- (aarch64_<ANY_EXTEND:su><ADDSUB:optab>w<mode>_internal): New patterns
- * config/aarch64/iterators.md (Vhalf, VDBLW): New mode attributes.
-
-2015-11-24 Steve Ellcey <sellcey@imgtec.com>
-
- * frame-header-opt.c (gate): Check for optimize > 0.
- (has_inlined_assembly): New function.
- (needs_frame_header_p): Remove is_leaf_function check,
- add argument type check.
- (callees_functions_use_frame_header): Add is_leaf_function
- and has_inlined_assembly calls..
- (set_callers_may_not_allocate_frame): New function.
- (frame_header_opt): Add is_leaf_function call, add
- set_callers_may_not_allocate_frame call.
- * config/mips/mips.c (mips_compute_frame_info): Add check
- to see if callee saved regs can be put in frame header.
- (mips_expand_prologue): Add check to see if step1 is zero,
- fix cfa restores when using frame header to store regs.
- (mips_can_use_return_insn): Check to see if registers are
- stored in frame header.
- * config/mips/mips.h (machine_function): Add
- callers_may_not_allocate_frame and
- use_frame_header_for_callee_saved_regs fields.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68520
- * shrink-wrap.c (try_shrink_wrapping): Don't push a block to VEC if
- its bit was already set in BB_WITH.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (get_alias_set): Before checking TYPE_ALIAS_SET_KNOWN_P
- double check that type is main variant.
- * tree.c (build_variant_type_copy): Clear TYPE_ALIAS_SET when producing
- variant.
- (verify_type_variant): Verify that variants have no
- TYPE_ALIAS_SET_KNOWN_P set
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Reorder
- streaming so constant fields come first; stream TYPE_ALIAS_SET==0
- only for main variants; stream TYPE_ALIAS_SET as a bit.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Update
- accordingly.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (make_vector_type): Properly compute canonical type of the
- main variant.
- (verify_type): Verify that TYPE_CANONICAL of TYPE_MAIN_VARIANT is
- a main variant.
-
-2015-11-24 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (maybe_split_mode): Return new mode or
- VOIDmode, don't alter incoming mode.
- (nvptx_split_reg_p): Delete.
- (write_one_arg, walk_args_for_param, nvptx_declare_function_name,
- write_func_decl_from_insn, nvptx_output_call_insn): Adjust
- maybe_split_mode calls.
- (nvptx_print_operand): Use maybe_split_mode.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-in.c (lto_read_body_or_constructor): Set TYPE_CANONICAL
- only for types where LTO sets them.
- * tree.c (build_array_type_1): Do ont set TYPE_CANONICAL for LTO.
- (make_vector_type): Likewise.
- (gimple_canonical_types_compatible_p): Use canonical_type_used_p.
- * tree.h (canonical_type_used_p): New inline.
- * alias.c (get_alias_set): Handle structural equality for all
- types that pass canonical_type_used_p.
- (record_component_aliases): Look through all types with
- record_component_aliases for possible pointers; sanity check that
- the alias sets match.
-
-2015-11-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (lround<mode>di2): Remove constraints.
-
-2015-11-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_node): New function.
- (type_hash_canon): Use it.
- * tree.h (free_node): Declare.
-
-2015-11-24 David Edelsohn <dje.gcc@gmail.com>
- Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.md (UNSPEC_XSRDPI): New unspec.
- (Fv2): New mode attribute to be used when ISA 2.07 instructions
- are used on SF values, and ISA 2.06 instructions on DF values.
- (add<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (sub<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (mul<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (div<mode>3_fpr): Use <Fv2> instead of <Fv>.
- (sqrt<mode>2): Use <Fv2> instead of <Fv>.
- (fre<Fs>): Use <Fv2> instead of <Fv>.
- (rsqrt<mode>2): Use <Fv2> instead of <Fv>.
- (cmp<mode>_fpr): Use <Fv2> instead of <Fv>.
- (xsrdpi<mode>): Add support for the lround function.
- (lround<mode>di2): Likewise.
- (fma<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (fms<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (nfma<mode>4_fpr): Use <Fv2> instead of <Fv>.
- (nfms<mode>4_fpr): Use <Fv2> instead of <Fv>.
-
-2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67984
- * graphite-isl-ast-to-gimple.c (is_constant): New.
- (get_rename): Call is_constant.
- (get_new_name): Same.
-
-2015-11-24 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c: Only include graphite.h.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-poly.c: Same.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
- * graphite-isl-ast-to-gimple.h: Move to graphite.h.
- * graphite-poly.h: Same.
- * graphite-scop-detection.h: Same.
- * graphite.h: New.
-
-2015-11-24 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * dwarf2out.c (gen_decl_die): Generate DW_TAG_imported_* instead of
- DW_TAG_namespace for IMPORTED_DECL declarations. Call
- dwarf2out_imported_module_or_decl_1 for all DWARF versions as this
- function already takes care of checking what it can emit.
-
-2015-11-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * doc/invoke.texi (-fpic): Add the AArch64 limit.
- (-fPIC): Add AArch64.
-
-2015-11-24 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-im.c (tree_ssa_lim): Make static.
- (pass_lim::execute): Allow to run outside pass_tree_loop.
-
-2015-11-24 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3):
- Block early expansion into 2 add instructions.
- (add<mode>3_pluslong): New pattern to combine complex
- immediates into 2 additions.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- PR target/67677
- PR target/68332
- * config/rs6000/predicates.md (and_operand): Check that the operand
- is a const_int before calling rs6000_is_valid_and_mask.
-
-2015-11-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*condjump): Rename to...
- (condjump): ... This.
- (*compare_condjump<mode>): New define_insn_and_split.
- (*compare_cstore<mode>_insn): Likewise.
- (*cstore<mode>_insn): Rename to...
- (cstore<mode>_insn): ... This.
- * config/aarch64/iterators.md (CMP): Handle ne code.
- * config/aarch64/predicates.md (aarch64_imm24): New predicate.
-
-2015-11-24 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR target/68497
- * config/i386/i386.c (output_387_binary_op): Fix assertion for
- -fno-checking case.
-
-2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-uncprop.c (struct val_ssa_equiv_hash_traits): Remove.
- (val_ssa_equiv_hash_traits::remove): Likewise.
- (pass_uncprop::execute): Adjust.
-
-2015-11-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * hash-map-traits.h (simple_hashmap_traits ::remove): call
- destructors on values that are being removed.
- * mem-stats.h (hash_map): Pass type of values to
- simple_hashmap_traits.
- * tree-sra.c (sra_deinitialize): Remove work around for hash
- maps not destructing values.
- * genmatch.c (sinfo_hashmap_traits): Adjust.
- * tree-ssa-uncprop.c (val_ssa_equiv_hash_traits): Likewise.
-
-2015-11-24 Richard Biener <rguenther@suse.de>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/68375
- * cfgloop.c (get_loop_body_in_bfs_order): Restructure loop to avoid
- bogus assertion.
-
-2015-11-24 Jakub Jelinek <jakub@redhat.com>
-
- PR target/68483
- * tree-vect-generic.c (lower_vec_perm): If VEC_PERM_EXPR
- is valid vec_shr pattern, don't lower it even if can_vec_perm_p
- returns false.
- * optabs.c (shift_amt_for_vec_perm_mask): Return NULL_RTX
- whenever first is nelt or above. Don't mask expected with
- 2 * nelt - 1.
-
-2015-11-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR c/68337
- * gimple-fold.c: Include ipa-chkp.h.
- (gimple_fold_builtin_memory_op): Don't fold call if we
- are going to instrument it and it may copy pointers.
-
-2015-11-24 Bernd Schmidt <bschmidt@redhat.com>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68194
- PR rtl-optimization/68328
- PR rtl-optimization/68185
- * ree.c (combine_reaching_defs): Reject copy_needed case if
- copies_list is not empty.
-
-2015-11-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68221
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Properly
- use mem_ref_offset.
-
-2015-11-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68381
- * combine.c (is_parallel_of_n_reg_sets): Return false if the pattern
- is poisoned.
-
-2015-11-23 Nick Clifton <nickc@redhat.com>
- Jeff Law <law@redhat.com>
-
- * ree.c (add_removable_extension): Avoid mis-optimizing cases where
- the source/dest of the target extension require a different number of
- hard registers.
- (combine_set_extension): Remove #if 0 code.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68314
- * graphite-optimize-isl.c (optimize_isl): Do not call
- isl_union_map_is_equal.
- * graphite-poly.c (new_scop): Remove original_schedule.
- (free_scop): Same.
- * graphite-poly.h (struct scop): Same.
- * graphite-sese-to-poly.c (build_pbb_minimal_scattering_polyhedrons):
- Remove.
- (build_pbb_scattering_polyhedrons): Add back.
- (build_scop_minimal_scattering): Remove.
- (build_scop_scattering): Add back.
- (build_scop_original_schedule): Remove.
- (build_poly_scop): Revert to only call build_scop_scattering.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68493
- * graphite-isl-ast-to-gimple.c (translate_pending_phi_nodes): Add
- missing early return when codegen_error is set.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68279
- * graphite-poly.c (new_scop): Remove poly_scop_p.
- * graphite-poly.h (struct scop): Same.
- (build_poly_scop): Declare.
- * graphite-sese-to-poly.c: Do not include graphite-sese-to-poly.h.
- (cleanup_loop_iter_dom): New.
- (build_loop_iteration_domains): Early return when scev analysis fails.
- (create_pw_aff_from_tree): Same.
- (add_condition_to_pbb): Same.
- (add_conditions_to_domain): Same.
- (add_conditions_to_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_poly_scop): Same. Do not initialize poly_scop_p.
- * graphite-sese-to-poly.h: Remove.
- * graphite.c: Do not include graphite-sese-to-poly.h.
- (graphite_transform_loops): Stop before code generation when
- build_poly_scop fails.
- * sese.c (scalar_evolution_in_region): Add fixme note about scev
- analysis.
-
-2015-11-23 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Remove call to update_ssa.
- * sese.c (sese_insert_phis_for_liveouts): Same.
-
-2015-11-23 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68455
- * tree-vrp.c (extract_range_from_binary_expr_1): Don't call
- extract_range_from_multiplicative_op_1 on symbolic ranges.
-
-2015-11-23 Richard Henderson <rth@redhat.com>
-
- * optabs.def (uaddv4_optab, usubv4_optab): New.
- * internal-fn.c (expand_addsub_overflow): Use them.
- * doc/md.texi (Standard Names): Add uaddv<m>4, usubv<m>4.
-
- * config/i386/i386.c (ix86_cc_mode): Extend add overflow check
- to reversed operands.
- * config/i386/i386.md (uaddv<SWI>4, usubv<SWI>4): New.
- (*add<SWI>3_cconly_overflow_1): Rename *add<SWI>3_cconly_overflow.
- (*add<SWI>3_cc_overflow_1): Rename *add<SWI>3_cc_overflow.
- (*addsi3_zext_cc_overflow_1): Rename *add3_zext_cc_overflow.
- (*add<SWI>3_cconly_overflow_2): New.
- (*add<SWI>3_cc_overflow_2): New.
- (*addsi3_zext_cc_overflow_2): New.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68465
- * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children):
- Also record equalities from multiple predecessor blocks if
- only one non-backedge exists.
-
-2015-11-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68363
- * config/aarch64/aarch64.c (aarch64_madd_needs_nop): Reject arguments
- that are not INSN_P.
-
-2015-11-23 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-builtins.c
- (aarch64_gimple_fold_builtin): Fold FMULX.
-
-2015-11-23 David Edelsohn <dje.gcc@gmail.com>
-
- * system.h: Don't poison calloc and strdup if USES_ISL is defined.
- * graphite-dependences.c: Define USES_ISL. Include ISL header files
- after GCC header files and before graphite header files.
- * graphite-dependences.c: Same.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-poly.c: Same.
- * graphite-scop-detection.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
-
-2015-11-23 Richard Biener <rguenth@gcc.gnu.org>
- Jiong Wang <jiong.wang@arm.com>
-
- PR tree-optimization/68317
- PR tree-optimization/68326
- * tree-vrp.c (adjust_range_with_scev): Call drop_tree_overflow if the
- final min and max are not infinity.
-
-2015-11-23 Ilya Enkovich <enkovich.gnu@gmail.com>
- Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68327
- * tree-vect-loop.c (vect_determine_vectorization_factor): Don't
- compute vectype for non-relevant mask producers.
- * tree-vect-stmts.c (vectorizable_comparison): Check stmt
- relevance earlier.
-
-2015-11-23 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68460
- * tree-parloops.c (gather_scalar_reductions): Also call
- free_stmt_vec_info_vec if simple_loop_info == NULL.
-
-2015-11-23 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * opts.c (finish_options): Allow -fsanitize-recover=address for
- userspace sanitization.
- * asan.c (asan_expand_check_ifn): Redefine recover_p.
- * doc/invoke.texi (fsanitize-recover): Update documentation.
-
-2015-11-23 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (build_receiver_ref): Mark by_ref mem_ref as non-trapping.
-
-2015-11-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68445
- * tree-vect-slp.c (vect_create_mask_and_perm): Properly use
- two different strides.
-
-2015-11-23 Robin Dapp <rdapp@linux.vnet.ibm.com>
-
- * config/s390/s390.h: Add new symref flags, _NOTALIGN2 etc.
- * config/s390/s390.c (s390_check_symref_alignment): Use new
- symref flags, early abort on wrong alignment
- (s390_secondary_reload): Use new symref flags.
- (s390_encode_section_info): Likewise.
- * config/s390/predicates.md: Likewise.
-
-2015-11-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR target/68390
- * config/arm/arm.c (arm_function_ok_for_sibcall): Get function type
- for indirect function call.
-
-2015-11-22 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (*aarch64_mulx_elt_<vswap_width_name><mode>, VDQSF): New.
- (*aarch64_mulx_elt<mode>, VDQF): Likewise.
- (*aarch64_mulx_elt_to_64v2df): Likewise.
- (*aarch64_vgetfmulx<mode>, VDQF_DF): Likewise.
- * config/aarch64/arm_neon.h (vmulx_lane_f32): New.
- (vmulx_lane_f64): Likewise.
- (vmulxq_lane_f32): Refactored & moved.
- (vmulxq_lane_f64): Likewise.
- (vmulx_laneq_f32): New.
- (vmulx_laneq_f64): Likewise.
- (vmulxq_laneq_f32): Likewise.
- (vmulxq_laneq_f64): Likewise.
- (vmulxs_lane_f32): Likewise.
- (vmulxs_laneq_f32): Likewise.
- (vmulxd_lane_f64): Likewise.
- (vmulxd_laneq_f64): Likewise.
-
-2015-11-21 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (build_pointer_type_for_mode,build_reference_type_for_mode):
- In LTO we do not compute TYPE_CANONICAL of pointers.
- (gimple_canonical_types_compatible_p): Improve coments; sanity check
- that pointers do not have canonical type that would make us believe
- they are different.
- * alias.c (get_alias_set): Do structural type equality on pointers;
- enable pointer path for LTO; also glob pointer to vector with pointer
- to vector element; glob pointers and references for LTO; do more strict
- sanity checking about build_pointer_type returning the canonical type
- which is also the main variant.
- (record_component_aliases): When component type is pointer and we
- do LTO; record void_type_node alias set.
-
-2015-11-21 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (clz<mode>2): Use operand 1 for type.
-
- * config/nvptx/nvptx.c (write_function_decl_and_comment): Print
- leading blank line.
- (write_func_decl_from_insn): Likewise.
- (init_output_initializer, nvptx_assemble_undefined_decl): Likewise.
- (nvptx_file_end): Likewise.
- (nvptx_function_end): Undent output.
- (nvptx_expand_call): Fix formatting.
- (nvptx_output_call_insn): Indent output.
- * config/nvptx/nvptx.h (ASM_OUTPUT_ALIGNED_DECL_COMMON,
- ASM__OUTPUT_ALIGNED_DECL_LOCAL): Print leading blank line.
-
-2015-11-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/66432
- * tree-inline.c (copy_debug_stmt): If
- gimple_debug_source_bind_get_value is DECL_ORIGIN of a PARM_DECL
- in decl_debug_args, don't call remap_gimple_op_r on it.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::add_type): Do not look for TYPE_CANONICAL;
- do not check AGGREGATE_TYPE_P when adding TYPE_MODE;
- Check that all record types are complete.
- * ipa-icf-gimple.c (func_checker::compatible_types_p): Do not
- compare alias sets for types w/o alias sets.
-
-2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (umulxhi_vis): Move around.
- (*umulxhi_sp64): Likewise.
- (umulxhi_v8plus): Likewise.
- (xmulx_vis): Likewise.
- (*xmulx_sp64): Likewise.
- (xmulx_v8plus): Likewise.
- (xmulxhi_vis): Likewise.
- (*xmulxhi_sp64): Likewise.
- (xmulxhi_v8plus): Likewise.
-
-2015-11-20 David Malcolm <dmalcolm@redhat.com>
-
- PR 62314
- * diagnostic-show-locus.c (colorizer::set_fixit_hint): New.
- (class layout): Update comment
- (layout::print_any_fixits): New method.
- (layout::move_to_column): New method.
- (diagnostic_show_locus): Add call to layout.print_any_fixits.
-
-2015-11-20 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/68221
- * omp-low.c (lower_rec_input_clauses): If C/C++ array reduction
- has non-zero bias, subtract it in integer type instead of
- pointer plus of negated bias.
-
- PR middle-end/68339
- * omp-low.c (expand_simd_clones): Call node->get_body () before
- allocating stuff in GC.
-
-2015-11-20 Jim Wilson <jim.wilson@linaro.org>
-
- * tree-vect-data-refs.c (compare_tree): Call STRIP_NOPS.
-
-2015-11-20 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.md (predicated): Copy attribute from
- "arm.md".
- * config/arm/arm.md (predicated): Added description.
-
-2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_option_override): Require TARGET_32BIT
- for unaligned_access.
- * config/arm/arm.md (unaligned_loadsi): Remove redundant TARGET_32BIT
- from matching condition.
- (unaligned_loadhis): Likewise.
- (unaligned_loadhiu): Likewise.
- (unaligned_storesi): Likewise.
- (unaligned_storehi): Likewise.
-
-2015-11-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68149
- * config/arm/arm.md (unaligned_loaddi): Delete.
- (unaligned_storedi): Likewise.
- * config/arm/arm.c (gen_movmem_ldrd_strd): Don't generate
- unaligned DImode memory ops. Instead perform two back-to-back
- unaligned SImode ops.
-
-2015-11-20 Nathan Sidwell <nathan@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_use_anchors_for_symbol_p): New.
- (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Override.
-
-2015-11-20 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/68413
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Cache
- evolution base
- (vectorizable_reduction): Use cached base
-
-2015-11-20 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (build_new_reduction): Fix trailing whitespace in
- dump-file string.
- (try_create_reduction_list): Same. Fix typo in dump-file string.
-
-2015-11-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/md.texi (Standard Names): Move entry for addptr3 around,
- add entries for addv4, subv4, mulv4, umulv4 and negv3, fixes
- glitch in entries for cbranch4 and jump.
-
-2015-11-20 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/68373
- * tree-scalar-evolution.c (final_value_replacement_loop): Factor out
- of ...
- (scev_const_prop): ... here.
- * tree-scalar-evolution.h (final_value_replacement_loop): Declare.
- * tree-parloops.c (try_create_reduction_list): Call
- final_value_replacement_loop.
-
-2015-11-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/52272
- * tree-ssa-loop-ivopts.c (struct iv_common_cand): New struct.
- (struct iv_common_cand_hasher): New struct.
- (iv_common_cand_hasher::hash): New function.
- (iv_common_cand_hasher::equal): New function.
- (struct ivopts_data): New fields, iv_common_cand_tab and
- iv_common_cands.
- (tree_ssa_iv_optimize_init): Initialize above fields.
- (record_common_cand, common_cand_cmp): New functions.
- (add_iv_candidate_derived_from_uses): New function.
- (add_iv_candidate_for_use): Record iv_common_cands derived from
- iv use in hash table, instead of adding candidates directly.
- (add_iv_candidate_for_uses): Call add_iv_candidate_derived_from_uses.
- (record_important_candidates): Add important candidates to iv uses'
- related_cands. Always keep related_cands for future use.
- (try_add_cand_for): Use iv uses' related_cands.
- (free_loop_data, tree_ssa_iv_optimize_finalize): Release new fields
- in struct ivopts_data, iv_common_cand_tab and iv_common_cands.
-
-2015-11-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.md ("bswaphi2"): New pattern.
-
-2015-11-20 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.md (GPR1_REGNUM): New constant.
- ("*trunc<BFP:mode><DFP_ALL:mode>2")
- ("*trunc<DFP_ALL:mode><BFP:mode>2")
- ("trunc<BFP:mode><DFP_ALL:mode>2")
- ("trunc<DFP_ALL:mode><BFP:mode>2")
- ("*extend<BFP:mode><DFP_ALL:mode>2")
- ("*extend<DFP_ALL:mode><BFP:mode>2")
- ("extend<BFP:mode><DFP_ALL:mode>2")
- ("extend<DFP_ALL:mode><BFP:mode>2"): Clobber r1.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68428
- * graphite-scop-detection.c (harmful_stmt_in_region): Do not iterate
- over basic blocks outside the scop.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/68341
- * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Remove
- gcc_unreachable and safely fail codegen.
- (copy_loop_close_phi_args): Do not insert merge phis in a basic
- block with loop phi nodes.
- (edge_for_new_close_phis): New.
- (copy_bb_and_scalar_dependences): Call edge_for_new_close_phis.
-
-2015-11-19 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (SUPPORTS_WEAK): Define.
- * config/nvptx/nvptx.c (nvptx_write_function_decl): Support DECL_WEAK.
- (nvptx_declare_objec_name): Likewise.
-
-2015-11-19 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (get_true_edge_from_guard_bb): Move...
- (get_false_edge_from_guard_bb): Move...
- * sese.c (get_false_edge_from_guard_bb)
- (get_true_edge_from_guard_bb): ... here.
-
-2015-11-19 David Edelsohn <dje.gcc@gmail.com>
-
- Revert
- 2015-11-18 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
- type-limits warning.
-
-
-2015-11-19 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- * tree.h (desired_pro_or_demotion_p): New function.
- * tree-vrp.c (simplify_cond_using_ranges): Call it.
-
-2015-11-19 Michael Matz <matz@suse.de>
-
- PR rtl-optimization/68392
- * fwprop.c (update_uses): Use flag_checking instead of
- gcc_checking_assert.
-
-2015-11-19 David Malcolm <dmalcolm@redhat.com>
-
- * doc/gty.texi (Support for inheritance): Fix missing
- parentheses in example.
-
-2015-11-19 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/68431
- * tree-vrp.c (extract_range_from_binary_expr_1): Fix condition.
-
-2015-11-19 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>_1,
- atomic_exchange<mode>): Input values can be immediates.
-
-2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR lto/61313
- * configure.ac (PLUGIN_LD_SUFFIX): Do not touch the value specified
- by the user.
- * configure: Regenerate.
-
-2015-11-19 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/68408
- * config/sparc/sp-elf.h (CTORS_SECTION_ASM_OP): Undefine.
- (DTORS_SECTION_ASM_OP): Likewise.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/68376
- * ifcvt.c (noce_try_abs): Disable one_cmpl optimization if
- encountering x <= 0 ? ~x : x or x > 0 ? ~x : x.
-
-2015-11-19 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68117
- * tree-ssa.c (delete_tree_ssa): Revert removal of call to
- redirect_edge_var_map_destroy.
-
-2015-11-19 Jakub Jelinek <jakub@redhat.com>
-
- PR target/67770
- * config/i386/i386.md (simple_return): Disable if
- ix86_static_chain_on_stack is true.
-
-2015-11-19 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/68393
- * internal-fn.c (expand_direct_optab_fn): Handle SUBREG_PROMOTED_VAR_P
- destinations.
-
-2015-11-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68198
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Distinguish
- between threading a multi-way branch and a thread path that contains
- a multi-way branch. Disallow the case where a path contains a
- multi-way branch and does not thread a multi-way branch.
- (thread_through_all_blocks): Update comment.
-
-2015-11-18 Joseph Myers <joseph@codesourcery.com>
-
- PR c/65083
- * ginclude/stdatomic.h (atomic_thread_fence, atomic_signal_fence)
- (atomic_flag_test_and_set, atomic_flag_test_and_set_explicit)
- (atomic_flag_clear, atomic_flag_clear_explicit): Declare as
- functions before defining as macros.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_process_pars): Fix whitespace.
- (nvptx_record_offload_symbol): Remove code compensating for lack
- of default dimension handling.
- (nvptx_goacc_validate_dims): Remove incorrect ARG_UNUSED markers.
-
-2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (copy_loop_phi_args): Change the return
- type to bool for early exit.
- (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Early return
- in case of error.
- (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
- (add_phi_arg_for_new_expr): Enable codegen for if-block where one
- predecessor dominates the other.
- (translate_isl_ast_to_gimple::copy_cond_phi_args): Fix. When the
- element is not found it returns -1.
- (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Bail
- out early when codegen fails.
- (graphite_regenerate_ast_isl): Remove codegen region when pending
- phis could not be generated.
-
-2015-11-18 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (struct ast_build_info): Remove
- semicolon.
- (class translate_isl_ast_to_gimple): Indentation.
- (translate_pending_phi_nodes): Comment.
- (add_parameters_to_ivs_params): Moved from sese.c inside class
- translate_isl_ast_to_gimple.
- (get_max_schedule_dimensions): Same.
- (generate_isl_context): Same.
- (extend_schedule): Same.
- (generate_isl_schedule): Same.
- (set_options): Same.
- (scop_to_isl_ast): Same.
- (is_valid_rename): Same.
- (get_rename): Same.
- (get_rename_from_scev): Same.
- (get_def_bb_for_const): Same.
- (get_new_name): Same.
- (collect_all_ssa_names): Same.
- (copy_loop_phi_args): Same.
- (copy_loop_phi_nodes): Same.
- (copy_loop_close_phi_args): Same.
- (copy_loop_close_phi_nodes): Same.
- (copy_cond_phi_args): Same.
- (copy_cond_phi_nodes): Same.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (add_phi_arg_for_new_expr): Same.
- (rename_uses): Same.
- (set_rename): Same.
- (set_rename_for_each_def): Same.
- (gsi_insert_earliest): Same.
- (rename_all_uses): Same.
- (codegen_error_p): Same.
- (print_isl_ast_node): Same.
- (translate_isl_ast_for_loop): Call function codegen_error_p.
- (translate_isl_ast_to_gimple::translate_isl_ast): Same.
- (translate_isl_ast_node_user): Make nb_loops const and release
- iv_map before exit.
- (get_true_edge_from_guard_bb): Move all free-functions early.
- (get_false_edge_from_guard_bb): Same.
- (bb_contains_loop_close_phi_nodes): Same.
- (bb_contains_loop_phi_nodes): Same.
- (is_loop_closed_ssa_use): Same.
- (number_of_phi_nodes): Same.
- (phi_uses_name): Same.
- (later_of_the_two): Same.
- (substitute_ssa_name):
- (get_edges): Same.
- (get_loc): Same.
- (get_loop_init_value): Same.
- (find_init_value): Same.
- (find_init_value_close_phi): Same.
- (ast_build_before_for): Same.
- (graphite_regenerate_ast_isl): Formatting changes.
- * graphite-scop-detection.c (build_cross_bb_scalars_use): Same.
- * sese.c (get_rename): Move to graphite-isl-ast-to-gimple.c
- (set_rename): Same.
- (gsi_insert_earliest): Same.
- (collect_all_ssa_names): Same.
- (rename_all_uses): Same.
- (rename_uses): Same.
- (get_def_bb_for_const): Same.
- (copy_loop_phi_nodes): Same.
- (copy_loop_close_phi_args): Same.
- (copy_loop_close_phi_nodes): Same.
- (copy_cond_phi_args): Same.
- (copy_cond_phi_nodes): Same.
- (set_rename_for_each_def): Same.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (if_region_set_false_region): Same.
- (scev_analyzable_p): Same.
- * sese.h: Delete extern functions moved to graphite-isl-ast-to-gimple.c.
-
-2015-11-18 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/i386/freebsd.h (ASM_OUTPUT_MAX_SKIP_ALIGN): Bring in the
- commit from r125920 for FreeBSD.
-
-2015-11-18 Jason Merrill <jason@redhat.com>
-
- * ggc-page.c (ggc_globals): Change finalizers and vec_finalizers
- to be vecs of vecs.
- (add_finalizer): Split out from ggc_internal_alloc.
- (ggc_handle_finalizers): Run finalizers for the current depth.
- (init_ggc, ggc_pch_read): Reserve space for finalizers.
-
-2015-11-18 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/68410
- * config/nios2/nios2.c (cdx_and_immed): Remove duplicate tests
- from || expression.
-
-2015-11-18 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr-mcus.def: Add new avr4 devices atmega48pb and
- atmega88pb. Add new avr5 devices ata5791, ata8210, ata8510, atmega168pb
- and atmega328pb.
- * doc/avr-mmcu.texi: Regenerate.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (bb_pair_t, bb_pair_vec_t): New types.
- (pseudo_node_t, struct bracket, bracket_vec_t): New types.
- (struct bb_sese): New struct.
- (bb_sese::~bb_sese, bb_sese::append, bb_sese::remove): New.
- (BB_GET_SESE, BB_SET_SESE): Define.
- (nvptx_sese_number, nvptx_sese_pseudo, nvptx_sese_color): New.
- (nvptx_find_sese): New.
- (nvptx_neuter_pars): Find SESE regions when optimizing.
-
-2015-11-18 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (use_toc_relative_ref): Ignore
- type-limits warning.
-
-2015-11-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/68406
- * hash-set.h (hash_set::traverse): Expand Key typedef.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * config/arm/arm.c (arm_valid_target_attribute_p): Finalize
- options struct.
-
-2015-11-18 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (global_lock_var): New.
- (nvptx_global_lock_addr): New.
- (nvptx_lockless_update): Recomment and adjust for clarity.
- (nvptx_lockfull_update): New.
- (nvptx_reduction_update): New.
- (nvptx_goacc_reduction_fini): Call it.
-
-2015-11-18 Bernd Schmidt <bschmidt@redhat.com>
-
- * regrename.h (struct du_head): Add target_data_1 and target_data_2
- fields.
- * regrename.c (create_new_chain): Clear entire struct after allocating.
-
- * config/i386/i386.opt (mmitigate-rop): New option.
- * doc/invoke.texi (mmitigate-rop): Document.
- * config/i386/i386.c: Include "regrename.h".
- (ix86_rop_should_change_byte_p, reg_encoded_number,
- ix86_get_modrm_for_rop, set_rop_modrm_reg_bits, ix86_mitigate_rop): New
- static functions.
- (ix86_reorg): Call ix86_mitigate_rop if -fmitigate-rop.
- * config/i386/i386.md (attr "modrm_class"): New.
- (cmp<mode>_ccno_1, mov<mode>_xor, movstrict<mode>_xor,
- x86_mov<mode>cc_0_m1. x86_mov<mode>cc_0_m1_se)
- (x86_mov<mode>cc_0_m1_neg): Override modrm_class attribute.
-
-2015-11-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/68405
- * config/i386/i386.c (ix86_expand_mask_vec_cmp): Add missing break.
-
-2015-11-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/68157
- * tree-ssa-reassoc.c (attempt_builtin_powi): Set uid of
- pow_stmt or mul_stmt from stmt's uid.
- (reassociate_bb): Set uid of mul_stmt from stmt's uid.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * haifa-sched.c (haifa_finish_h_i_d): Release reg_set_list.
-
-2015-11-18 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-uninit.c (convert_control_dep_chain_into_preds):
- Fix GNU coding style.
- (find_def_preds): Use auto_vec.
- (destroy_predicate_vecs): Change signature of the function.
- (prune_uninit_phi_opnds_in_unrealizable_paths): Use the
- new signature.
- (simplify_preds_4): Use destroy_predicate_vecs instread of
- just releasing preds vector.
- (normalize_preds): Likewise.
- (is_use_properly_guarded): Use new signature of
- destroy_predicate_vecs.
- (find_uninit_use): Likewise.
-
-2015-11-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67790
- * tree-vect-loop.c (vect_is_simple_reduction_1): Remove
- IL rewrite for MINUS_EXPR reductions, rename back to ...
- (vect_is_simple_reduction): ... this, removing the wrapper.
- (vect_force_simple_reduction): Adjust.
- (vectorizable_reduction): Adjust reduc_index for MINUS_EXPR
- reductions and make use if reduc_index in all places. For
- the final reduction of MINUS_EXPR use PLUS_EXPR.
-
-2015-11-18 Alan Modra <amodra@gmail.com>
-
- * configure.ac (POWERPC64_TOC_POINTER_ALIGNMENT): Pass -z norelro
- to ld.
- * configure: Regenerate.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop.c (pass_tree_loop_init::execute): Improve comments.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-scalar-evolution.c (scev_const_prop): Dump details if replacing
- uses of ssa_name with constant.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-ccp.c (do_ssa_ccp): Clear LOOP_CLOSED_SSA in loops state if
- something changed.
-
-2015-11-17 Tom de Vries <tom@codesourcery.com>
-
- * cfgloop.h (struct loop): Add in_oacc_kernels_region field.
- * omp-low.c (mark_loops_in_oacc_kernels_region): New function.
- (expand_omp_target): Call mark_loops_in_oacc_kernels_region.
-
-2015-11-17 Bernd Schmidt <bschmidt@redhat.com>
-
- * regrename.c (regrename_find_superclass): New function, code moved
- from ...
- (rename_chains): ... here. Call it.
- * regrename.h (regrename_find_superclass): Declare.
-
- * regrename.c (record_out_operands): Terminate earlyclobbered
- operands here.
-
- PR target/66785
- * regrename.c (record_operand_use): Keep track of failed operands
- and stop appending if we see any.
- * regrename.h (struct operand_rr_info): Add a failed field and shrink
- n_chains to short.
-
-2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 48568
- * doc/extend.texi (Common Function Attributes) [visibility]:
- Add cross-references to matching variable and type attributes.
- (Common Variable Attributes) [visibility]: Add missing entry.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/rs6000/rs6000.c (rs6000_builtin_vectorized_function): Remove
- entries that map directly to optabs.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/i386/i386.c (ix86_builtin_vectorized_function): Remove
- entries that map directly to optabs.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.h (direct_internal_fn_info): Add vectorizable flag.
- * internal-fn.c (direct_internal_fn_array): Update accordingly.
- * tree-vectorizer.h (vectorizable_function): Delete.
- * tree-vect-stmts.c: Include internal-fn.h.
- (vectorizable_internal_function): New function.
- (vectorizable_function): Inline into...
- (vectorizable_call): ...here. Explicitly reject calls that read
- from or write to memory. Try using an internal function before
- falling back on the old vectorizable_function behavior.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * target.def (builtin_vectorized_function): Take a combined_fn (in
- the form of an unsigned int) rather than a function decl.
- (builtin_md_vectorized_function): New.
- * targhooks.h (default_builtin_vectorized_function): Replace the
- fndecl argument with an unsigned int.
- (default_builtin_md_vectorized_function): Declare.
- * targhooks.c (default_builtin_vectorized_function): Replace the
- fndecl argument with an unsigned int.
- (default_builtin_md_vectorized_function): New function.
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION):
- New hook.
- * doc/tm.texi: Regenerate.
- * tree-vect-stmts.c (vectorizable_function): Update call to
- builtin_vectorized_function, also passing internal functions.
- Call builtin_md_vectorized_function for target-specific builtins.
- * config/aarch64/aarch64-protos.h
- (aarch64_builtin_vectorized_function): Replace fndecl argument
- with an unsigned int.
- * config/aarch64/aarch64-builtins.c: Include case-cfn-macros.h.
- (aarch64_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*.
- * config/arm/arm-protos.h (arm_builtin_vectorized_function): Replace
- fndecl argument with an unsigned int.
- * config/arm/arm-builtins.c: Include case-cfn-macros.h
- (arm_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*.
- * config/i386/i386.c: Include case-cfn-macros.h
- (ix86_veclib_handler): Take a combined_fn rather than a
- built_in_function.
- (ix86_veclibabi_svml, ix86_veclibabi_acml): Likewise. Use
- mathfn_built_in rather than calling builtin_decl_implicit directly.
- (ix86_builtin_vectorized_function) Update after above changes.
- Use CASE_CFN_*.
- * config/rs6000/rs6000.c: Include case-cfn-macros.h
- (rs6000_builtin_vectorized_libmass): Replace fndecl argument
- with a combined_fn. Use CASE_CFN_*. Use mathfn_built_in rather
- than calling builtin_decl_implicit directly.
- (rs6000_builtin_vectorized_function): Update after above changes.
- Use CASE_CFN_*. Move BUILT_IN_MD to...
- (rs6000_builtin_md_vectorized_function): ...this new function.
- (TARGET_VECTORIZE_BUILTIN_MD_VECTORIZED_FUNCTION): Define.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-patterns.c: Include internal-fn.h.
- (vect_recog_pow_pattern): Use IFN_SQRT instead of BUILT_IN_SQRT*.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree.h (BUILTIN_EXP10_P, BUILTIN_EXPONENT_P, BUILTIN_SQRT_P)
- (BUILTIN_CBRT_P, BUILTIN_ROOT_P): Delete.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (expand_errno_check, expand_builtin_mathfn)
- (expand_builtin_mathfn_2): Delete.
- (expand_builtin): Remove handling of functions with
- internal function equivalents.
- * internal-fn.def (SET_EDOM): New internal function.
- * internal-fn.h (set_edom_supported_p): Declare.
- * internal-fn.c (expand_SET_EDOM): New function.
- (set_edom_supported_p): Likewise.
- * tree-call-cdce.c: Include builtins.h and internal-fn.h.
- Rewrite comment at head of file.
- (is_call_dce_candidate): Rename to...
- (can_test_argument_range): ...this. Don't check gimple_call_lhs
- or gimple_call_builtin_p here.
- (edom_only_function): New function.
- (shrink_wrap_one_built_in_call_with_conds): New function, split out
- from...
- (shrink_wrap_one_built_in_call): ...here.
- (can_use_internal_fn, use_internal_fn): New functions.
- (shrink_wrap_conditional_dead_built_in_calls): Call use_internal_fn
- for calls that have an lhs.
- (pass_call_cdce::gate): Remove optimize_function_for_speed_p check.
- (pass_call_cdce::execute): Skip blocks that are optimized for size.
- Check gimple_call_builtin_p here. Use can_use_internal_fn for
- calls with an lhs.
- * opts.c (default_options_table): Enable -ftree-builtin-call-cdce
- at -O and above.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (called_as_built_in): Declare.
- * builtins.c (called_as_built_in): Make external.
- * internal-fn.h (expand_internal_call): Define a variant that
- specifies the internal function explicitly.
- * internal-fn.c (expand_load_lanes_optab_fn)
- (expand_store_lanes_optab_fn, expand_ANNOTATE, expand_GOMP_SIMD_LANE)
- (expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE)
- (expand_GOMP_SIMD_ORDERED_START, expand_GOMP_SIMD_ORDERED_END)
- (expand_UBSAN_NULL, expand_UBSAN_BOUNDS, expand_UBSAN_VPTR)
- (expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK, expand_TSAN_FUNC_EXIT)
- (expand_UBSAN_CHECK_ADD, expand_UBSAN_CHECK_SUB)
- (expand_UBSAN_CHECK_MUL, expand_ADD_OVERFLOW, expand_SUB_OVERFLOW)
- (expand_MUL_OVERFLOW, expand_LOOP_VECTORIZED)
- (expand_mask_load_optab_fn, expand_mask_store_optab_fn)
- (expand_ABNORMAL_DISPATCHER, expand_BUILTIN_EXPECT, expand_VA_ARG)
- (expand_UNIQUE, expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS)
- (expand_GOACC_LOOP, expand_GOACC_REDUCTION, expand_direct_optab_fn)
- (expand_unary_optab_fn, expand_binary_optab_fn): Add an internal_fn
- argument.
- (internal_fn_expanders): Update prototype.
- (expand_internal_call): Define a variant that specifies the
- internal function explicitly. Use it to implement the previous
- interface.
- * cfgexpand.c (expand_call_stmt): Try to expand calls to built-in
- functions as calls to internal functions.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (MOSTLYCLEANFILES): Add cfn-operators.pd.
- (generated_files): Likewise.
- (s-cfn-operators, cfn-operators.pd): New rules.
- (s-match): Depend on cfn-operators.pd.
- * gencfn-macros.c: Expand comment to describe -o behavior.
- (print_define_operator_list): New function.
- (main): Accept -o. Call print_define_operator_list.
- * genmatch.c (main): Add the current directory to the include path.
- * match.pd (DEFINE_MATH_FN): Delete. Include cfn-operators.pd
- instead.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/match-and-simplify.texi: Document the "null" identifier.
- * genmatch.c (id_base::NULL_ID): New kind.
- (null_id): New variable.
- (get_operator): Add a parameter that says whether null identifiers
- are allowed.
- (contains_id): New function.
- (lower_for): Skip substitutions that would have a null_id in
- either the match or the result.
- (parser::parse_for): Allow the null identifier to be used.
- (parser::parse_operator_list): Likewise.
- (main): Initialize null_id.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Use HYPOT and COS rather than hypot and cos.
- Use CASE_CFN_* macros. Guard log/exp folds with
- SCALAR_FLOAT_TYPE_P.
- * genmatch.c (internal_fn): New enum.
- (fn_id::fn): Change to an unsigned int.
- (fn_id::fn_id): Accept internal_fn too.
- (add_builtin): Rename to...
- (add_function): ...this and turn into a template.
- (get_operator): Only try one variation if the original name fails.
- Only add _EXPR if the original name was all lower case.
- Try converting internal and built-in function names to their
- CFN equivalents.
- (expr::gen_transform): Use maybe_build_call_expr_loc for generic.
- (dt_simplify::gen_1): Likewise.
- (dt_node::gen_kids_1): Use gimple_call_combined_fn for gimple
- and get_call_combined_fn for generic.
- (dt_simplify::gen): Use combined_fn as the type of fn_ids.
- (decision_tree::gen): Likewise.
- (main): Use lower case in the strings for {VIEW_,}CONVERT[012].
- Use add_function rather than add_builtin. Register internal
- functions too.
- * generic-match-head.c: Include case-cfn-macros.h.
- * gimple-fold.c (replace_stmt_with_simplification): Use
- gimple_call_combined_fn to test whether we can keep an
- existing call.
- * gimple-match.h (code_helper): Replace built_in_function
- with combined_fn.
- * gimple-match-head.c: Include fold-const-call.h, internal-fn.h
- and case-fn-macros.h.
- (gimple_resimplify1): Use fold_const_call.
- (gimple_resimplify2, gimple_resimplify3): Likewise.
- (build_call_internal, build_call): New functions.
- (maybe_push_res_to_seq): Use them.
- (gimple_simplify): Use fold_const_call. Set *rcode to a combined_fn
- rather than a built-in function.
- * tree.h (build_call_expr_internal_loc): Declare.
- (maybe_build_call_expr_loc): Likewise.
- * tree.c (build_call_expr_internal_loc_array): New function.
- (maybe_build_call_expr_loc): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (mathfn_built_in): Add a variant that takes
- a combined_fn.
- * builtins.c: Include case-cfn-macros.h.
- (CASE_MATHFN): Use CASE_CFN_*.
- (CASE_MATHFN_REENT): Use CFN_ codes.
- (mathfn_built_in_2, mathfn_built_in_1): Replace built_in_function
- argument with a combined_fn.
- (mathfn_built_in): Add a variant that takes a combined_fn.
- (expand_builtin_int_roundingfn_2): Update callers accordingly.
- (fold_builtin_sincos, fold_builtin_classify): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vect-patterns.c: Include case-cfn-macros.h.
- (vect_recog_pow_pattern): Use combined_fn instead of built-in codes.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-math-opts.c: Include case-cfn-macros.h.
- (execute_cse_sincos_1): Use combined_fn instead of built-in codes.
- (pass_cse_sincos::execute): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-reassoc.c: Include case-cfn-macros.h.
- (stmt_is_power_of_op): Use combined_fn instead of built-in codes.
- (decrement_power, acceptable_pow_call): Likewise.
- (attempt_builtin_copysign): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-vrp.c: Include case-cfn-macros.h.
- (extract_range_basic): Switch on combined_fn rather than handling
- built-in functions and internal functions separately.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.h (negate_mathfn_p): Take a combined_fn rather
- than a built_in_function.
- (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
- a function decl.
- (integer_valued_real_call_p): Likewise.
- * fold-const.c: Include case-cfn-macros.h
- (negate_mathfn_p): Take a combined_fn rather than a built_in_function.
- (negate_expr_p): Update accordingly.
- (tree_call_nonnegative_warnv_p): Take a combined_fn rather than
- a function decl.
- (integer_valued_real_call_p): Likewise.
- (tree_invalid_nonnegative_warnv_p): Update accordingly.
- (integer_valued_real_p): Likewise.
- * gimple-fold.c (gimple_call_nonnegative_warnv_p): Update call
- to tree_call_nonnegative_warnv_p.
- (gimple_call_integer_valued_real_p): Likewise
- integer_valued_real_call_p.
- * gimple-ssa-backprop.c: Include case-cfn-macros.h.
- (backprop::process_builtin_call_use): Extend to combined_fn.
- (strip_sign_op_1): Likewise.
- (backprop::process_use): Don't check for built-in calls here.
- (backprop::execute): Likewise.
- (backprop::optimize_builtin_call): Update call to negate_mathfn_p.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const-call.h (fold_const_call): Replace built_in_function
- arguments with combined_fn arguments.
- * fold-const-call.c: Include case-cfn-macros.h.
- (fold_const_call_ss, fold_const_call_cs, fold_const_call_sc)
- (fold_const_call_cc, fold_const_call_sss, fold_const_call_ccc)
- (fold_const_call_ssss, fold_const_call_1, fold_const_call): Replace
- built_in_function arguments with combined_fn arguments.
- * builtins.c (fold_builtin_sincos, fold_builtin_1, fold_builtin_2)
- (fold_builtin_3): Update calls to fold_const_call.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (HASH_TABLE_H): Add GGC_H.
- (MOSTLYCLEANFILES, generated_files): Add case-fn-macros.h.
- (s-case-cfn-macros, case-cfn-macros.h, build/gencfn-macros.o)
- (build/gencfn-macros$(build_exeext): New rules.
- (genprogerr): Add cfn-macros.
- * hash-set.h (hash_set): Use the traits value_type as the key.
- * gencfn-macros.c: New file.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def (DEF_INTERNAL_INT_FN): New macro.
- (CLRSB, CLZ, CTZ, FFS, PARITY, POPCOUNT): New functions.
- * builtins.c (associated_internal_fn): Handle them.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (associated_internal_fn): Declare.
- (replacement_internal_fn): Likewise.
- * builtins.c: Include internal-fn.h
- (associated_internal_fn, replacement_internal_fn): New functions.
- * internal-fn.def (DEF_INTERNAL_FLT_FN): New macro.
- (ACOS, ASIN, ATAN, COS, EXP, EXP10, EXP2, EXPM1, LOG, LOG10, LOG1P)
- (LOG2, LOGB, SIGNIFICAND, SIN, SQRT, TAN, CEIL, FLOOR, NEARBYINT)
- (RINT, ROUND, TRUNC, ATAN2, COPYSIGN, FMOD, POW, REMAINDER, SCALB)
- (LDEXP): New functions.
- * internal-fn.c: Include recog.h.
- (unary_direct, binary_direct): New macros.
- (expand_direct_optab_fn): New function.
- (expand_unary_optab_fn): New macro.
- (expand_binary_optab_fn): Likewise.
- (direct_unary_optab_supported_p): Likewise.
- (direct_binary_optab_supported_p): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * coretypes.h (tree_pair): New type.
- * internal-fn.def (DEF_INTERNAL_OPTAB_FN): New macro. Use it
- for MASK_LOAD, LOAD_LANES, MASK_STORE and STORE_LANES.
- * internal-fn.h (direct_internal_fn_info): New structure.
- (direct_internal_fn_array): Declare.
- (direct_internal_fn_p, direct_internal_fn): New functions.
- (direct_internal_fn_types, direct_internal_fn_supported_p): Declare.
- * internal-fn.c (not_direct, mask_load_direct, load_lanes_direct)
- (mask_store_direct, store_lanes_direct): New macros.
- (direct_internal_fn_array) New array.
- (get_multi_vector_move): Return the optab handler without asserting
- that it is available.
- (expand_LOAD_LANES): Rename to...
- (expand_load_lanes_optab_fn): ...this and add an optab argument.
- (expand_STORE_LANES): Rename to...
- (expand_store_lanes_optab_fn): ...this and add an optab argument.
- (expand_MASK_LOAD): Rename to...
- (expand_mask_load_optab_fn): ...this and add an optab argument.
- (expand_MASK_STORE): Rename to...
- (expand_mask_store_optab_fn): ...this and add an optab argument.
- (direct_internal_fn_types, direct_optab_supported_p)
- (multi_vector_optab_supported_p, direct_internal_fn_supported_p)
- (direct_internal_fn_supported_p): New functions.
- (direct_mask_load_optab_supported_p): New macro.
- (direct_load_lanes_optab_supported_p): Likewise.
- (direct_mask_store_optab_supported_p): Likewise.
- (direct_store_lanes_optab_supported_p): Likewise.
-
-2015-11-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-core.h (internal_fn): Move immediately after the definition
- of built_in_function.
- (combined_fn): New enum.
- * tree.h (as_combined_fn, builtin_fn_p, as_builtin_fn)
- (internal_fn_p, as_internal_fn): New functions.
- (get_call_combined_fn, combined_fn_name): Declare.
- * tree.c (get_call_combined_fn): New function.
- (combined_fn_name): Likewise.
- * gimple.h (gimple_call_combined_fn): Declare.
- * gimple.c (gimple_call_combined_fn): New function.
-
-2015-11-17 Martin Sebor <msebor@redhat.com>
-
- PR c++/68308
- * cp/init.c (build_new_1): Check for expression constness
- the right way.
-
-2015-11-17 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/53587
- * doc/invoke.texi (Option Summary): Add -mms-bitfields to x86
- option list.
- (x86 Options): Add -mms-bitfields and -mno-ms-bitfields. Move
- discussion of the Microsoft structure layout details here from
- its former home in extend.texi.
- * doc/extend.texi (x86 Variable Attributes): Replace detailed
- discussion with pointer to its new location. Add cross-reference
- to corresponding type attributes.
- (x86 Type Attributes): Add cross-references to command-line options
- and variable attributes.
-
-2015-11-17 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/68134
- * targhooks.c (default_get_mask_mode): Filter out
- scalar modes returned by mode_for_vector.
-
-2015-11-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68143
- * config/arm/arm.c (arm_block_set_unaligned_vect): Keep track of
- offset from dstbase and use it appropriately in
- adjust_automodify_address.
- (arm_block_set_aligned_vect): Likewise.
-
-2015-11-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/t-visium (MULTILIB_OPTIONS): Add muser-mode.
- (MULTILIB_DIRNAMES): Adjust accordingly.
-
-2015-11-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-cores.def (cortex-a35): New.
- * config/aarch64/aarch64.c (cortexa35_tunings): New.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (-mcpu): Add Cortex-A35
-
-2015-11-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68263
- * config/i386/i386.h (BIGGEST_ALIGNMENT): Always define
- to 32 for IAMCU.
- * config/i386/sse.md (*mov<mode>_internal): Always enable
- AVX and SSE unaligned moves for IAMCU.
-
-2015-11-17 Venkataramanan Kumar <Venkataramanan.Kumar@amd.com>
-
- * tree-if-conv.c: Include varasm.h
- (ref_DR_map): Define.
- (baseref_DR_map): Like wise
- (struct ifc_dr): Add new tree predicate field.
- (hash_memrefs_baserefs_and_store_DRs_read_written_info): New function.
- (memrefs_read_or_written_unconditionally): Remove.
- (write_memrefs_written_at_least_once): Remove.
- (ifcvt_memrefs_wont_trap): Use hash maps to query
- unconditional read/written information.
- (if_convertible_loop_p_1): Initialize hash maps and predicates
- before hashing data references and delete hashmaps at the end.
-
-2015-11-16 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR 56036
- * doc/invoke.texi (Optimize Options): Move @end table to the right
- place.
-
-2015-11-16 Sandra Loosemore <sandra@codesourcery.com>
-
- PR 65129
- * doc/extend.texi (__builtin_assume_aligned): Fix formatting of
- return value.
-
-2015-11-16 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vsx.md (VSX_L): Do not include IBM extended double
- 128-bit types, just types that fit in a single vector.
- * config/rs6000/rs6000.md (FMOVE128_GPR): Likewise.
-
-2015-11-16 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/md.texi ('#' and '*' constraint modifiers): Do not include these
- in the user documentation.
- (define_peephole2, define_split): Similarly.
-
-2015-11-16 Andris Pavenis <andris.pavenis@iki.fi>
-
- * lto-streamer-out.c (write_global_references): Adjust integer type.
- (lto_output_decl_state_refs): Likewise.
-
-2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-cores.def (cortex-a35): New.
- * config/arm/arm.c (arm_cortex_a35_tune): New.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add cortex-a35.
- * config/arm/t-aprofile: Likewise.
- * doc/invoke.texi (-mcpu): Likewise.
-
-2015-11-16 Jim Wilson <jim.wilson@linaro.org>
-
- * config/arm/t-aprofile (MULTILIB_MATCHES): Add lines for exynos-m1
- and qdf24xx and xgene1 to match -march=armv8-a.
-
-2015-11-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68330
- * simplify-rtx.c (simplify_unary_operation_1): Simplify SIGN_EXTEND
- of LSHIFTRT by a non-zero constant integer.
-
-2015-11-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (vect_verify_datarefs_alignment): Fix
- bogus copying from verify_data_ref_alignment and use continue
- instead of return.
-
-2015-11-16 Oleg Endo <olegendo@gcc.gnu.org>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/68277
- * config/sh/sh.md (addsi3_scr): Handle reg overlap of operands[0] and
- operands[2].
- (*addsi3): Add another insn_and_split variant for reload.
-
-2015-11-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68117
- * cfgexpand.c (pass_expand::execute): Destroy the edge
- redirection var map before setting RTL CFG hooks.
-
-2015-11-16 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/i386/sse.md (reduc_splus_v8df): Rename to...
- (reduc_plus_scal_v8df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v4df): Rename to...
- (reduc_plus_scal_v4df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v2df): Rename to...
- (reduc_plus_scal_v2df): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v16sf): Rename to...
- (reduc_plus_scal_v16sf): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v8sf): Rename to...
- (reduc_plus_scal_v8sf): ...here; reduce to temp and extract scalar.
-
- (reduc_splus_v4sf): Rename to...
- (reduc_plus_scal_v4sf): ...here; reduce to temp and extract scalar.
-
- (reduc_<code>_<mode>, all 3 variants): Rename each to...
- (reduc_<code>_scal_<mode>): ...here; reduce to temp and extract scalar.
-
- (reduc_umin_v8hf): Rename to...
- (reduc_umin_scal_v8hf): ...here; reduce to temp and extract scalar.
-
-2015-11-16 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * omp-low.c (pass_omp_simd_clone::gate): If target allows - call
- without additional conditions.
- * doc/extend.texi (@item simd): New.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.c (first_pass_instance): Remove variable.
- (execute_todo): Remove setting of first_pass_instance.
- * tree-pass.h (first_pass_instance): Remove declaration.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_ccp pass instantiation.
- * tree-ssa-ccp.c (ccp_finalize): Add param nonzero_p. Use nonzero_p
- instead of first_pass_instance.
- (do_ssa_ccp): Add and handle param nonzero_p.
- (pass_ccp::pass_ccp): Initialize nonzero_p.
- (pass_ccp::set_pass_param): New member function. Set nonzero_p.
- (pass_ccp::execute): Call do_ssa_ccp with extra arg.
- (pass_ccp::nonzero_p): New private member.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_object_sizes pass instantiation.
- * tree-object-size.c (pass_object_sizes::pass_object_sizes): Initialize
- insert_min_max_p.
- (pass_object_sizes::set_pass_param): New member function. Set
- insert_min_max_p.
- (pass_object_sizes::insert_min_max_p): New private member.
- (pass_object_sizes::execute): Use insert_min_max_p instead of
- first_pass_instance.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_dominator pass instantiation.
- * tree-pass.h (first_pass_instance): Remove pass_dominator-related bit
- of comment.
- * tree-ssa-dom.c (pass_dominator::pass_dominator): Initialize
- may_peel_loop_headers_p.
- (pass_dominator::set_pass_param): New member function. Set
- may_peel_loop_headers_p.
- (pass_dominator::may_peel_loop_headers_p): New private member.
- (pass_dominator::execute): Use may_peel_loop_headers_p instead of
- first_pass_instance.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * passes.def: Add arg to pass_reassoc pass instantiation.
- * tree-ssa-reassoc.c (reassoc_insert_powi_p): New static variable.
- (acceptable_pow_call, reassociate_bb): Use reassoc_insert_powi_p instead
- of first_pass_instance.
- (execute_reassoc): Add and handle insert_powi_p parameter.
- (pass_reassoc::insert_powi_p): New private member.
- (pass_reassoc::pass_reassoc): Initialize insert_powi_p.
- (pass_reassoc::set_pass_param): New member function. Set insert_powi_p.
- (pass_reassoc::execute): Call execute_reassoc with extra arg.
-
-2015-11-16 Tom de Vries <tom@codesourcery.com>
-
- * gdbhooks.py (class PassNames): Handle extra arg NEXT_PASS argument.
- * gen-pass-instances.awk (handle_line): Same.
- * pass_manager.h (class pass_manager): Define and undefine
- NEXT_PASS_WITH_ARG.
- * passes.c (opt_pass::set_pass_param): New function.
- (pass_manager::pass_manager): Define and undefine NEXT_PASS_WITH_ARG.
- * passes.def: Add extra arg to NEXT_PASS (pass_vrp).
- * tree-pass.h (gimple_opt::set_pass_param): Declare.
- * tree-vrp.c (vrp_finalize, execute_vrp): Add and handle
- warn_array_bounds_p parameter.
- (pass_vrp::pass_vrp): Initialize warn_array_bounds_p.
- (pass_vrp::set_pass_param): New function.
- (pass_vrp::execute): Add warn_array_bounds_p arg to execute_vrp call.
- (pass_vrp::warn_array_bounds_p): New private member.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (sparc_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_probe_stack_rang): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/i386.c (ix86_adjust_stack_and_probe): Adjust and use
- an lea instruction when possible.
- (output_adjust_stack_and_probe): Rotate the loop and simplify.
- (ix86_emit_probe_stack_range): Adjust.
- (output_probe_stack_range): Rotate the loop and simplify.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm_neon.h: Remove #ifndef check on __ARM_NEON.
- Replace #ifdef __ARM_FEATURE_CRYPTO, __ARM_FEATURE_FMA, __ARM_FP
- with appropriate pragma GCC target.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
+2016-01-15 Christian Bruel <christian.bruel@st.com>
PR target/65837
- * config/arm/arm-c.c (arm_cpu_builtins): Conditionally set and reset
- __ARM_FEATURE_FMA and __ARM_NEON_FP, __ARM_FP.
-
-2015-11-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (cortexa57_branch_costs): New.
- (cortexa57_tunings): Use it.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm-c.c (arm_cpu_builtins): Set or reset
- __ARM_FEATURE_CRYPTO, __VFP_FP__, __ARM_NEON__
- (arm_pragma_target_parse): Change check for arm_cpu_builtins.
- undefine __ARM_FP.
- * config/arm/arm.c (arm_can_inline_p): Check FPUs.
- (arm_valid_target_attribute_rec): Handle -mfpu attribute target.
- * doc/invoke.texi (-mfpu=): Mention attribute and pragma.
- * doc/extend.texi (-mfpu=): Describe attribute.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm-protos.h (arm_init_neon_builtins): Declare.
- * config/arm/arm.c (arm_valid_target_attribute_tree): Call
- arm_init_neon_builtins.
- * config/arm/arm-builtins.c (arm_init_neon_builtins): Split into...
- (arm_init_neon_builtins_internal)
- (arm_init_crypto_builtins_internal):
- Test and set neon_set_p, neon_crypto_set_p.
- (neon_set_p, neon_crypto_set_p): New static booleans.
-
-2015-11-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm.c (arm_fpu_desc): Remove.
- (all_fpus): Make global.
- (arm_option_override): Use FPU TARGET accessors.
- (arm_declare_function_name): Likewise.
- * config/arm/arm.h (TARGET_VFP, TARGET_VFPD32, TARGET_VFP5)
- (TARGET_VFP_SINGLE, TARGET_VFP_DOUBLE, TARGET_NEON_FP16)
- (TARGET_FP16, TARGET_FMA, TARGET_FPU_ARMV8, TARGET_CRYPTO)
- (TARGET_NEON): Likewise.
- (all_fpus): Declare extern.
- (TARGET_FPU_NAME, TARGET_FPU_MODEL, TARGET_FPU_REV)
- (TARGET_FPU_REGS, TARGET_FPU_FEATURES): Define all_fpus accessors.
-
-2015-11-15 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- PR middle-end/68366
- * sdbout.c: Include emit-rtl.h and function.h.
-
-2015-11-15 Gerald Pfeifer <gerald@pfeifer.com>
-
- * config/i386/freebsd.h (SUBTARGET32_DEFAULT_CPU): Change to i586.
- Remove support for FreeBSD 5 and earlier.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * configure: Regenerate.
- * configure.ac: Always define ENABLE_OFFLOADING.
- * cgraph.c (cgraph_node::create): Adjust.
- * gcc.c (process_command): Likewise.
- * omp-low.c (create_omp_child_function): Likewise.
- (expand_omp_target): Likewise.
- * varpool.c (varpool_node::get_create): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (EH_RETURN_HANDLER_RTX): New default definition.
- * df-scan.c (df_get_exit_block_use_set): Adjust.
- * except.c (expand_eh_return): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/i386/i386.h (TARGET_PECOFF): Remove define.
- * defaults.h (TARGET_PECOFF): New default definition.
- * varasm.c (handle_vtv_comdat_section): Adjust.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: New definition of SDB_DEBUGGING_INFO.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * final.c (rest_of_clean_state): Remove check if
- SDB_DEBUGGING_INFO is defined.
- * function.c (number_blocks): Likewise.
- * output.h: Likewise.
- * sdbout.c: Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-11-14 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gsyms.h (enum sdb_type): Remove code for EXTENDED_SDB_BASIC_TYPES.
- (enum sdb_masks): Likewise.
- * sdbout.c (plain_type_1): Likewise.
- * system.h: Poison EXTENDED_SDB_BASIC_TYPES macro.
-
-2015-11-14 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_*
- internal calls - 0 if ordered simd and 1 for ordered threads simd.
- * tree-vectorizer.c (adjust_simduid_builtins): If GOMP_SIMD_ORDERED_*
- argument is 1, replace it with GOMP_ordered_* call instead of removing
+ * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
+ (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
+ (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
+ use add_builtin_function_ext_scope instead of add_builtin_function.
+ (neon_set_p, neon_crypto_set_p): Remove.
+ (arm_init_builtins): Always call arm_init_neon_builtins and
+ arm_init_crypto_builtins.
+ (arm_expand_builtin): Check that builtins are allowed for the arch.
+ * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
+ * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
+ arm_init_neon_builtins call.
+
+2016-01-15 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69117
+ * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
+ * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
+ of the leader conservatively.
+ (free_scc_vn): Restore original SSA name infos.
+
+2016-01-14 Jeff Law <law@redhat.com>
+
+ PR tree-optimization/69270
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
+ single bit of precision, verify it's also unsigned.
+ (record_edge_info): Use constant_boolean_node rather than fold_convert
+ to convert boolean_true/boolean_false to the right type.
+
+2016-01-14 Richard Henderson <rth@redhat.com>
+
+ PR rtl-opt/69014
+ * loop-doloop.c (record_reg_sets): New.
+ (doloop_optimize): Reject the transform if the sequence
+ clobbers registers live at the end of the loop block.
+ (doloop_optimize_loops): Enable df_live if needed.
+
+2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
+ * gcc/config/rs6000/rs6000.c: Likewise.
+ * gcc/config/rs6000/rs6000.h: Likewise.
+ * gcc/config/rs6000/rs6000.md: Likewise.
+ * gcc/doc/extend.texi: Likewsie.
+
+2016-01-14 Jeff Law <law@redhat.com>
+
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
+ typo.
+
+2016-01-14 Richard Henderson <rth@redhat.com>
+
+ PR c/69272
+ PR tree-opt/68964
+ * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
+ * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
+ instead of builtin_decl_declared_p to test for declaration.
+
+2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
+
+ * doc/loop.texi (Loop Analysis and Representation): Document
+ loop_depth function.
+
+2016-01-14 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/68773
+ * omp-low.c (expand_omp_target): Don't set force_output.
+ * varpool.c (varpool_node::get_create): Same.
+ * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
+ offload_funcs with force_output.
+
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR debug/69244
+ * lra-eliminations.c (move_plus_up): Don't change anything if either
+ the outer or inner subreg mode is not MODE_INT.
+ * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
+ integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
+
+2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
+
+ * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
+ reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
+ reduc_uplus_@var{m}): Remove.
+ * expr.c (expand_expr_real_2): Remove expansion path for
+ reduc_[us](min|max|plus) optabs.
+ * optabs-tree.c (scalar_reduc_to_vector): Remove.
+ * optabs-tree.h (scalar_reduc_to_vector): Remove.
+ * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
+ reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
+ * tree-vect-loop.c (vectorizable_reduction): Remove test for
+ reduc_[us](min|max|plus) optabs.
+
+2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
+
+ * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
+ (reduc_plus_scal_v2sf): New.
+ (reduc_smax_v2sf): Rename to...
+ (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
+ (reduc_smin_v2sf): Rename to...
+ (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
+
+2016-01-14 Jan Hubicka <hubicka@ucw.cz>
+
+ * alias.c (compare_base_symbol_refs): New function.
+ (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
it.
-2015-11-13 Rich Felker <dalias@libc.org>
-
- * config/sh/sh.md (symGOT_load): Suppress __stack_chk_guard
- address loading hack for FDPIC targets.
-
-2015-11-13 Ajit Agarwal <ajitkum@xilinx.com>
- Jeff Law <law@redhat.com>
-
- * Makefile.in (OBJS): Add gimple-ssa-split-paths.o
- * common.opt (-fsplit-paths): New flag controlling path splitting.
- * doc/invoke.texi (fsplit-paths): Document.
- * opts.c (default_options_table): Add -fsplit-paths to -O2.
- * passes.def: Add split_paths pass.
- * timevar.def (TV_SPLIT_PATHS): New timevar.
- * tracer.c: Include "tracer.h"
- (ignore_bb_p): No longer static.
- (transform_duplicate): New function, broken out of tail_duplicate.
- (tail_duplicate): Use transform_duplicate.
- * tracer.h (ignore_bb_p): Declare
- (transform_duplicate): Likewise.
- * tree-pass.h (make_pass_split_paths): Declare.
- * gimple-ssa-split-paths.c: New file.
-
-2015-11-13 Kai Tietz <ktietz70@googlemail.com>
- Marek Polacek <polacek@redhat.com>
- Jason Merrill <jason@redhat.com>
-
- * convert.c (maybe_fold_build1_loc): New.
- (maybe_fold_build2_loc): New.
- (convert_to_pointer_1): Split out from convert_to_pointer.
- (convert_to_pointer_nofold): New.
- (convert_to_real_1): Split out from convert_to_real.
- (convert_to_real_nofold): New.
- (convert_to_integer_1): Split out from convert_to_integer.
- (convert_to_integer_nofold): New.
- (convert_to_complex_1): Split out from convert_to_complex.
- (convert_to_complex_nofold): New.
- * convert.h: Declare new functions.
- * tree-complex.c (create_one_component_var): Break up line to
- avoid sequence point issues.
-
-2015-11-13 Jason Merrill <jason@redhat.com>
-
- * fold-const.c (fold_convert_const): Fold changing cv-quals on
- VECTOR_CST.
-
- * hash-map.h (hash_map::empty): New.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (scan_sharing_clauses): Accept INDEPENDENT, AUTO & SEQ.
- (oacc_loop_fixed_partitions): Correct return type to bool.
- (oacc_loop_auto_partitions): New.
- (oacc_loop_partition): Take mask argument, call
- oacc_loop_auto_partitions.
- (execute_oacc_device_lower): Provide mask to oacc_loop_partition.
-
-2015-11-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (we constraint): New constraint for
- 64-bit power9 vector support.
- (wL constraint): New constraint for the element in a vector that
- can be addressed by the MFVSRLD instruction.
-
- * config/rs6000/rs6000-protos.h (convert_float128_to_int): Add
- declaration.
- (convert_int_to_float128): Likewise.
- (rs6000_generate_compare): Add support for ISA 3.0 (power9)
- hardware support for IEEE 128-bit floating point.
- (rs6000_expand_float128_convert): Likewise.
- (convert_float128_to_int): Likewise.
- (convert_int_to_float128): Likewise.
-
- * config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): New unspecs for
- ISA 3.0 hardware IEEE 128-bit floating point.
- (UNSPEC_IEEE128_MOVE): Likewise.
- (UNSPEC_IEEE128_CONVERT): Likewise.
- (FMA_F): Add support for IEEE 128-bit floating point hardware support.
- (Ff): Add support for DImode.
- (Fv): Likewise.
- (any_fix code iterator): New and updated iterators for IEEE
- 128-bit floating point hardware support.
- (any_float code iterator): Likewise.
- (s code attribute): Likewise.
- (su code attribute): Likewise.
- (az code attribute): Likewise.
- (uns code attribute): Likewise.
- (neg<mode>2, FLOAT128 iterator): Add support for IEEE 128-bit
- floating point hardware support.
- (abs<mode>2, FLOAT128 iterator): Likewise.
- (add<mode>3, IEEE128 iterator): New insns for IEEE 128-bit
- floating point hardware.
- (sub<mode>3, IEEE128 iterator): Likewise.
- (mul<mode>3, IEEE128 iterator): Likewise.
- (div<mode>3, IEEE128 iterator): Likewise.
- (copysign<mode>3, IEEE128 iterator): Likewise.
- (sqrt<mode>2, IEEE128 iterator): Likewise.
- (neg<mode>2, IEEE128 iterator): Likewise.
- (abs<mode>2, IEEE128 iterator): Likewise.
- (nabs<mode>2, IEEE128 iterator): Likewise.
- (fma<mode>4_hw, IEEE128 iterator): Likewise.
- (fms<mode>4_hw, IEEE128 iterator): Likewise.
- (nfma<mode>4_hw, IEEE128 iterator): Likewise.
- (nfms<mode>4_hw, IEEE128 iterator): Likewise.
- (extend<SFDF:mode><IEEE128:mode>2_hw): Likewise.
- (trunc<mode>df2_hw, IEEE128 iterator): Likewise.
- (trunc<mode>sf2_hw, IEEE128 iterator): Likewise.
- (fix_fixuns code attribute): Likewise.
- (float_floatuns code attribute): Likewise.
- (fix<uns>_<mode>si2_hw): Likewise.
- (fix<uns>_<mode>di2_hw): Likewise.
- (float<uns>_<mode>si2_hw): Likewise.
- (float<uns>_<mode>di2_hw): Likewise.
- (xscvqp<su>wz_<mode>): Likewise.
- (xscvqp<su>dz_<mode>): Likewise.
- (xscv<su>dqp_<mode): Likewise.
- (ieee128_mfvsrd): Likewise.
- (ieee128_mfvsrwz): Likewise.
- (ieee128_mtvsrw): Likewise.
- (ieee128_mtvsrd): Likewise.
- (trunc<mode>df2_odd): Likewise.
- (cmp<mode>_h): Likewise.
- (128-bit GPR splitters): Don't split a 128-bit move that is a
- direct move between GPR and vector registers using ISA 3.0 direct
- move instructions.
- (maddld4): Add support for the ISA 3.0 integer multiply-add
- instruction.
-
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add ISA 3.0
- debugging.
- (rs6000_init_hard_regno_mode_ok): If ISA 3.0 and 64-bit, enable we
- constraint. Disable the VSX<->GPR direct move helpers if we have
- the MFVSRLD and MTVSRDD instructions.
- (rs6000_secondary_reload_simple_move): Add support for doing
- vector direct moves directly without additional scratch registers
- if we have ISA 3.0 instructions.
- (rs6000_secondary_reload_direct_move): Update comments.
- (rs6000_output_move_128bit): Add support for ISA 3.0 vector
- instructions.
-
- * config/rs6000/vsx.md (vsx_mov<mode>): Add support for ISA 3.0
- direct move instructions.
- (vsx_movti_64bit): Likewise.
- (vsx_extract_<mode>): Likewise.
-
- * config/rs6000/rs6000.h (VECTOR_ELEMENT_MFVSRLD_64BIT): New
- macros for ISA 3.0 direct move instructions.
- (TARGET_DIRECT_MOVE_128): Likewise.
- (TARGET_MADDLD): Add support for the ISA 3.0 integer multiply-add
- instruction.
-
- * doc/md.texi (RS/6000 constraints): Document we, wF, wG, wL
- constraints. Update wa documentation to say not to use %x<n> on
- instructions that only take Altivec registers.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add gcc-rich-location.o.
- * diagnostic.c (diagnostic_append_note): Pass line_table to
- rich_location ctor.
- (emit_diagnostic): Likewise.
- (inform): Likewise.
- (inform_n): Likewise.
- (warning): Likewise.
- (warning_at): Likewise.
- (warning_n): Likewise.
- (pedwarn): Likewise.
- (permerror): Likewise.
- (error): Likewise.
- (error_n): Likewise.
- (error_at): Likewise.
- (sorry): Likewise.
- (fatal_error): Likewise.
- (internal_error): Likewise.
- (internal_error_no_backtrace): Likewise.
- (source_range::debug): Likewise.
- * gcc-rich-location.c: New file.
- * gcc-rich-location.h: New file.
- * genmatch.c (fatal_at): Pass line_table to rich_location ctor.
- (warning_at): Likewise.
- * gimple.h (gimple_set_block): Use set_block function.
- * input.c (dump_line_table_statistics): Dump stats on how many
- ranges were optimized vs how many needed ad-hoc table.
- (write_digit_row): Add "map" param; use its range_bits
- to calculate the per-character offset.
- (dump_location_info): Print the range and column bits for each
- ordinary map. Use the range bits to calculate the per-character
- offset. Pass the map as a new param to the various calls to
- write_digit_row. Eliminate uses of
- ORDINARY_MAP_NUMBER_OF_COLUMN_BITS.
- * print-tree.c (print_node): Print any source range information.
- * rtl-error.c (diagnostic_for_asm): Likewise.
- * toplev.c (general_init): Initialize line_table's
- default_range_bits.
- * tree-cfg.c (move_block_to_fn): Likewise.
- (move_block_to_fn): Likewise.
- * tree-inline.c (copy_phis_for_bb): Likewise.
- * tree.c (tree_set_block): Likewise.
- (get_pure_location): New function.
- (set_source_range): New functions.
- (set_block): New function.
- (set_source_range): New functions.
- * tree.h (CAN_HAVE_RANGE_P): New.
- (EXPR_LOCATION_RANGE): New.
- (EXPR_HAS_RANGE): New.
- (get_expr_source_range): New inline function.
- (DECL_LOCATION_RANGE): New.
- (set_source_range): New decls.
- (get_decl_source_range): New inline function.
-
-2015-11-13 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/67682
- * tree-vect-slp.c (vect_split_slp_store_group): New.
- (vect_analyze_slp_instance): During basic block SLP, recurse on
- subgroups if vect_build_slp_tree fails after 1st vector.
-
-2015-11-13 Christian Bruel <christian.bruel@st.com>
-
- PR target/65837
- * config/arm/arm.c (arm_option_override): Move NEON check...
- (arm_option_check_internal): here
- (arm_file_start): Move .fpu print...
- (arm_declare_function_name): here
- (arm_option_print): Dump current fpu name.
- * config/arm/arm.opt (arm_fpu_index): Mark Save.
-
-2015-11-13 Segher Boessenkool <segher@kernel.crashing.org>
- Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (subst): Don't substitute or simplify when
- handling register-wise widening multiply.
- (force_to_mode): Likewise.
-
-2015-11-13 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/68264
- * tree-call-cdce.c (gen_one_condition): Update commentary.
- (gen_conditions_for_pow_int_base): Invert the sense of the tests
- passed to gen_one_condition.
- (gen_conditions_for_domain): Likewise. Use unordered comparisons.
- (shrink_wrap_one_built_in_call): Invert the sense of the tests,
- using EDGE_FALSE_VALUE for edges to the call block and
- EDGE_TRUE_VALUE for the others.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_generate_vector_shuffle): Deal with
- complex types.
-
-2015-11-13 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (oacc_default_clause): Use inform for enclosing scope.
-
-2015-11-13 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Rename prefix_len var to
- len_of_prefix.
-
-2015-11-13 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Add args_str variable.
-
-2015-11-13 Martin Liska <mliska@suse.cz>
-
- * graphite-poly.c (free_scop): Release scop->drs vector.
- * graphite-scop-detection.c (scop_detection::harmful_stmt_in_region):
- Release dom vector.
- (try_generate_gimple_bb): Use vNULL as a default initialization
- for vectors.
-
-2015-11-13 Martin Liska <mliska@suse.cz>
-
- PR ipa/68311
- * ipa-icf.c (sem_item_optimizer::traverse_congruence_split):
- Replace array initialization (using a variable post-increment)
- that possible triggers multiple unsequenced modifications
- with a pair of pushes to a vector.
-
-2015-11-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (verify_data_ref_alignment): Move
- loop related checks ...
- (vect_verify_datarefs_alignment): ... here.
- (vect_slp_analyze_and_verify_node_alignment): Compute and
- verify alignment of the single DR that it matters.
- * tree-vect-stmts.c (vectorizable_store): Add an assert.
- (vectorizable_load): Add a comment.
- * tree-vect-slp.c (vect_analyze_slp_cost_1): Fix DR used
- for determining load cost.
-
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-loop.c (vect_determine_vectorization_factor): Check
- mix of boolean and integer vectors in a single statement.
- * tree-vect-slp.c (vect_mask_constant_operand_p): New.
- (vect_get_constant_vectors): Use vect_mask_constant_operand_p to
- determine constant type.
- * tree-vect-stmts.c (vectorizable_comparison): Provide vectype
- for loop invariants.
-
-2015-11-13 Alan Hayward <alan.hayward@arm.com>
-
- PR tree-optimization/66558
- * tree-vect-loop.c (is_integer_induction):Add.
- (vectorizable_reduction): Add integer induction checks.
-
-2015-11-13 Christophe Lyon <christophe.lyon@linaro.org>
-
- Revert [ARM] Remove neon-testgen.ml and generated tests.
-
- 2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- [ARM] Remove neon-testgen.ml and generated tests.
-
- * config/arm/neon-testgen.ml: Remove.
-
-2015-11-13 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_analyze_loop_2): Add fatal parameter.
- Signal fatal failure if early checks fail.
- (vect_analyze_loop): If vect_analyze_loop_2 fails fatally
- do not bother testing further vector sizes.
-
-2015-11-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (misaligned_operand): Return true if
- operand is aligned to less than its natural alignmnet.
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+ PR middle-end/68146
+ PR tree-optimization/69155
+ * tree-complex.c: Include cfganal.h.
+ (phis_to_revisit): New variable.
+ (extract_component): Add phiarg_p argument. Assert that returned
+ SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
+ (update_phi_components): Partly rewrite to use loop over real/imag
+ components instead of code duplication. If extract_component returns
+ SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
+ create_tmp_reg into the PHI node instead, and mention the phi triplet
+ in phis_to_revisit.
+ (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
+ in phis_to_revisit at the end.
- * doc/md.texi (vec_cmp@var{m}@var{n}): New item.
- (vec_cmpu@var{m}@var{n}): New item.
- (vcond@var{m}@var{n}): Specify comparison is signed.
- (vcondu@var{m}@var{n}): New item.
- (vcond_mask_@var{m}@var{n}): New item.
- (maskload@var{m}@var{n}): New item.
- (maskstore@var{m}@var{n}): New item.
+2016-01-14 Richard Biener <rguenther@suse.de>
-2015-11-13 Ilya Enkovich <enkovich.gnu@gmail.com>
+ PR tree-optimization/68060
+ * tree-vect-loop.c (vect_is_simple_reduction): Check the
+ outer loop reduction is only used in the inner loop before
+ detecting a double reduction.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Check
- types of stored value and storage are compatible.
-
-2015-11-13 Andris Pavenis <andris.pavenis@iki.fi>
-
- * gcc.c (POST_LINK_SPEC): Define if not already defined.
- (LINK_COMMAND_SPEC): Use post_link.
- (post_link_spec): New, initialize to POST_LINK_SPEC.
- (post_link): Initialize new static spec.
- * doc/tm.texi.in (POST_LINK_SPEC): Document.
- * doc/tm.texi: Regenerated.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- PR driver/67613
- * Makefile.in (GCC_OBJS): Add spellcheck.o.
- (OBJS): Add spellcheck-tree.o.
- * gcc.c: Include "spellcheck.h".
- (suggest_option): New function.
- (driver::handle_unrecognized_options): Call suggest_option to
- provide a hint about misspelled options.
- * spellcheck.c: Update file comment.
- (levenshtein_distance): Convert 4-param implementation from static
- to extern scope. Remove note about unit tests from leading
- comment for const char * implementation. Move tree
- implementation to...
- * spellcheck-tree.c: New file.
- * spellcheck.h (levenshtein_distance): Add 4-param decl.
-
-2015-11-13 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS): Add spellcheck.o.
- * spellcheck.c: New file.
- * spellcheck.h: New file.
-
-2015-11-13 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.md (*sne): New insn pattern.
-
-2015-11-12 Brad Lucier <lucier@math.purdue.edu>
-
- * cprop.c (is_too_expensive): Remove.
- (gcse.h): Include.
- (one_cprop_pass): Call gcse_or_cprop_is_too_expensive, not
- is_too_expensive.
- * gcse.h (gcse_or_cprop_is_too_expensive): Declare.
- * gcse.c (is_too_expensive): Rename to ...
- (gcse_or_cprop_is_too_expensive): ... this.
- Expand warning to add required size of max-gcse-memory.
- (one_pre_gcse_pass): Use it.
- (one_code_hoisting_pass): Use it.
- * params.def (max-gcse-memory): Increase from 50MB to 128MB.
-
-2015-11-12 James Norris <jnorris@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
-
- * gimple-pretty-print.c (dump_gimple_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_DECLARE.
- * gimple.h (enum gf_mask): Add GF_OMP_TARGET_KIND_OACC_DECLARE.
- (is_gomple_omp_oacc): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
- * gimplify.c (oacc_declare_returns): New.
- (gimplify_bind_expr): Prepend 'exit' stmt to cleanup.
- (device_resident_p): New function.
- (oacc_default_clause): Handle device_resident clause.
- (gimplify_oacc_declare_1, gimplify_oacc_declare): New functions.
- (gimplify_expr): Handle OACC_DECLARE.
- * omp-builtins.def (BUILT_IN_GOACC_DECLARE): New builtin.
- * omp-low.c (expand_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_DECLARE and BUILTIN_GOACC_DECLARE.
- (build_omp_regions_1): Handlde GF_OMP_TARGET_KIND_OACC_DECLARE.
- (lower_omp_target): Handle GF_OMP_TARGET_KIND_OACC_DECLARE,
- GOMP_MAP_DEVICE_RESIDENT and GOMP_MAP_LINK.
- (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_OACC_DECLARE.
- * tree-pretty-print.c (dump_omp_clause): Handle GOMP_MAP_LINK and
- GOMP_MAP_DEVICE_RESIDENT.
-
-2015-11-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- [ARM] Remove neon-testgen.ml and generated tests.
-
- * config/arm/neon-testgen.ml: Remove.
-
-2015-11-12 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64-cores.def (qdf24xx): New.
- * config/aarch64/aarch64-tune.md: Regenerated.
- * config/arm/arm-cores.def (qdf24xx): New.
- * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support.
- * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx".
- (ARM Options/-mtune): Likewise.
-
-2015-11-12 Martin Liska <mliska@suse.cz>
-
- * config/i386/i386.c (ix86_valid_target_attribute_p):
- Finalize options at the of the function.
- * gcc.c (driver_get_configure_time_options): Call newly
- introduced init_opts_obstack.
- * lto-wrapper.c (main): Likewise.
- * opts.c (init_opts_obstack): New function.
- (init_options_struct): Call newly introduced init_opts_obstack.
- * opts.h (init_options_struct): Declare.
-
-2015-11-12 Martin Liska <mliska@suse.cz>
-
- PR ipa/68035
- * ipa-icf.c (void sem_item::set_hash): New function.
- (sem_function::get_hash): Use renamed m_hash member variable.
- (sem_item::update_hash_by_addr_refs): Utilize get_hash.
- (sem_item::update_hash_by_local_refs): Likewise.
- (sem_variable::get_hash): Use renamed m_hash member variable.
- (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
- (sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
- (sem_item_optimizer::build_graph): As the hash value of an item
- is lazy initialized, force the calculation.
- * ipa-icf.h (set_hash): Declare new function and rename hash member
- variable to m_hash.
-
-2015-11-12 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences):
- Rename to vect_slp_analyze_instance_dependence.
- * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
- Remove WAR special-case.
- (vect_slp_analyze_node_dependences): Instead add more specific
- code here, not relying on other instances being vectorized.
- (vect_slp_analyze_instance_dependence): Adjust accordingly.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive
- vertical space in dump files.
- (vect_print_slp_tree): Likewise.
- (vect_analyze_slp_instance): Dump a header for the final SLP tree.
- (vect_slp_analyze_bb_1): Delay computing relevant stmts and
- not vectorized stmts until after dependence analysis removed
- instances. Merge alignment and dependence checks.
- * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited
- flag on all stmts.
-
-2015-11-12 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Add new members
- "max_case_values" and "cache_line_size".
- * config/aarch64/aarch64.c (aarch64_case_values_threshold): New
- function.
- (aarch64_override_options_internal): Tune heuristics based on new
- members in "tune_params".
- (TARGET_CASE_VALUES_THRESHOLD): Define macro.
-
-2015-11-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68306
- * tree-vect-data-refs.c (verify_data_ref_alignment): Remove
- relevant and vectorizable checks here.
- (vect_verify_datarefs_alignment): Add relevant check here.
-
-2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (oacc_default_clause): New.
- (omp_notice_variable): Call it.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68305
- * tree-vect-slp.c (vect_get_constant_vectors): Support
- COND_EXPR with SSA_NAME as a condition.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium-protos.h (notice_update_cc): Delete.
- (print_operand): Likewise.
- (print_operand_address): Likewise.
-
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE,
- FUNCTION_VALUE_REGNO_P): Remove.
- * config/alpha/alpha-protos.h (function_value): Remove.
- * config/alpha/alpha.c (function_value): Rename to...
- (alpha_function_value_1): ... this. Make static.
- (alpha_function_value, alpha_libcall_value,
- alpha_function_value_regno_p): New functions.
- (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
- TARGET_FUNCTION_VALUE_REGNO_P): Define.
-
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
- * config/alpha/alpha.c (alpha_memory_latency): Make static.
- (alpha_register_move_cost, alpha_memory_move_cost): New functions.
- (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
-
-2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/67265
- * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
- assertion on the CFA register.
-
-2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * expr.c (do_store_flag): Expand vector comparison as
- VEC_COND_EXPR if vector comparison is not supported by target.
-
-2015-11-12 Renlin Li <renlin.li@arm.com>
-
- * config/arm/arm.md (addsi3_compare_op2): Make the order of
- assembly pattern consistent with constraint order.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Simplify match regexp.
+2016-01-14 Jakub Jelinek <jakub@redhat.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ PR target/68269
+ * combine.c (expand_field_assignment): Punt if compute_mode is
+ unsupported scalar mode.
- * gen-pass-instances.awk (handle_line): Simplify init of
- postfix_starts_at.
+2016-01-14 Richard Biener <rguenther@suse.de>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ PR tree-optimization/66856
+ * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
+ SLP node only if it built successfully.
+ (vect_analyze_slp_instance): Adjust.
- * gen-pass-instances.awk (handle_line): Rename var where to
- call_starts_at.
+2016-01-14 Jeff Law <law@redhat.com>
-2015-11-12 Claudiu Zissulescu <claziss@synopsys.com>
+ PR tree-optimization/69270
+ * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
+ (record_edge_info): Use it. Convert boolean_{true,false}_node
+ to the type of op0.
- * config/arc/arc.c (gen_compare_reg): Swap operands also when we
- do not expand to rtl.
+2016-01-13 Jan Hubicka <hubicka@ucw.cz>
-2015-11-12 Richard Biener <rguenther@suse.de>
+ PR ipa/66487
+ * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
+ use block_ultimate_origin
+ (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
- PR tree-optimization/58497
- * tree-vect-generic.c: Include gimplify.h.
- (tree_vec_extract): Lookup constant/constructor DEFs.
- (do_cond): Unshare cond.
+2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-2015-11-12 Uros Bizjak <ubizjak@gmail.com>
+ * doc/invoke.texi (Submodel Options): Rename section to
+ "Machine-Dependent Options" to better reflect its content.
+ Rewrite introductory text to remove archaic CPU names.
+ Update references.
- * config/i386/i386.c (ix86_legitimate_combined_insn): Reject
- combined insn if the alignment of vector mode memory operand
- is less than ssememalign.
+2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * doc/invoke.texi (Code Gen Options): Move section up in file,
+ before target-specific options. Update menu and option summary
+ to reflect the new section ordering.
- * gen-pass-instances.awk (handle_line): Print parentheses and
- pass_name explicitly.
+2016-01-13 Jonathan Wakely <jwakely@redhat.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
+ (C++ Dialect Options): Add cross-reference to -std option.
+ * doc/standards.texi (C++ Language): Document C++14 support.
- * gen-pass-instances.awk (handle_line): Add pass_num, prefix
- and postfix vars.
+2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
-2015-11-12 Tom de Vries <tom@codesourcery.com>
+ * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
+ for pack/unpack functions for __ibm128.
+ (PACK_IF): Likewise.
+ (UNPACK_IF): Likewise.
- * gen-pass-instances.awk (handle_line): Add comments.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Rename len_of_end to
- len_of_close.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Add len_of_call variable.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Restructure using early-out.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Unify semicolon use.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk (handle_line): Remove unused var line_length.
-
-2015-11-12 Tom de Vries <tom@codesourcery.com>
-
- * gen-pass-instances.awk: Add emacs indent setting.
-
-2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
- to match.pd.
- Move Convert A/(B/C) to (A/B)*C to match.pd.
- Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
- Move Optimize (X & (-A)) / A where A is a power of 2, to
- X >> log2(A) to match.pd.
-
- * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
- (rdiv @0 (rdiv:s @1 @2)): New simplifier.
- (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
- New simplifier.
- (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.
-
-2015-11-12 Charles Baylis <charles.baylis@linaro.org>
-
- * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
- variable.
- (neon_vst2_lane<mode>): Likewise.
- (neon_vld3_lane<mode>): Likewise.
- (neon_vst3_lane<mode>): Likewise.
- (neon_vld4_lane<mode>): Likewise.
- (neon_vst4_lane<mode>): Likewise.
-
-2015-11-11 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
- New member codegen_error
- (translate_isl_ast_for_loop): Remove call to single_succ_edge and
- early return.
- (translate_isl_ast_node_user): Early return in case of error.
- (translate_isl_ast_to_gimple::translate_isl_ast): Same.
- (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
- (add_parameters_to_ivs_params): Remove macro.
- (graphite_regenerate_ast_isl): Add if_region pointer to region.
- * graphite-poly.c (new_poly_dr): Remove macro.
- (print_pdr): Same.
- (new_gimple_poly_bb): Same.
- (free_gimple_poly_bb): Same.
- (print_scop_params): Same.
- * graphite-poly.h (struct poly_dr): Same.
- (struct poly_bb): Add new_bb.
- (gbb_from_bb): Remove dead code.
- (pbb_from_bb): Same.
- * graphite-scop-detection.c (parameter_index_in_region_1): Same.
- (parameter_index_in_region): Same.
- (find_scop_parameters): Same.
- (build_cross_bb_scalars_def): New.
- (build_cross_bb_scalars_use): New.
- (graphite_find_cross_bb_scalar_vars): New
- (try_generate_gimple_bb): Reads and Writes.
- (build_alias_set): Move.
- (gather_bbs::before_dom_children): Gather bbs visited.
- (build_scops): call build_alias_set.
- * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
- (remove_simple_copy_phi): Delete.
- (remove_invariant_phi): Delete.
- (simple_copy_phi_p): Delete.
- (reduction_phi_p): Delete.
- (isl_id_for_dr): Remove unused param.
- (parameter_index_in_region_1): Remove macro usage.
- (set_scop_parameter_dim): Same.
- (add_param_constraints): Same.
- (add_conditions_to_constraints): Same
- (build_scop_iteration_domain): Same.
- (pdr_add_alias_set): Comment.
- (add_scalar_version_numbers): New.
- (build_poly_dr): ISL id.
- (build_scop_drs): Move.
- (build_poly_sr_1): Same.
- (insert_stmts): Remove.
- (build_poly_sr): New.
- (new_pbb_from_pbb): Delete.
- (insert_out_of_ssa_copy_on_edge): Delete.
- (create_zero_dim_array): Delete.
- (scalar_close_phi_node_p): Delete.
- (propagate_expr_outside_region): Delete.
- (rewrite_close_phi_out_of_ssa): Delete.
- (rewrite_phi_out_of_ssa): Delete.
- (rewrite_degenerate_phi): Delete.
- (rewrite_reductions_out_of_ssa): Delete.
- (rewrite_cross_bb_scalar_dependence): Delete.
- (handle_scalar_deps_crossing_scop_limits):
- (rewrite_cross_bb_scalar_deps): Delete.
- (build_poly_scop): Remove calls to out-of-ssa functions.
- * graphite.c (graphite_transform_loops): Early return in case of
- codegen error.
- * sese.c (debug_rename_map_1): Delete.
- (debug_rename_map): Delete.
- (sese_record_loop): Remove macro.
- (build_sese_loop_nests): Same.
- (new_sese_info): Same.
- (free_sese_info): Same.
- (sese_insert_phis_for_liveouts):
- (is_loop_closed_ssa_use): New.
- (number_of_phi_nodes): New.
- (bb_contains_loop_close_phi_nodes): New.
- (bb_contains_loop_phi_nodes): New.
- (phi_uses_name): New.
- (is_valid_rename):
- (get_rename): Add old_bb and loop_phi for more precise matching of
- exprs.
- (set_rename): Pass region.
- (later_of_the_two): New.
- (gsi_insert_earliest): New.
- (collect_all_ssa_names): New.
- (substitute_ssa_name): New.
- (rename_all_uses): New.
- (get_rename_from_scev): New.
- (rename_uses): Pass old_bb for more precise matching of exprs.
- (get_def_bb_for_const): New.
- (get_new_name): New.
- (get_loc): New.
- (get_edges): New.
- (copy_loop_phi_args): New.
- (copy_loop_phi_nodes): New.
- (get_loop_init_value): New.
- (find_init_value): New.
- (find_init_value_close_phi): New.
- (copy_loop_close_phi_args): New.
- (copy_loop_close_phi_nodes): New.
- (add_phi_arg_for_new_expr): New.
- (copy_cond_phi_args): New.
- (copy_cond_phi_nodes): New.
- (copy_phi_nodes): New.
- (should_copy_to_new_region): New.
- (set_rename_for_each_def): New.
- (graphite_copy_stmts_from_block): Early return in case of error.
- (copy_bb_and_scalar_dependences): Same.
- * sese.h (vec_find): New.
- (SESE_PARAMS): Delete.
- (SESE_LOOPS): Delete.
- (SESE_LOOP_NEST): Delete.
- (sese_contains_loop): Remove macro usage.
- (sese_nb_params): Same.
- (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.
-
-2015-11-11 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-sese-to-poly.c (build_scop_original_schedule): Call
- isl_union_map_add_map on every pbb->schedule.
-
-2015-11-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_parallel_loop): Return void.
-
-2015-11-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
- block only when needed.
-
-2015-11-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha-protos.h (print_operand): Remove.
- (print_operand_address): Remove.
- * config/alpha/alpha.h (PRINT_OPERAND): Remove.
- (PRINT_OPERAND_ADDRESS): Remove.
- (PRINT_OPERAND_PUNCT_VALID_P): Remove.
- * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
- (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
- (print_operand_address): Rename to...
- (alpha_print_operand_address): ...this and make static.
- (print_operand): Rename to...
- (alpha_print_operand): ...this and make static.
- (alpha_print_operand_punct_valid_p): New static function.
-
-2015-11-11 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
- Declare.
- (vect_analyze_data_refs_alignment): Make loop vect specific.
- (vect_verify_datarefs_alignment): Likewise.
- * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
- Add missing continue.
- (vect_compute_data_ref_alignment): Export.
- (vect_compute_data_refs_alignment): Merge into...
- (vect_analyze_data_refs_alignment): ... this.
- (verify_data_ref_alignment): Split out from ...
- (vect_verify_datarefs_alignment): ... here.
- (vect_slp_analyze_and_verify_node_alignment): New function.
- (vect_slp_analyze_and_verify_instance_alignment): Likewise.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Remove
- misplaced checks on alignment.
- (vect_slp_analyze_bb_1): Add fatal output parameter. Do
- alignment analysis after SLP discovery and do it per instance.
- (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
- bother to re-try using different vector sizes.
-
-2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * gimplify.c (enum omp_region_type): Add ORT_ACC,
- ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE.
- (gimple_add_tmp_var): Add ORT_ACC checks.
- (gimplify_var_or_parm_decl): Likewise.
- (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a mask.
- (omp_add_variable): Look in outer contexts for openacc and allow
- reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA checks.
- (omp_notice_variable, omp_is_private, omp_check_private): Add
- ORT_ACC checks.
- (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
- Permit private openacc reductions.
- (gimplify_oacc_cache): Specify ORT_ACC.
- (gimplify_omp_workshare): Adjust OpenACC region types.
- (gimplify_omp_target_update): Likewise.
- * omp-low.c (scan_sharing_clauses): Remove Openacc firstprivate sorry.
- (lower-rec_input_clauses): Don't handle openacc firstprivate
- references here.
- (lower_omp_target): Emit initializers for openacc firstprivate vars.
-
-2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/67265
- * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
- frame pointer for stack checking if non-call exceptions aren't used.
- * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
-
-2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of
- [LA]SHIFTRT.
-
-2015-11-11 Martin Liska <mliska@suse.cz>
- Richard Biener <rguenther@suse.de>
-
- PR rtl-optimization/68287
- * lra-lives.c (lra_create_live_ranges_1): Reserve the right
- number of elements.
-
-2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/mips.c (mips_breakable_sequence_p): New function.
- (mips_break_sequence): New function.
- (mips_reorg_process_insns): Use them. Use compact branches in selected
- situations.
-
-2015-11-11 Alan Lawrence <alan.lawrence@arm.com>
-
- * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.
-
-2015-11-11 Jiong Wang <jiong.wang@arm.com>
- Jim Wilson <wilson@gcc.gnu.org>
-
- PR target/67305
- * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
- be true and eliminable registers mentioned.
-
-2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
-
- * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
- options.
- * config/arc/arc-opts.h: Add ARCv2 CPUs.
- * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
- * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
- situation, and store instructions with large offsets.
- (arc_secondary_reload_conv): New function.
- (arc_init): Add ARCv2 options.
- (arc_conditional_register_usage): Select the proper register usage
- for ARCv2 processors.
- (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
- architecture.
- (arc_compute_function_type): Likewise.
- (arc_print_operand): Handle new ARCv2 punctuation characters.
- (arc_return_in_memory): ARCv2 ABI returns in registers up to 16 bytes.
- (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
- function.
- (arc_reorg, arc_hazard): Use it.
- * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and __EM__.
- (ASM_SPEC): Add ARCv2 options.
- (TARGET_NORM): ARC HS has norm instructions by default.
- (TARGET_OPTFPE): Use optimized floating point emulation for ARC HS.
- (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
- (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI): Define.
- (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
- Likewise.
- (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
- (TARGET_LP_WR_INTERLOCK): Likewise.
- * config/arc/arc.md
- (commutative_binary_mult_comparison_result_used, movsicc_insn)
- (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
- (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
- (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
- Use it for ARCv2.
- (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
- (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
- (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
- (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
- (extzvsi): New pattern.
- * config/arc/arc.opt: New ARCv2 options.
- * config/arc/arcEM.md: New file.
- * config/arc/arcHS.md: Likewise.
- * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
- values.
- (Cm2): A signed 9-bit integer constant constraint.
- (C62): An unsigned 6-bit integer constant constraint.
- (C16): A signed 16-bit integer constant constraint.
- * config/arc/predicates.md (mult_operator): Add ARCv2 processort.
- (short_const_int_operand): New predicate.
- * config/arc/t-arc-newlib: Add ARCv2 multilib options.
- * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
- -mcode-density and -mdiv-rem.
-
-2015-11-11 Julia Koval <julia.koval@intel.com>
-
- * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.
-
-2015-11-11 Julia Koval <julia.koval@intel.com>
-
- * config/i386/i386.c: Handle "skylake" and "skylake-avx512".
-
-2015-11-11 Martin Liska <mliska@suse.cz>
-
- * gimple-ssa-strength-reduction.c (create_phi_basis):
- Use auto_vec.
- * passes.c (release_dump_file_name): New function.
- (pass_init_dump_file): Used from this function.
- (pass_fini_dump_file): Likewise.
- * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
- * var-tracking.c (vt_initialize): Use pool_allocator.
-
-2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
- Jiong Wang <jiong.wang@arm.com>
-
- PR tree-optimization/68234
- * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
- node which estimiated to be VR_VARYING initially.
-
-2015-11-11 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * regname.c (scan_rtx_reg): Check the matching number of consecutive
- registers when tying chains.
- (build_def_use): Move terminated_this_insn earlier in the function.
-
-2015-11-10 Mike Frysinger <vapier@gentoo.org>
-
- * configure.ac: Use = with test and not ==.
- * configure: Regenerated.
-
-2015-11-11 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
- machine asserts. Update defines for 64 bit.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid
- lane number.
- (neon_vst1_lane<mode>): Likewise.
- (neon_vld2_lane<mode>): Likewise.
- (neon_vst2_lane<mode>): Likewise.
- (neon_vld3_lane<mode>): Likewise.
- (neon_vst3_lane<mode>): Likewise.
- (neon_vld4_lane<mode>): Likewise.
- (neon_vst4_lane<mode>): Likewise.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use
- qualifier_struct_load_store_lane_index.
- (arm_storestruct_lane_qualifiers) Likewise.
- * config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for
- big-endian.
- (neon_vst1_lane<mode>) Likewise.
- (neon_vld2_lane<mode>) Likewise.
- (neon_vst2_lane<mode>) Likewise.
- (neon_vld3_lane<mode>) Likewise.
- (neon_vst3_lane<mode>) Likewise.
- (neon_vld4_lane<mode>) Likewise.
- (neon_vst4_lane<mode>) Likewise.
-
-2015-11-11 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator
- qualifier_struct_load_store_lane_index.
- (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON
- argument qualifiers.
- (arm_expand_neon_builtin): Handle new NEON argument qualifier.
- * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro.
-
-2015-11-10 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.opt (moptimize): New flag.
- * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
- default.
- (nvptx_optimize_inner): New.
- (nvptx_process_pars): Call it when optimizing.
- * doc/invoke.texi (Nvidia PTX Options): Document -moptimize.
-
-2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
- Remove redundant code.
-
-2015-11-10 Jeff Law <law@redhat.com>
-
- * config/ft32/ft32.c (ft32_print_operand): Supply mode to
- call to output_address.
- * config/moxie/moxie.c (moxie_print_operand_address): Similarly.
- Add unnamed machine_mode argument.
-
-2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that
- default to 64-bit.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movabs<mode>_1): Add explicit
- size directives for -masm=intel.
- (*movabs<mode>_2): Ditto.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand): Remove dead code that
- tried to avoid (%rip) for call operands.
-
-2015-11-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip
- argument. Do not use RIP relative addressing when no_rip is set.
- (ix86_print_operand): Update call to ix86_print_operand_address_as.
- (ix86_print_operand_address): Ditto.
- * config/i386/i386.md (*movabs<mode>_1): Use %P modifier for
- absolute movabs operand 0. Add square braces for -masm=intel.
- (*movabs<mode>_2): Ditto for operand 1.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
- combine_vcvtf2i pattern.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (neon_valid_immediate): Remove integer
- CONST_DOUBLE handling. It should never occur.
-
-2015-11-10 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/atomics.md (unspecv): Move to iterators.md.
- (ATOMIC_LDOP): Likewise.
- (atomic_ldop): Likewise.
- * config/aarch64/iterators.md (unspecv): Moved from atomics.md.
- (ATOMIC_LDOP): Likewise.
- (atomic_ldop): Likewise.
-
-2015-11-10 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (allocate_raw): New function.
- (operator new (size_t, object_allocator<T> &a)): Use the
- function instead of object_allocator::allocate).
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (HALFMASKMODE): New attribute.
- (DOUBLEMASKMODE): New attribute.
- (vec_pack_trunc_qi): New.
- (vec_pack_trunc_<mode>): New.
- (vec_unpacks_lo_hi): New.
- (vec_unpacks_lo_si): New.
- (vec_unpacks_lo_di): New.
- (vec_unpacks_hi_hi): New.
- (vec_unpacks_hi_<mode>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs.c (expand_binop_directly): Allow scalar mode for
- vec_pack_trunc_optab.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Skip
- boolean vector producers from pattern sequence when computing VF.
- * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
- vect_recog_mask_conversion_pattern.
- (search_type_for_mask): Choose the smallest
- type if different size types are mixed.
- (build_mask_conversion): New.
- (vect_recog_mask_conversion_pattern): New.
- (vect_pattern_recog_1): Allow scalar mode for boolean vectype.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
- load with pattern.
- (vectorizable_conversion): Support boolean vectors.
- (free_stmt_vec_info): Allow patterns for statements with no lhs.
- * tree-vectorizer.h (NUM_PATTERNS): Increase to 14.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386-protos.h (ix86_expand_sse_movcc): New.
- * config/i386/i386.c (ix86_expand_sse_movcc): Make public.
- Cast mask to FP mode if required.
- * config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New.
- (vcond_mask_<mode><avx512fmaskmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_v2div2di): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
- (vcond_mask_<mode><sseintvecmodelower>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs-query.h (get_vcond_mask_icode): New.
- * optabs-tree.c (expand_vec_cond_expr_p): Use
- get_vcond_mask_icode for VEC_COND_EXPR with mask.
- * optabs.c (expand_vec_cond_mask_expr): New.
- (expand_vec_cond_expr): Use get_vcond_mask_icode when possible.
- * optabs.def (vcond_mask_optab): New.
- * tree-vect-patterns.c (vect_recog_bool_pattern): Don't
- generate redundant comparison for COND_EXPR.
- * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME
- as a condition.
- (vectorizable_condition): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
- cond_exp with no embedded comparison.
- (vect_build_slp_tree_1): Likewise.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/sse.md (maskload<mode>): Rename to ...
- (maskload<mode><sseintvecmodelower>): ... this.
- (maskstore<mode>): Rename to ...
- (maskstore<mode><sseintvecmodelower>): ... this.
- (maskload<mode><avx512fmaskmodelower>): New.
- (maskstore<mode><avx512fmaskmodelower>): New.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes.
- (expand_MASK_STORE): Adjust to maskstore optab changes.
- * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg.
- Adjust to maskload, maskstore optab changes.
- * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg.
- * optabs.def (maskload_optab): Transform into convert optab.
- (maskstore_optab): Likewise.
- * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to
- can_vec_mask_load_store_p signature change.
- (predicate_mem_writes): Use boolean mask.
- * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to
- can_vec_mask_load_store_p signature change. Allow invariant masks.
- (vectorizable_operation): Ignore type precision for boolean vectors.
-
-2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results.
- (const_vector_mask_from_tree): New.
- (const_vector_from_tree): Use const_vector_mask_from_tree
- for boolean vectors.
- * optabs-query.h (get_vec_cmp_icode): New.
- * optabs-tree.c (expand_vec_cmp_expr_p): New.
- * optabs-tree.h (expand_vec_cmp_expr_p): New.
- * optabs.c (vector_compare_rtx): Add OPNO arg.
- (expand_vec_cond_expr): Adjust to vector_compare_rtx change.
- (expand_vec_cmp_expr): New.
- * optabs.def (vec_cmp_optab): New.
- (vec_cmpu_optab): New.
- * optabs.h (expand_vec_cmp_expr): New.
- * tree-vect-generic.c (expand_vector_comparison): Add vector
- comparison optabs check.
- * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask
- operations for VF. Add mask type computation.
- * tree-vect-stmts.c (get_mask_type_for_scalar_type): New.
- (vectorizable_comparison): New.
- (vect_analyze_stmt): Add vectorizable_comparison.
- (vect_transform_stmt): Likewise.
- (vect_init_vector): Support boolean vector invariants.
- (vect_get_vec_def_for_operand): Add VECTYPE arg.
- (vectorizable_condition): Directly provide vectype for invariants
- used in comparison.
- * tree-vectorizer.h (get_mask_type_for_scalar_type): New.
- (enum vect_var_kind): Add vect_mask_var.
- (enum stmt_vec_info_type): Add comparison_vec_info_type.
- (vectorizable_comparison): New.
- (vect_get_vec_def_for_operand): Add VECTYPE arg.
- * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var.
- (vect_create_destination_var): Likewise.
- * tree-vect-patterns.c (check_bool_pattern): Check fails
- if we can vectorize comparison directly.
- (search_type_for_mask): New.
- (vect_recog_bool_pattern): Support cases when bool pattern check fails.
- * tree-vect-slp.c (vect_build_slp_tree_1): Allow
- comparison statements.
- (vect_get_constant_vectors): Support boolean vector constants.
- * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New.
- (ix86_expand_int_vec_cmp): New.
- (ix86_expand_fp_vec_cmp): New.
- * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for
- op_true and op_false.
- (ix86_int_cmp_code_to_pcmp_immediate): New.
- (ix86_fp_cmp_code_to_pcmp_immediate): New.
- (ix86_cmp_code_to_pcmp_immediate): New.
- (ix86_expand_mask_vec_cmp): New.
- (ix86_expand_fp_vec_cmp): New.
- (ix86_expand_int_sse_cmp): New.
- (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp.
- (ix86_expand_int_vec_cmp): New.
- (ix86_get_mask_mode): New.
- (TARGET_VECTORIZE_GET_MASK_MODE): New.
- * config/i386/sse.md (avx512fmaskmodelower): New.
- (vec_cmp<mode><avx512fmaskmodelower>): New.
- (vec_cmp<mode><sseintvecmodelower>): New.
- (vec_cmpv2div2di): New.
- (vec_cmpu<mode><avx512fmaskmodelower>): New.
- (vec_cmpu<mode><sseintvecmodelower>): New.
- (vec_cmpuv2div2di): New.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68240
- * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares
- properly.
- (visit_phi): For PHIs with just a single executable edge
- take its value directly.
- (expressions_equal_p): Handle VN_TOP properly.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
- Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF
- conservatively.
-
-2015-11-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal
- cost favor vectorized version.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand.
- * config/aarch64/iterators.md (NEG_NOT): New code iterator.
- (neg_not_op): New code attribute.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_inverse_constants): New function.
- (noce_process_if_block): Call it.
- * optabs.h (emit_conditional_neg_or_complement): Declare prototype.
- * optabs.def (negcc_optab, notcc_optab): Declare.
- * optabs.c (emit_conditional_neg_or_complement): New function.
- * doc/tm.texi (Standard Names): Document negcc, notcc names.
-
-2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/68236
- * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
- if insn_queue doesn't exist.
- (haifa_sched_finish): Reset insn_queue to NULL.
-
-2015-11-10 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * regrename.c (create_new_chain): Initialize renamed and tied_chain.
- (build_def_use): Initialize terminated_this_insn.
- (find_best_rename_reg): Pick and check register from the tied chain.
- (regrename_do_replace): Mark head as renamed.
- (struct du_head *terminated_this_insn). New static variable.
- (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn.
- * regrename.h (struct du_head): Add tied_chain, renamed members.
-
-2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR bootstrap/68256
- * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
- Return false.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/57845
- * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
- not promote the mode for aggregate types.
-
-2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
- * omp-low.c (build_oacc_routine_dims): New.
-
-2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/constraints.md (wF constraint): New constraints
- for power9/toc fusion.
- (wG constraint): Likewise.
-
- * config/rs6000/predicates.md (u6bit_cint_operand): New
- predicate, recognize 0..63.
- (upper16_cint_operand): New predicate for power9 and toc fusion.
- (fpr_reg_operand): Likewise.
- (toc_fusion_or_p9_reg_operand): Likewise.
- (toc_fusion_mem_raw): Likewise.
- (toc_fusion_mem_wrapped): Likewise.
- (fusion_gpr_addis): If power9 fusion, allow fusion for a larger
- address range.
- (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
- instead.
- (fusion_addis_mem_combo_load): Add support for power9 fusion of
- floating point loads, floating point stores, and gpr stores.
- (fusion_addis_mem_combo_store): Likewise.
- (fusion_offsettable_mem_operand): Likewise.
-
- * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add declarations.
- (emit_fusion_load_store): Likewise.
- (fusion_p9_p): Likewise.
- (expand_fusion_p9_load): Likewise.
- (expand_fusion_p9_store): Likewise.
- (emit_fusion_p9_load): Likewise.
- (emit_fusion_p9_store): Likewise.
- (fusion_wrap_memory_address): Likewise.
-
- * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
- elements for power9 fusion.
- (rs6000_debug_print_mode): Rework debug information to print more
- information about fusion.
- (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion support.
- (rs6000_legitimate_address_p): Recognize toc fusion as a valid
- offsettable memory address.
- (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
- (emit_fusion_gpr_load): Move most of the code from
- emit_fusion_gpr_load into emit_fusion-addis that handles both
- power8 and power9 fusion.
- (emit_fusion_addis): Likewise.
- (emit_fusion_load_store): Likewise.
- (fusion_wrap_memory_address): Add support for TOC fusion.
- (fusion_split_address): Likewise.
- (fusion_p9_p): Add support for power9 fusion.
- (expand_fusion_p9_load): Likewise.
- (expand_fusion_p9_store): Likewise.
- (emit_fusion_p9_load): Likewise.
- (emit_fusion_p9_store): Likewise.
-
- * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
- new instructions in ISA 3.0.
- (TARGET_CTZ): Likewise.
- (TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
- (TARGET_TOC_FUSION_FP): Likewise.
-
- * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
- fusion unspecs.
- (UNSPEC_FUSION_ADDIS): Likewise.
- (QHSI mode iterator): New iterator for power9 fusion.
- (GPR_FUSION): Likewise.
- (FPR_FUSION): Likewise.
- (mod<mode>3): Add support for ISA 3.0 modulus instructions.
- (umod<mode>3): Likewise.
- (divmod peephole): Likewise.
- (udivmod peephole): Likewise.
- (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
- instructions.
- (ctz<mode>2_h): Likewise.
- (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
- (ashdi3_extswsli_dot): Likewise.
- (ashdi3_extswsli_dot2): Likewise.
- (power9 fusion splitter): New power9/toc fusion support.
- (toc_fusionload_<mode>): Likewise.
- (toc_fusionload_di): Likewise.
- (fusion_gpr_load_<mode>): Update predicate function.
- (power9 fusion peephole2s): New power9/toc fusion support.
- (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
- (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
- (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
- (fusion_p9_<mode>_constant): Likewise.
-
-2015-11-09 Steve Ellcey <sellcey@imgtec.com>
-
- * optabs.c (prepare_libcall_arg): New function.
- (expand_fixed_convert): Add call to prepare_libcall_arg.
-
-2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com>
-
- * sched-int.h (dump_rgn_dependencies_dot): Declare
- * sched-rgn.c (dump_rgn_dependencies_dot): New function
- * print-rtl.h (print_insn): Add prototype
-
- * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
- * common.opt (-fsched-verbose): Set default value to 1.
- * invoke.texi (-fsched-verbose): Update the option's description.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.h (PRINT_OPERAND): Delete.
- (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
- (PRINT_OPERAND_ADDRESS): Likewise.
- * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
- to...
- (visium_print_operand_punct_valid_p): ...this. New function.
- (TARGET_PRINT_OPERAND): Define to...
- (print_operand): Rename to...
- (visium_print_operand): ...this.
- (TARGET_PRINT_OPERAND_ADDRESS): Define to...
- (visium_output_address): Rename to...
- (visium_print_operand_address): ...this.
- (print_operand_address): Delete.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68259
- * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
- Check that the type of the first operand is an aggregate type.
-
-2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c: Fix some OpenACC comment typos.
- (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
- * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
- BUILT_IN_GOACC_GET_NUM_THREADS): Delete.
-
-2015-11-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
-
-2015-11-09 Jeff Law <law@redhat.com>
-
- * tree-ssanames.c (verify_ssaname_freelists): Simplify check for
- being in gimple/ssa form. Remove redundant check for SSA_NAME.
- Fix comment typo.
-
-2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
- ISA 3.0 (power9).
- (-mpower9-vector): Likewise.
- (-mpower9-dform): Likewise.
- (-mpower9-minmax): Likewise.
- (-mtoc-fusion): Likewise.
- (-mmodulo): Likewise.
- (-mfloat128-hardware): Likewise.
-
- * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
- mask for ISA 3.0 (power9).
- (POWERPC_MASKS): Add new ISA 3.0 switches.
- (power9 cpu): Add power9 cpu.
-
- * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for power9.
- (ASM_CPU_SPEC): Likewise.
- (EXTRA_SPECS): Likewise.
-
- * config/rs6000/rs6000-opts.h (enum processor_type): Add
- PROCESSOR_POWER9.
-
- * config/rs6000/rs6000.c (power9_cost): Initial cost setup for power9.
- (rs6000_debug_reg_global): Add support for power9 fusion.
- (rs6000_setup_reg_addr_masks): Cache mode size.
- (rs6000_option_override_internal): Until real power9 tuning is
- added, use -mtune=power8 for -mcpu=power9.
- (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
- pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
- of Altivec registers.
- (rs6000_option_override_internal): Add support for ISA 3.0 switches.
- (rs6000_loop_align): Add support for power9 cpu.
- (rs6000_file_start): Likewise.
- (rs6000_adjust_cost): Likewise.
- (rs6000_issue_rate): Likewise.
- (insn_must_be_first_in_group): Likewise.
- (insn_must_be_last_in_group): Likewise.
- (force_new_group): Likewise.
- (rs6000_register_move_cost): Likewise.
+ * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
+ support for __ibm128 pack/unpack functions.
+ (rs6000_invalid_builtin): Likewise.
+ (rs6000_init_builtins): Likewise.
(rs6000_opt_masks): Likewise.
- * config/rs6000/rs6000.md (cpu attribute): Add power9.
- * config/rs6000/rs6000-tables.opt: Regenerate.
-
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
- _ARCH_PWR9 if power9 support is available.
-
- * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
- * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
-
- * configure.ac: Determine if the assembler supports the ISA 3.0
- instructions.
- * config.in (HAVE_AS_POWER9): Likewise.
- * configure: Regenerate.
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
- switches.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
- Remove integer CONST_DOUBLE handling. It should never occur.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68129
- * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
- * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
- Delete VOIDmode case. Assert that mode is not VOIDmode.
- * config/aarch64/predicates.md (const0_operand): Remove const_double
- match.
-
-2015-11-09 Martin Liska <mliska@suse.cz>
-
- * ipa-inline-analysis.c (estimate_function_body_sizes): Call
- body_info release function.
- * ipa-prop.c (ipa_release_body_info): New function.
- (ipa_analyze_node): Call the function.
- (ipa_node_params::~ipa_node_params): Release known_csts.
- * ipa-prop.h (ipa_release_body_info): Declare.
-
-2015-11-09 Martin Liska <mliska@suse.cz>
-
- * gcc.c (record_temp_file): Release name string.
- * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead of vec.
- * lra-lives.c (free_live_range_list): Utilize
- lra_live_range_pool for allocation and deallocation.
- (create_live_range): Likewise.
- (copy_live_range): Likewise.
- (lra_merge_live_ranges): Likewise.
- (remove_some_program_points_and_update_live_ranges): Likewise.
- (lra_create_live_ranges_1): Release point_freq_vec that can
- be not freed from previous iteration of the function.
- * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of vec.
- * tree-sra.c (sra_deinitialize): Release all vectors in
- base_access_vec.
- * tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
- Release edge_info for a removed edge.
- (thread_through_all_blocks): Free region vector.
- * tree-ssa.h (free_dom_edge_info): Declare function extern.
-
-2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * optabs.c (expand_vec_cond_expr): Always get sign from type.
- * tree.c (wide_int_to_tree): Support negative values for boolean.
- (build_nonstandard_boolean_type): Use signed type for booleans.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68248
- * tree-vect-generic.c (expand_vector_operations_1): Handle scalar rhs2.
-
-2015-11-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56118
- * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
- * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
- * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
- function.
- (vect_slp_analyze_data_ref_dependences): Instead of computing
- all dependences of the region DRs just analyze the code motions
- SLP vectorization will perform. Remove SLP instances that
- cannot have their store/load motions applied.
- (vect_analyze_data_refs): Allow DRs without a vectype
- in BB vectorization.
-
-2015-11-09 Julian Brown <julian@codesourcery.com>
-
- * final.c (output_asm_insn): Pass VOIDmode to output_address.
- (output_address): Add MODE argument. Pass to print_operand_address
- hook.
- * targhooks.c (default_print_operand_address): Add MODE argument.
- * targhooks.h (default_print_operand_address): Update prototype.
- * output.h (output_address): Update prototype.
- * target.def (print_operand_address): Add MODE argument.
- * config/vax/vax.c (print_operand_address): Pass VOIDmode to
- output_address.
- (print_operand): Pass access mode to output_address.
- * config/mcore/mcore.c (mcore_print_operand_address): Add MODE
- argument.
- (mcore_print_operand): Update calls to mcore_print_operand_address.
- * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to
- output_address.
- * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to
- output_address.
- * config/tilegx/tilegx.c (output_memory_reference_mode): Remove
- global.
- (tilegx_print_operand): Don't set above global. Update calls to
- output_address.
- (tilegx_print_operand_address): Add MODE argument. Use instead of
- output_memory_reference_mode global.
- * config/frv/frv.c (frv_print_operand_address): Add MODE argument.
- (frv_print_operand): Pass mode to frv_print_operand_address calls.
- * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to
- output_address.
- * config/cris/cris.c (cris_print_operand_address): Add MODE argument.
- (cris_print_operand): Pass mode to output_address calls.
- * config/spu/spu.c (print_operand): Pass mode to output_address calls.
- * config/aarch64/aarch64.h (aarch64_print_operand)
- (aarch64_print_operand_address): Remove prototypes.
- * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete
- global.
- (aarch64_print_operand): Make static. Update calls to output_address.
- (aarch64_print_operand_address): Add MODE argument. Use instead of
- aarch64_memory_reference_mode global.
- (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target
- hooks.
- * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
- Delete macro definitions.
- * config/pa/pa.c (pa_print_operand): Pass mode in output_address calls.
- * config/xtensa/xtensa.c (print_operand): Pass mode in
- output_address calls.
- * config/h8300/h8300.c (h8300_print_operand_address): Add MODE
- argument.
- (h83000_print_operand): Update calls to h8300_print_operand_address
- and output_address.
- * config/ia64/ia64.c (ia64_print_operand_address): Add MODE argument.
- * config/tilepro/tilepro.c (output_memory_reference_mode): Delete
- global.
- (tilepro_print_operand): Pass mode to output_address.
- (tilepro_print_operand_address): Add MODE argument. Use instead of
- output_memory_reference_mode.
- * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer)
- (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode
- to output_address calls.
- (nvptx_print_operand_address): Add MODE argument.
- * config/alpha/alpha.c (print_operand): Pass mode argument in
- output_address calls.
- * config/m68k/m68k.c (print_operand): Pass mode argument in
- output_address call.
- * config/avr/avr.c (avr_print_operand_address): Add MODE argument.
- (avr_print_operand): Update calls to avr_print_operand_address.
- * config/sparc/sparc.c (sparc_print_operand_address): Add MODE
- argument. Update calls to output_address.
- (sparc_print_operand): Pass mode to output_address.
- * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE
- argument.
- (iq2000_print_operand): Pass mode in output_address calls.
- * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add
- MODE argument.
- (xstormy16_print_operand): Pass mode to
- xstormy16_print_operand_address calls.
- * config/mips/mips.c (mips_print_operand): Update calls to
- output_address.
- (mips_print_operand_address): Add MODE argument.
- * config/epiphany/epiphany.c (epiphany_print_operand): Update calls
- to output_address.
- (epiphany_print_operand_address): Add MODE argument. Add FIXME note.
- * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to
- output_address.
- * config/rx/rx.c (rx_print_operand_address): Add MODE argument.
- (rx_print_operand): Update calls to output_address,
- rx_print_operand_address.
- * config/nds32/nds32.c (nds32_print_operand): Update calls to
- output_address.
- (nds32_print_operand_address): Add MODE argument.
- * config/rs6000/rs6000.c (print_operand): Pass mem mode to
- output_address calls.
- * config/c6x/c6x.c (print_address_offset): Pass mem mode to
- output_address call.
- (c6x_print_address_operand): Update calls to output_address.
- (c6x_print_operand_address): Pass mode to above.
- * config/v850/v850.c (v850_print_operand_address): Add MODE argument.
- (v850_print_operand): Pass mode to v850_print_operand_address,
- output_address.
- * config/mmix/mmix.c (mmix_print_operand_address): Add MODE argument.
- (mmix_print_operand): Pass mode in output_address calls.
- * config/sh/sh.c (sh_print_operand_address): Add MODE argument.
- (sh_print_operand): Pass mem mode to output_address,
- sh_print_operand_address.
- * config/cr16/cr16.c (cr16_print_operand_address): Add MODE argument.
- (cr16_print_operand): Pass mode to output_address,
- cr16_print_operand_address.
- * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to
- output_address.
- * config/microblaze/microblaze.c (print_operand): Pass mode to
- output_address.
- * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to
- output_address.
- (nios2_print_operand_address): Add MODE argument. Update call to
- nios2_print_operand_address.
- * config/s390/s390.c (print_operand): Pass mode to output_address.
- * config/m32c/m32c.c (m32c_print_operand_address): Add MODE argument.
- * config/arc/arc.c (arc_print_operand): Pass VOIDmode to
- output_address.
- * config/arm/arm.c (arm_print_operand_address): Add MODE argument.
- Use instead of output_memory_reference_mode.
- (output_memory_reference_mode): Delete global.
- (arm_print_operand): Pass mem mode to output_address.
- * config/m32r/m32r.c (m32r_print_operand_address): Add MODE argument.
- (m32r_print_operand): Pass mode to output_address.
- * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE
- argument.
- (msp430_print_operand): Pass mode to msp430_print_operand_addr.
- * config/i386/i386.c (ix86_print_operand): Pass mode to
- output_address calls.
- (ix86_print_operand_address): Add MODE argument.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68251
- * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around.
- * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust.
- * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
-
-2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67749
- * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE
- case before emitting the two blocks. Instead modify the register
- in the corresponding final insn of the basic block.
-
-2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
- assembler syntax.
- Support Solaris ld.
- Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
-
- * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
- HAVE_INITFINI_ARRAY_SUPPORT.
- * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT value.
-
- * configure.ac (gcc_cv_as_sparc_nobits): Remove.
- * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
- Don't check HAVE_AS_SPARC_NOBITS.
- Heed SECTION_NOTYPE.
-
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/68253
- * fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
-
-2015-11-09 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
- __SEG_GS, __SEG_TLS.
- (ix86_register_pragmas): Register address spaces __seg_fs,
- __seg_gs, __seg_tls.
- * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
- (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
- (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
- * config/i386/i386.c (ix86_decompose_address): Likewise.
- (ix86_legitimate_address_p): Likewise.
- (memory_address_length): Likewise. Check mem address space too.
- (ix86_print_operand): Use ix86_print_operand_address_as.
- (ix86_print_operand_address_as): Rename from
- ix86_print_operand_address, add new addr_space_t parameter.
- Validate that either the parameter or the ix86_address segment
- is default address space. Handle ADDR_SPACE_SEG_TLS.
- (ix86_print_operand_address): New.
- (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
- (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
- (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
- (ix86_addr_space_zero_address_valid): New.
- (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
- * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
- * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
- * config/i386/predicates.md (address_no_seg_operand): Likewise.
- (vsib_address_operand): Likewise.
- (address_mpx_no_base_operand): Likewise.
- (address_mpx_no_index_operand): Likewise.
- * doc/extend.texi (x86 Named Address Spaces): New section.
-
- * config/i386/i386.c (ix86_check_no_addr_space): New.
- (decide_alg): Add have_as parameter.
- (alg_usable_p): Likewise; disable rep algorithms if set.
- (ix86_expand_set_or_movmem): Notice if either MEM has a
- non-default address space.
- (ix86_expand_strlen): Likewise.
- * config/i386/i386.md (strmov, strset): Likewise.
- (*strmovdi_rex_1): Use ix86_check_no_addr_space.
- (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
- *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
- *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
- *cmpstrnqi_1, *strlenqi_1): Likewise.
-
- * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
- (*movabs<mode>_2): Likewise.
-
- * dwarf2out.c (modified_type_die): Pass the address space number
- through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
- * target.def (TARGET_ADDR_SPACE_DEBUG): New.
- * targhooks.c (default_addr_space_debug): New.
- * targhooks.h (default_addr_space_debug): Declare.
- * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
- * doc/tm.texi: Rebuild.
-
- * gimple.c (check_loadstore): Return false when 0 is a valid address.
- * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
- null when 0 is valid in the source address space.
- * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
- * targhooks.c (default_addr_space_zero_address_valid): New.
- * targhooks.h (default_addr_space_zero_address_valid): Declare.
- * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
- * doc/tm.texi: Rebuild.
-
- * cselib.c (add_mem_for_addr): Compare address spaces when
- matching memories.
- (cselib_lookup_mem): Likewise.
- * fold-const.c (operand_equal_p): Check address spaces of
- pointer types before checking integer constants.
-
- PR tree-opt/66768
- * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
- the correct type for the base.
-
-2015-11-09 Jeff Law <law@redhat.com>
-
- * tree-into-ssa.c (names_to_release): No longer static.
- * tree-into-ssa.h (names_to_release): Declare.
- * tree-ssanames.c (verify_ssaname_freelists): New debug function.
- (release_free_names_and_compact_live_names): New function extracted
- from pass_release_ssa_names::execute.
- (pass_release_ssa_names::execute): Use it.
-
-2015-11-09 Alan Modra <amodra@gmail.com>
-
- * gensupport.c (add_mnemonic_string): Make len param a size_t.
- (gen_mnemonic_setattr): Make "size" var a size_t. Use
- obstack_blank_fast to shrink obstack. Cast obstack_next_free
- return value.
-
-2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/68182
- * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
- branch with only one successor just like unconditional branches.
-
-2015-11-08 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
- non-FSM path has no edges marked with EDGE_DFS_BACK.
- (ssa_redirect_edges): No longer call mark_loop_for_removal.
- (thread_single_edge, def_split_header_continue_p): Remove.
- (bb_ends_with_multiway_branch): Likewise.
- (thread_through_loop_header): Remove cases of threading from
- latch through the header. Simplify knowing we won't thread
- the latch.
- (thread_through_all_blocks): Simplify knowing that only the FSM
- threader needs to handle backedges.
-
-2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
-
- * doc/extend.texi (type attributes): Document scalar_storage_order.
- (Structure-Packing Pragmas): Rename into...
- (Structure-Layout Pragmas): ...this. Document scalar_storage_order.
- * doc/invoke.texi (C Dialect Options): Document -fsso-struct
- (Warnings): Document -Wno-scalar-storage-order.
- * flag-types.h (enum scalar_storage_order_kind): New enumeration.
- * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
- extract_bit_field and store_bit_field.
- (initialize_argument_information): Adjust call to store_expr.
- (load_register_parameters): Adjust call to extract_bit_field.
- * expmed.c (check_reverse_storage_order_support): New function.
- (check_reverse_float_storage_order_support): Likewise.
- (flip_storage_order): Likewise.
- (store_bit_field_1): Add REVERSE parameter. Flip the storage order
- of the value if it is true. Pass REVERSE to recursive call after
- adjusting the target offset.
- Do not use extraction or movstrict instruction if REVERSE is true.
- Pass REVERSE to store_fixed_bit_field.
- (store_bit_field): Add REVERSE parameter and pass to it to above.
- (store_fixed_bit_field): Add REVERSE parameter and pass to it to
- store_split_bit_field and store_fixed_bit_field_1.
- (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
- order of the value if it is true and adjust the target offset.
- (store_split_bit_field): Add REVERSE parameter and pass it to
- store_fixed_bit_field. Adjust the target offset if it is true.
- (extract_bit_field_1): Add REVERSE parameter. Flip the storage order
- of the value if it is true. Pass REVERSE to recursive call after
- adjusting the target offset.
- Do not use extraction or subreg instruction if REVERSE is true.
- Pass REVERSE to extract_fixed_bit_field.
- (extract_bit_field): Add REVERSE parameter and pass to it to above.
- (extract_fixed_bit_field): Add REVERSE parameter and pass to it to
- extract_split_bit_field and extract_fixed_bit_field_1.
- (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
- order of the value if it is true and adjust the target offset.
- (extract_split_bit_field): Add REVERSE parameter and pass it to
- extract_fixed_bit_field. Adjust the target offset if it is true.
- * expmed.h (flip_storage_order): Declare.
- (store_bit_field): Adjust prototype.
- (extract_bit_field): Likewise.
- * expr.c (emit_group_load_1): Adjust calls to extract_bit_field.
- (emit_group_store): Adjust call to store_bit_field.
- (copy_blkmode_from_reg): Likewise.
- (copy_blkmode_to_reg): Likewise.
- (write_complex_part): Likewise.
- (read_complex_part): Likewise.
- (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert
- that it isn't true if the target is a register.
- <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1,
- and flip the storage order of the value.
- <BIT_IOR_EXPR>: Flip the storage order of the value.
- (get_bit_range): Adjust call to get_inner_reference.
- (expand_assignment): Adjust calls to get_inner_reference, store_expr,
- optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs
- with reverse storage order.
- (store_expr_with_bounds): Add REVERSE parameter and pass it to
- recursive calls and call to store_bit_field. Force the value into a
- register if it is true and then flip the storage order of the value.
- (store_expr): Add REVERSE parameter and pass it to above.
- (categorize_ctor_elements_1): Adjust call to
- initializer_constant_valid_p.
- (store_constructor_field): Add REVERSE parameter and pass it to
- recursive calls and call to store_field.
- (store_constructor): Add REVERSE parameter and pass it to calls to
- store_constructor_field and store_expr. Set it to true for an
- aggregate type with TYPE_REVERSE_STORAGE_ORDER.
- (store_field): Add REVERSE parameter and pass it to recursive calls
- and calls to store_expr and store_bit_field. Temporarily flip the
- storage order of the value with record type and integral mode and
- adjust the shift if it is true.
- (get_inner_reference): Add PREVERSEP parameter and set it to true
- upon encoutering a reference with reverse storage order.
- (expand_expr_addr_expr_1): Adjust call to get_inner_reference.
- (expand_constructor): Adjust call to store_constructor.
- (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER
- of the union type to store_expr in the MEM case and assert that it
- isn't set in the REG case. Adjust call to store_field.
- (expand_expr_real_1) <MEM_REF>: Handle reverse storage order.
- <normal_inner_ref>: Add REVERSEP variable and adjust calls to
- get_inner_reference and extract_bit_field. Temporarily flip the
- storage order of the value with record type and integral mode and
- adjust the shift if it is true. Flip the storage order of the value
- at the end if it is true.
- <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to
- get_inner_reference. Do not fetch an inner reference if it is true.
- * expr.h (store_expr_with_bounds): Ajust prototype.
- (store_expr): Likewise.
- * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set
- REF_REVERSE_STORAGE_ORDER on the reference according to it.
- (optimize_bit_field_compare): Deal with reverse storage order.
- Adjust calls to get_inner_reference and make_bit_field_ref.
- (decode_field_reference): Add PREVERSEP parameter and adjust call to
- get_inner_reference.
- (fold_truth_andor_1): Deal with reverse storage order. Adjust calls
- to decode_field_reference and make_bit_field_ref.
- (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference.
- <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag.
- (fold_comparison): Adjust call to get_inner_reference.
- (split_address_to_core_and_offset): Adjust call to
- get_inner_reference.
- * gimple-expr.c (useless_type_conversion_p): Return false for array
- types with different TYPE_REVERSE_STORAGE_ORDER flag.
- * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- * lto-streamer-out.c (hash_tree): Deal with TYPE_REVERSE_STORAGE_ORDER.
- * output.h (assemble_real): Adjust prototype.
- * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER.
- * stor-layout.c (finish_record_layout): Propagate the
- TYPE_REVERSE_STORAGE_ORDER flag to the variants.
- * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document.
- (TYPE_SATURATING): Adjust.
- (REF_REVERSE_STORAGE_ORDER): Document.
- * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and
- set it to true upon encoutering a reference with reverse storage order.
- * tree-dfa.h (get_ref_base_and_extent): Adjust prototype.
- * tree-inline.c (remap_gimple_op_r): Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- (copy_tree_body_r): Likewise.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to
- store_expr.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with
- TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER.
- * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
- * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the
- REF_REVERSE_STORAGE_ORDER flag.
- (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER.
- (gimple_canonical_types_compatible_p): Likewise.
- * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag.
- (TYPE_SATURATING): Adjust.
- (REF_REVERSE_STORAGE_ORDER): New flag.
- (reverse_storage_order_for_component_p): New inline predicate.
- (storage_order_barrier_p): Likewise.
- (get_inner_reference): Adjust prototype.
- * varasm.c: Include expmed.h.
- (assemble_variable_contents): Adjust call to output_constant.
- (assemble_real): Add REVERSE parameter. Flip the storage
- order of the value if REVERSE is true.
- (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER.
- (assemble_constant_contents): Adjust call to output_constant.
- (output_constant_pool_2): Adjust call to assemble_real.
- (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with
- TYPE_REVERSE_STORAGE_ORDER.
- (initializer_constant_valid_p): Add REVERSE parameter.
- (output_constant): Add REVERSE parameter.
- <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true.
- <REAL_TYPE>: Adjust call to assemble_real.
- <COMPLEX_TYPE>: Pass it to recursive calls.
- <ARRAY_TYPE>: Likewise. Adjust call to output_constructor.
- <RECORD_TYPE>: Likewise. Adjust call to output_constructor.
- (struct oc_local_state): Add REVERSE field.
- (output_constructor_array_range): Adjust calls to output_constant.
- (output_constructor_regular_field): Likewise.
- (output_constructor_bitfield): Adjust call to output_constructor.
- Flip the storage order of the value if REVERSE is true.
- (output_constructor): Add REVERSE parameter. Set it to true for an
- aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to
- output_constructor_bitfield.
- * varasm.h (initializer_constant_valid_p): Default REVERSE to false.
- * asan.c (instrument_derefs): Adjust call to get_inner_reference.
- * builtins.c (get_object_alignment_2): Likewise.
- * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
- and get_ref_base_and_extent.
- * dbxout.c (dbxout_expand_expr): Likewise.
- * dwarf2out.c (add_var_loc_to_decl): Likewise.
- (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
- (loc_list_from_tree): Likewise.
- (fortran_common): Likewise.
- * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
- get_ref_base_and_extent.
- (get_base_constructor): Likewise.
- (fold_const_aggregate_ref_1): Likewise.
- * gimple-laddress.c (pass_laddress::execute): Adjust call to
- get_inner_reference.
- * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
- get_inner_reference and bail out on reverse storage order.
- * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
- * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
- build_ref_for_offset.
- * ipa-polymorphic-call.c (set_by_invariant): Adjust call to
- get_ref_base_and_extent.
- (ipa_polymorphic_call_context): Likewise.
- (extr_type_from_vtbl_ptr_store): Likewise.
- (check_stmt_for_type_change): Likewise.
- (get_dynamic_type): Likewise.
- * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
- get_ref_base_and_extent.
- (compute_complex_assign_jump_func): Likewise.
- (get_ancestor_addr_info): Likewise.
- (compute_known_type_jump_func): Likewise.
- (determine_known_aggregate_parts): Likewise.
- (ipa_get_adjustment_candidate): Likewise.
- (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on MEM_REF.
- * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
- (build_ref_for_offset): Adjust prototype.
- * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
- get_inner_reference.
- * tree-affine.c (tree_to_aff_combination): Adjust call to
- get_inner_reference.
- (get_inner_reference_aff): Likewise.
- * tree-data-ref.c (split_constant_offset_1): Likewise.
- (dr_analyze_innermost): Likewise. Bail out if reverse storage order.
- * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
- get_inner_reference.
- * tree-sra.c (struct access): Add REVERSE and move WRITE around.
- (dump_access): Print new fields.
- (create_access): Adjust call to get_ref_base_and_extent and set the
- REVERSE flag according to the result.
- (completely_scalarize_record): Set the REVERSE flag.
- (scalarize_elem): Add REVERSE parameter.
- (build_access_from_expr_1): Preserve storage order barriers.
- (build_accesses_from_assign): Likewise.
- (build_ref_for_offset): Add REVERSE parameter and set the
- REF_REVERSE_STORAGE_ORDER flag accordingly.
- (build_ref_for_model): Adjust call to build_ref_for_offset and clear
- the REF_REVERSE_STORAGE_ORDER flag if there are components.
- (analyze_access_subtree): Likewise.
- (create_artificial_child_access): Set the REVERSE flag.
- (get_access_for_expr): Adjust call to get_ref_base_and_extent.
- (turn_representatives_into_adjustments): Propagate REVERSE flag.
- (ipa_sra_check_caller): Adjust call to get_inner_reference.
- * tree-ssa-alias.c (ao_ref_base): Adjust call to
- get_ref_base_and_extent.
- (aliasing_component_refs_p): Likewise.
- (stmt_kills_ref_p_1): Likewise.
- * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
- * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
- Return true if reverse storage order.
- <BIT_FIELD_REF>: Likewise.
- <COMPONENT_REF>: Likewise.
- <ARRAY_REF>: Likewise.
- <ARRAY_RANGE_REF>: Likewise.
- (split_address_cost): Likewise. Bail out if reverse storage order.
- * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
- get_inner_reference. Bail out if reverse storage order.
- (bswap_replace): Adjust call to get_inner_reference.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
- the REF_REVERSE_STORAGE_ORDER flag.
- <BIT_FIELD_REF>: Likewise.
- * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
- barriers.
- (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
- to the REF_REVERSE_STORAGE_ORDER flag.
- <BIT_FIELD_REF>: Likewise.
- <VIEW_CONVERT_EXPR>: Set it for storage order barriers.
- (contains_storage_order_barrier_p): New predicate.
- (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
- Punt on storage order barriers if necessary.
- * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
- * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
- call to get_ref_base_and_extent.
- (do_structure_copy): Likewise.
- * tree-vect-data-refs.c (vect_check_gather): Adjust call to
- get_inner_reference.
- (vect_analyze_data_refs): Likewise. Bail out if reverse storage order.
- * tsan.c (instrument_expr): Adjust call to get_inner_reference.
- * ubsan.c (instrument_bool_enum_load): Likewise.
- (instrument_object_size): Likewise.
- * var-tracking.c (track_expr_p): Adjust call to
- get_ref_base_and_extent.
- * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to
- get_inner_reference.
- * config/s390/s390.c (s390_expand_atomic): Adjust call to
- store_bit_field.
- * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to
- extract_bit_field.
- * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
-
-2015-11-07 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.opt (mfix-at697f): Add final period.
-
-2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67864
- * common/config/i386/i386-common.c (ix86_option_optimization_table)
- <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
- at -Os and up.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for
- internal functions.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP
- * builtins.c, genmatch.c, tree-core.h: Don't undef them here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * internal-fn.def: #undef DEF_INTERNAL_FN at the end.
- * internal-fn.c: Don't undef it here.
- * tree-core.h: Likewise.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_nan): Delete.
- (fold_builtin_memcmp): Remove case where both arguments are constant.
- (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
- (fold_builtin_strspn, fold_builtin_strcspn): Likewise.
- (fold_builtin_1): Remove BUILT_IN_NAN* handling.
- * fold-const-call.c: Include fold-const.h.
- (host_size_t_cst_p): New function.
- (build_cmp_result, fold_const_builtin_nan): Likewise.
- (fold_const_call_1): New function, split out from...
- (fold_const_call): ...here (for all three interfaces). Handle
- constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete.
- (fold_builtin_1): Don't call them.
- * fold-const-call.c: Include tm.h.
- (fold_const_call_ss): New variant for integer-to-integer folds.
- (fold_const_call): Call it.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_classify): Move constant cases to...
- * fold-const-call.c (fold_const_call_ss): ...here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (c_getstr): Move to...
- * fold-const.h (c_getstr): ...here.
- * builtins.c (c_getstr): Move to...
- * fold-const.c (c_getstr): ...here.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use
- ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO.
-
-2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
- the dominance info; free it if we can't.
- (pass_call_cdce::execute): Don't free the dominance info here.
-
-2015-11-06 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (dummy_simplify): Remove.
- (thread_around_empty_blocks): Remove backedge_seen_p argument.
- If we thread to a backedge, then return false. Update recursive
- call to eliminate backedge_seen_p argument.
- (thread_through_normal_block): Remove backedge_seen_p argument.
- Remove backedge_seen_p argument from calls to
- thread_around_empty_blocks. Remove checks on backedge_seen_p.
- If we thread to a backedge, then return 0.
- (thread_across_edge): Remove bookkeeping for backedge_seen. Don't
- pass it to thread_through_normal_block or thread_through_empty_blocks.
- For joiner handling, if we see a backedge, do not try normal
- threading.
-
-2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
- * graphite-poly.c (new_scop): Initialize original_schedule.
- (free_scop): Free original_schedule.
- * graphite-poly.h (struct scop): Add field original_schedule.
- * graphite-sese-to-poly.c (build_scop_original_schedule): New.
- (build_poly_scop): Call build_scop_original_schedule.
-
-2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
-
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
- (build_pbb_minimal_scattering_polyhedrons): New.
- (build_scop_scattering): Remove.
- (build_scop_minimal_scattering): New.
- (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
- (build_poly_scop): Call build_scop_minimal_scattering.
-
-2015-11-06 Jeff Law <law@redhat.com>
-
- * cfg-flags.def (IGNORE): New edge flag.
- * tree-vrp.c (identify_jump_threads): Mark and clear edges
- scheduled for removal with EDGE_IGNORE around call into
- jump threader. Do no thread across edges with EDGE_IGNORE,
- but do allow threading across those with EDGE_DFS_BACK.
-
-2015-11-06 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/md.texi (multi-alternative constraints): Don't document
- alternatives inherently tied to reload for the user documentation.
-
-2015-11-06 Michael Collison <michael.collison@linaro.org>
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- Revert:
- 2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.md (*arm_smin_cmp): New pattern.
- (*arm_umin_cmp): Likewise.
-
-2015-11-06 Jakub Jelinek <jakub@redhat.com>
-
- * gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording.
- * omp-low.c (check_omp_nesting_restrictions): Update for the
- various new OpenMP 4.5 nesting restrictions, clarified
- nesting glossary, closely nested region relationship clarified
- to mean explicit or implicit parallel regions (target/teams),
- use %</%> or %qs where appropriate.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (loop_is_valid_scop): Call
- optimize_loop_nest_for_speed_p.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Call
- isl_options_set_schedule_maximize_band_depth.
-
-2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (scop_detection::merge_sese): Entry
- and exit edges should not be a part of irreducible loop.
- (scop_detection::can_represent_loop_1): Loops should not be
- irreducible.
- (scop_detection::harmful_stmt_in_region): All the basic block
- should belong to reducible loops.
-
-2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/aarch64/aarch64-simd-builtins.def: Update builtins
- tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
- * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
- (aarch64_tbl3<mode>) ... this, which supports v16qi too.
- (aarch64_tbx4v8qi): Rename to...
- aarch64_tbx4<mode>): ... this.
- (aarch64_qtbl3<mode>): New pattern.
- (aarch64_qtbx3<mode>): New pattern.
- (aarch64_qtbl4<mode>): New pattern.
- (aarch64_qtbx4<mode>): New pattern.
- * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
- (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
- (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
- (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
- (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
- (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
- (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
- (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
- functions.
-
-2015-11-06 Mike Stump <mikestump@comcast.net>
-
- PR debug/66728
- * dwarf2out.c (get_full_len): Return a value based upon the actual
- precision needed for the value.
- (add_const_value_attribute): Use a maximal wide-int for
- CONST_WIDE_INTs, not VOIDmode.
- (output_die): Don't ever output NULL with printf.
-
- * rtl.h (get_precision of rtx_mode_t): Ensure we never process
- BLKmode nor VOIDmode values.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
- and "range2".
- (parse_gcc_colors): Update comment to describe default GCC_COLORS.
- * diagnostic-core.h (warning_at_rich_loc): New declaration.
- (error_at_rich_loc): New declaration.
- (permerror_at_rich_loc): New declaration.
- (inform_at_rich_loc): New declaration.
- * diagnostic-show-locus.c (adjust_line): Delete.
- (struct point_state): New struct.
- (class colorizer): New class.
- (class layout_point): New class.
- (class layout_range): New class.
- (struct line_bounds): New.
- (class layout): New class.
- (colorizer::colorizer): New ctor.
- (colorizer::~colorizer): New dtor.
- (layout::layout): New ctor.
- (layout::print_source_line): New method.
- (layout::print_annotation_line): New method.
- (layout::get_state_at_point): New method.
- (layout::get_x_bound_for_row): New method.
- (diagnostic_show_locus): Reimplement in terms of class layout.
- (diagnostic_print_caret_line): Delete.
- * diagnostic.c (diagnostic_initialize): Replace
- MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
- (diagnostic_set_info_translated): Convert param from location_t
- to rich_location *. Eliminate calls to set_location on the
- message in favor of storing the rich_location ptr there.
- (diagnostic_set_info): Convert param from location_t to
- rich_location *.
- (diagnostic_build_prefix): Break out array into...
- (diagnostic_kind_color): New variable.
- (diagnostic_get_color_for_kind): New function.
- (diagnostic_report_diagnostic): Colorize the option_text
- using the color for the severity.
- (diagnostic_append_note): Update for change in signature of
- diagnostic_set_info.
- (diagnostic_append_note_at_rich_loc): New function.
- (emit_diagnostic): Update for change in signature of
- diagnostic_set_info.
- (inform): Likewise.
- (inform_at_rich_loc): New function.
- (inform_n): Update for change in signature of diagnostic_set_info.
- (warning): Likewise.
- (warning_at): Likewise.
- (warning_at_rich_loc): New function.
- (warning_n): Update for change in signature of diagnostic_set_info.
- (pedwarn): Likewise.
- (permerror): Likewise.
- (permerror_at_rich_loc): New function.
- (error): Update for change in signature of diagnostic_set_info.
- (error_n): Likewise.
- (error_at): Likewise.
- (error_at_rich_loc): New function.
- (sorry): Update for change in signature of diagnostic_set_info.
- (fatal_error): Likewise.
- (internal_error): Likewise.
- (internal_error_no_backtrace): Likewise.
- (source_range::debug): New function.
- * diagnostic.h (struct diagnostic_info): Eliminate field
- "override_column". Add field "richloc".
- (struct diagnostic_context): Add field "colorize_source_p".
- (diagnostic_override_column): Delete.
- (diagnostic_set_info): Convert param from location_t to
- rich_location *.
- (diagnostic_set_info_translated): Likewise.
- (diagnostic_append_note_at_rich_loc): New function.
- (diagnostic_num_locations): New function.
- (diagnostic_expand_location): Get the location from the
- rich_location.
- (diagnostic_print_caret_line): Delete.
- (diagnostic_get_color_for_kind): New declaration.
- * genmatch.c (linemap_client_expand_location_to_spelling_point): New.
- (error_cb): Update for change in signature of "error" callback.
- (fatal_at): Likewise.
- (warning_at): Likewise.
- * input.c (linemap_client_expand_location_to_spelling_point): New.
- * pretty-print.c (text_info::set_range): New method.
- (text_info::get_location): New method.
- * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
- (struct text_info): Eliminate "locations" array in favor of
- "m_richloc", a rich_location *.
- (textinfo::set_location): Add a "caret_p" param, and reimplement
- in terms of a call to set_range.
- (textinfo::get_location): Eliminate inline implementation in favor of
- an out-of-line reimplementation.
- (textinfo::set_range): New method.
- * rtl-error.c (diagnostic_for_asm): Update for change in signature
- of diagnostic_set_info.
- * tree-diagnostic.c (default_tree_printer): Update for new
- "caret_p" param for textinfo::set_location.
- * tree-pretty-print.c (percent_K_format): Likewise.
-
-2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- Properly apply.
- 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- * config/aarch64/aarch64.c
- (aarch64_can_use_per_function_literal_pools_p): New.
- (aarch64_use_blocks_for_constant_p): Adjust declaration
- and use aarch64_can_use_function_literal_pools_p.
- (aarch64_select_rtx_section): Update.
-
-2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
- * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
- (arm_output_multireg_pop): Likewise.
- (output_move_double): Likewise.
- (output_move_quad): Likewise.
- (output_return_instruction): Likewise.
- (arm_print_operand): Remove support for %( and %. print modifiers.
- (arm_output_shift): Make unified asm.
- (arm_declare_function_name): Likewise.
- * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
- (ASM_APP_OFF): Adjust.
- (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
- (ASM_OUTPUT_REG_POP): Likewise.
- * config/arm/arm.md: Adjust uses of %., %(, %)
- * config/arm/sync.md: Likewise.
- * config/arm/thumb2.md: Likewise.
- * config/arm/ldmstm.md: Regenerate.
- * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
- * doc/invoke.texi (masm-unified-syntax): Update documentation.
-
-2015-11-06 David Malcolm <dmalcolm@redhat.com>
-
- * input.c (dump_line_table_statistics): Dump stats on adhoc table.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
- add OEP_MATCH_SIDE_EFFECTS.
- * fold-const.c (operand_equal_p): Update documentation; handle
- OEP_MATCH_SIDE_EFFECTS.
- * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
- OEP_MATCH_SIDE_EFFECTS.
-
-2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
- Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
- * config/aarch64/aarch64-protos.h: Declare.
- * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
- frsqrts.
- * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
- * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation
- code when applicable.
- * config/aarch64/aarch64.md: Added enum entries.
- * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
-
-2015-11-07 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/68057
- PR ipa/68220
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
- issue when offset is out of range.
- (contains_type_p): Fix out of range check, clear dynamic flag.
-
-2015-11-06 Arnout Vandecappelle <arnout@mind.be>
-
- * config.gcc (e6500): Fix cpu_is_64bit typo.
-
-2015-11-06 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-sra.c (completely_scalarize): Properly handle negative array
- indices using offset_int.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * alloc-pool.h (object_allocator::allocate): Default-initialize
- object.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
- * lra.c (init_reg_info): Truncate copy_vec instead of
- re-allocating a new one and leaking the old.
- * ipa-inline-analysis.c (estimate_function_body_sizes): Free
- bb_infos vec.
- * sched-deps.c (sched_deps_finish): Free the dn/dl pools.
- * postreload-gcse.c (free_mem): Free modify_mem_list and
- canon_modify_mem_list.
-
-2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR tree-optimization/68145
- * tree-vect-stmts.c (vectorizable_operation): Fix
- determination for booleans.
-
-2015-11-06 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (gimple_split_block_before_cond_jump): Split before
- cond_jump, instead of split after last nondebug insn before cond_jump.
- * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
- returning.
-
-2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68088
- * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
- subregs from accumulator and make sure it's a register.
-
-2015-11-06 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
- low part to scalar.
- (reduc_uplus_<mode>): Remove.
- (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
- loongson_extract_lo_<mode>.
- (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
- reduc_smax_<mode>, reduc_smax_<mode>, use vec
- loongson_extract_lo_<mode>.
- (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
- members.
- (vect_stmt_in_region_p): Declare.
- * tree-vect-slp.c (new_bb_vec_info): Work on a region.
- (destroy_bb_vec_info): Likewise.
- (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
- (vect_get_and_check_slp_defs): Likewise.
- (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
- (vect_slp_bb): Likewise.
- * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
- in terms of vect_stmt_in_region_p.
- (vect_pattern_recog): Iterate over the BB region.
- * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
- * tree-vectorizer.c (vect_stmt_in_region_p): New function.
- (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
- * config/i386/i386.c: Include gimple-iterator.h.
- * config/aarch64/aarch64.c: Likewise.
-
-2015-11-06 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/67753
- PR rtl-optimization/64164
- * function.c (assign_parm_setup_block): Avoid allocating a
- stack slot if we don't have an ABI-reserved one. Emit the
- copy to target_reg in the conversion seq if the copy from
- entry_parm is in it too. Don't use the conversion seq to copy
- a PARALLEL to a REG or a CONCAT.
-
-2015-11-06 Richard Biener <rguenther@suse.de>
-
- * tree-hash-traits.h (tree_operand_hash): Provide equal, not
- equal_keys.
-
-2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
- Thomas Schwinge <thomas@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
-
-
- * gimplify.c (gimplify_scan_omp_clauses): Add support for
- OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT.
- (gimplify_adjust_omp_clauses): Likewise.
- * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE.
- * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE.
- * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE.
- * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE.
- (omp_clause_code_name): Likewise.
- (walk_tree_1): Handle OMP_CLAUSE_TILE.
- * tree.h (OMP_TILE_LIST): New macro.
-
-2015-11-05 Martin Sebor <msebor@redhat.com>
-
- PR c++/67942
- * doc/invoke.texi (-Wplacement-new): Document new option.
-
-2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle
- LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs.
-
-2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New.
- (noce_convert_multiple_sets): Likewise.
- (noce_process_if_block): Call them.
-
-2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimple-fold.c: Include omp-low.h.
- (fold_internal_goacc_dim): New.
- (gimple_fold_call): Call it.
-
-2015-11-05 Jakub Jelinek <jakub@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * builtin-types.def
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
- * cgraph.h (enum cgraph_simd_clone_arg_type): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP,
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP.
- (struct cgraph_simd_clone_arg): Adjust comment.
- * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41
- to GOMP_target_ext. Add num_teams and thread_limit arguments.
- (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41
- to GOMP_target_data_ext.
- (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41
- to GOMP_target_update_ext.
- (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
- BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
- BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
- BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins.
- * tree-core.h (enum omp_clause_schedule_kind): Add
- OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC,
- OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change
- OMP_CLAUSE_SCHEDULE_LAST value.
- * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
- OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
- * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
- OMP_FOR_CHECK. Remove comment.
- * tree-pretty-print.c (dump_omp_clause): Handle
- GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER.
- Simplify. Print schedule clause modifiers.
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP
- cases.
- * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO.
- (omp_default_clause): Tweak for
- private/firstprivate/is_device_ptr variables on target
- construct and use_device_ptr on target data.
- (omp_check_private): Likewise.
- (omp_notice_variable): For references check whether what it refers
- to has mappable type, rather than the reference itself.
- (omp_is_private): Diagnose linear iteration variables on non-simd
- constructs.
- (omp_no_lastprivate): Return true only for Fortran.
- (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for
- GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds.
- Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and
- GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element
- based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of
- lastprivate and linear when combined with distribute. Gimplify
- variable low-bound for array reduction. Look through
- POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section
- reductions.
- (gimplify_adjust_omp_clauses_1): For implicit references to
- variables with reference type and when not ref to scalar or
- ref to pointer, map what they refer to using tofrom and
- use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference.
- (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER
- from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE.
- Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P.
- Diagnose the same var on both firstprivate and lastprivate on
- distribute construct.
- (gimplify_omp_for): Fix up handling of predetermined
- lastprivate or linear iter vars when combined with distribute.
- (find_omp_teams, computable_teams_clause, optimize_target_teams): New
- functions.
- (gimplify_omp_workshare): Call optimize_target_teams.
- * omp-low.c (struct omp_region): Add sched_modifiers field.
- (struct omp_for_data): Likewise.
- (omp_any_child_fn_dumped): New variable.
- (extract_omp_for_data): Fill in sched_modifiers, and mask out
- OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK
- from sched_kind.
- (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK
- bits of OMP_CLAUSE_SCHED_KIND.
- (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE,
- drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR
- for array section reductions.
- (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even
- for distribute parallel for, if there are lastprivate clauses on the
- for.
- (lower_rec_input_clauses): Handle non-zero low-bound on array
- section reductions.
- (lower_reduction_clauses): Likewise.
- (lower_send_clauses): Look through POINTER_PLUS_EXPR
- for array section reductions.
- (expand_parallel_call): Use nonmonotonic entrypoints for
- nonmonotonic: dynamic/guided.
- (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on
- child_fn if current_function_decl has assembler name set, but child_fn
- does not. Dump the header and IL of the child function when not in SSA
- form.
- (expand_omp_target): Likewise. Pass num_teams and thread_limit
- arguments to BUILT_IN_GOMP_TARGET.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Initialize the extra _looptemp_ clause to fd->loop.n2.
- (expand_omp_for): Use nonmonotonic entrypoints for
- nonmonotonic: dynamic/guided. Initialize region->sched_modifiers.
- (expand_omp): Clear omp_any_child_fn_dumped. Dump function header
- again if we have dumped any child functions.
- (lower_omp_for_lastprivate): Determine the right count variable
- for distribute simd, or distribute parallel for{, simd}.
- (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE
- and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE
- support.
- (simd_clone_clauses_extract): Handle variable step
- for references and arguments passed by reference.
- (simd_clone_mangle): Mangle ref/uval/val variable steps.
- (simd_clone_adjust_argument_types): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
- (simd_clone_linear_addend): New function.
- (simd_clone_adjust): Handle variable step like similarly
- to constant step, use simd_clone_linear_addend to determine
- the actual step at runtime.
-
-2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
-
- * target.def (goacc.dim_limit): New hook.
- * targhooks.h (default_goacc_dim_limit): Declare.
- * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
- * doc/tm.texi: Rebuilt.
- * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
- * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
- (default_goacc_dim_limit): New.
- * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
- (nvptx_goacc_dim_limit) New.
- (TARGET_GOACC_DIM_LIMIT): Override.
- * tree-vrp.c: Include omp-low.h, target.h.
- (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
- IFN_GOACC_DIM_POS.
-
-2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-generic.c (do_compare): Use -1 for true
- result instead of 1.
-
-2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c
- (aarch64_can_use_per_function_literal_pools_p): New.
- (aarch64_use_blocks_for_constant_p): Adjust declaration
- and use aarch64_can_use_function_literal_pools_p.
- (aarch64_select_rtx_section): Update.
-
-2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * targhooks.c (default_get_mask_mode): Use BLKmode in
- case target doesn't support required vector mode.
- * stor-layout.c (layout_type); Check for BLKmode.
-
-2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
- Remove use of parameter_rename_map.
- (copy_def): Remove.
- (copy_internal_parameters): Remove.
- (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
- * sese.c (new_sese_info): Do not initialize parameter_rename_map.
- (free_sese_info): Do not free parameter_rename_map.
- (set_rename): Do not use parameter_rename_map.
- (rename_uses): Update call to set_rename.
- (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
- * sese.h (parameter_rename_map_t): Remove.
- (struct sese_info_t): Remove field parameter_rename_map.
-
-2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
- (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
- * graphite-scop-detection.c (dot_all_scops_1): Moved out of
- anonymous namespace.
- * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
- (isl_id_for_pbb): Use a buffer of size 10.
- (isl_id_for_ssa_name): Same.
- * sese.c (set_rename): Add more dumps.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (struct omp_context): Remove reduction_map field.
- (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
- (new_omp_context, delete_omp_context, scan_omp_target): Remove
- reduction_map handling.
- (lower_omp_target): Remove obsolete openacc reduction handling.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.c: Include gimple headers.
- (worker_red_size, worker_red_align, worker_red_name,
- worker_red_sym): New.
- (nvptx_option_override): Initialize worker reduction buffer.
- (nvptx_file_end): Write out worker reduction buffer var.
- (nvptx_expand_shuffle, nvptx_expand_worker_addr,
- nvptx_expand_cmp_swap): New builtin expanders.
- (enum nvptx_builtins): New.
- (nvptx_builtin_decls): New.
- (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
- (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
- (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
- nvptx_lockless_update): New helpers.
- (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
- nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
- (nvptx_goacc_reduction): New.
- (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
- TARGET_BUILTIN_DECL): Override.
- (TARGET_GOACC_REDUCTION): Override.
-
-2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * internal-fn.def (GOACC_REDUCTION): New.
- * internal-fn.h (enum ifn_goacc_reduction_kind): New.
- * internal-fn.c (expand_GOACC_REDUCTION): New.
- * target.def (goacc.reduction): New OpenACC hook.
- * targhooks.h (default_goacc_reduction): Declare.
- * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
- * doc/tm.texi: Rebuilt.
- * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
- scan_sharing_clauses): Remove oacc reduction handling here.
- (lower_rec_input_clauses): Don't handle OpenACC reductions here.
- (oacc_lower_reduction_var_helper): Delete.
- (lower_oacc_reductions): New.
- (lower_reduction_clauses): Don't handle OpenACC reductions here.
- (lower_oacc_head_tail): Call lower_oacc_reductions.
- (oacc_gimple_assign, oacc_init_reduction_array,
- oacc_initialize_reduction_data, oacc_finalize_reduction_data,
- oacc_process_reduction_data): Delete.
- (lower_omp_target): Remove old OpenACC reduction handling. Insert
- dummy OpenACC gang reduction for reductions at outer level.
- (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
- (default_goacc_reduction): New.
- (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
-
-2015-11-04 Martin Liska <mliska@suse.cz>
-
- * cgraphunit.c (cgraph_node::expand_thunk): Call
- allocate_struct_function before init_function_start.
- (cgraph_node::expand): Use push_cfun and pop_cfun.
- * config/i386/i386.c (ix86_code_end): Call
- allocate_struct_function before init_function_start.
- * config/rs6000/rs6000.c (rs6000_code_end): Likewise.
- * function.c (init_function_start): Move preamble to all
- callers.
- * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
- (execute_one_pass): Handle newly added TODO_discard_function.
- (execute_pass_list_1): Terminate if cfun equals to NULL.
- (execute_pass_list): Do not push and pop cfun, expect that
- cfun is set.
- * tree-pass.h (TODO_discard_function): Define.
-
-2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
-
- * cfganal.c (inverted_post_order_compute): Remove conditional
- compilation, use flag_checking.
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac: Remove ENABLE_CHECKING.
- * genconditions.c: Do not #undef ENABLE_CHECKING.
- * sese.h (bb_in_region): Comment out broken check.
- * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
- conditional compilation, use flag_checking.
-
-2015-11-04 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67742
- * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
- field.
- (push_fields_onto_fieldstack): Handle restrict_pointed_type field.
- (create_variable_info_for_1): Add and handle handle_param parameter.
- Add restrict handling.
- (create_variable_info_for): Call create_variable_info_for_1 with extra
- arg.
- (make_param_constraints): Drop restrict_name parameter. Ignore
- vi->only_restrict_pointers.
- (intra_create_variable_infos): Call create_variable_info_for_1 with
- extra arg. Remove restrict handling. Call make_param_constraints with
- one fewer arg.
-
-2015-11-04 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
- variable.
-
-2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arm/coff.h: Remove.
-
-2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
- check for aggregate types and beef up comment for mode check.
-
-2015-11-03 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
- data references here.
- * tree-vect-loop.c: Include cgraph.h.
- (vect_analyze_loop_2): Collect data references here.
- * tree-vect-slp.c (find_bb_location): Inline ...
- (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb.
- Factor in vect_slp_transform_bb.
- (vect_slp_transform_bb): Removed.
- (vect_slp_analyze_bb_1): Collect data references here.
- * tree-vectorizer.c (pass_slp_vectorize::execute): Call
- vect_slp_bb.
- * tree-vectorizer.h (vect_slp_bb): Declare.
- (vect_slp_analyze_bb): Remove.
- (vect_slp_transform_bb): Remove.
- (find_bb_location): Remove.
- (vect_analyze_data_refs): Remove stmt count reference parameter.
-
-2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
-
- * multiple_target.c (create_dispatcher_calls): Add target check
- on ifunc.
- (create_target_clone): Change assembler name for versioned declarations.
-
-2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
- * omp-low.c (check_omp_nesting_restrictions): Allow
- GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
- contexts.
-
-2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
- * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
- * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
- builtin.
- (vmulxq_f32): Likewise.
- (vmulx_f64): New.
- (vmulxq_f64): Rewrite to call fmulx builtin.
- (vmulxs_f32): Likewise.
- (vmulxd_f64): Likewise.
- (vmulx_lane_f32): Remove.
- * config/aarch64/iterators.md (UNSPEC): Add fmulx.
-
-2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.md (*movhf_aarch64): Use
- aarch64_reg_or_fp_zero for second operand.
-
-2015-11-03 Alexandre Oliva <aoliva@redhat.com>
-
- * gimple-expr.c: Include hash-set.h and rtl.h.
- (mark_addressable_queue): New var.
- (mark_addressable): Factor actual marking into...
- (mark_addressable_1): ... this. Queue it up during expand.
- (mark_addressable_2): New.
- (flush_mark_addressable_queue): New.
- * gimple-expr.h (flush_mark_addressable_queue): Declare.
- * cfgexpand.c: Include gimple-expr.h.
- (pass_expand::execute): Flush mark_addressable queue.
-
-2015-11-02 Alexandre Oliva <aoliva@redhat.com>
-
- * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
- bb_no_side_effects_p tests...
- (tree_ssa_ifcombine_bb): ... here.
-
- PR tree-optimization/68083
- * tree-ssa-ifcombine.c: Include tree-ssa.h.
- (bb_no_side_effects_p): Test for undefined uses too.
- * tree-ssa.c (gimple_uses_undefined_value_p): New.
- * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
-
-2015-11-02 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
- cases where the loop latch edge is in the middle of an FSM path.
-
-2015-11-03 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
- (make_param_constraints): ... this. Add and handle restrict_name
- parameter. Handle is_full_var case.
- (intra_create_variable_infos): Use make_param_constraints.
-
-2015-11-03 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
- make_copy_constraint call with make_constraint_from call.
-
-2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
- PIE executables.
-
-2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.h (fold_fma): Move to fold-const-call.h.
- * builtins.c: Include fold-const-call.h.
- (mathfn_built_in_2): New function, split out from...
- (mathfn_built_in_1): ...here.
- (do_real_to_int_conversion, fold_const_builtin_pow)
- (fold_const_builtin_logb, fold_const_builtin_significand)
- (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
- (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
- (fold_builtin_sincos): Use fold_const_call to handle constants.
- (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
- checks for ERROR_MARK. Use fold_const_call to handle constant
- folds for math functions.
- (fold_fma): Move to fold-const-call.c.
- * fold-const.c: Include fold-const-call.h.
- * Makefile.in (OBJS): Add fold-const-call.o.
- (PLUGIN_HEADERS): Add fold-const-call.h.
- * realmpfr.h (real_from_mpfr): Allow the format to be specified
- directly.
- * realmpfr.c (real_from_mpfr): Likewise.
- * fold-const-call.h, fold-const-call.c: New files.
-
-2015-11-02 Julian Brown <julian@codesourcery.com>
-
- * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
- brackets and semicolon.
-
-2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
-
- Revert:
- 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
- LSHIFT_EXPRs as equivalent MULT_EXPRs.
-
-2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR middle-end/68166
- * fold-const.c: Include "md5.h".
-
-2015-11-01 Jeff Law <law@redhat.com>
-
- * vmsdbgout.c: Revert unused header file reduction patch.
-
- * config/mcore/mcore.c: Include regs.h.
-
-2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
-
-2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
- same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
- live as for using it elsewhere, for TARGET_MINIMAL_TOC.
-
-2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * ggc-common.c: Restore needed header for checking=release.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
- existing varinfo for arguments.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
- create_function_info_for. Dump constraints generated during
- create_function_info_for. Move intra_create_variable_infos call and
- function-return-values-escape bit to ...
- (create_function_info_for): ... here, and merge
- intra_create_variable_infos call with argument loop. Add and handle
- nonlocal_p parameter.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
- updating is alap, and seperated from preceding code. Make sure
- insert_vi_for_tree is seperated from surrounding code.
-
-2015-10-31 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
-
-2015-10-30 Jeff Law <law@redhat.com>
- Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
- args.
- (MOVE_MAX): Set to 8.
-
-2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
-
- * cgraph.c: Include context.h for offloading.
- * varpool.c: Include context.h and omp-low.h.
-
-2015-10-30 Anatoly Sokolov <aesok@post.ru>
-
- * rtl.h (contains_symbol_ref_p): Declare.
- (SYMBOL_REF_P): Define.
- * rtlanal.c (contains_symbol_ref_p: New function.
- * lra-constraints.c (contains_symbol_ref_p): Remove.
- * var-tracking.c (contains_symbol_ref): Remove.
- (track_expr_p): Use contains_symbol_ref_p instead of
- contains_symbol_ref.
-
-2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
-
- * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
- * fold-const.c (get_array_ctor_element_at_index): New.
- (fold): Remove binary-search through CONSTRUCTOR, call previous.
-
- * fold-const.h (get_array_ctor_element_at_index): New.
-
-2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
-
- * Makefile.in (OBJS): Add multiple_target.o.
- * attrib.c (make_attribute): Moved from config/i386/i386.c
- * config/i386/i386.c (make_attribute): Deleted.
- * multiple_target.c (create_dispatcher_calls): New.
- (get_attr_len): Ditto.
- (get_attr_str): Ditto.
- (separate_attrs): Ditto.
- (is_valid_asm_symbol): Ditto.
- (create_new_asm_name): Ditto.
- (create_target_clone): Ditto.
- (expand_target_clones): Ditto.
- (ipa_target_clone): Ditto.
- (ipa_dispatcher_calls): Ditto.
- * passes.def (pass_target_clone): Two new ipa passes.
- * tree-pass.h (make_pass_target_clone): Ditto.
- * doc/extend.texi (target_clones): New attribute description.
-
-2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/68106
- * lra-remat.c (input_regno_present_p): Process hard regs
- explicitly present in machine description insns.
- (call_used_input_regno_present_p): Ditto.
- (calculate_gen_cands): Ditto.
- (do_remat): Ditto.
-
-2015-10-30 Jim Wilson <jim.wilson@linaro.org>
-
- * config/arm/neon-testgen.ml: Fix comment typo.
-
-2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * rtlanal.c (reg_set_p): Expand function comment.
-
-2015-10-30 Andrew MacLeod <amacleod@redhat.com>
-
- * alias.c: Remove unused headers.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bitmap.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-common.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphds.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * lists.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
-
-2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
- between pass numbering and execution order.
-
-2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
- check for dependencies.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
- CDI_DOMINATORS.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (format_helper): New.
- (real_convert, exact_real_truncate, real_from_string3, real_to_target)
- (real_from_target, real_nan, real_2expN, real_value_truncate)
- (significand_size, real_from_string2, exact_real_inverse)
- (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
- (real_round, real_isinteger, real_from_integer): Replace
- machine_mode arguments with format_helper arguments.
- * real.c (exact_real_inverse, real_from_string2, real_from_string3)
- (real_from_integer, real_nan, real_2expN, real_convert)
- (real_value_truncate, exact_real_truncate, real_to_target)
- (real_from_target, significand_size, real_powi, real_trunc)
- (real_floor, real_ceil, real_round, real_isinteger): Replace
- machine_mode arguments with format_helper arguments.
- (real_to_target_fmt, real_from_target_fmt): Delete.
- * dfp.h (decimal_real_convert): Replace mode argument with real_format.
- * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
- argument with real_format.
- * builtins.c (do_real_to_int_conversion): Update type of fn argument.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
- (fixed_to_decimal, fixed_convert_from_real)
- (real_convert_from_fixed): Fix mode arguments to real_2expN.
-
-2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
- SCALAR_FLOAT_MODE_P.
-
-2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
- (completely_scalarize): Comment zero-length arrays.
- (get_access_replacement): Correct comment re. precondition.
-
-2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/i386.c (get_builtin_code_for_version): Set priority
- for PROCESSOR_ZNVER1.
- (enum processor_model): Add M_AMDFAM17H_znver1.
- (struct arch_names_table): Likewise.
- * doc/extend.texi: ADD znver1.
-
-2015-10-30 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Do not dispatch to
- fold () on single RHSs. Allow CONSTRUCTORS with trailing
- zeros to be folded to VECTOR_CSTs.
- * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
- * fold-const.c (fold): Use build_vector_from_ctor.
-
-2015-10-30 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
- "mov %0.h[0], %1.h[0] to "neon_move".
- (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
- (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
- "mov_imm".
- (*cmovsi_insn_uxtw): Likewise.
-
-2015-10-30 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
- unsigned, and initialize, and use initial value instead of hardcoded
- constant. Add generic constraints dumping section. Don't dump global
- initializers constraints dumping section if empty. Don't update
- variable from if unused.
-
-2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
- flag_checking and/or CHECKING_P to eliminate conditional compilation
- on ENABLE_CHECKING.
- * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
- * config/bfin/bfin.c (hwloop_optimize): Likewise.
- * config/i386/i386.c (ix86_print_operand_address): Likewise.
- (output_387_binary_op): Likewise.
- * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
- * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
- * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
- Likewise.
- * config/rs6000/rs6000.h: Likewise.
- * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
-
-2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.opt (mfdpic): Add missing period.
-
-2015-08-29 Anatoly Sokolov <aesok@post.ru>
-
- * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
- GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
- mcore_base_register_rtx_p, mcore_legitimate_index_p,
- mcore_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-10-29 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
- method.
- * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts_at_dest): Remove
- backedge_seen argument and associated code which invalidated
- equivalences based on the value of that argument.
- (thread_through_normal_block): Corresponding changes.
-
-2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
- function earlier in the file.
- (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
- df_regs_ever_live_p.
-
-2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
- by ignoring it.
-
-2015-10-29 Richard Henderson <rth@redhat.com>
-
- PR target/68124
- PR rtl-opt/67609
- * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
- sse check to the exact conditions of PR 67609.
-
-2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
- setup into 3 functions: init_float128_ibm, init_float128_ieee, and
- rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
- of the traditional names that TFmode uses for handling IEEE
- extended double. If -mfloat128, add KFmode functions for all of
- the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
- make TFmode use the same emulation functions as KFmode.
- (init_float128_ibm): Likewise.
- (init_float128_ieee): Likewise.
- (rs6000_generate_compare): For IEEE 128-bit floating point
- comparisons, call the unordered comparison function instead of the
- ordered comparison function.
- (rs6000_expand_float128_convert): Deal with operands that are
- memory operands. Restructure the code to use a switch statement on
- the mode. Add support for TFmode defaulting to either IBM extended
- double or IEEE 128-bit floating point. If the underlying types are
- the same, use a move instead of a conversion function.
- (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
- use for IEEE 128-bit floating point constants with -mfloat128.
- (rs6000_c_mode_for_suffix): Likewise.
- (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
- 128-bit floating point with IBM extended double floating point.
- (rs6000_invalid_binary_op): Likewise.
- (rs6000_gen_le_vsx_permute): On little endian systems generate a
- ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
- types that can go in vector registers.
- (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
- point types that can go in vector registers on little endian
- PowerPC systems.
- (mark_swaps_for_removal): Likewise.
- (rs6000_analyze_swaps): Likewise.
- (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
-
- * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
- rework IEEE 128-bit floating point insns to deal with TFmode being
- either IBM extended double or IEEE 128-bit floating point.
- (IFKF): Likewise.
- (IBM128): Update iterator to add condition that the mode is IBM
- extended double.
- (IEEE128): New iterator for IEEE 128-bit floating point.
- (TFIFKF): Rename TFIFKF iterator to FLOAT128.
- (FLOAT128): Likewise.
- (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
- iterator.
- (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
- for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
- instead of hard coding TFmode or KFmode.
- (negtf2_internal): Likewise.
- (neg<mode>2_internal): Likewise.
- (abs<mode>2): Likewise.
- (abstf2_internal): Likewise.
- (abs<mode>2_internal): Likewise.
- (ieee_128bit_neg<mode>2): Likewise.
- (ieee_128bit_neg<mode>2_internal): Likewise.
- (ieee_128bit_abs<mode>2): Likewise.
- (ieee_128bit_abs<mode>2_internal): Likewise.
- (ieee_128bit_nabs<mode>2): Likewise.
- (ieee_128bit_nabs<mode>2_internal): Likewise.
- (extendiftf2): Add explicit conversions between 128-bit floating
- point types. Drop the old conversions that had become unwieldy.
- (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
- (extendifkf2): Likewise.
- (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
- (extendtfkf2): Likewise.
- (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (trunciftf2): Likewise.
- (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
- (truncifkf2): Likewise.
- (float<SDI:mode><IFKF:mode>2): Likewise.
- (trunckftf2): Likewise.
- (floatuns<SDI:mode><IFKF:mode>2): Likewise.
- (trunctfif2): Likewise.
- (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
- (extenddftf2): Rework 128-bit floating point conversions to
- properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
- KFmode expanders into one function.
- (extenddf<mode>2): Likewise.
- (extenddftf2_fprs): Likewise.
- (extenddf<mode>2_fprs): Likewise.
- (extenddftf2_vsx): Likewise.
- (extenddf<mode>2_vsx): Likewise.
- (extendsftf2): Likewise.
- (extendsf<mode>2): Likewise.
- (trunctfdf2): Likewise.
- (trunc<mode>df2): Likewise.
- (trunctfdf2_internal1): Likewise.
- (trunc<mode>df2_internal1): Likewise.
- (trunctfdf2_internal2): Likewise.
- (trunc<mode>df2_internal2): Likewise.
- (trunctfsf2): Likewise.
- (trunc<mode>sf2): Likewise.
- (trunctfsf2_fprs): Likewise.
- (trunc<mode>sf2_fprs): Likewise.
- (floatsit2f): Likewise.
- (floatsi<mode>2): Likewise.
- (fix_trunc_helper): Likewise.
- (fix_trunc_helper<mode>): Likewise.
- (fix_trunctfsi2): Likewise.
- (fix_trunc<mode>si2): Likewise.
- (fix_trunctfsi2_fprs): Likewise.
- (fix_trunc<mode>si2_fprs): Likewise.
- (fix_trunctfsi2_internal): Likewise.
- (fix_trunc<mode>si2_internal): Likewise.
- (fix_trunctfdi2): Likewise.
- (fix_trunc<mode>di2): Likewise.
- (fixuns_trunctf<mode>2): Likewise.
- (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
- (floatditf2): Likewise.
- (floatdi<mode>2): Likewise.
- (floatuns<mode>tf2): Likewise.
- (floatuns<SDI:mode><IEEE128:mode>): Likewise.
- (cmptf_internal1): Use a mode iterator to add support for both
- types (IFmode, TFmode) that support IBM extended double.
- (cmp<mode>_internal1): Likewise.
- (cmptf_internal2): Likewise.
- (cmp<mode>_internal2): Likewise.
-
- * doc/extend.texi (Floating Types): Document __ibm128 and
- __float128 on PowerPC.
-
- * doc/invoke.texi (RS/6000 and PowerPC Options): Document
- -mfloat128 and -mno-float128.
-
-2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
- floating point modes that can go in vector registers.
- (MODES_TIEABLE_P): Move tests for vector modes before tests for
- scalar floating point, so that IEEE 128-bit floating point that
- can go in vector registers bind with vectors and not FP.
- (struct rs6000_args): Add libcall field.
-
- * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
- and -mfloat128-software switches. Replace them with a binary
- -mfloat128 switch.
- (-mfloat128): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
- 128-bit floating point types in GPRs, even if the appropriate
- option enabling the type was not used.
- (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
- debugging.
- (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
- pre-decrement on IEEE 128-bit floating point values.
- (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
- is IEEE 128-bit floating point.
- (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
- 128-bit floating point types that can go in vector registers.
- (rs6000_option_override_internal): Change -mfloat128-none and
- -mfloat128-software to -mfloat128, and move code to be near other
- VSX option handling.
- (rs6000_option_override_internal): Disable -mfloat128 if we don't
- have the Altivec ABI.
- (rs6000_init_builtins): Don't make TFmode use either IFmode or
- KFmode floating point nodes. Instead, have three separate nodes.
- (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
- eventually moving the long double default to IEEE 128-bit floating
- point.
- (rs6000_opt_masks): Add -mfloat128.
- (struct rs6000_opt_var): Fix typo in comment.
- (init_cumulative_args): Initialize libcall field in
- CUMULATIVE_ARGS.
- (rs6000_function_arg): Treat library functions as if they had
- prototypes to prevent IEEE 128-bit support functions from passing
- arguments in both GPRs and vector registers.
- (rs6000_arg_partial_bytes): Likewise.
-
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
- an option that can be turned on via -mcpu=<xxx>.
-
- * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
- longer used.
-
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
- __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
- double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
- double is IBM extended double.
-
- * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
- SUBREGs.
-
-2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
- * genconditions.c: Define CHECKING_P in the generated code.
- * genextract.c: Use flag_checking in insn_extract.
- * gengtype.c (main): Remove conditional compilation.
- * gengtype.h: Likewise.
-
-2015-10-29 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67892
- * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
- in comment.
- (thread_through_normal_block): If we have seen a backedge, then
- do nothing. No longer call find_jump_threads_backwards here.
- (thread_across_edge): Use find_jump_threads_backwards to find
- jump threads if the old style threader was not successful.
- * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
- gsi_last_nondebug_bb. Return NULL if the block does not end
- with a control statement.
- (find_jump_threads_backwards): Setup code moved here from
- tree-ssa-threadedge.c::thread_through_normal_block. Accept
- single edge argument instead of name & block.
- * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
- prototype.
-
-2015-10-29 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
- types.
-
-2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (lower_omp_target): Remove unreachable code & merge
- ifs.
-
-2015-10-29 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
-
-2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
- guard_bb0 and use guard_bb throughout.
-
-2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
- unnecessary label.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68142
- * fold-const.c (extract_muldiv_1): Avoid introducing undefined
- overflow.
-
-2015-10-29 Andrew MacLeod <amacleod@redhat.com>
-
- * alias.c: Reorder #include statements and remove duplicates.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-common.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-poly.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * incpath.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * lists.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
-
-2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (NO_PIE_CFLAGS): New.
- (NO_PIE_FLAG): Likewise.
- (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
- (NO_PIE_FLAG_FOR_BUILD): Likewise.
- (BUILD_NO_PIE_CFLAGS): Likewise.
- (BUILD_NO_PIE_FLAG): Likewise.
- (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
- (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
- (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
- $(BUILD_NO_PIE_CFLAGS).
- (BUILD_CXXFLAGS): Likewise.
- (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
- $(BUILD_NO_PIE_FLAG).
- * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
- (BUILD_NO_PIE_FLAG): Likewise.
- (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
- (NO_PIE_FLAG_FOR_BUILD): Likewise.
- * configure: Regenerated.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- PR middle-end/56956
- * fold-const.c (fold_cond_expr_with_comparison): Do not fold
- unsigned conditonal negation to ABS_EXPR.
-
-2015-10-29 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): Remove premature checking
- of builtin_decl_implicit of function calls we simplify.
-
-2015-10-29 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
- (get_computation_cost_at): Ditto.
- (determine_use_iv_cost_address): Pass NULL for arguments depends_on
- and inv_expr_id.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Remove
- superfluous code.
-
-2015-10-28 Jason Merrill <jason@redhat.com>
-
- * Makefile.in (TAGS): Include libcpp and libiberty.
-
-2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
- (extract_omp_for_data): Remove OpenACC special handling of
- chunking.
-
- * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
- (struct parallel): Update comment.
- (nvptx_reorg): Likewise.
- (nvptx_neuter): Cleanup whitespace.
-
-2015-10-28 Richard Henderson <rth@redhat.com>
-
- * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
-
-2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/67839
- * config/avr/predicates.md (low_io_address_operand): Don't
- consider MODE when computing upper bound.
- (io_address_operand): Likewise.
-
-2015-10-28 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Do not verify that types are
- compatible for MEM_REFs.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
- in simplifying VEC_COND_EXPR conditions.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate
- into vi_next of a full_var.
-
-2015-10-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (new_var_info, make_heapvar)
- (make_constraint_from_restrict, make_constraint_from_global_restrict)
- (create_function_info_for, create_variable_info_for_1)
- (create_variable_info_for): Add and handle add_id parameter.
- (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call)
- (init_base_vars): Add extra argument to calls to new_var_info.
- (get_vi_for_tree): Add extra argument to call to
- create_variable_info_for.
- (process_constraint, do_deref, process_all_all_constraints): Add extra
- argument to calls to new_scalar_tmp_constraint_exp.
- (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra
- argument to calls to make_heapvar.
- (make_restrict_var_constraints): Add extra argument to call to
- make_constraint_from_global_restrict.
- (intra_create_variable_infos): Add extra argument to call to
- create_variable_info_for_1.
- (ipa_pta_execute): Add extra argument to call to
- create_function_info_for.
-
-2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
- (sibcall_value): Likewise.
-
-2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.h (struct machine_function): Add
- axis_predicate.
- * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork,
- nvptx_expand_oacc_join): Declare.
- * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete.
- (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV,
- UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New.
- (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED,
- UNSPECV_JOINING, UNSPECV_JOIN): New.
- (BITS, BITD): New mode iterators.
- (br_true_uni, br_false_uni): New.
- (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete.
- (oacc_dim_size, oacc_dim_pos): New.
- (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New.
- (oacc_fork, oacc_join): New.
- (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New.
- (worker_load<mode>, worker_store<mode>): New.
- (nvptx_barsync): New.
- * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h.
- (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define.
- (worker_bcast_hwm, worker_bcast_align, worker_bcast_name,
- worker_bcast_sym): New.
- (nvptx_option_override): Initialize worker broadcast buffer.
- (nvptx_emit_forking, nvptx_emit_joining): New.
- (nvptx_init_axis_predicate): New.
- (nvptx_declare_function_name): Init axis predicates.
- (nvptx_expand_call): Add fork/join markers around routine call.
- (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New.
- (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New.
- (nvptx_gen_vcast): New.
- (struct wcast_data_t): New.
- (enum propagate_mask): New.
- (nvptx_gen_wcast): New.
- (nvptx_print_operand): Add 'S' case.
- (struct parallel): New.
- (parallel::parallel, parallel::~parallel): New.
- (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs.
- (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars,
- nvptx_find_par, nvptx_discover_pars): New.
- (nvptx_propagate): New.
- (vprop_gen, nvptx_vpropagate): New.
- (wprop_gen, nvptx_wpropagate): New.
- (nvptx_wsync): New.
- (nvptx_single, nvptx_skip_par): New.
- (nvptx_process_pars, nvptx_neuter_pars): New.
- (ntptx_reorg): Split blocks, generate parallel structure, apply
- neutering.
- (nvptx_cannot_copy_insn_p): New.
- (nvptx_file_end): Emit worker broadcast decl.
- (nvptx_goacc_fork_join): New.
- (TARGET_CANNOT_COPY_INSN_P): Override.
- (TARGET_GOACC_FORK_JOIN): Override.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (negate_expr_p): Adjust the division case to
- properly avoid introducing undefined overflow.
- (fold_negate_expr): Likewise.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65962
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Avoid creating loop carried dependences also for outer loops
- of the loop a use to replace is in.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- * common.opt (fchecking): New flag controlling flag_checking.
- * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION.
- * timevar.c (timer::print): Adjust output.
- * doc/invoke.texi (fchecking): Document.
-
-2015-10-28 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68067
- * fold-const.c (negate_expr_p): We cannot negate plus or minus
- if overflow is not wrapping. Likewise multiplication unless
- one operand is constant and not power of two.
- (fold_negate_expr): Adjust accordingly.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (struct omp_context): Remove gwv_below, gwv_this
- fields.
- (is_oacc_parallel, is_oacc_kernels): New.
- (enclosing_target_ctx): May return NULL.
- (ctx_in_oacc_kernels_region): New.
- (check_oacc_kernel_gwv): New.
- (oacc_loop_or_target_p): Delete.
- (scan_omp_for): Don't calculate gwv mask. Check parallel clause
- operands. Strip reductions fro kernels.
- (scan_omp_target): Don't calculate gwv mask.
- (lower_oacc_head_mark, lower_oacc_loop_marker,
- lower_oacc_head_tail): New.
- (struct oacc_collapse): New.
- (expand_oacc_collapse_init, expand_oacc_collapse_vars): New.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Remove OpenACC handling.
- (expand_oacc_for): New.
- (expand_omp_for): Call expand_oacc_for.
- (lower_omp_for): Call lower_oacc_head_tail.
-
-2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
-
- * attribs.c (check_attribute_tables): New function, broken out from...
- (init_attributes): Use it.
- * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
- gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
- (pass_expand::execute): Likewise.
- * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
- * cgraphunit.c (mark_functions_to_output): Likewise.
- (cgraph_node::expand_thunk): Likewise.
- (symbol_table::compile): Likewise.
- * ddg.c (add_cross_iteration_register_deps): Likewise.
- (create_ddg_all_sccs): Likewise.
- * df-core.c (df_finish_pass, df_analyze): Likewise.
- * diagnostic-core.h: Likewise.
- * diagnostic.c (diagnostic_report_diagnostic): Likewise.
- * dominance.c (calculate_dominance_info): Likewise.
- * dwarf2out.c (add_AT_die_ref): Likewise.
- (const_ok_for_output_1, mem_loc_descriptor): Likewise.
- (loc_list_from_tree, gen_lexical_block_die): Likewise.
- gen_type_die_with_usage, gen_type_die): Likewise.
- (dwarf2out_decl): Likewise.
- * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
- * except.c (duplicate_eh_regions): Likewise.
- * fwprop.c (register_active_defs, update_df_init): Likewise.
- (fwprop_init, fwprop_done): Likewise.
- (update_uses): Likewise.
- * ggc-page.c (ggc_grow): Likewise.
- * gimplify.c (gimplify_body): Likewise.
- (gimplify_hasher::equal): Likewise.
- * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
- * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
- Likewise.
- * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
- (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
- * hash-table.h (::find_empty_slot_for_expand): Likewise.
- * ifcvt.c (if_convert): Likewise.
- * ipa-cp.c (ipcp_propagate_stage): Likewise.
- * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
- (odr_type_p, odr_types_equivalent_p): Likewise.
- (add_type_duplicate, get_odr_type): Likewise.
- * ipa-icf.c (sem_item_optimizer::execute): Likewise.
- (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
- (sem_item_optimizer::verify_classes): Likewise.
- (sem_item_optimizer::traverse_congruence_split): Likewise.
- (sem_item_optimizer::checking_verify_classes): New.
- * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
- method.
- * cfgrtl.c (commit_edge_insertions): Likewise.
- (fixup_reorder_chain, cfg_layout_finalize): Likewise.
- (rtl_flow_call_edges_add): Likewise.
- * cgraph.c (symbol_table::create_edge): Likewise.
- (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
- * cgraph.h (symtab_node): Likewise.
- (symtab_node::checking_verify_symtab_nodes): Define.
- (cgraph_node::checking_verify_cgraph_nodes): Define.
- * cfghooks.h (checking_verify_flow_info): Define.
- * cfgloop.h (checking_verify_loop_structure): Define.
- * dominance.h (checking_verify_dominators): Define.
- * et-forest.c: Fix comment.
- * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * ipa-inline-transform.c (save_inline_function_body): Likewise.
- * ipa-inline.c (inline_small_functions): Likewise.
- (early_inliner): Likewise.
- * ipa-inline.h (estimate_edge_growth): Likewise.
- * ipa-visibility.c (function_and_variable_visibility): Likewise.
- * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
- (ipa_single_use): Likewise.
- * ira-int.h: Likewise.
- * ira.c (ira): Likewise.
- * loop-doloop.c (doloop_optimize_loops): Likewise.
- * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
- * loop-invariant.c (move_loop_invariants): Likewise.
- * lra-assigns.c (lra_assign): Likewise.
- * lra-constraints.c (lra_constraints): Likewise.
- * lra-eliminations.c (lra_eliminate): Likewise.
- * lra-int.h (struct lra_reg): Likewise.
- * lra-lives.c (check_pseudos_live_through_calls): Likewise.
- (lra_create_live_ranges_1): Likewise.
- * lra-remat.c (create_remat_bb_data): Likewise.
- * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
- (lra): Likewise.
- (check_rtl): Always define. Remove incorrect guard around
- extract_constrain_insn call.
- * lto-cgraph.c (input_cgraph_1: Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * lto-streamer-out.c (DFS::DFS): Likewise.
- (lto_output): Likewise.
- * lto-streamer.c (lto_streamer_init): Likewise.
- * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
- expand_omp_target, execute_expand_omp): Likewise.
- (lower_omp_target): Likewise.
- * passes.c (execute_function_todo): Likewise.
- (execute_todo, execute_one_pass): Likewise.
- (verify_curr_properties): Always define.
- * predict.c (tree_estimate_probability: Use flag_checking,
- CHECKING_P gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- (propagate_freq): Likewise.
- * pretty-print.c (pp_format): Likewise.
- * real.c (real_to_decimal_for_mode): Likewise.
- * recog.c (split_all_insns): Likewise.
- * regcprop.c (kill_value_one_regno): Likewise.
- (copy_value): Likewise.
- (validate_value_data): Define unconditionally.
- * reload.c: Fix comment.
- * timevar.c: Include options.h
- * tree-ssa.h (checking_verify_ssa): Define.
- * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
- * sched-deps.c (CHECK): Remove unused macro.
- (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
- gcc_checking_assert and checking_* functions to eliminate
- ENABLE_CHECKING conditionals.
- * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
- * sel-sched.c (struct moveop_static_params): Likewise.
- (find_best_reg_for_expr, move_cond_jump): Likewise.
- (move_op_orig_expr_not_found): Likewise.
- (code_motion_process_successors, move_op): Likewise.
- * ssa-iterators.h (first_readonly_imm_use): Likewise.
- (next_readonly_imm_use): Likewise.
- * store-motion.c (compute_store_table): Likewise.
- * symbol-summary.h (function_summary::function_summary): Likewise.
- * target.h (cumulative_args_t): Likewise.
- (get_cumulative_args, pack_cumulative_args): Likewise.
- * timevar.c: (timer::print): Likewise.
- * trans-mem.c (ipa_tm_execute): Likewise.
- * tree-cfg.c (move_stmt_op): Likewise.
- (move_sese_region_to_fn): Likewise.
- (gimple_flow_call_edges_add): Likewise.
- * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
- Likewise.
- * tree-eh.c (remove_unreachable_handlers): Likewise.
- * tree-if-conv.c (pass_if_conversion::execute): Likewise.
- * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
- * tree-into-ssa.c (update_ssa): Likewise.
- * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
- * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
- * tree-parloops.c (pass_parallelize_loops::execute): Likewise.
- * tree-predcom.c (suitable_component_p): Likewise.
- * tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
- * tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
- * tree-ssa-live.c (verify_live_on_entry): Likewise.
- * tree-ssa-live.h (register_ssa_partition): Likewise.
- * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
- * tree-ssa-loop-manip.c (add_exit_phi): Likewise.
- (tree_transform_and_unroll_loop): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
- * tree-ssa-operands.c (get_expr_operands): Likewise.
- * tree-ssa-propagate.c (replace_exp_1): Likewise.
- * tree-ssa-structalias.c (rewrite_constraints): Likewise.
- * tree-ssa-ter.c (free_temp_expr_table): Likewise.
- * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
- * tree-ssanames.c (release_ssa_name_fn): Likewise.
- * tree-stdarg.c (expand_ifn_va_arg): Likewise.
- * tree-vect-loop-manip.c
- (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
- (slpeel_checking_verify_cfg_after_peeling): Likewise.
- (vect_do_peeling_for_loop_bound): Likewise.
- (vect_do_peeling_for_alignment): Likewise.
- * tree-vrp.c (supports_overflow_infinity): Likewise.
- (set_value_range): Likewise.
- * tree.c (free_lang_data_in_cgraph): Likewise.
- * value-prof.c (gimple_remove_histogram_value): Likewise.
- (free_hist): Likewise.
- * var-tracking.c (canonicalize_values_star): Likewise.
- (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
- IFN_GOACC_LOOP): New.
- * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
- IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
- IFN_UNIQUE_OACC_TAIL_MARK.
- (enum ifn_goacc_loop_kind): New.
- * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
- IFN_UNIQUE_OACC_JOIN cases.
- (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
- (expand_GOACC_LOOP): New.
- * target-insns.def (oacc_dim_pos, oacc_dim_size): New.
- * omp-low.c: Include gimple-pretty-print.h.
- (struct oacc_loop): New.
- (enum oacc_loop_flags): New.
- (oacc_thread_numbers): New.
- (oacc_xform_loop): New.
- (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
- new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
- (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
- (oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
- oacc_loop_discovery): New.
- (oacc_loop_xform_head_tail, oacc_loop_xform_loop,
- oacc_loop_process): New.
- (oacc_loop_fixed_partitions, oacc_loop_partition): New.
- (execute_oacc_device_lower): Discover & process loops. Process
- internal fns.
- * target.def (goacc.fork_join): Change sense of hook, clarify
- documentation.
- * doc/tm.texi: Regenerated.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * target-insns.def (oacc_fork, oacc_join): Define.
- * target.def (goacc.validate_dims): Adjust doc to avoid warning.
- (goacc.fork_join): New GOACC hook.
- * targhooks.h (default_goacc_fork_join): Declare.
- * omp-low.c (default_goacc_forkjoin): New.
- * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add.
- * doc/tm.texi: Regenerate.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (oacc_init_rediction_array): New.
- (oacc_initialize_reduction_data): Initialize array.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
-
-2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
-
- * internal-fn.c (expand_UNIQUE): New.
- * internal-fn.h (enum ifn_unique_kind): New.
- * internal-fn.def (IFN_UNIQUE): New.
- * target-insns.def (unique): Define.
- * gimple.h (gimple_call_internal_unique_p): New.
- * gimple.c (gimple_call_same_target_p): Check internal fn
- uniqueness.
- * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call.
- * tree-ssa-threadedge.c
- (record_temporary_equivalences_from_stmts): Likewise.
- * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise.
-
-2015-10-27 Richard Henderson <rth@redhat.com>
-
- PR rtl-opt/67609
- * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
- narrowing subregs on SSE and MMX registers.
- * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
- appear to be sub-words of multi-register pseudos must be rejected.
- * doc/tm.texi: Regenerate.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/68102
- * config/aarch64/aarch64.md (*movsi_aarch64): Check that
- operands[0] is a reg before taking its REGNO in split condition.
- (*movdi_aarch64): Likewise.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
- Handle floating point inner modes properly.
-
-2015-10-27 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-looop.c
- (vectorizable_live_operation): Change iterator.
-
-2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (get_schedule_for_node_st): New callback
- function to schedule based on isl_schedule_node.
- (get_schedule_map_st): New schedule optimizer based on
- isl_schedule_node.
- (scop_get_domains): New. Return the isl_union_set containing the
- domains of all the pbbs.
- (optimize_isl): Call the new function get_schedule_map_st for isl-0.15
-
-2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67215
- * calls.c (prepare_call_address): Don't handle -fno-plt here.
- * config/i386/i386.c (ix86_expand_call): Generate indirect call
- via GOT for -fno-plt. Support indirect call via GOT for x32.
- * config/i386/predicates.md (sibcall_memory_operand): Allow
- GOT memory operand.
-
-2015-10-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68104
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
- strided access check ...
- (vect_compute_data_refs_alignment): ... here.
-
-2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
- Joseph Myers <joseph@codesourcery.com>
- Mark Shinwell <shinwell@codesourcery.com>
- Andrew Stubbs <ams@codesourcery.com>
- Rich Felker <dalias@libc.org>
-
- * config.gcc: Handle --enable-fdpic.
- * config/sh/constraints.md (Ccl): New constraint.
- * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
- * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
- __SH_FDPIC__.
- * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
- library functions.
- * config/sh/sh-protos.h (function_symbol_result): New struct.
- (function_symbol): Return function_symbol_result.
- (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
- declarations.
- * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
- target hook.
- (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
- (sh_option_override): Force -fPIC if FDPIC is in effect.
- (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
- UNSPEC_GOTOFFFUNCDESC cases.
- (prepare_move_operands): Use FDPIC initial GOT register for
- TLS-related GOT access; inhibit cross-section address offset constants
- for FDPIC.
- (sh_assemble_integer): New function.
- (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
- PC-relative call sites.
- (expand_ashiftrt): Adapt invocation of function_symbol.
- (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
- (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
- UNSPEC_GOTOFFFUNCDESC.
- (legitimize_pic_address): Resolve function symbols to function
- descriptors for FDPIC. Do not use GOT-relative addressing for local
- data that may be read-only on FDPIC.
- (sh_emit_storesi, sh_emit_storehi): New functions.
- (sh_trampoline_init): Generate FDPIC trampolines.
- (sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
- (sh_expand_sym_label2reg): Don't assume sibcalls are local.
- (sh_output_mi_thunk): Generate FDPIC call.
- (function_symbol): Return function_symbol_result. For SFUNC_STATIC on
- FDPIC, generate call site labels to use PC-relative addressing rather
- than GOT-relative addressing.
- (sh_conditional_register_usage): Make PIC register fixed and call used
- when FDPIC is in effect.
- (sh_legitimate_constant_p): Impose FDPIC constant constraints.
- (sh_cannot_force_const_mem_p, sh_load_function_descriptor,
- sh_get_fdpic_reg_initial_val): New functions.
- * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
- Handle -mfdpic.
- (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
- PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
- SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
- (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
- FDPIC_SELF_SPECS.
- (TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
- (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
- (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
- * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
- constants.
- (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
- sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
- sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
- sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
- (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
- *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
- ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
- call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
- sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
- sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
- block_move_real, block_lump_real, block_move_real_i4,
- block_lump_real_i4): Add support for FDPIC calls.
- (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
- call_value_pop): Adjust for new function_symbol signature.
- * config/sh/sh.opt (-mfdpic): New option.
- * doc/install.texi (Options specification): Document --enable-fdpic.
- * doc/invoke.texi (SH Options): Document -mfdpic.
-
-
-2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR tree-optimization/65963
- * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
- LSHIFT_EXPRs as equivalent MULT_EXPRs.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67929
- * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
- * config/arm/constraints.md (Dp): Update callsite.
- * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_load_exponent): Rename to...
- (fold_const_builtin_load_exponent): ...this and only handle
- constant arguments.
- (fold_builtin_2): Update accordingly.
- * match.pd: Add rules previously handled by fold_builtin_load_exponent.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_logb): Rename to...
- (fold_const_builtin_logb): ...this and remove STRIP_NOPS call.
- (fold_builtin_significand): Rename to...
- (fold_const_builtin_significand): ...this and remove STRIP_NOPS call.
- (fold_builtin_1): Update accordingly.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fmin_fmax): Delete.
- (fold_builtin_2): Handle constant fmin and fmax arguments here.
- * match.pd: Add rules previously handled by fold_builtin_fmin_fmax.
-
-2015-10-27 Evandro Menezes <e.menezes@samsung.com>
-
- * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member
- for register extension into sign and zero register extension.
- * config/aarch64/aarch64.c (generic_addrcost_table): Infer values
- for sign and zero register extension.
- (cortexa57_addrcost_table): Likewise.
- (xgene1_addrcost_table): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.c (fold_minmax): Delete.
- (fold_binary_loc): Don't call it.
- * match.pd: Add rules previously handled by fold_minmax.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fma): Remove constant handling.
- (fold_builtin_3): Handle constant fma arguments here.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_fabs): Remove constant handling.
- (fold_builtin_abs): Likewise.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_copysign): Delete.
- (fold_builtin_2): Handle constant copysign arguments here.
- * match.pd: Add rules previously handled by fold_builtin_copysign.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_signbit): Delete.
- (fold_builtin_2): Handle constant signbit arguments here.
- * match.pd: Add rules previously handled by fold_builtin_signbit.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Handle sqrt(x) cmp 0 specially.
-
-2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-generic.c (expand_vector_operations_1): Check
- optab type before using it.
-
-2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (struct tune_params): Add autoprefetcher_model field.
- * config/aarch64/aarch64.c: Include params.h
- (generic_tunings): Specify autoprefetcher_model value.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (cortexa72_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
- (aarch64_override_options_internal): Set
- PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_exponent): Delete.
- (fold_builtin_2): Handle constant expN arguments here.
- * match.pd: Fold expN(logN(x)) -> x.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_powi): Delete.
- (fold_builtin_2): Handle constant powi arguments here.
- * match.pd: Add rules previously handled by fold_builtin_powi.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_pow): Delete in favor of...
- (fold_const_builtin_pow): ...this new function. Only handle constant
- arguments.
- (fold_builtin_2): Update accordingly.
- * match.pd: Add rules previously handled by fold_builtin_pow.
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_hypot): Delete.
- (fold_builtin_2): Handle constant hypot arguments here.
- * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize
- hypot(x, x) to fabs(x)*sqrt(2).
-
-2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg
- instead of make_ssa_name if not yet in SSA form.
-
-2015-10-27 Richard Biener <rguenther@suse.de>
-
- * cfg.c (free_edge): Add function argument and use it instead of cfun.
- (clear_edges): Likewise.
- * cfg.h (clear_edges): Adjust prototype.
- * cfgexpand.c (pass_expand::execute): Adjust.
- * cfgloop.c (release_recorded_exits): Add function argument and use
- it instead of cfun.
- * cfgloop.h (release_recorded_exits): Adjust prototype.
- (loops_state_satisfies_p): Add overload with function argument.
- (loops_state_set): Likewise.
- (loops_state_clear): Likewise.
- (struct loop_iterator): Add function argument to constructor
- and iterator and use it instead of cfun.
- (FOR_EACH_LOOP_FN): New macro.
- (loop_optimizer_finalize): Add overload with function argument.
- * loop-init.c (loop_optimizer_init): Adjust.
- (fix_loop_structure): Likewise.
- (loop_optimizer_finaliz): Add function argument and use it
- instead of cfun.
- * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
- * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
- * cgraph.c (release_function_body): Do not push/pop cfun.
- * final.c (rest_of_clean_state): Adjust.
- * graphite.c (graphite_finalize): Likewise.
- * tree-ssa-copy.c (fini_copy_prop): Likewise.
- * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
- * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
- (tree_unroll_loops_completely): Likewise.
- (pass_complete_unrolli::execute): Likewise.
- * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
- Add function argument and use it instead of cfun.
- * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
- Adjust prototype.
- * tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
- * tree-ssa.c (delete_tree_ssa): Add function argument and use it
- instead of cfun.
- * tree-ssa.h (delete_tree_ssa): Adjust prototype.
- * tree-ssanames.c (fini_ssanames): Add function argument and use it
- instead of cfun.
- * tree-ssanames.c (fini_ssanames): Adjust prototype.
- * tree-vrp.c (execute_vrp): Adjust.
- * value-prof.c (free_histograms): Add function argument and use it
- instead of cfun.
- * value-prof.h (free_histograms): Adjust prototype.
-
-2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES)
- (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED)
- (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users.
-
-2015-10-27 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var
- field_type.
-
-2015-10-27 Bin Cheng <bin.cheng@arm.com>
-
- * loop-invariant.c (struct def): New field can_prop_to_addr_uses.
- (inv_can_prop_to_addr_use): New function.
- (record_use): Call can_prop_to_addr_uses, set the new field.
- (get_inv_cost): Count cost if inv can't be propagated into its
- address uses.
-
-2015-10-26 Doug Evans <dje@google.com>
-
- * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.
-
-2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
-
- * match.pd (fold_widened_comparison): Apply simplifications to all
- integral types.
-
-2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
-
- * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
- * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document.
- * doc/tm.texi: Regenerated.
- * reorg.c (dbr_schedule): Use new hook.
- * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New.
-
-2015-10-26 Jeff Law <law@redhat.com>
-
- PR tree-optimization/68013
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Make sure the first block in the path is in VISITED_BBs.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
- Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR middle-end/67443
- * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
- Properly prune ref->ref for accesses outside of ref.
-
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * gimple-fold.c (replace_stmt_with_simplification): Don't allow
- new statements to be inserted if inplace. Allow calls to have
- nonempty sequences.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * tree-object-size.c: Remove builtins.h include, include tree-cfg.h.
- (do_valueize): New function.
- (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and
- replace_uses_by.
- * tree-ssa-threadedge.c: Remove builtins.h include, include
- gimple-fold.h
- (fold_assignment_stmt): Remove.
- (threadedge_valueize): New function.
- (record_temporary_equivalences_from_stmts): Use
- gimple_fold_stmt_to_constant_1, note additional cleanup
- opportunities.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.
- ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c.
-
-2015-10-26 Alan Hayward <alan.hayward@arm.com>
-
- * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
- VEC_COND_EXPR types.
-
-2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * auto-inc-dec.c (insert_move_insn_before): Delete.
- (attempt_change): Remember to cost the simple move in the
- FORM_PRE_ADD and FORM_POST_ADD cases.
-
-2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/68091
- * config/sh/sh.c (sh_vector_mode_supported_p): Use
- TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (make_restrict_var_constraints): New function,
- factored out of ...
- (intra_create_variable_infos): ... here.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Add
- restrict_pointer_p and recursive_restrict_p variables.
-
-2015-10-26 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Inline
- get_vi_for_tree call.
-
-2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/67989
- * optabs.c (expand_atomic_compare_and_swap): Handle case when
- ptarget_oval or ptarget_bool are const0_rtx.
-
-2015-10-26 Christian Bruel <christian.bruel@st.com>
-
- * function.h (MINIMUM_METHOD_BOUNDARY): New macro.
- * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
- * cp/method.c (implicitly_declare_fn): Likewise.
- * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
- * java/class.c (add_method_1): Likewise.
-
-2015-10-26 Richard Biener <rguenther@suse.de>
-
- * alloc-pool.h (base_pool_allocator): Use placement new.
- (base_pool_allocator::remove): Likewise. Compute size outside of
- flag_checking.
+ * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
+ (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
+ functions
+ (RS6000_BTM_COMMON): Likewise.
+
+ * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
+ (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
+ disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
+ 128-bit floating point. Add support for the double values to be
+ in Altivec registers for TF/IF packing and unpacking, but restrict
+ TD packing sub-fields to be FPR registers. Don't allow overlapped
+ register support for packing. Allow pack inputs to be memory
+ locations. Don't build generator functions for unpack<mode>_dm
+ and unpack<mode>_nodm.
+ (unpack<mode>_dm): Likewise.
+ (unpack<mode>_nodm): Likewise.
+ (pack<mode>): Likewise.
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+ * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
+ built-in functions to pack/unpack explicit __ibm128 values.
+ (__builtin_unpack_ibm128): Likewise.
- * builtins.c (do_real_to_int_conversion): New function.
- (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete.
- (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l}
- arguments here.
- * match.pd: Add rules previously handled by fold_fixed_mathfn
- and fold_builtin_int_roundingfn.
+ * doc/extend.texi (PowerPC Built-in Functions): Document
+ __builtin_pack_ibm128 and __builtin_unpack_ibm128.
-2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
+2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
- * match.pd: Use macros to define built-in operator lists.
+ PR c/66208
+ * c-common.c (check_function_nonnull): Remove unnecessary declaration.
+ Add new arg loc and pass it down as context.
+ (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
+ to the location to use for the warning.
+ (check_function_arguments): New arg loc. All callers changed. Pass
+ it to check_function_nonnull.
+ * c-common.h (check_function_arguments): Adjust declaration.
-2015-10-20 Richard Sandiford <richard.sandiford@arm.com>
- Richard Biener <rguenther@suse.de>
+2016-01-13 Jakub Jelinek <jakub@redhat.com>
- * genmatch.c (dt_simplify::gen): Skip captures that are
- part of the result.
- (parser::parse_expr): Allow captures in results too.
- * builtins.c (fold_builtin_cexp): Delete.
- (fold_builtin_1): Handle constant cexp arguments here.
- * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y).
+ PR tree-optimization/69156
+ * gimple.c (validate_type): Removed.
+ (gimple_builtin_call_types_compatible_p): Use
+ useless_type_conversion_p instead of validate_type.
+ * value-prof.c (gimple_stringop_fixed_value): Fold
+ icall_size to correct type.
-2015-10-26 Mikhail Maltsev <maltsevm@gmail.com>
+2016-01-13 Jonathan Wakely <jwakely@redhat.com>
- * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove
- conditional compilation.
- (base_pool_allocator::remove): Use flag_checking.
+ * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
+ effects.
-2015-10-25 John David Anglin <danglin@gcc.gnu.org>
+2016-01-13 Richard Henderson <rth@redhat.com>
- * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define.
+ PR tree-opt/68964
+ * target.def (builtin_tm_load, builtin_tm_store): Remove.
+ * config/i386/i386.c (ix86_builtin_tm_load): Remove.
+ (ix86_builtin_tm_store): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+ * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
+ (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
+ * doc/tm.texi: Rebuild.
- PR middle-end/68079
- * dojump.c (do_compare_and_jump): Canonicalize both function and
- method types.
+ * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
+ (BUILT_IN_TM_MEMCPY_RTWN): New.
+ * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
+ fallback from vector to integer helpers.
+ (build_tm_load): Handle vector types directly, instead of
+ via target hook.
+ (build_tm_store): Likewise.
+ (expand_assign_tm): Prepare for register types not handled by
+ the above. Copy them to memory and use memcpy.
+ * tree.c (tm_define_builtin): New.
+ (find_tm_vector_type): New.
+ (build_tm_vector_builtins): New.
+ (build_common_builtin_nodes): Call it.
-2015-10-25 Uros Bizjak <ubizjak@gmail.com>
+2016-01-13 Uros Bizjak <ubizjak@gmail.com>
- PR target/68084
- * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
- for =@ccae.
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
+ TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-13 Tom de Vries <tom@codesourcery.com>
- PR ipa/pr67600
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
- instance offset with offset of outer type.
+ PR tree-optimization/69169
+ * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
+ handled_struct_type param.
+ (create_variable_info_for, intra_create_variable_infos): Call
+ create_variable_info_for_1 with extra arg.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-13 Yvan Roux <yvan.roux@linaro.org>
- * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR.
+ * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
+ and "armv8.1-a+crc" entries.
-2015-10-23 Caroline Tice <cmtice@google.com>
+2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
- (from Richard Biener
- * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
- call to iterative_hash_host_wide_int.
+ PR target/69228
+ * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
+ Change first operand predicate from register_or_constm1_operand
+ to register_operand.
+ (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
+ (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
+ (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
+ (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
+ (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
+ (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
+ (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
+ * config/i386/i386.c (ix86_expand_builtin): Remove first operand
+ comparison with constm1_rtx from vec_prefetch_gen part.
-2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
- Define as yes.
+ PR tree-optimization/69013
+ * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
+ Exchange assert for a test.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
- * tree-vect-generic.c (expand_vector_operations_1): Check
- optab exists before use it.
+ PR target/69247
+ * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * tree-vect-generic.c (expand_vector_condition): Avoid
- uninitialized variable warning.
+ PR tree-optimization/69242
+ * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
+ assert with a check.
-2015-10-23 Jeff Law <law@redhat.com>
+2016-01-13 Richard Biener <rguenther@suse.de>
- * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
- here. Instead...
- (execute_todo): Call it here.
- * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
- statistics
- (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
+ PR tree-optimization/69186
+ * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
+ Properly guard vect_update_misalignment_for_peel call.
-2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
+2016-01-12 Jeff Law <law@redhat.com>
- * config.gcc (enable_secureplt): Add *-linux*-musl*.
+ PR tree-optimization/pr67755
+ * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
+ "need_profile_correction".
+ (thread_block_1): Initialize new field to false by default. If we
+ have multiple thread paths through a common joiner to different
+ final targets, then set new field to true.
+ (compute_path_counts): Only do count adjustment when it's really
+ needed.
-2015-10-23 Jeff Law <law@redhat.com>
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- PR tree-optimization/67830
- * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
- Explicitly verify the mask has no bits outside the type of
- the innermost operands.
+ * doc/invoke.texi (Spec Files): Move section down in file, past
+ all command-line option descriptions.
-2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
+2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
- * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64): Define.
- (GNU_USER_DYNAMIC_LINKER32): Update.
- (GNU_USER_DYNAMIC_LINKER64): Update.
- (CHOOSE_DYNAMIC_LINKER): Update.
+ PR middle-end/54809
+ * doc/gty.texi: Remove documentation of mark_hook.
+ * gengtype.c (struct write_types_data): Remove code to support
+ mark_hook attribute.
+ (walk_type): Likewise.
+ (write_func_for_structure): Likewise.
- * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
- (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
- (CHOOSE_DYNAMIC_LINKER): Update.
- (INCLUDE_DEFAULTS): Redefine.
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
+ * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
+ Directory Options, and -specs= to Overall Options.
+ (Overall Options): Adjust similarly. Reorder to group related
+ options together. Make -specs= cross-reference the spec file details.
+ (Directory Options): Adjust similarly.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-12 Jeff Law <law@redhat.com>
- * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
- comparing addresses.
+ * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
-2015-10-23 Jan Hubicka <hubicka@ucw.cz>
+2016-01-12 Olivier Hainque <hainque@adacore.com>
- * fold-const.c (operand_equal_p): Handle matching of vector
- constructors.
+ * gcc.c (spec_undefvar_allowed): New global.
+ (process_command): Set to true when running for --version or --help,
+ alone or together.
+ (getenv_spec_function): When the variable is not defined, use the
+ variable name as the variable value if we're allowed not to issue
+ a fatal error.
-2015-10-23 David Edelsohn <dje.gcc@gmail.com>
+2016-01-12 Bin Cheng <bin.cheng@arm.com>
- * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1.
+ PR tree-optimization/68911
+ * tree-vrp.c (adjust_range_with_scev): Check overflow in range
+ information computed for expression "init + nit * step".
-2015-10-23 Steve Ellcey <sellcey@imgtec.com>
- Andrew Pinski <apinski@cavium.com>
+2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
- PR rtl-optimization/67736
- * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
- of gen_lowpart.
+ * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
+ about name of GCC executable. Remove deleted node from menu.
+ (Directory Options) <-B>: Remove cross-reference to deleted node.
+ (Target Options): Delete section.
-2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
+2016-01-12 Christian Bruel <christian.bruel@st.com>
- PR middle-end/68066
- * tree.c (build_truth_vector_type): Support BLK mode
- returned for boolean vector.
+ PR target/69180
+ * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
+ for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
-2015-10-23 Alan Hayward <alan.hayward@arm.com>
+2016-01-12 Jakub Jelinek <jakub@redhat.com>
- PR tree-optimization/65947
- * tree-vect-loop.c
- (vect_is_simple_reduction_1): Find condition reductions.
- (vect_model_reduction_cost): Add condition reduction costs.
- (get_initial_def_for_reduction): Add condition reduction initial var.
- (vect_create_epilog_for_reduction): Add condition reduction epilog.
- (vectorizable_reduction): Condition reduction support.
- * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg
- * doc/sourcebuild.texi (Vector-specific attributes): Document
- vect_max_reduc
+ PR target/69198
+ * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
+ aligned_mem is properly set for AVX512-VL floating point masked
+ stores.
-2015-10-23 Richard Biener <rguenther@suse.de>
+ PR target/69175
+ * ifcvt.c (cond_exec_process_if_block): When removing the last
+ insn from then_bb, remove also any possible barriers that follow it.
- * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def
- and builtins.def.
+2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
-2015-10-23 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
+ PR target/68456
+ PR target/69226
+ * config/i386/iamcu.h (SIZE_TYPE): New macro.
+ (PTRDIFF_TYPE): Likewise.
+ (WCHAR_TYPE): Likewise.
+ (WCHAR_TYPE_SIZE): Likewise.
+ (STDINT_LONG32): Likewise.
- * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B)
- into (A ^ B) - B to match.pd
- Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd.
+2016-01-12 Richard Biener <rguenther@suse.de>
- * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)):
- New simplifier.
- (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)):
- New simplifier.
- (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))):
- New simplifier.
- (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)):
- New simplifier.
- (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0)
- INTEGER_CST@1)): New simplifier.
+ PR tree-optimization/69053
+ * tree-vect-loop.c (get_initial_def_for_reduction): Properly
+ convert initial value for cond reductions.
-2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
+2016-01-12 Richard Biener <rguenther@suse.de>
- * builtins.c (integer_valued_real_p): Move to fold-const.c.
- (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor)
- (fold_builtin_ceil, fold_builtin_round): Delete.
- (fold_builtin_1): Handle constant trunc, floor, ceil and round
- arguments here.
- * convert.c (convert_to_real): Remove narrowing of rounding
- functions.
- * fold-const.h (integer_valued_real_unary_p)
- (integer_valued_real_binary_p, integer_valued_real_call_p)
- (integer_valued_real_single_p, integer_valued_real_p): Declare.
- * fold-const.c (tree_single_nonnegative_warnv_p): Move
- name_registered_for_update_p check to SSA_NAME case statement.
- Don't call tree_simple_nonnegative_warnv_p for SSA names.
- (integer_valued_real_unary_p, integer_valued_real_binary_p)
- (integer_valued_real_call_p, integer_valued_real_single_p)
- (integer_valued_real_invalid_p): New functions.
- (integer_valued_real_p): Move from fold-const.c and rework
- to call the functions above. Handle SSA names.
- * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare.
- * gimple-fold.c (gimple_assign_integer_valued_real_p)
- (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p)
- (gimple_stmt_integer_valued_real_p): New functions.
- * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f.
- Fold f(x)->x for the same f if x is known to be integer-valued.
- Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect
- the result. Canonicalize floor(x) as trunc(x) if x is
- nonnegative.
-
-2015-10-23 Tom de Vries <tom@codesourcery.com>
+ PR tree-optimization/69007
+ * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
+ widen_sum after dot_prod and sad.
- * tree-ssa-structalias.c (intra_create_variable_infos): Use
- make_constraint_from.
+2016-01-12 Richard Biener <rguenther@suse.de>
-2015-10-23 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-structalias.c (create_variable_info_for_1): Add missing
- setting of is_full_var in case of a single field.
-
-2015-10-22 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * config/i386/i386.opt: Add missing periods to the ends of sentences.
- * config/msp430/msp430.opt: Same.
-
-2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.exp (Global Register Variables): Rewrite.
-
-2015-10-22 Jeff Law <law@redhat.com>
-
- * genattrtab.c (main): If we do not have any annul-true or annul-false
- slots, then write out a dummy eligible_for_annul_true or
- eligible_for_annul_false as needed.
-
-2015-10-22 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.opt: Add -msilicon-errata and
- -msilicon-errata-warn.
- * config/msp430/msp430.h (ASM_SPEC): Pass new options on to
- assembler.
- * doc/invoke.texi: Document new options.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/58497
- * tree-vect-generic.c (ssa_uniform_vector_p): New helper.
- (expand_vector_operations_1): Use it. Lower operations on
- all uniform vectors to scalar operations if the HW supports it.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/19049
- PR tree-optimization/65962
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back
- to strided accesses if single-element interleaving doesn't work.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68046
- PR middle-end/61893
- * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv.
- (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note.
- (expand_unop): Likewise.
-
-2015-10-22 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_addr_of_array_ref_difference): Properly
- convert operands before folding a MINUS_EXPR.
- (fold_binary_loc): Move simplification of MINUS_EXPR on
- converted POINTER_PLUS_EXPRs ...
- * match.pd: ... here.
-
-2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_tan): Delete.
- (fold_builtin_1): Handle constant tan arguments here.
- * match.pd: Simplify (tan (atan x)) to x.
-
-2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_cproj): Delete.
- (fold_builtin_1): Handle constant arguments here.
- (build_complex_cproj): Move and rename to...
- * tree.c: (build_complex_inf): ...this.
- * tree.h (build_complex_inf): Declare.
- * match.pd: Fold cproj(x)->x if x has no infinity.
- Use build_complex_inf for existing cproj rules.
-
-2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR target/68015
- * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
- already have a comparison result.
-
-2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New.
- (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads.
- (aarch64_classify_address): Likewise.
- (aarch64_secondary_reload): Likewise.
- (aarch64_override_options_after_change_1): Adjust.
- * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
- Use aarch64_nopcrelative_literal_loads.
- (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
- Declare.
-
-2015-10-21 Martin Sebor <msebor@redhat.com>
-
- PR driver/68043
- * opts.c (undocumented_msg, use_diagnosed_msg): New globals.
- (print_filtered_help): Reference aliased option's name and encourage
- readers to use it in preference to the alias if the former is not
- documented. Mention when using an option is diagnosed.
- * gcc.c (display_help): End each sentence with a period.
-
- * common.opt: End each sentence that describes an option with
- a period.
- * config/aarch64/aarch64.opt: Same.
- * config/alpha/alpha.opt: Same.
- * config/arc/arc.opt: Same.
- * config/arm/arm.opt: Same.
- * config/avr/avr.opt: Same.
- * config/bfin/bfin.opt: Same.
- * config/c6x/c6x.opt: Same.
- * config/cr16/cr16.opt: Same.
- * config/cris/cris.opt: Same.
- * config/cris/linux.opt: Same.
- * config/darwin.opt: Same.
- * config/epiphany/epiphany.opt: Same.
- * config/fr30/fr30.opt: Same.
- * config/frv/frv.opt: Same.
- * config/ft32/ft32.opt: Same.
- * config/g.opt: Same.
- * config/h8300/h8300.opt: Same.
- * config/i386/cygming.opt: Same.
- * config/i386/djgpp.opt: Same.
- * config/i386/i386.opt: Same.
- * config/i386/interix.opt: Same.
- * config/i386/mingw-w64.opt: Same.
- * config/i386/mingw.opt: Same.
- * config/ia64/ia64.opt: Same.
- * config/ia64/ilp32.opt: Same.
- * config/iq2000/iq2000.opt: Same.
- * config/linux.opt: Same.
- * config/lm32/lm32.opt: Same.
- * config/lynx.opt: Same.
- * config/m32c/m32c.opt: Same.
- * config/m32r/m32r.opt: Same.
- * config/m68k/ieee.opt: Same.
- * config/m68k/m68k.opt: Same.
- * config/mcore/mcore.opt: Same.
- * config/mep/mep.opt: Same.
- * config/microblaze/microblaze.opt: Same.
- * config/mips/mips.opt: Same.
- * config/mmix/mmix.opt: Same.
- * config/mn10300/mn10300.opt: Same.
- * config/moxie/moxie.opt: Same.
- * config/msp430/msp430.opt: Same.
- * config/nios2/elf.opt: Same.
- * config/nios2/nios2.opt: Same.
- * config/nvptx/nvptx.opt: Same.
- * config/pa/pa-hpux.opt: Same.
- * config/pa/pa-hpux1010.opt: Same.
- * config/pa/pa-hpux1111.opt: Same.
- * config/pa/pa-hpux1131.opt: Same.
- * config/pa/pa.opt: Same.
- * config/pa/pa64-hpux.opt: Same.
- * config/pdp11/pdp11.opt: Same.
- * config/rl78/rl78.opt: Same.
- * config/rs6000/476.opt: Same.
- * config/rs6000/aix64.opt: Same.
- * config/rs6000/darwin.opt: Same.
- * config/rs6000/linux64.opt: Same.
- * config/rs6000/rs6000.opt: Same.
- * config/rs6000/sysv4.opt: Same.
- * config/s390/s390.opt: Same.
- * config/s390/tpf.opt: Same.
- * config/sh/sh.opt: Same.
- * config/sol2.opt: Same.
- * config/sparc/long-double-switch.opt: Same.
- * config/sparc/sparc.opt: Same.
- * config/spu/spu.opt: Same.
- * config/stormy16/stormy16.opt: Same.
- * config/tilegx/tilegx.opt: Same.
- * config/tilepro/tilepro.opt: Same.
- * config/v850/v850.opt: Same.
- * config/vax/vax.opt: Same.
- * config/visium/visium.opt: Same.
- * config/vms/vms.opt: Same.
- * config/vxworks.opt: Same.
- * config/xtensa/xtensa.opt: Same.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (parameter_index_in_region): Update call to
- invariant_in_sese_p_rec.
- * graphite-sese-to-poly.c (extract_affine): Same.
- * sese.c (invariant_in_sese_p_rec): Pass in an extra
- parameter has_vdefs.
- (scalar_evolution_in_region): Return chrec_dont_know when the scalar
- variable depends on virtual definitions in the current region.
- * sese.h (invariant_in_sese_p_rec): Update declaration.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (build_scops): Do not handle scops
- with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays.
- * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New.
-
-2015-10-21 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (CHECKING_P): Define.
- * system.h: Use CHECKING_P.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/67056
- * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
- is negative we don't know the type.
- (check_stmt_for_type_change): Skip constructors of non-polymorphic
- types as those won't help devirutalization.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Add code matching empty constructors.
-
-2015-10-21 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak
- comments.
- (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR):
- Add comments on sign of the result.
- * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>:
- Recurse on operand #1 instead of operand #0.
- <CEIL_MOD_EXPR>: Do not recurse.
- <ROUND_MOD_EXPR>: Likewise.
-
-2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (pass_free_cfg::execute): Adjust.
- * final.c (dbr_sequence_length): Always define.
- (shorten_branches): Adjust.
- * genattr-common.c (main): Always define DELAY_SLOTS.
- * genattr.c (main): Unconditionally declare functions and define
- macros related to delay slots.
- * genattrtab.c (write_eligible_delay): Adjust.
- (main): Always write out delay slot functions.
- * opts.c (default_options_table): Adjust.
- * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
- (redirect_with_delay_list_safe_p): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (make_return_insns): Likewise.
- (dbr_schedule): Likewise.
- (rest_of_handle_delay_slots): Likewise.
- (pass_delay_slots::gate): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-10-21 Richard Henderson <rth@redhat.com>
-
- * targhooks.c (default_addr_space_pointer_mode): Remove check
- for generic address space.
- (default_addr_space_address_mode): Likewise.
- (default_addr_space_valid_pointer_mode): Likewise.
- (default_addr_space_legitimate_address_p): Likewise.
- (default_addr_space_legitimize_address): Likewise.
- * target.def (addr_space.pointer_mode): Update documentation
- of default behavior.
- (addr_space.address_mode): Likewise.
- * tm.texi: Update.
-
- * expr.c (expand_expr_real_2): Use convert_modes on disjoint
- address spaces.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_cabs): Delete.
- (fold_builtin_1): Update accordingly. Handle constant arguments here.
- * match.pd: Add rules previously handled by fold_builtin_cabs.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * fold-const.h (fold_strip_sign_ops): Delete.
- * fold-const.c (fold_strip_sign_ops): Likewise.
- (fold_unary_loc, fold_binary_loc): Remove calls to it.
- * builtins.c (fold_builtin_cos, fold_builtin_cosh)
- (fold_builtin_ccos): Delete.
- (fold_builtin_pow): Don't call fold_strip_sign_ops.
- (fold_builtin_hypot, fold_builtin_copysign): Likewise.
- Remove fndecl argument.
- (fold_builtin_1): Update calls accordingly. Handle constant
- cos, cosh, ccos and ccosh here.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document.
- * Makefile.in (OBJS): Add gimple-ssa-backprop.o.
- * common.opt (fssa-backprop): New option.
- * fold-const.h (negate_mathfn_p): Declare.
- * fold-const.c (negate_mathfn_p): Make public.
- * timevar.def (TV_TREE_BACKPROP): New.
- * tree-pass.h (make_pass_backprop): Declare.
- * passes.def (pass_backprop): Add.
- * gimple-ssa-backprop.c: New file.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard):
- Do not call create_empty_if_region_on_edge when cond_expr is true.
- (translate_isl_ast_node_for): Check whether a guard has been generated.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-poly.h (struct dr_info): Added invalid_alias_set number.
- (operator=): Removed.
- (dr_info): Make alias_set number the last argument with default
- value of invalid_alias_set.
- * graphite-sese-to-poly.c (build_scop_drs): Update constructor
- of dr_info.
- (rewrite_reductions_out_of_ssa): Iterate only through the
- basic blocks which are inside region.
- (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
- * sese.h (struct sese_l): Removed assignment operator.
- (split_region_for_bb): Removed dead code.
-
-2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-poly.h (struct dr_info): Removed conversion constructor.
- (struct scop): Renamed scop::region to scop::scop_info
- (scop_set_region): Same.
- (SCOP_REGION): Removed
- (SCOP_CONTEXT): Removed.
- (POLY_SCOP_P): Removed.
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
- Rename scop->region to scop->scop_info.
- (add_parameters_to_ivs_params): Same.
- (graphite_regenerate_ast_isl): Same.
- * graphite-poly.c (new_scop): Same.
- (free_scop): Same.
- (print_scop_params): Same.
- * graphite-scop-detection.c (scop_detection::remove_subscops): Same.
- (scop_detection::remove_intersecting_scops): Use pointer to sese_l.
- (dot_all_scops_1): Rename scop->region to scop->scop_info.
- (scop_detection::nb_pbbs_in_loops): Same.
- (find_scop_parameters): Same.
- (try_generate_gimple_bb): Same.
- (gather_bbs::before_dom_children): Same.
- (gather_bbs::after_dom_children): Same.
- (build_scops): Same.
- * graphite-sese-to-poly.c (build_scop_scattering): Same.
- (extract_affine_chrec): Same.
- (extract_affine): Same.
- (set_scop_parameter_dim): Same.
- (build_loop_iteration_domains): Same.
- (create_pw_aff_from_tree): Same.
- (add_param_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_scop_drs): Same.
- (analyze_drs_in_stmts): Same.
- (insert_out_of_ssa_copy_on_edge): Same.
- (rewrite_close_phi_out_of_ssa):Same.
- (rewrite_reductions_out_of_ssa):Same.
- (handle_scalar_deps_crossing_scop_limits):Same.
- (rewrite_cross_bb_scalar_deps):Same.
- (rewrite_cross_bb_scalar_deps_out_of_ssa):Same.
- (build_poly_scop):Same.
- (build_alias_set): Use pointer to dr_info.
- * graphite.c (print_graphite_scop_statistics):
- (graphite_transform_loops):
- * sese.h (struct sese_l): Remove conversion constructor.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/67966
- * tree.c (verify_type): Verify that TYPE_MODE match
- between TYPE_CANONICAL and type.
- * expr.c (store_expr_with_bounds): Revert my previous change.
- * expmed.c (store_bit_field_1): Revert prevoius change.
- * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
- to match for all types.
-
-2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop
- nesting.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * doc/tm.texi: Regenerated.
- * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New.
- * stor-layout.c (layout_type): Use mode to get vector mask size.
- * target.def (get_mask_mode): New.
- * targhooks.c (default_get_mask_mode): New.
- * targhooks.h (default_get_mask_mode): New.
- * tree-vect-stmts.c (get_same_sized_vectype): Add special case
- for boolean vector.
- * tree.c (MAX_BOOL_CACHED_PREC): New.
- (nonstandard_boolean_type_cache): New.
- (build_nonstandard_boolean_type): New.
- (make_vector_type): Vector mask has no canonical type.
- (build_truth_vector_type): New.
- (build_same_sized_truth_vector_type): New.
- (truth_type_for): Support vector masks.
- * tree.h (VECTOR_BOOLEAN_TYPE_P): New.
- (build_truth_vector_type): New.
- (build_same_sized_truth_vector_type): New.
- (build_nonstandard_boolean_type): New.
- * tree-cfg.c (verify_gimple_comparison) Require boolean
- vector type for vector comparison.
- (verify_gimple_assign_ternary): Likewise.
- * optabs.c (expand_vec_cond_expr): Accept boolean vector as
- condition operand.
- * tree-vect-stmts.c (vectorizable_condition): Use boolean
- vector type for vector comparison.
- * tree-vect-generic.c (elem_op_func): Add new operand to hold
- vector type.
- (do_unop): Adjust to modified function type.
- (do_binop): Likewise.
- (do_plus_minus): Likewise.
- (do_negate); Likewise.
- (expand_vector_piecewise): Likewise.
- (do_cond): Likewise.
- (do_compare): Use comparison instead of condition.
- (expand_vector_divmod): Use boolean vector type for comparison.
- (expand_vector_operations_1): Skip scalar mask operations.
-
-2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * omp-low.c (simd_clone_create): Set in_other_partition
- for created clones.
-
-2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.exp (Local Register Variables): Rewrite.
-
-2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign
- and x*x in cases where the operands are sign ops. Extend these
- rules to handle copysign as a sign op (including for cos, cosh
- and pow, which already treated negate and abs as sign ops).
-
-2015-10-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/68018
- * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
- for 64-bit MS_ABI targets also when default incoming stack boundary
- is overriden.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE
- cond stmts, enhanced and split out from ...
- (vn_phi_eq): ... here.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/68031
- * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h.
- (tree_ssa_name_nonnegative_warnv_p): Fold into ...
- (tree_single_nonnegative_warnv_p): ... here. For SSA names
- make sure they are not registered for update.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68026
- * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for
- unsigned VARYING values.
-
-2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
-
- * asan.c (asan_emit_stack_protection): Don't pass local stack to
- asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned
- NULL and use local stack than.
- (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call
- in addition to __asan_init.
- * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init.
- (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call.
- * asan.h (asan_intercepted_p): Handle new string builtins.
- * ubsan.c (ubsan_use_new_style_p): New function.
- (ubsan_instrument_float_cast): If location is unknown, assign
- input_location to loc. Propagate loc to ubsan_create_data if
- ubsan_use_new_style_p returned true.
-
-2015-10-21 Jeff Law <law@redhat.com>
-
- * Makefile.in (OBJS): Remove sched-vis.c
- * sched-vis.c: Removed. Code moved into...
- * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h.
- * rtl.h: Remove prototypes for functions now living in print-rtl.c
- * print-rtl.h Add prototypes for new functions in print-rtl.c.
- * auto-inc-dec.c: Include print-rtl.h
- * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
- * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.
-
- * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with
- ATTRIBUTE_UNUSED.
-
-2015-10-21 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
- to match.pd.
-* doc/implement-c.texi (Integers Implementation): Make GCC's promises
-about signed left shift stronger and clarify the cases when they're
-broken.
- Move (a * (1 << b)) is (a << b) to match.pd.
- Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
- Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
- Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
-
- * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
- New simplifier.
- (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
- (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
- (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
- : New simplifier.
- (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
- New simplifier.
- (match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
-
-2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
- Alan Modra <amodra@gmail.com>
-
- * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define.
- * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define.
- (LINK_SPEC): Add %(link_secure_plt).
- (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt".
- * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine.
-
-2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define.
- (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p):
- New function.
- (fusion_load_store): Use it.
- * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for
- ldp and stp in VD modes.
- * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern.
- (store_pair<mode>, VD): Likewise.
-
-2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67609
- * lra-splill.c (lra_final_code_change): Don't remove all
- sub-registers.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_binary_operation): If either operand was
- a constant pool reference use them if all other simplifications failed.
-
-2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern.
- * config/aarch64/aarch64-simd.md
- (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns.
- (aarch64_fpconst_pow_of_2): New function.
- (aarch64_vec_fpconst_pow_of_2): Likewise.
- * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare
- prototype.
- (aarch64_vec_fpconst_pow_of_2): Likewise.
- * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate.
- (aarch64_fp_vec_pow2): Likewise.
-
-2015-10-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro.
- (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument.
- * config/alpha/alpha.c (alpha_function_arg_advance): Update
- ALPHA_ARG_SIZE usage.
- (alpha_arg_partial_bytes): Ditto.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66810
- * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local
- error_mark_node decls.
-
-2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67963
- PR target/67985
- * common/config/i386/i386-common.c (ix86_handle_option): Remove
- OPT_miamcu handling.
- * config/i386/i386.c (PTA_NO_80387): New macro.
- (processor_alias_table): Add PTA_NO_80387 to lakemont.
- (ix86_option_override_internal): Update MASK_80387 from
- PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
- SSE math only if 80387 is supported. Don't change
- MASK_FLOAT_RETURNS.
- (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
- 80387 is supported.
- * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
- if TARGET_80387 is true and TARGET_IAMCU is false.
- (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
- is true and TARGET_IAMCU_P is false.
-
-2015-10-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/68017
- * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
-
-2015-10-20 Martin Liska <mliska@suse.cz>
-
- * cgraphclones.c (cgraph_node::create_virtual_clone):
- Verify cgraph_node.local.versionable instead of calling
- tree_versionable_function_p.
- * ipa-cp.c (determine_versionability): Save the information
- to ipa_node_params summary.
- (ipcp_versionable_function_p): Use it.
- (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function.
- (ipcp_generate_summary): Do not compute cgraph_node
- versionability.
- * ipa-inline-analysis.c (inline_generate_summary): Compute
- versionability for all cgraph nodes.
- * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate
- ipa_node_params::versionability.
- * ipa-prop.h (struct ipa_node_params): Declare it.
-
-2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR other/67868
- * varasm.c (assemble_variable): Move special vtv handling to..
- (handle_vtv_comdat_sections): .. here. New function.
- (output_object_block): Handle vtv sections.
-
-2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66912
- * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
-
-2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
-
- * doc/extend.texi: Update documentation WRT inline functions.
-
-2015-10-20 Alan Modra <amodra@gmail.com>
-
- PR go/66870
- * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
- * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
- (TARGET_CAN_SPLIT_STACK_64BIT): Define.
-
-2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
-
- PR rtl-optimization/66790
- * df.h (DF_MIR): New macro.
- (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
- (DF_MIR_INFO_BB): New macro.
- (DF_MIR_IN, DF_MIR_OUT): New macros.
- (struct df_mir_bb_info): New.
- (df_mir): New macro.
- (df_mir_add_problem, df_mir_simulate_one_insn): New forward
- declarations.
- (df_mir_get_bb_info): New.
- * df-problems.c (struct df_mir_problem_data): New.
- (df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
- df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
- df_mir_confluence_0, df_mir_confluence_n,
- df_mir_transfer_function, df_mir_free, df_mir_top_dump,
- df_mir_bottom_dump, df_mir_verify_solution_start,
- df_mir_verify_solution_end): New.
- (problem_MIR): New.
- (df_mir_add_problem, df_mir_simulate_one_insn): New.
- * timevar.def (TV_DF_MIR): New.
- * ree.c: Include bitmap.h
- (add_removable_extension): Add an INIT_REGS parameter. Use it
- to skip zero-extensions that may get an uninitialized register.
- (find_removable_extensions): Compute must-initialized registers
- using the MIR dataflow problem. Update the call to
- add_removable_extension.
- (find_and_remove_re): Call df_mir_add_problem.
-
-2015-10-19 Segher Boessenkool <segher@kernel.crashing.org>
-
- * common/config/mn10300/mn10300-common.c
- (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
- Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.
-
-2015-10-19 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Explicit Register Variables): Simplify and
- avoid unnecessary and confusion abbreviations. Update cross
- references.
- doc/implement-c.tex: Update cross reference.
-
-2015-10-19 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
- that create irreducible loops unless the path elimiantes a multiway
- branch.
+ PR tree-optimization/69168
+ * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
+ pattern stmt SLP type.
+ * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
+ end up unused so cope with that case.
-2015-10-19 Richard Biener <rguenther@suse.de>
+2016-01-12 Richard Biener <rguenther@suse.de>
- PR tree-optimization/67975
- * tree-cfg.h (extract_true_false_controlled_edges): Declare.
- * tree-cfg.c (extract_true_false_controlled_edges): Split out
- core worker from ...
- * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
- * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
- instead of block number for PHIs with two or one args.
- (vn_phi_eq): Compare edge predicates of PHIs that are in different
- blocks.
-
-2015-10-19 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
- (gimple_stmt_nonnegative_warnv_p): Use it.
- * match.pd (CPROJ): New operator list.
- (cproj (complex ...)): Move simplifications from ...
- * builtins.c (fold_builtin_cproj): ... here.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_expand_vector_move): Use
- GET_MODE_BITSIZE for IA MCU psABI to get vector natural
- alignment.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/invoke.texi: Replace @optindex with @opindex.
-
-2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67995
- * config/i386/i386.c (ix86_valid_target_attribute_tree): If
- arch= is set, clear all bits in x_ix86_isa_flags, except for
- ISA_64BIT, ABI_64, ABI_X32, and CODE16.
-
-2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
-
- PR middle-end/68002
- * common.opt (fkeep-static-functions): New option.
- * doc/invoke.texi: Document it.
- * cgraphunit.c (cgraph_node::finalize_function): Use it.
-
-2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * sched-int.h (struct autopref_multipass_data_): Remove offset
- field. Add min_offset, max_offset, multi_mem_insn_p fields.
- * haifa-sched.c (analyze_set_insn_for_autopref): New function.
- (autopref_multipass_init): Use it. Handle PARALLEL sets.
- (autopref_rank_data): New function.
- (autopref_rank_for_schedule): Use it.
- (autopref_multipass_dfa_lookahead_guard_1): Likewise.
-
-2015-10-18 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR other/65800
- * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here,
- (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New.
- (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot.
- (STANDARD_STARTFILE_PREFIX_1): New.
- (STANDARD_STARTFILE_PREFIX_2): New.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c (darwin_default_min_version): Refactor code.
- (darwin_driver_init): Note a version-min when provided on the c/l.
- * config/darwin.h (%darwin_minversion): Remove.
- * config/i386/darwin.h: Likewise.
- * config/rs6000/darwin.h: Likewise.
- * config/darwin.opt (mmacosx-version-min=): Use the configured default,
- rather than an arbitrary constant.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for
- PPC, detect conflicts between -arch and multilib settings. Detect
- and warn about conflicts between multiple -arch definitions.
-
-2015-10-18 Iain Sandoe <iain@codesourcery.com>
-
- * config/darwin-driver.c: Adjust includes to add diagnostic-core.
-
-2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c (add_next_usage_insn): Change argument type
- from rtx to rtx_insn *.
-
-2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
-
- * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable
- for Lakemont.
-
-2015-10-16 Andrew MacLeod <amacleod@redhat.com>
-
- * config/tilepro/gen-mul-tables.cc: Adjust include files.
- * config/tilegx/mul-tables.c: Regenerate.
- * config/tilepro/mul-tables.c: Regenerate.
-
- * config/tilegx/tilegx-c.c: Adjust include files.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-devices.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin-driver.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/host-cygwin.c: Likewise.
- * config/i386/host-mingw32.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips-tables.opt
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/mkoffload.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/host-darwin.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000-linux.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-10-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/67745
- * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
- (FUNCTION_BOUNDARY_P): New macro:
- * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
- New hook.
- * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
- * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
- * target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
- * function.c (allocate_struct_function): Call
- relayout_function hook.
- * passes.c (rest_of_decl_compilation): Likewise.
-
-2015-10-16 Christian Bruel <christian.bruel@st.com>
-
- PR target/67745
- * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to:
- * config/arm/arm.c (arm_option_override_internal): Call
- arm_override_options_after_change_1.
- (arm_override_options_after_change): New function.
- (arm_override_options_after_change_1): Likewise.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- Revert:
- * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
- empty constructors.
-
-2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the
- argument is an ADDR_EXPR.
-
-2015-10-16 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build
- and get rid of force_gimple_operand_gsi.
- (gimple_fold_builtin_memory_chk): Likewise.
- (gimple_fold_builtin_stxcpy_chk): Likewise.
- (rewrite_to_defined_overflow): Likewise.
- (gimple_convert_to_ptrofftype): New function.
- * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare.
-
-2015-10-16 Richard Biener <rguenther@suse.de>
-
- * tree-nested.h (build_addr): Adjust prototype.
- * tree-nested.c (build_addr): Remove context argument and use
- mark_addressable.
- (get_static_chain): Adjust calls to build_addr.
- (convert_nl_goto_reference): Likewise.
- (convert_tramp_reference_op): Likewise.
- (finalize_nesting_tree_1): Likewise.
- * value-prof.c (gimple_ic): Likewise.
- * gimple-low.c (lower_builtin_setjmp): Likewise.
- * tree-parloops.c (take_address_of): Likewise.
- (create_call_for_reduction_1): Likewise.
- * tree-profile.c (gimple_gen_interval_profiler): Likewise.
- (gimple_gen_ic_func_profiler): Likewise.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
- empty constructors.
-
-2015-10-16 Michael Collison <michael.collison@linaro.org>
- Andrew Pinski <andrew.pinski@caviumnetworks.com>
-
- * match.pd ((x < y) && (x < z) -> x < min (y,z),
- (x > y) and (x > z) -> x > max (y,z))
-
-2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define.
- (DYNAMIC_LINKER): Renamed to ...
- (GLIBC_DYNAMIC_LINKER): This.
- (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-reassoc.c (attempt_builtin_copysign): Call
- gimple_call_builtin instead of is_gimple_call.
-
-2015-10-15 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vect_init_vector): Remove unused vars.
-
-2015-10-15 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_get_new_ssa_name): Declare.
- * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper.
- * tree-vect-loop.c (get_initial_def_for_induction): Drop
- use of force_gimple_operand in favor of gimple_build.
- Use vect_get_new_ssa_name.
- * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name.
- (vectorizable_mask_load_store): Likewise.
- (vectorizable_call): Likewise.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
- (vect_get_vec_def_for_stmt_copy): Remove redundant stmt.
-
-2015-10-15 Richard Sandiford <richard.sandiford@arm.com>
-
- PR tree-optimization/67945
- * tree-pass.h (PROP_gimple_opt_math): New property flag.
- * generic-match-head.c (canonicalize_math_p): New function.
- * gimple-match-head.c: Include tree-pass.h.
- (canonicalize_math_p): New function.
- * match.pd: Group math built-in rules into simplifications
- and canonicalizations. Guard the latter with canonicalize_math_p.
- * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the
- PROP_gimple_opt_math property.
-
-2015-10-15 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67953
- * match.pd (X - (X / Y) * Y): Don't change signedness of @0.
-
-2015-10-15 Jiong Wang <jiong.wang@arm.com>
-
- * config.gcc: Recognize "." in architecture base name for AArch64.
-
-2015-10-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using
- ROUND_UP macro.
- * config/mips/mips.c (mips_setup_incoming_varargs): Use
- ROUND_DOWN to calculate off.
- (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize.
- (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-14 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case.
-
-2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
- Torvald Riegel <triegel@redhat.com>
-
- PR target/67281
- * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
- (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
- trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
- (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
- *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
- (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
- trechkpt, treclaim, tsr, ttest): New define_expands.
- * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
- __TM_FENCE__ for htm.
- * doc/extend.texi: Update documentation for htm builtins.
-
-2015-10-14 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67967
- * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
- REG_CFA_EXPRESSION to aligned SSE stores.
-
-2015-10-14 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump
- num_threaded_edges for successful FSM threads too.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
- (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
- (vect_get_vec_def_for_operand): Remove unused parameter.
- * tree-vect-loop.c (get_initial_def_for_induction): Adjust.
- (vect_create_epilog_for_reduction): Likewise.
- (vectorizable_reduction): Likewise.
- (vectorizable_live_operation): Likewise.
- * tree-vect-patterns.c (type_conversion_p): Likewise.
- (vect_recog_vector_vector_shift_pattern): Likewise.
- (check_bool_pattern): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
- (vect_analyze_slp_cost_1): Likewise.
- * tree-vect-stmts.c (process_use): Likewise.
- (vect_get_vec_def_for_operand): Do not handle reductions.
- (vect_get_vec_defs): Adjust.
- (vectorizable_mask_load_store): Likewise.
+ PR tree-optimization/69157
+ * tree-vect-stmts.c (vectorizable_mask_load_store): Check
+ stmts def type only during analyze phase.
(vectorizable_call): Likewise.
(vectorizable_simd_clone_call): Likewise.
- (vect_get_loop_based_defs): Likewise.
(vectorizable_conversion): Likewise.
(vectorizable_assignment): Likewise.
(vectorizable_shift): Likewise.
(vectorizable_operation): Likewise.
(vectorizable_store): Likewise.
(vectorizable_load): Likewise.
- (vect_is_simple_cond): Likewise.
- (vectorizable_condition): Likewise.
- (vect_is_simple_use): Remove unused parameters.
- (vect_is_simple_use_1): Adjust and rename.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67915
- * match.pd: Handle comparisons of addresses of STRING_CSTs.
- * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build.
- * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC
- stmt folding in favor of GIMPLE one.
-
-2015-10-14 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67815
- * tree-ssa-reassoc.c (attempt_builtin_copysign): New function.
- (reassociate_bb): Call it.
-
-2015-10-14 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Reset info at start.
- (vect_analyze_group_access_1): Add debug print.
- * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ...
- (vect_compute_single_scalar_iteration_cost): ... to this.
- (vect_analyze_loop_2): Adjust.
- * tree-vect-slp.c (struct _slp_oprnd_info): Move from ...
- * tree-vectorizer.h: ... here.
- (add_stmt_info_to_vec): Remove.
- * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec.
-
-2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * targhooks.c (default_target_option_pragma_parse): Do not warn if
- called on behalf of "#pragma GCC pop_options".
-
-2015-10-14 Tom de Vries <tom@codesourcery.com>
-
- * cfganal.c (verify_no_unreachable_blocks): New function.
- (inverted_post_order_compute) [ENABLE_CHECKING]: Call
- verify_no_unreachable_blocks.
- cfganal.h (verify_no_unreachable_blocks): Declare.
-
-2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
-
- * common.opt: Add flag_checking.
- * system.h (CHECKING_P): Define.
-
-2015-10-13 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
- BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
- BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
- BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
- BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
- * cgraph.h (enum cgraph_simd_clone_arg_type): Add
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
- SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
- SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
- (struct cgraph_simd_clone_arg): Adjust comment.
- * coretypes.h (struct gomp_ordered): New forward decl.
- * gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
- set critical clauses to it.
- (gimple_build_omp_ordered): Return gomp_ordered * instead of
- gimple *. Add CLAUSES argument, set ordered clauses to it.
- (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
- GIMPLE_OMP_ORDERED.
- * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
- GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
- * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
- to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
- GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
- GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
- Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
- GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
- renumber
- GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
- (gomp_critical): Add clauses field.
- (gomp_ordered): New struct.
- (is_a_helper <gomp_ordered *>::test): New inline.
- (gimple_build_omp_critical): Add CLAUSES argument.
- (gimple_build_omp_ordered): Likewise. Return gomp_ordered *
- instead of gimple *.
- (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
- gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
- gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
- gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
- inline functions.
- * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
- (dump_gimple_omp_target): Handle enter data and exit data.
- (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
- (dump_gimple_omp_critical): Print clauses.
- (dump_gimple_omp_ordered): New function.
- (dump_gimple_omp_task): Handle taskloop.
- (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
- GIMPLE_OMP_ORDERED.
- * gimple-walk.c (walk_gimple_op): Walk clauses on
- GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
- * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
- (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
- (struct gimplify_omp_ctx): Add loop_iter_var,
- target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
- and target_firstprivatize_array_bases fields.
- (delete_omp_context): Release loop_iter_var.
- (gimplify_bind_expr): Handle ORT_NONE.
- (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
- ORT_COMBINED_TARGET.
- (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
- OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
- (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
- ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
- ctx->target_map_scalars_firstprivate.
- (omp_add_variable): Handle ORT_NONE. Allow map clause together with
- data sharing clauses. For data sharing clause with VLA decl
- on omp target/target data don't add firstprivate for the pointer.
- Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
- (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
- the addition of ORT_COMBINED_TARGET.
- (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
- for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
- pointers as zero length array sections and
- ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
- data sharing.
- (omp_check_private): Handle omp_member_access_dummy_var vars.
- (find_decl_expr): New function.
- (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
- complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
- Handle OMP_CLAUSE_GANG separately. Handle
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
- clauses. Diagnose linear clause on combined
- distribute {, parallel for} simd construct, unless it is the loop
- iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
- Handle map clauses with COMPONENT_REF. Initialize
- ctx->target_map_scalars_firstprivate,
- ctx->target_firstprivatize_array_bases and
- ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
- linear clause even to target region if combined. Remove
- map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
- OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
- map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
- Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
- OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
- For linear clause on worksharing loop combined with parallel add
- shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
- with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
- omp_member_access_dummy_var vars. Add lastprivate clause to outer
- taskloop if needed.
- (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
- If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
- GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
- GOMP_MAP_POINTER.
- (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
- of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
- in target body. Handle removal of struct mapping if struct is not
- seen in target body. Remove GOMP_MAP_STRUCT map clause on
- OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
- addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
- instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
- for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
- clause appear together. Handle
- OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
- clause if it has map-type-modifier always. Handle
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
- clauses.
- (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
- Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
- callers.
- (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
- loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
- iterators in doacross loops.
- (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
- gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
- for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
- for the addition of ORT_COMBINED_TARGET.
- (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
- gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
- and OMP_TARGET_EXIT_DATA.
- (gimplify_omp_ordered): New function.
- (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
- OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
- Gimplify clauses on OMP_CRITICAL.
- * internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
- expand_GOMP_SIMD_ORDERED_END): New functions.
- * internal-fn.def (GOMP_SIMD_ORDERED_START,
- GOMP_SIMD_ORDERED_END): New internal functions.
- * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
- BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
- BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
- BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
- BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
- BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
- BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
- (BUILT_IN_GOMP_TASK): Add INT argument to the end.
- (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
- adjust type.
- (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
- GOMP_target_data_41, adjust type.
- (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
- GOMP_target_update_41, adjust type.
- * omp-low.c (struct omp_region): Adjust comments, add ord_stmt
- field.
- (struct omp_for_data): Add ordered and simd_schedule fields.
- (omp_member_access_dummy_var, unshare_and_remap_1,
- unshare_and_remap, is_taskloop_ctx): New functions.
- (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
- (extract_omp_for_data): Handle taskloops and doacross loops
- and simd schedule modifier.
- (omp_adjust_chunk_size): New function.
- (get_ws_args_for): Use it.
- (lookup_sfield): Change first argument to splay_tree_key,
- add overload with first argument tree.
- (maybe_lookup_field): Likewise.
- (use_pointer_for_field): Handle omp_member_access_dummy_var.
- (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
- task_shared_vars, clear TREE_ADDRESSABLE on the copy.
- (build_outer_var_ref): Add LASTPRIVATE argument, handle
- taskloops and omp_member_access_dummy_var vars.
- (build_sender_ref): Change first argument to splay_tree_key,
- add overload with first argument tree.
- (install_var_field): For mask & 8 use &DECL_UID as key instead
- of the tree itself.
- (fixup_child_record_type): Const qualify *.omp_data_i.
- (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
- C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
- OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
- OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
- on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
- (create_omp_child_function): Set TREE_READONLY on .omp_data_i.
- (find_combined_for): Allow searching for different GIMPLE_OMP_FOR
- kinds.
- (add_taskreg_looptemp_clauses): New function.
- (scan_omp_parallel): Use it.
- (scan_omp_task): Likewise.
- (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
- For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
- (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
- and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
- sandwiched taskloop constructs. Type check
- OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
- region. Diagnose depend(source) or depend(sink:...) on
- target constructs or task/taskloop.
- (handle_simd_reference): Use get_name.
- (lower_rec_input_clauses): Likewise. Ignore all
- OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
- Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
- before passing it to omp_clause_{default,copy}_ctor. Handle
- OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
- lastprivate_firstprivate flag for linear that needs copyin and
- copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
- (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
- on taskloop lookup decl in outer context. Pass true to
- build_outer_var_ref lastprivate argument. Handle
- OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
- outside of outer taskloop for.
- (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
- OMP_CLAUSE_DECL.
- (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
- GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
- omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
- with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
- (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
- abstract origin. Handle omp_member_access_dummy_var vars.
- (expand_parallel_call): Use expand_omp_build_assign.
- (expand_task_call): Handle taskloop construct expansion. Add
- REGION argument. Use GOMP_TASK_* defines instead of hardcoded
- integers. Add priority argument to GOMP_task* calls. Or in
- GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
- GOMP_task call.
- (expand_omp_build_assign): Add prototype. Add AFTER
- argument, if true emit statements after *GSI_P and continue linking.
- (expand_omp_taskreg): Adjust expand_task_call caller.
- (expand_omp_for_init_counts): Rename zero_iter_bb argument to
- zero_iter1_bb and first_zero_iter to first_zero_iter1, add
- zero_iter2_bb and first_zero_iter2 arguments, handle computation
- of counts even for ordered loops.
- (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
- (expand_omp_ordered_source, expand_omp_ordered_sink,
- expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
- functions.
- (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
- clauses on worksharing loop. Handle DOACROSS loop expansion.
- (expand_omp_for_static_nochunk): Handle linear clauses on
- worksharing loop. Adjust expand_omp_for_init_counts
- callers.
- (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
- (expand_omp_simd): Handle addressable fd->loop.v. Adjust
- expand_omp_for_init_counts callers.
- (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
- functions.
- (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
- Handle doacross loops.
- (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
- GOMP_target_{41,update_41,enter_exit_data} libcalls.
- (expand_omp): Don't expand ordered depend constructs here, record
- ord_stmt instead for later expand_omp_for_generic.
- (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
- clause as stand-alone directive.
- (lower_omp_ordered_clauses): New function.
- (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
- don't lower anything.
- (lower_omp_for_lastprivate): Use last _looptemp_ clause
- on taskloop for comparison.
- (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
- and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
- expansion for linear adjustments.
- (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
- (lower_depend_clauses): Assert not seeing sink/source depend kinds.
- Set TREE_ADDRESSABLE on array. Change first argument from gimple *
- to tree * pointing to the stmt's clauses.
- (lower_omp_taskreg): Adjust lower_depend_clauses caller.
- (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
- and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
- GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
- map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
- clauses. Always use short kind and 8-bit align shift.
- (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
- (struct lower_omp_regimplify_operands_data): New type.
- (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
- New functions.
- (lower_omp_1): Use lower_omp_regimplify_operands instead of
- gimple_regimplify_operands.
- (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
- GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
- clause as stand-alone directive.
- (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
- (simd_clone_mangle): Mangle the various linear kinds
- per the new ABI.
- (simd_clone_adjust_argument_types): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
- (simd_clone_init_simd_arrays): Don't do anything for uval.
- (simd_clone_adjust): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
- SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
- Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
- * omp-low.h (omp_member_access_dummy_var): New prototype.
- * passes.def (pass_simduid_cleanup): Schedule another copy of the
- pass after all optimizations.
- * tree.c (omp_clause_code_name): Add entries for
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
- (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
- arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
- (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
- OMP_CLAUSE_REDUCTION 5 arguments. Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
- clauses.
- * tree-core.h (enum omp_clause_linear_kind): New.
- (struct tree_omp_clause): Change type of map_kind
- from unsigned char to unsigned int. Add subcode.if_modifier
- and subcode.linear_kind fields.
- (enum omp_clause_code): Add
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
- and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
- (OMP_CLAUSE_REDUCTION): Document
- OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
- (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
- * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
- (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
- operand.
- (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
- operand.
- (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
- codes.
- * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
- (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
- char.
- (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
- (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
- (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
- (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
- OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
- OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
- OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
- OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
- OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
- OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
- OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
- OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
- OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
- * tree-inline.c (remap_gimple_stmt): Handle clauses on
- GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
- IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
- * tree-nested.c (convert_nonlocal_omp_clauses): Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
- and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
- clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
- (convert_local_omp_clauses): Likewise.
- * tree-pretty-print.c (dump_omp_clause): Handle
- OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
- and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
- clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
- OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
- OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
- GOMP_MAP_FORCE_DEALLOC. Handle
- GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
- (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
- and clauses on OMP_ORDERED and OMP_CRITICAL.
- * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
- Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
- (vectorize_loops): Adjust comments.
- (pass_simduid_cleanup::execute): Likewise.
- * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
- SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
- * wide-int.h (wi::gcd): New.
-
-2015-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (classify_argument): Use CEIL where applicable.
- (ix86_function_arg_advance): Ditto.
- (ix86_function_arg): Ditto.
- (ix86_gimplify_va_arg): Ditto.
- (ix86_class_max_nregs): Ditto.
- (inline_memory_move_cost): Ditto.
- (ix86_set_reg_reg_cost): Ditto.
- * config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
-
-2015-10-13 Alexandre Oliva <aoliva@redhat.com>
-
- PR middle-end/67912
- * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
-
-2015-10-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
- ROUND_UP macro and UNITS_PER_WORD * 2.
- * config/sparc/sparc.c (sparc_compute_frame_size):
- Use ROUND_UP and ROUND_DOWN macros where applicable.
- (function_arg_record_value, function_arg_record_value_1)
- (function_arg_record_value_1): Ditto.
- (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
- alignment to double-word.
- (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
- (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com>
-
- * rtl.h (print_insn): Fix prototype.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
- -1. Add assert that returned entry matches phi argument.
- (parallelize_loops): Move calls to init_stmt_vec_info_vec and
- free_stmt_vec_info_vec ...
- (gather_scalar_reductions): ... here. Initialize gimple_uids of phis
- with -1.
-
-2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/67909, 67947
- * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
- really skip the inner loop.
-
-2015-10-13 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
- Allow single block jump threading paths.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * doc/invoke.texi (@item parloops-schedule): New item.
- * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
- * tree-parloops.c: Include params-enum.h.
- (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
- * params-enum.h: New file.
- * opts.c (handle_param): Handle case that param arg is a string.
- * params-list.h: Handle DEFPARAMENUM5 in params.def.
- * params.c (find_param): New function, factored out of ...
- (set_param_value): ... here.
- (param_string_value_p): New function.
- * params.h (struct param_info): Add value_names field.
- (find_param, param_string_value_p): Declare.
-
-2015-10-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Handle original loop tree.
-
-2015-10-13 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
- the data dependence vector.
- (vect_peeling_hash_insert): Get the peeling hash table as argument.
- (vect_peeling_hash_get_lowest_cost): Likewise.
- (vect_enhance_data_refs_alignment): Adjust.
- (struct _vect_peel_info, struct _vect_peel_extended_info,
- struct peel_info_hasher): Move from ...
- * tree-vectorizer.h: ... here.
- (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
- (LOOP_VINFO_PEELING_HTAB): Likewise.
- (struct _loop_vec_info): Remove min_profitable_iters and
- peeling_htab members.
- * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
- here.
- (destroy_loop_vec_info): Adjust.
- (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
- (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
- to estimate alias versioning cost.
- * tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
-
-2015-10-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (real_isinteger): Declare.
- * real.c (real_isinteger): New function.
- * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
- if y is an even integer.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- revert:
- 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
- * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
- counts when these are more informative.
-
-2015-10-12 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
- (fsm_find_control_stmt_paths): Change name of first argument to
- more accurately relfect what it really is. Handle simplification
- of GIMPLE_COND after finding a thread path for NAME.
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
- nontrivial conditions to be handled by FSM threader.
- (thread_through_normal_block): Extract the name to looup via
- FSM threader from COND_EXPR.
-
- * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
- restriction that traced SSA_NAME is a user variable.
-
-2015-10-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Add missing phis.
-
-2015-10-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67476
- * omp-low.c (expand_omp_for_generic): Handle simple latch.
-
-2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/aarch64/aarch64-simd-builtins.def: Update builtins
- tables: add tbl3 and tbx4.
- * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
- (aarch64_tbx4v8qi): New.
- * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
- (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
- Rewrite using builtin functions.
- * config/aarch64/iterators.md (UNSPEC_TBX): New.
-
-2015-10-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
- ROUND_UP macro.
- * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
- Use ROUND_UP and ROUND_DOWN macros where applicable.
- (rs6000_darwin64_record_arg_flush): Ditto.
- (rs6000_function_arg): Use ROUND_UP to calculate align_words.
- (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
- rounded_size.
-
-2015-10-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
- (AARCH64_ROUND_DOWN): Ditto.
- * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
-
-2015-10-12 Richard Biener <rguenther@suse.de>
-
- PR ipa/67783
- * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
- code that analyzes IVs on each stmt but in a cheaper way avoiding
- quadratic behavior.
-
-2015-10-12 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (msp430_mcu_names): Rename to
- msp430_mcu_data, add fields for ISA and hardware multiply
- support. Import latest data from the devices.csv file.
- (msp430_override_option): Use the data from the new array.
- (msp430_use_f5_series_hwmult): Likewise.
- (use_32bit_hwmult): Likewise.
- (msp430_no_hwmult): Likewise.
- * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
- MCU names.
- * doc/invoke.texi (MSP430 Options): Note that if the MCU name is
- not recognised then no hardware multiply support is assumed and
- that only the MSP430 ISA is allowed.
-
-2015-10-12 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Move cost
- related code ...
- (vect_analyze_loop_2): ... here.
-
-2015-10-11 Jason Merrill <jason@redhat.com>
-
- PR c++/67557
- * expr.c (store_field): Call store_constructor directly when
- storing a CONSTRUCTOR into a target smaller than its type.
- Guard against unsafe bitwise copy.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
- counts when these are more informative.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-profile.c (tree_profiling): Do not clear
- pure/const when not instrumenting.
- (pass tree_profile): Add dump of symtab.
-
-2015-10-11 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
- addresses.
- (fold_addr_of_array_ref_difference): Likewise.
-
-2015-10-11 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
- tree-ssa-threadbackward.c.
- (fsm_find_control_statement_thread_paths): Likewise.
- (thread_through_normal_block): Break out FSM bits and move them
- into a new function in tree-ssa-threadbackward.c. Call new function
- instead.
- Minimize header file usage.
- * tree-ssa-threadbackward.h: New file.
- * tree-ssa-threadbackward.c: Likewise.
- * Makefile.in (OBJS): Add tree-ssa-threadbackward.o
-
-2015-10-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
-
-2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67864
- * bb-reorder (reorder_basic_blocks_simple): Prefer existing
- fallthrough edges for conditional jumps. Don't sort candidate
- edges if not optimizing for speed.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (REVERSE_CONDITION): New default definition.
- * jump.c (reversed_comparison_code_parts): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
- check HARD_FRAME_POINTER_IS_ARG_POINTER.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (FRAME_ADDR_RTX): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
- * builtins.c (expand_builtin_return_addr): Adjust.
- * doc/tm.texi: Likewise.
- * doc/tm.texi.in: Likewise.
- * except.c (expand_builtin_unwind_init): Likewise.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_return_addr): Adjust.
- * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
-
-2015-10-10 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (type_with_interoperable_signedness): New.
- (gimple_canonical_types_compatible_p): Use it.
- * tree.h (type_with_interoperable_signedness): Declare
-
-2015-10-10 Jan Hubicka <hubicka@ucw.cz>
-
- * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
- and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
- when OEP_ADDRESS_OF is se.
-
-2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Add dump of the
- data dependence graph.
- * graphite-poly.c (print_isl_union_map): New.
- (debug_isl_union_map): New.
- * graphite-poly.h (print_isl_union_map): Declare.
- (debug_isl_union_map): Declare.
-
-2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (print_iteration_domain): Remove verbosity.
- Remove OpenScop formatting.
- (print_iteration_domains): Same.
- (debug_iteration_domain): Same.
- (debug_iteration_domains): Same.
- (print_pdr): Same.
- (debug_pdr): Same.
- (dump_gbb_cases): Same.
- (dump_gbb_conditions): Same.
- (print_pdrs): Same.
- (debug_pdrs): Same.
- (print_pbb_body): Same.
- (print_pbb): Same.
- (print_scop_params): Same.
- (print_scop_context): Same.
- (print_scop): Same.
- (debug_pbb_domain): Same.
- (debug_pbb): Same.
- (debug_scop_context): Same.
- (debug_scop): Same.
- (debug_scop_params): Same.
- * graphite-poly.h: Same.
- * graphite.c (graphite_transform_loops): Same.
-
-2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
- call that isn't needed.
-
-2015-10-09 Jeff Law <law@redhat.com>
-
- * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
- rather than moving each name to the freelist individually.
-
-2015-10-09 Steve Ellcey <sellcey@imgtec.com>
-
- * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
- * frame-header-opt.c: New file.
- * config/mips/mips-proto.h (mips_register_frame_header_opt):
- Add prototype.
- * config/mips/mips.c (mips_compute_frame_info): Check
- optimize_call_stack flag.
- (mips_option_override): Register new frame_header_opt pass.
- (mips_frame_info, mips_int_mask, mips_shadow_set,
- machine_function): Move these types to...
- * config/mips/mips.h: here.
- (machine_function): Add does_not_use_frame_header and
- optimize_call_stack fields.
- * config/mips/t-mips (frame-header-opt.o): Add new make rule.
- * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
- Document new flags.
- * config/mips/mips.opt (mframe-header-opt): Add new option.
-
-2015-10-09 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c
- (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
- ROUND_DOWN where applicable.
-
-2015-10-09 Jeff Law <law@redhat.com>
-
- * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
- correct statement.
-
-2015-10-09 Renlin Li <renlin.li@arm.com>
-
- * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
- operands[0] and operands[2].
- (neon_vtrn<mode>_insn): Likewise.
- (neon_vzip<mode>_insn): Likewise.
-
-2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
-
- * match.pd: ((X inner_op C0) outer_op C1) New pattern.
- ((X & C2) << C1): Expand to...
- (X {&,^,|} C2 << C1): ...This.
- ((X & C2) >> C1): Expand to...
- (X {&,^,|} C2 >> C1): ...This.
-
-2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67895
- * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
- Adjust embedded rounding/SAE specifier position.
- (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
- (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
- (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
- (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
- (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
- Likewise.
- (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
-
-2015-10-09 Martin Jambor <mjambor@suse.cz>
-
- tree-optimization/67794
- * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
- between types of state,ents but accept original definitions as a
- parameter.
- (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
- iterate over definitions.
-
-2015-10-09 James Norris <jnorris@codesourcery.com>
-
- * config/rs6000/rs6000.c (rs6000_offload_options): New.
- (TARGET_OFFLOAD_OPTIONS): New.
-
-2015-10-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR middle-end/67891
- * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
-
- PR middle-end/67766
- * function.c (expand_function_end): Move return value
- promotion past the handling of PARALLELs and CONCATs.
-
- PR rtl-optimization/67828
- * tree-ssa-loop-unswitch.c: Include tree-ssa.h.
- (tree_may_unswitch_on): Don't unswitch on expressions
- involving undefined values.
-
-2015-10-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (print_operand): Fix formatting.
- (dt_node::append_simplify): Warn for multiple simplifiers
- that match the same pattern.
- * match.pd (log (exp @0)): Remove duplicates.
-
-2015-10-09 Richard Biener <rguenth@suse.de>
-
- PR target/67366
- * gimple-fold.c (optabs-query.h): Include
- (gimple_fold_builtin_memory_op): Allow unaligned stores
- when movmisalign_optabs are available.
-
-2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/67366
- * config/arm/arm.md (movmisalign<mode>): New.
- * config/arm/iterators.md (HSI): New.
-
-2015-10-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67891
- * gimple-match.h (gimple_simplified_result_is_gimple_val):
- New helper.
- (gimple_resimplify1): Declare.
- (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
- * gimple-match-head.c (gimple_resimplify1): Export.
- (gimple_resimplify2): Likewise.
- (gimple_resimplify3): Likewise.
- (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
- * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
- to avoid creating stmts without VN info.
-
-2015-10-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::compare_symbol_references): Fix use
- of availability.
-
-2015-10-08 Jeff Law <law@redhat.com>
-
- * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
- and release_ssa_name in two places.
- (gimple_stringop_fixed_value): Similarly.
-
- * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
- release_defs.
-
- * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
- unlink_stmt_vdef and release_ssa_name_fn.
-
- * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
- release_defs.
-
-2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_compute_frame_layout): Round up the
- SSE register save area to 16 bytes only if the incoming stack
- boundary is no less than 16 bytes.
-
-2015-10-08 Jeff Law <law@redhat.com>
-
- * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
- release_ssa_name. Fix typo in comment.
-
-2015-10-08 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.h (struct machine_function): Add comment.
- * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
- may return pointer as well as in memory.
- (nvptx_output_return): Likewise.
-
-2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
- (fold_builtin_1): Update accordingly. Handle constant arguments here.
- * match.pd: Add rules previously handled by fold_builtin_sqrt
- and fold_builtin_cbrt.
-
-2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
-
- * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
- * doc/invoke.texi (--param max-ssa-name-query-depth): Document.
- * fold-const.h (tree_unary_nonnegative_warnv_p)
- (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
- (tree_expr_nonnegative_warnv_p): Add depth parameters.
- * fold-const.c: Include gimple-fold.h and params.h.
- (tree_ssa_name_nonnegative_warnv_p): New function.
- (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
- (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
- (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
- Add a depth parameter and increment it for recursive calls to
- tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
- to handle SSA names.
- * gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
- (gimple_stmt_nonnegative_warnv_p): Declare.
- * tree-vrp.c (remove_range_assertions): Remove assert that condition
- cannot be proven false.
- (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
- (gimple_stmt_nonnegative_warnv_p): Move to...
- * gimple-fold.c: ...here. Add depth parameters and pass them
- down to the tree routines. Accept statements that aren't
- assignments or calls but just return false for them.
- (gimple_val_nonnegative_real_p): Delete.
- * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
- tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
- Check HONOR_NANs first.
-
-2015-10-08 Martin Jambor <mjambor@suse.cz>
-
- * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
- unnecessary MIN.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
- in the tail of outer-loop.
-
-2015-10-08 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
- return UI_NONE.
-
-2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
- "cfghooks.h", add prototypes for introduced new functions.
- (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
- checks on ability of loop unswitching to tree_unswitch_single_loop;
- invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
- on innermost loop check.
- (tree_unswitch_single_loop): Add all required checks on ability of
- loop unswitching under zero recursive level guard.
- (tree_unswitch_outer_loop): New function.
- (find_loop_guard): Likewise.
- (empty_bb_without_guard_p): Likewise.
- (used_outside_loop_p): Likewise.
- (get_vop_from_header): Likewise.
- (hoist_guard): Likewise.
- (check_exit_phi): Likewise.
-
-2015-10-08 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
- ops element.
-
-2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR c/65345
- * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
- create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-07 Jan Hubicka <hubicka@ucw.cz>
-
- * expr.c (store_expr_with_bounds): Handle aggregate moves from
- BLKmode.
- * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL
- to define gimple type system; compare aggregates only by size.
-
-2015-10-07 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here.
- * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it
- here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP
- unnecessarily.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS.
- * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same.
- (generate_isl_schedule): Same.
- * graphite-optimize-isl.c (scop_get_domains): Same.
- (apply_schedule_map_to_scop): Same.
- * graphite-poly.c (print_iteration_domains): Same.
- (remove_gbbs_in_scop): Same.
- (new_scop): Same.
- (free_scop): Same.
- (print_scop): Same.
- * graphite-poly.h (struct scop): Rename bbs to pbbs.
- (SCOP_BBS): Remove.
- * graphite-scop-detection.c (compare_bb_depths): Remove.
- (graphite_sort_dominated_info): Remove.
- (try_generate_gimple_bb): Move out of scop_detection.
- (all_non_dominated_preds_marked_p): Remove.
- (build_scop_bbs_1): Remove.
- (build_scop_bbs): Remove.
- (nb_pbbs_in_loops): Do not use SCOP_BBS.
- (find_scop_parameters): Same.
- (sese_dom_walker): Rename gather_bbs.
- (before_dom_children): Call try_generate_gimple_bb and collect gbb
- and pbb.
- (build_scops): Call gather_bbs.
- * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS.
- (add_conditions_to_constraints): Same.
- (build_scop_iteration_domain): Same.
- (build_scop_drs): Same.
- (new_pbb_from_pbb): Same.
- * sese.c (new_sese_info): Create bbs.
- * sese.h (struct sese_info_t): Add bbs.
-
-2015-10-07 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
- encoding in 64-bit mode.
-
-2015-10-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66697
- * config/i386/i386.c (ix86_option_override_internal): Always use
- 8-byte minimum stack boundary in 64-bit mode.
- (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
- (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
- Add a REG_CFA_EXPRESSION note if needed.
- (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
- (ix86_handle_force_align_arg_pointer_attribute): New.
- (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
- (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
- with ix86_handle_force_align_arg_pointer_attribute.
- * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (parameter_index_in_region): Remove
- use of SESE_ADD_PARAMS.
- (find_scop_parameters): Same.
- * sese.c (new_sese_info): Same.
- * sese.h (struct sese_info_t): Remove add_params.
- (SESE_ADD_PARAMS): Remove.
-
-2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use
- an sese_info_p.
- (copy_def): Same.
- (copy_internal_parameters): Same.
- (translate_isl_ast_to_gimple): Use an sese_l.
- (build_iv_mapping): Same.
- * graphite-poly.c (new_sese): Rename new_sese_info.
- (free_sese): Rename free_sese_info.
- * graphite-poly.h (struct scop): Use an sese_info_p.
- (scop_set_region): Same.
- * graphite-scop-detection.c (struct sese_l): Moved...
- (get_entry_bb): Moved...
- (get_exit_bb): Moved...
- (parameter_index_in_region_1): Use an sese_info_p.
- (parameter_index_in_region): Same.
- (scan_tree_for_params): Same.
- (find_params_in_bb): Same.
- (sese_dom_walker): Use an sese_l.
- * graphite-sese-to-poly.c (remove_invariant_phi): Same.
- (reduction_phi_p): Same.
- (parameter_index_in_region_1): Use an sese_info_p.
- (propagate_expr_outside_region): Use an sese_l.
- * graphite.c: Replace uses of SCOP_REGION.
- * sese.c (sese_record_loop): Use an sese_info_p.
- (build_sese_loop_nests): Same.
- (sese_build_liveouts_use): Same.
- (sese_build_liveouts_bb): Same.
- (sese_build_liveouts_bb): Same.
- (sese_bad_liveouts_use): Same.
- (sese_reset_debug_liveouts_bb): Same.
- (sese_build_liveouts): Same.
- (new_sese): Renamed new_sese_info.
- (free_sese): Renamed free_sese_info.
- (set_rename): Use an sese_info_p.
- (graphite_copy_stmts_from_block): Same.
- (copy_bb_and_scalar_dependences): Same.
- (outermost_loop_in_sese_1): Use an sese_l.
- (outermost_loop_in_sese): Same.
- (if_region_set_false_region): Use an sese_info_p.
- (move_sese_in_condition): Same.
- (scalar_evolution_in_region): Use an sese_l.
- * sese.h (struct sese_l): ... here.
- (SESE_ENTRY): Remove.
- (SESE_ENTRY_BB): Remove.
- (SESE_EXIT): Remove.
- (SESE_EXIT_BB): Remove.
- (sese_contains_loop): Use an sese_info_p.
- (sese_nb_params): Same.
- (bb_in_sese_p): Use an sese_l.
- (stmt_in_sese_p): Same.
- (defined_in_sese_p): Same.
- (loop_in_sese_p): Same.
- (sese_loop_depth): Same.
- (struct ifsese_s): Use an sese_info_p.
- (gbb_loop_at_index): Use an sese_l.
- (nb_common_loops): Same.
- (scev_analyzable_p): Same.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_conditional_register_usage): Use
- CALL_USED_REGISTERS_MASK.
- * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/67385
- * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
- * configure: Regenerated.
-
-2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/67850
- * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
- (ix86_set_current_function): This.
- (TARGET_EXPAND_TO_RTL_HOOK): Removed.
-
-2015-10-07 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
- (vinfo_for_stmt): Adjust.
- (set_vinfo_for_stmt): Likewise.
- * tree-vectorizer.c (stmt_vec_info_vec): Likewise.
- * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
- * tree-vect-loop.c (new_loop_vec_info): Remove special-casing
- of inner loop.
- (vect_analyze_loop_1): Remove.
- (vect_analyze_loop_form_1): Avoid building a loop_vec_info for
- inner loop when vectorizing an outer loop by splitting out from ...
- (vect_analyze_loop_form): ... here.
-
-2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c/65345
- * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
- Use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
- (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
- * real.c (CACHED_FRACTION): New helper macro.
- (dconst_third_ptr): Use it.
- (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
- * builtins.c (fold_builtin_sqrt): Use dconst_quarter and
- dconst_sixth.
- (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.
-
-2015-10-06 Jeff Law <law@redhat.com>
-
- PR tree-optimization/67816
- * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
- from remove_jump_threads_starting_at. Accept an edge rather than
- a basic block.
- * tree-ssa-threadupdate.c (removed_edges): New hash table.
- (remove_jump_threads_including): Note edges that get removed from
- the CFG for later pruning of jump threading paths including them.
- (thread_through_all_blocks): Remove paths which include edges that
- have been removed.
- * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
- on each outgoing edges when optimizing away a control statement.
-
-2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (emit_delay_sequence): Store list of delay slot insns
- in a vector instead of rtx_insn_list.
- (add_to_delay_list): Likewise.
- (delete_from_delay_slot): Likewise.
- (optimize_skip): Likewise.
- (redirect_with_delay_list_safe_p): Likewise.
- (check_annul_list_true_false): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (fill_eager_delay_slots): Likewise.
- (relax_delay_slots): Likewise.
-
-2015-10-06 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
- For -mgpopt=local, also exclude unintialized common symbols.
- * doc/invoke.texi (Nios II Options): Document the change.
-
-2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/aarch64/iterators.md (vwcore): Add missing cases for
- V4HF/V8HF modes.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_scop): Initialize drs.
- * graphite-poly.h (struct dr_info): New.
- (struct scop): Add drs.
- * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
- (pdr_add_memory_accesses): Same.
- (build_poly_dr): Same.
- (build_alias_set): Same.
- (build_scop_drs): Same.
- (build_pbb_drs): Remove.
- * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
- * tree-data-ref.h (data_reference): Remove alias_set.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (free_data_refs_aux): Remove.
- (free_gimple_poly_bb): Do not call free_data_refs_aux.
- * graphite-poly.h (struct base_alias_pair): Remove.
- * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
- base_alias_pair and dr->aux.
- (build_alias_set): Same.
- * tree-data-ref.c (create_data_ref): Initialize alias_set.
- * tree-data-ref.h (data_reference): Add alias_set.
-
-2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
- Do not set PDR_BASE_OBJECT_SET.
- * graphite-poly.h (poly_dr): Same.
- (PDR_BASE_OBJECT_SET): Remove.
- (new_poly_dr): Update decl.
- * graphite-sese-to-poly.c (build_poly_dr): Update call to
- new_poly_dr.
- (write_alias_graph_to_ascii_dimacs): Remove.
- (write_alias_graph_to_ascii_dot): Remove.
- (write_alias_graph_to_ascii_ecc): Remove.
- (dr_same_base_object_p): Remove.
- (build_alias_set_optimal_p): Rename build_alias_set. Remove dead
- code.
- (build_base_obj_set_for_drs): Remove.
- (dump_alias_graphs): Remove.
- (build_scop_drs): Remove dead code.
-
-2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
- Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/67808
- * config/rs6000/rs6000.md (extenddftf2): In the expander, only
- allow registers, but provide insns for the combiner to create for
- loads from memory. Separate VSX code from non-VSX code. For
- non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
- externaldftf2_internal to externaldftf2_fprs. Reorder constraints
- so that registers come before memory operations. Drop support from
- converting DFmode to TFmode, if the DFmode value is in a GPR
- register.
- (extenddftf2_fprs): Likewise.
- (extenddftf2_internal): Likewise.
- (extenddftf2_vsx): Likewise.
- (extendsftf2): In the expander, only allow registers, but provide
- insns for the combiner to create for stores and loads.
-
-2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
- from the decl parameter.
-
-2015-10-06 Nathan Sidwell <nathan@codesourcery.com>
-
- PR 67861
- * gimple-fold.c (gimple_fold_builtin): Add break after
- BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.
-
-2015-10-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
- to scop->isl_context.
-
-2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
- (output_probe_stack_range): Rotate the loop and simplify.
- (thumb1_expand_prologue): Tweak sorry message.
- * config/arm/arm.md (probe_stack): Use bare string.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.c (ATTR_NOINIT): New constant.
- (ATTR_PERSIST): New constant.
- (msp430_data_attr): New function - verifies an attribute that only
- applies to variables.
- (msp430_attributes): Add noinit and persistent attributes.
- (noinit_section): New variable.
- (presis_section): New variable.
- (TARGET_ASM_INIT_SECTIONS): Define.
- (msp430_init_sections): New function - initialises the noinit and
- persist section variables.
- (msp430_select_section): Add support for noinit and persist
- attributes.
- (msp430_section_type_flags): Likewise.
- * doc/extend.texi: Document the reent, critical, wakeup, noinit
- and persistent attributes.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-dependences.c (scop_get_transformed_schedule): Remove.
- (no_violations): Remove.
- (subtract_commutative_associative_deps): Remove.
- (compute_deps): Do not call subtract_commutative_associative_deps.
- (transform_is_safe): Remove.
- (graphite_legal_transform): Remove.
- * graphite-poly.h (graphite_legal_transform): Remove.
-
-2015-10-05 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
- which are in this region are passed so gcc_assert and remove redundant
- computation.
- * sese.c (sese_build_liveouts): Pass only those bbs which are not
- in region.
- (sese_bad_liveouts_use): Only BBs which are not in region are passed so
- gcc_assert on that and remove unnecessary computation.
- (sese_build_liveouts_use): Same.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-dependences.c (scop_get_reads): Renamed scop->context
- to scop->param_context.
- (scop_get_must_writes): Same.
- (scop_get_may_writes): Same.
- (scop_get_original_schedule): Same.
- (scop_get_transformed_schedule): Same.
- (subtract_commutative_associative_deps): Same.
- * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
- (generate_isl_context): Same.
- (generate_isl_schedule): Same.
- (scop_to_isl_ast): Same.
- (graphite_regenerate_ast_isl): Same.
- * graphite-optimize-isl.c (scop_get_domains): Same.
- (optimize_isl): Renamed scop->context to scop->param_context.
- * graphite-poly.c (new_poly_bb): Change the type of argument to
- gimple_poly_bb_p.
- (new_scop): Renamed scop->context to scop->param_context.
- (free_scop): Same.
- (print_scop_context): Same.
- * graphite-poly.h (new_poly_dr): Change the type of argument from
- void* to data_reference_p.
- (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
- (new_poly_bb): Change the type of argument from void* to
- gimple_poly_bb_p.
- (pbb_set_black_box): Same.
- (struct scop): Rename context to param_context, ctx to isl_context.
- * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
- Move declarations closer to assignment.
- (find_params_in_bb): Same.
- (find_scop_parameters): Same.
- * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
- Global to be used for statement IDs.
- (isl_id_for_pbb): Use ssa_name_version_typesize.
- (simple_copy_phi_p): Move declarations closer to assignment.
- (build_pbb_scattering_polyhedrons): Same.
- (build_scop_scattering): Same.
- (isl_id_for_ssa_name): Same.
- (extract_affine_name): Same.
- (extract_affine_int): Same.
- (extract_affine): Same.
- (set_scop_parameter_dim): Use renamed member.
- (build_loop_iteration_domains): Same.
- (add_param_constraints): Same.
- (build_scop_iteration_domain): Same.
- (pdr_add_data_dimensions): Same.
- (build_poly_dr): Same.
- (build_scop_drs): Move declarations closer to assignment.
- (analyze_drs_in_stmts): Same.
- (insert_out_of_ssa_copy): Same.
- (insert_out_of_ssa_copy_on_edge): Same.
- (propagate_expr_outside_region): Same.
- (rewrite_phi_out_of_ssa): Same.
- (rewrite_degenerate_phi): Same.
- (rewrite_reductions_out_of_ssa): Same.
- (rewrite_cross_bb_scalar_dependence): Same.
- (handle_scalar_deps_crossing_scop_limits): Same.
- (rewrite_cross_bb_scalar_deps): Same.
- * graphite.c (graphite_transform_loops): Use renamed member.
-
-2015-10-06 Uros Bizjak <ubizjak@gmail.com>
-
- PR c/65345
- * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
- create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c/65345
- * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
- Use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67849
- * config/i386/sse.md (define_split vec_select/V8FI): Restrict
- split for upper-bank registers when target does not support
- AVX512VL.
- (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
- split when target does not support AVX512VL.
-
-2015-10-06 David Edelsohn <dje.gcc@gmail.com>
-
- PR c/65345
- * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
- Adjust to use create_tmp_var_raw instead of create_tmp_var.
-
-2015-10-06 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
- multiplication.
-
-2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
- (case ${target}): Add znver1.
- * config/i386/cpuid.h(bit_CLZERO): Define.
- * config/i386/driver-i386.c: (host_detect_local_cpu): Let
- -march=native recognize znver1 processors.
- * config/i386/i386-c.c (ix86_target_macros_internal): Add
- znver1, clzero def_and_undef.
- * config/i386/i386.c (struct processor_costs znver1_cost): New.
- (m_znver1): New definition.
- (m_AMD_MULTIPLE): Includes m_znver1.
- (processor_target_table): Add znver1 entry.
- (ix86_target_string) : Add clzero entry.
- (static const char *const cpu_names): Add znver1 entry.
- (ix86_option_override_internal): Add znver1 instruction sets.
- (PTA_CLZERO) : New definition.
- (ix86_option_override_internal): Handle new clzerooption.
- (ix86_issue_rate): Add znver1.
- (ix86_adjust_cost): Add znver1.
- (ia32_multipass_dfa_lookahead): Add znver1.
- (has_dispatch): Add znver1.
- * config/i386/i386.h (TARGET_znver1): New definition.
- (TARGET_CLZERO): Define.
- (TARGET_CLZERO_P): Define.
- (struct ix86_size_cost): Add TARGET_ZNVER1.
- (enum processor_type): Add PROCESSOR_znver1.
- * config/i386/i386.md (define_attr "cpu"): Add znver1.
- (set_attr znver1_decode): New definitions for znver1.
- * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
- (mclzero): New.
- * config/i386/mmx.md (set_attr znver1_decode): New definitions
- for znver1.
- * config/i386/sse.md (set_attr znver1_decode): Likewise.
- * config/i386/x86-tune.def: Add znver1 tunings.
- * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
- * doc/invoke.texi: Add details about znver1
-
-2015-10-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67859
- * tree-ssa-pre.c (create_expression_by_pieces): Properly
- discard not inserted stmts.
-
-2015-10-06 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/extend.texi (Template Instantiation): Reorder options and
- de-emphasize -frepo.
- * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
- example instead of -frepo.
-
-2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR c/65345
- * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
- use create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-06 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (vec_info): New base class for...
- (_loop_vec_info): ... this and ...
- (_bb_vec_info): ... this.
- (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
- vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
- vect_analyze_data_ref_accesses, vect_analyze_data_refs,
- vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
- vect_destroy_datarefs): Adjust interface to take a vec_info *
- rather than both a loop_vec_info and a bb_vec_info argument.
- * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
- vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
- vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
- vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
- accordingly.
- * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
- (destroy_loop_vec_info, vect_analyze_loop_2,
- vect_is_simple_reduction_1, get_initial_def_for_induction,
- vect_create_epilog_for_reduction, vectorizable_reduction,
- vectorizable_live_operation, vect_transform_loop): Adjust.
- * tree-vect-patterns.c (type_conversion_p,
- vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
- vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
- vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
- check_bool_pattern, vect_recog_bool_pattern,
- vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
- * tree-vect-slp.c (vect_get_and_check_slp_defs,
- vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
- vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
- vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
- (new_bb_vec_info): Initialize base classs.
- * tree-vect-stmts.c (record_stmt_cost, process_use,
- vect_get_vec_def_for_operand, vect_finish_stmt_generation,
- vectorizable_mask_load_store, vectorizable_call,
- vectorizable_simd_clone_call, vectorizable_conversion,
- vectorizable_assignment, vectorizable_shift,
- vectorizable_operation, vectorizable_store,
- vectorizable_load, vect_is_simple_cond, vectorizable_condition,
- new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
- * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
-
-2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR c/65345
- * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
- create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-05 Marek Polacek <polacek@redhat.com>
-
- * tree-ssa-loop-im.c
- (move_computations_dom_walker::before_dom_children): Don't set
- SSA_NAME_ANTI_RANGE_P.
- * tree-ssa-phiopt.c (value_replacement): Likewise.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-poly.c (new_gimple_poly_bb): ... here.
- (free_data_refs_aux): ... here.
- (free_gimple_poly_bb): ... here.
- (remove_gbbs_in_scop): ... here.
- (new_scop): Call new_sese.
- (free_scop): Call remove_gbbs_in_scop and free_sese.
- * graphite-poly.h (base_alias_pair): ... here.
- (new_gimple_poly_bb): Declare.
- (free_gimple_poly_bb): Declare.
- * graphite-scop-detection.c (parameter_index_in_region_1):
- (parameter_index_in_region): ... here.
- (scan_tree_for_params): ... here.
- (find_params_in_bb): ... here.
- (find_scop_parameters): ... here.
- (build_scops): Call find_scop_parameters.
- * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
- (free_scops): Move...
- (single_pred_cond_non_loop_exit): Move...
- (sese_dom_walker::before_dom_children): Move...
- (sese_dom_walker::after_dom_children): Move...
- (build_poly_scop): Move...
- * graphite-sese-to-poly.h (base_alias_pair): Move...
- * graphite.c (free_scops): ... here.
-
-2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
- (trivially_empty_bb_p): Move...
- (same_close_phi_node): Move...
- (new_gimple_poly_bb): Move...
- (compare_bb_depths): Move...
- (graphite_sort_dominated_info): Move...
- (remove_duplicate_close_phi): Move...
- (make_close_phi_nodes_unique): Move...
- (canonicalize_loop_closed_ssa): Move...
- (canonicalize_loop_closed_ssa_form): Move...
- (loop_ivs_can_be_represented): Move...
- (single_pred_cond_non_loop_exit): Move...
- (graphite_can_represent_init): Move...
- (graphite_can_represent_scev): Move...
- (stmt_has_simple_data_refs_p): Move...
- (stmt_has_side_effects): Move...
- (graphite_can_represent_stmt): Move...
- (scop_detection): ... here.
- (sese_dom_walker): ... and here.
- (build_scops): Call all moved functions.
- * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
- (all_non_dominated_preds_marked_p): Move...
- (build_scop_bbs_1): Move...
- (build_scop_bbs): Move...
- (set_scop_parameter_dim): Move...
- (nb_pbbs_in_loops): Move...
- (build_poly_scop): Do not call all the moved functions.
-
-2015-10-05 Martin Jambor <mjambor@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_alignment_lattice): New type.
- (ipcp_param_lattices): Use the above to represent alignment.
- (ipcp_alignment_lattice::print): New function.
- (print_all_lattices): Use it to print alignment information.
- (ipcp_alignment_lattice::top_p): New function.
- (ipcp_alignment_lattice::bottom_p): Likewise.
- (ipcp_alignment_lattice::set_to_bottom): Likewise.
- (ipcp_alignment_lattice::meet_with_1): Likewise.
- (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
- (set_all_contains_variable): Use set_to_bottom of alignment lattice.
- (initialize_node_lattices): Likewise.
- (propagate_alignment_accross_jump_function): Work with the new class
- for alignment lattices.
- (propagate_constants_accross_call): Pass only the alignment lattice to
- propagate_alignment_accross_jump_function.
- (ipcp_store_alignment_results): Work with the new class for alignment
- lattices.
-
-2015-10-05 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67821
- * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
-
-2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
-
- PR other/65021
- * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
- function to...
- (mkoffload_cleanup): ... this. Adjust all users.
- (maybe_unlink): Look at save_temps and verbose flags instead of
- debug flag.
- (main): Parse "-save-temps" flag.
- (generate_target_descr_file, generate_target_offloadend_file)
- (generate_host_descr_file, prepare_target_image): Pass it on.
- * config/nvptx/mkoffload.c (tool_cleanup): Implement.
- (mkoffload_cleanup): New function.
- (maybe_unlink): Look at save_temps and verbose flags instead of
- debug flag.
- (main): Instead of calling utils_cleanup, register atexit handler
- for mkoffload_cleanup.
- (main): Parse "-save-temps" flag.
- (compile_native, main): Pass it on.
- * lto-wrapper.c (compile_offload_image): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_op_ptr): Require a non const gimple *.
- (gimple_assign_lhs_ptr): Likewise.
- (gimple_assign_rhs1_ptr): Likewise.
- (gimple_assign_rhs2_ptr): Likewise.
- (gimple_assign_rhs3_ptr): Likewise.
- (gimple_call_lhs_ptr): Likewise.
- (gimple_call_fn_ptr): Likewise.
- (gimple_call_chain_ptr): Likewise.
- (gimple_call_arg_ptr): Likewise.
- (gimple_cond_lhs_ptr): Likewise.
- (gimple_cond_rhs_ptr): Likewise.
- (gimple_switch_index_ptr): Likewise.
- (gimple_return_retval_ptr): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_asm_input_op_ptr): Remove.
- (gimple_asm_output_op_ptr): Likewise.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gimple.h (gimple_location_ptr): Remove.
- * tree-vrp.c (check_all_array_refs): Adjust.
-
-2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-operands.c (build_uses): store tree * instead of
- tree.
- (finalize_ssa_uses): Adjust.
- (append_use): Likewise.
- (verify_ssa_operands): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (build_real_truncate): Declare.
- * tree.c (build_real_truncate): New function.
- (strip_float_extensions): Use it.
- * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
- (fold_builtin_hypot, fold_builtin_pow): Likewise.
- * match.pd: Likewise.
-
-2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
- * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
- (aarch64_print_operand, aarch64_float_const_representable_p)
- (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
- instead of REAL_VALUE_FROM_CONST_DOUBLE.
- * config/arc/arc.c (arc_print_operand): Likewise.
- * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
- (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
- (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
- Likewise.
- * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
- (consttable_16): Likewise.
- * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
- * config/avr/avr.c (avr_print_operand): Likewise.
- * config/bfin/bfin.md: Likewise (in a define_split).
- * config/c6x/c6x.md: Likewise (in a define_split).
- * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
- (cr16_print_operand): Likewise.
- * config/cris/cris.c (cris_print_operand): Likewise.
- * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
- * config/fr30/fr30.c (fr30_print_operand): Likewise.
- (fr30_const_double_is_zero): Likewise.
- * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
- * config/frv/frv.md: Likewise (in a define_split).
- * config/frv/predicates.md (int_2word_operand): Likewise.
- * config/h8300/h8300.c (h8300_print_operand): Likewise.
- * config/i386/i386.c (standard_80387_constant_p): Likewise.
- (ix86_print_operand, ix86_split_to_parts): Likewise.
- * config/i386/i386.md: Likewise (in a define_split).
- * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
- * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
- * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
- * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
- (print_operand): Likewise.
- * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
- * config/mep/mep.md: Likewise (in define_split).
- * config/microblaze/microblaze.c (microblaze_const_double_ok)
- (print_operand): Likewise.
- * config/mips/mips.md (consttable_float): Likewise.
- * config/mmix/mmix.c (mmix_intval): Likewise.
- * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
- * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
- * config/pa/pa.c (pa_singlemove_string): Likewise.
- * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
- (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
- * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
- (output_toc): Likewise.
- * config/rs6000/rs6000.md: Likewise (in define_splits).
- * config/rx/rx.c (rx_print_operand): Likewise.
- * config/s390/s390.c (s390_output_pool_entry): Likewise.
- * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
- * config/sh/sh.md (consttable_sf, consttable_df): Likewise
- (and also in define_splits).
- * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
- (fp_high_losum_p): Likewise.
- * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
- (*movsf_high): Likewise.
- * config/spu/spu.c (const_double_to_hwint): Likewise.
- * config/v850/v850.c (const_double_split): Likewise.
- * config/vax/vax.c (vax_float_literal): Likewise.
- * config/visium/visium.c (visium_expand_copysign): Likewise.
- * config/visium/visium.md: Likewise (in define_split).
- * config/xtensa/predicates.md (const_float_1_operand): Likewise.
- * config/xtensa/xtensa.c (print_operand): Likewise.
- (xtensa_output_literal): Likewise.
- * cprop.c (implicit_set_cond_p): Likewise.
- * dwarf2out.c (insert_float): Likewise.
- * expmed.c (expand_mult, make_tree): Likewise.
- * expr.c (compress_float_constant): Likewise.
- * rtlanal.c (split_double): Likewise.
- * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_const_binary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * varasm.c (output_constant_pool_2): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
- instead of CONST_DOUBLE_FROM_REAL_VALUE.
- (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
- * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
- instead of CONST_DOUBLE_FROM_REAL_VALUE.
- * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
- * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
- (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
- (ix86_emit_swsqrtsf): Likewise.
- * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
- * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
- (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
- * config/pa/pa.c (pa_expand_builtin): Likewise.
- * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
- (rs6000_scale_v2df): Likewise.
- * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
- * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
- (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
- * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
- (vec_ctul): Likewise.
- * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
- * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
- * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
- * cse.c (fold_rtx): Likewise.
- * emit-rtl.c (immed_double_const): Likewise (in comments).
- (init_emit_once): Likewise.
- * expr.c (compress_float_constant, expand_expr_real_1)
- (const_vector_from_tree): Likewise.
- * optabs.c (expand_float, expand_fix): Likewise.
- * reg-stack.c (reg_to_stack): Likewise.
- * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
- (simplify_const_unary_operation, simplify_binary_operation_1)
- (simplify_const_binary_operation, simplify_relational_operation)
- (simplify_immed_subreg): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
- * doc/tm.texi: Regenerate.
- * real.h (REAL_ARITHMETIC): Delete.
- * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
- (ix86_expand_round_sse4): Use real_arithmetic instead of
- REAL_ARITHMETIC.
- * config/i386/sse.md (round<mode>2): Likewise.
- * rtl.h (rtx_to_tree_code): Likewise (in comment).
- * explow.c (rtx_to_tree_code): Likewise (in comment).
- * match.pd: Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
- (expand_pow_as_sqrts): Likewise.
- * tree-pretty-print.c (dump_generic_node): Remove code that
- was conditional on REAL_ARITHMETIC being undefined.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
- * doc/tm.texi: Regenerate.
- * real.h (real_less): Declare.
- (REAL_VALUES_LESS): Delete.
- * real.c (real_less): New function.
- (real_compare): Use it.
- * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
- of REAL_VALUES_LESS.
- * config/microblaze/microblaze.c (microblaze_const_double_ok):
- Likewise.
- * fold-const.c (fold_convert_const_int_from_real): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * tree-call-cdce.c (check_pow): Likewise.
- (gen_conditions_for_pow_cst_base): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (REAL_VALUES_IDENTICAL): Delete.
- * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
- instead of REAL_VALUES_IDENTICAL.
- * fold-const.c (operand_equal_p): Likewise.
- * ipa-icf.c (sem_variable::equals): Likewise.
- * tree-complex.c (some_nonzerop): Likewise.
- (expand_complex_multiplication): Likewise.
- * tree.c (simple_cst_equal): Likewise.
- * varasm.c (compare_constant): Likewise.
-
-2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * real.h (real_equal): Declare.
- (REAL_VALUES_EQUAL): Delete.
- * real.c (real_equal): New function.
- (real_compare): Use it.
- * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
- * doc/tm.texi: Regenerate.
- * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
- real_equal instead of REAL_VALUES_EQUAL.
- * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
- * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
- (fp_const_from_val): Likewise.
- * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
- * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
- (floating_exact_log2): Likewise.
- * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
- * config/vax/vax.c (vax_float_literal): Likewise.
- * config/xtensa/predicates.md (const_float_1_operand): Likewise.
- * cprop.c (implicit_set_cond_p): Likewise.
- * expmed.c (expand_mult): Likewise.
- * fold-const.c (const_binop): Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- (simplify_const_binary_operation): Likewise.
- (simplify_const_relational_operation): Likewise.
- * tree-call-cdce.c (check_pow): Likewise.
- (gen_conditions_for_pow_cst_base): Likewise.
- * tree-inline.c (estimate_num_insns): Likewise.
- * tree-ssa-dom.c (record_equality): Likewise.
- * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
- (gimple_expand_builtin_pow): Likewise.
- (pass_optimize_widening_mul::execute): Likewise.
- * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
- * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
- * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
-
-2015-10-05 Richard Biener <rguenther@suse.de>
-
- PR ipa/67783
- * ipa-inline-analysis.c (estimate_function_body_sizes): Only
- consider loop header PHI defs as IVs.
-
-2015-10-05 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
- call handling ...
- (create_expression_by_pieces): ... here and build GIMPLE
- calls directly. Use gimple_build API and avoid force_gimple_operand.
- (insert_into_preds_of_block): Simplify.
- (do_regular_insertion): Add comment.
-
-2015-10-04 Jason Merrill <jason@redhat.com>
-
- * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
-
-2015-10-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
- check for general register.
- (ix86_emit_save_regs): Ditto.
- (ix86_emit_save_regs_using_mov): Ditto.
- (ix86_emit_restore_regs_using_pop): Ditto.
- (ix86_emit_restore_regs_using_mov): Ditto.
-
-2015-10-03 Marek Polacek <polacek@redhat.com>
-
- * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
- (insn-dfatab.o): Likewise.
-
-2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
-
- * config.gcc (xtensa*-*-uclinux*): New configuration.
- * config/xtensa/uclinux.h: New file.
- * config/xtensa/uclinux.opt: New file.
-
-2015-10-03 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/cpp.texi (Standard Predefined Macros): Document value of
- __cplusplus for C++14.
-
-2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
-
- * gcc.c (process_command): Use spec_machine rather than
- spec_host_machine to build tooldir_prefix2.
-
-2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
- (Token, Stmt): Remove structs.
- (decls, vars, fns): Remove variables.
- (alloc_comment, append_stmt, is_keyword): Remove macros.
- (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
- (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
- (parse_init, parse_file): Remove functions.
- (read_file): Accept a pointer to a length and store into it.
- (process): Don't try to parse the input file, just write it out as
- a string, but looking for maps. Also write out the length.
- (main): Don't use "-S" to compile PTX code.
-
-2015-10-02 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
- fixups.
-
-2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
-
- PR target/67822
- * config/nvptx/mkoffload.c (main): Scan the argument vector for
- -fopenmp, and skip generating an offloading image if specified.
-
-2015-10-02 Uros Bizjak <ubizjak@gmail.com>
-
- * system.h (ROUND_UP): New macro definition.
- (ROUND_DOWN): Ditto.
- * ggc-page.c (ROUND_UP): Remove local macro definition.
- (PAGE_ALIGN): Implement using ROUND_UP macro.
-
- * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
- * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
- to align values.
- (ix86_compute_frame_layout): Ditto.
- (ix86_expand_prologue): Ditto.
- (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
- to round down values.
- (expand_set_or_movmem_via_rep): Ditto.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
-
-2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
- (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
- * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
- (free_gimple_bb): Renamed free_gimple_poly_bb.
- (try_generate_gimple_bb): Hoist loop invariant code.
- (analyze_drs_in_stmts): Same.
- (build_scop_drs): Call renamed functions.
- (new_pbb_from_pbb): Same.
- (scop_ivs_can_be_represented): Delete as functionality now moved to
- graphite-scop-detection.c
- (build_poly_scop): Remove call to scop_ivs_can_be_represented.
-
-2015-10-02 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-scop-detection.c (stmt_has_side_effects): New function
- outlined from stmt_simple_for_scop_p.
- (graphite_can_represent_stmt): Same.
- (stmt_simple_for_scop_p): Moved code out of this function for better
- readability.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
- F_AVX512IFMA.
- (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
-
-2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
-
-2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/67756
- * lra-constraints.c (match_reload): Add a new parameter. Use it
- for creating a pseudo with the same value.
- (curr_insn_transform): Pass a new argument to match_reload.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
- (expand_vec_perm_even_odd_1): Handle V64QImode.
- (ix86_expand_vec_perm_const_1): Try expansion with
- expand_vec_perm_even_odd_trunc as well.
- * config/i386/sse.md (VI124_AVX512F): Rename to ...
- (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
- to V54QI.
- (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
- (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
- to V32HI and V16SI.
- (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
- (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
- (define_expand "vec_unpacks_lo_<mode>"): Ditto.
- (define_expand "vec_unpacks_hi_<mode>"): Ditto.
- (define_expand "vec_unpacku_lo_<mode>"): Ditto.
- (define_expand "vec_unpacku_hi_<mode>"): Ditto.
-
-2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
- -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
-
-2015-10-02 Jason Merrill <jason@redhat.com>
-
- PR c/59218
- * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
- (diagnose_tm_1_op): Also diagnose volatile accesses in
- transaction_safe function.
-
-2015-10-02 Jonathan Wakely <jwakely@redhat.com>
-
- * system.h (malloc.h): Don't include obsolete header.
-
-2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
- (TLS_SECTION_ASM_FLAG): Delete.
-
-2015-10-02 Marek Polacek <polacek@redhat.com>
-
- PR c/64249
- * doc/invoke.texi: Document -Wduplicated-cond.
- * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
- (insn-dfatab.o): Likewise.
- * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
- warning.
-
-2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
- sequences.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
-
-2015-10-02 Renlin Li <renlin.li@arm.com>
-
- PR target/66776
- * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
-
-2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67786
- PR rtl-optimization/67787
- * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
- it modifies a reg used in the condition calculation.
-
-2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
- alternatives for reads from memory and moves from general-purpose
- registers.
- (*aarch64_combinez_be<mode>): Likewise.
-
-2015-10-02 Kai Tietz <ktietz70@googlemail.com>
-
- PR target/51726
- * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
- selectany within this function without need to keep attribute.
- (i386_pe_encode_section_info): Remove selectany-code.
-
-2015-10-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (has_VN_INFO): New function.
- (free_scc_vn): Use it.
- (visit_use): Remove dead code and refactor to use gassign
- and use less indentation.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/67788
- PR target/67789
- * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
- (rs6000_cannot_copy_insn_p): New function.
- * config/rs6000/rs6000.md (cannot_copy): New attribute.
- (load_toc_v4_PIC_1_normal): Set cannot_copy.
- (load_toc_v4_PIC_1_476): Ditto.
-
-2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-scop-detection.c (struct sese_l): New conversion constructor
- so that this type can be pushed into a vec.
- (class scop_builder): use sese_l to collect scops.
- (get_scops): New getter function.
- (remove_intersecting_scops): Use sese_l instead of scops_p.
- (intersects): Same.
- (add_scop): Same.
- (subsumes): Same.
- (remove_subscops): Same.
- (build_scops): Add scops to vec<scops_p> once all the scops have been
- detected.
-
-2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
- Renamed type from gimple_bb_p to gimple_poly_bb_p.
- (translate_isl_ast_node_user): Same.
- * graphite-poly.c (new_poly_bb): Same.
- * graphite-poly.h (gbb_from_bb): Same.
- * sese.h: Same.
- * graphite-sese-to-poly.c (new_gimple_bb):
- gimple_bb_p -> gimple_poly_bb_p
- (build_scop_scattering): Same.
- (find_params_in_bb): Same.
- (add_conditions_to_domain): Same.
- (sese_dom_walker::before_dom_children): Same.
- (analyze_drs_in_stmts): Same.
- (new_pbb_from_pbb): Same.
- (free_data_refs_aux): New pointer to type base_alias_pair.
- * graphite-sese-to-poly.h: Same.
- * sese.c (if_region_set_false_region): Fixed Indentation.
- (move_sese_in_condition): Same.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/66980
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
- when data reference analysis has failed.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
- scev analysis on the same loop nest as analyze_drs_in_stmts.
- * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
- renamed...
- (try_generate_gimple_bb): Call outermost_loop_in_sese.
- (analyze_drs_in_stmts): Same.
- * sese.c (outermost_loop_in_sese): ...here.
-
-2015-10-01 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
- recursion on the inner loops.
-
-2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
- function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
- tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
- tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
- tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR c/65345
- * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
- create_tmp_var_raw rather than create_tmp_var.
-
-2015-10-01 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67769
- * tree-ssa-phiopt.c (conditional_replacement): Call
- reset_flow_sensitive_info_in_bb.
- (minmax_replacement): Likewise.
- (abs_replacement): Likewise.
-
-2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
-
- * builtins.c: Don't include gomp-constants.h.
- (fold_builtin_1): Don't fold acc_on_device here.
- * gimple-fold.c: Include gomp-constants.h.
- (gimple_fold_builtin_acc_on_device): New.
- (gimple_fold_builtin): Call it.
-
-2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
- (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
-
-2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/aarch-common-protos.h
- (aarch_accumulator_forwarding): New.
- (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
- * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
- (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
- * config/arm/cortex-a53.md: Rewrite.
-
-2015-10-01 Richard Biener <rguenther@suse.de>
-
- * gimple-match.h (mprts_hook): Declare.
- * gimple-match.head.c (mprts_hook): Define.
- (maybe_push_res_to_seq): Use new hook.
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
- * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
- (vn_ssa_aux::has_constants): Remove.
- * tree-ssa-sccvn.c: Include gimple-match.h.
- (VN_INFO_GET): Assert we don't re-use SSA names.
- (vn_get_expr_for): Remove.
- (expr_has_constants): Likewise.
- (stmt_has_constants): Likewise.
- (simplify_binary_expression): Likewise.
- (simplify_unary_expression): Likewise.
- (vn_lookup_simplify_result): New hook.
- (visit_copy): Adjust.
- (visit_reference_op_call): Likewise.
- (visit_phi): Likewise.
- (visit_use): Likewise.
- (process_scc): Likewise.
- (init_scc_vn): Likewise.
- (visit_reference_op_load): Likewise. Use match-and-simplify and
- a gimple seq for inserted expressions.
- (try_to_simplify): Remove GENERIC stmt combining code.
- (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
- * tree-ssa-pre.c (eliminate_insert): Adjust.
- (eliminate_dom_walker::before_dom_children): Likewise.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * doc/invoke.texi (Optimization Options): Add
- -freorder-blocks-algorithm=.
- (Optimize Options) <-O>: Add -freorder-blocks.
- <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
- <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
- <-freorder-blocks>: Also enabled at levels -O and -Os.
- <-freorder-blocks-algorithm=>: Document new option.
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
- with flag_reorder_blocks_algorithm.
- * common.opt (freorder-blocks-algorithm=): New flag.
- (reorder_blocks_algorithm): New enum.
- * flag-types.h (reorder_blocks_algorithm): New enum.
- * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
- and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c: Add intro comment.
- (reorder_basic_blocks_software_trace_cache): Print a header to
- the dump file.
- (edge_order): New function.
- (reorder_basic_blocks_simple): New function.
- (reorder_basic_blocks): Choose between the STC and the simple
- algorithms (always choose the former).
-
-2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
-
- * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
- function, factored out from ...
- (reorder_basic_blocks): ... here.
-
-2015-10-01 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (dump_function_to_file): Dump function attributes using
- __attribute__(()) string. Move dumping of function attributes to before
- function name.
-
-2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
-
- PR target/66870
- * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
- * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
- based on gold linker version.
- * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
- HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
- * configure, config.in: Regenerate.
-
-2015-10-01 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
- r2_setup_needed when TARGET_SINGLE_PIC_BASE.
- (rs6000_output_mi_thunk): Likewise.
-
-2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Change offload data format.
-
-2015-09-30 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
- with constant conditions.
- * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
- (remove_ctrl_stmt_and_useless_edges): No longer static.
- * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
- (remove_ctrl_stmt_and_useless_edges): Likewise.
-
-2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
- (TARGET_GOACC_VALIDATE_DIMS): Override.
- * target.def (TARGET_GOACC): New target hook prefix.
- (validate_dims): New hook.
- * targhooks.h (default_goacc_validate_dims): New.
- * omp-low.c (oacc_validate_dims): New.
- (execute_oacc_device_lower): New.
- (default_goacc_validate_dims): New.
- (pass_data_oacc_device_lower): New.
- (pass_oacc_device_lower): New pass.
- (make_pass_oacc_device_lower): New.
- * tree-pass.h (make_pass_oacc_device_lower): Declare.
- * passes.def (pass_oacc_device_lower): Add it.
- * doc/tm.texi: Rebuilt.
- * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
- * doc/invoke.texi (oaccdevlow): Document tree dump flag.
-
-2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/67037
- * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
-
-2015-09-30 Bernd Schmidt <bernds@redhat.com>
-
- * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
- * passes.c: Include tree-ssanames.h.
- (execute_function_todo): Flush the pending free SSA_NAMEs after
- eliminating unreachable basic blocks.
- * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
- (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
- (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
- (flush_ssanames_freelist): New function.
- (release_ssaname_fn): Put released names on the queue.
- (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
- * tree-ssanames.h (flush_ssanames_freelist): Declare.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
- (generate_target_descr_file, generate_target_offloadend_file)
- (generate_host_descr_file, prepare_target_image): Pass it on.
- * config/nvptx/mkoffload.c (main): Parse "-v" flag.
- (compile_native, main): Pass it on.
- * lto-wrapper.c (compile_offload_image): Likewise.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
- Ilya Verbin <ilya.verbin@intel.com>
- Andrey Turetskiy <andrey.turetskiy@intel.com>
-
- * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
- (prepare_target_image, main): Refactor argv building to use
- obstacks.
-
-2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
- * config/spu/spu.c (spu_expand_atomic_op): New function.
- * config/spu/spu.md (AINT): New mode iterator.
- (ATOMIC): New code iterator.
- (atomic_name, atomic_pred): New code predicates.
- ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
- ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
- (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
- "atomic_<atomic_name>_fetch<mode>"): Likewise.
-
-2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
- debug insns.
- (scalar_chain::convert_reg): Likewise.
-
-2015-09-30 Richard Biener <rguenther@suse.de>
-
- * builtins.c: Add comment that no new simplifications should
- be added here.
-
-2015-09-30 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/67690
- * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
- reset_flow_sensitive_info_in_bb.
- * tree-ssa-tail-merge.c (replace_block_by): Likewise.
- * tree-ssanames.c: Include "gimple-iterator.h".
- (reset_flow_sensitive_info_in_bb): New function.
- * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
-
-2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
- variable, replacing it with...
- (offload_abi): ... this new variable. Adjust all users.
- * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
-
-2015-09-30 Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Remove extraneous ;;.
- * configure: Regenerate.
-
-2015-09-29 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/predicates.md (ft32_imm_operand): New predicate.
- * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
- predicate, disallow register for operand 2.
-
-2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-dependences.c (scop_get_dependences): Moved in down
- in order to be visible to its caller.
- * graphite-poly.h: Removed compute_deps, and extend_schedule.
-
-2015-09-29 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- PR tree-optimization/67754
- * graphite-optimize-isl.c (optimize_isl): Call
- isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
-
-2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * builtins.c (expand_builtin_acc_on_device): Delete.
- (expand_builtin): Don't call it.
- (fold_builtin_1): Fold acc_on_device.
-
-2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
- (ix86_nsaved_sseregs): Likewise.
-
-2015-09-29 Jeff Law <law@redhat.com>
-
- * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
- computation of unused value.
-
- * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
- * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
- inline macro expansion.
-
- * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
-
- * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
- (gen_shl_sext): Likewise.
- * config/sh/sh.md (divsi3): Likewise.
- (imm->ext_dest_operand splitter): Likewise.
-
-2015-09-29 Sebastian Pop <s.pop@samsung.com>
- Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
- (nb_data_writes_in_bb): Remove.
- (split_pbb): Remove.
- (split_reduction_stmt): Remove.
- (is_reduction_operation_p): Remove.
- (phi_contains_arg): Remove.
- (follow_ssa_with_commutative_ops): Remove.
- (detect_commutative_reduction_arg): Remove.
- (detect_commutative_reduction_assign): Remove.
- (follow_inital_value_to_phi): Remove.
- (edge_initial_value_for_loop_phi): Remove.
- (initial_value_for_loop_phi): Remove.
- (used_outside_reduction): Remove.
- (detect_commutative_reduction): Remove.
- (translate_scalar_reduction_to_array_for_stmt): Remove.
- (remove_phi): Remove.
- (dr_indices_valid_in_loop): Remove.
- (close_phi_written_to_memory): Remove.
- (translate_scalar_reduction_to_array): Remove.
- (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
- (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
- (rewrite_commutative_reductions_out_of_ssa): Remove.
- (build_poly_scop): Remove call to
- rewrite_commutative_reductions_out_of_ssa.
-
-2015-09-29 Evandro Menezes <e.menezes@samsung.com>
-
- * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
- Add new insn types for vector load and store pairs.
- * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
- types "neon_ldp{,_q}".
- * config/arm/cortex-a57.md (neon_load_c): Add insn types
- "neon_ldp{,_q}".
- (neon_store_complex): Add insn types "neon_stp{,_q}".
- * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
- "neon_{ldp,stp}_q".
-
-2015-09-29 Jeff Law <law@redhat.com>
-
- * config/rx/constraints.md (Int08): Fix undefined left shift
- behaviour.
- (Sint08, Sint16, Sint24): Likewise.
- * config/rx/rx.c (rx_get_stack_layout): Likewise.
-
- * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
- behaviour.
-
- * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
- left shift behaviour.
- * config/msp430/constraints.md ('L' constraint): Similarly.
- ('Ys' constraint): Similarly.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67170
- * tree-ssa-alias.h (get_continuation_for_phi): Adjust
- the translate function pointer parameter to get the
- bool whether to disambiguate only by reference.
- (walk_non_aliased_vuses): Likewise.
- * tree-ssa-alias.c (maybe_skip_until): Adjust.
- (get_continuation_for_phi_1): Likewise.
- (get_continuation_for_phi): Likewise.
- (walk_non_aliased_vuses): Likewise.
- * tree-ssa-sccvn.c (const_parms): New bitmap.
- (vn_reference_lookup_3): Adjust for interface change.
- Disambiguate parameters pointing to readonly memory.
- (free_scc_vn): Free const_parms.
- (run_scc_vn): Initialize const_parms from a fn spec attribute.
-
-2015-09-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67741
- * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
- builtin calls with correct signature.
-
-2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/65105
- * config/i386/i386.c: Include dbgcnt.h.
- (has_non_address_hard_reg): New.
- (convertible_comparison_p): New.
- (scalar_to_vector_candidate_p): New.
- (remove_non_convertible_regs): New.
- (scalar_chain): New.
- (scalar_chain::scalar_chain): New.
- (scalar_chain::~scalar_chain): New.
- (scalar_chain::add_to_queue): New.
- (scalar_chain::mark_dual_mode_def): New.
- (scalar_chain::analyze_register_chain): New.
- (scalar_chain::add_insn): New.
- (scalar_chain::build): New.
- (scalar_chain::compute_convert_gain): New.
- (scalar_chain::replace_with_subreg): New.
- (scalar_chain::replace_with_subreg_in_insn): New.
- (scalar_chain::emit_conversion_insns): New.
- (scalar_chain::make_vector_copies): New.
- (scalar_chain::convert_reg): New.
- (scalar_chain::convert_op): New.
- (scalar_chain::convert_insn): New.
- (scalar_chain::convert): New.
- (convert_scalars_to_vector): New.
- (pass_data_stv): New.
- (pass_stv): New.
- (make_pass_stv): New.
- (ix86_option_override): Created and register stv pass.
- (flag_opts): Add -mstv.
- (ix86_option_override_internal): Likewise.
- * config/i386/i386.md (SWIM1248x): New.
- (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
- (and<mode>3): Use SWIM1248x iterator instead of SWIM.
- (*anddi3_doubleword): New.
- (*zext<mode>_doubleword): New.
- (*zextsi_doubleword): New.
- (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
- (*<code>di3_doubleword): New.
- * config/i386/i386.opt (mstv): New.
- * dbgcnt.def (stv_conversion): New.
-
-2015-09-29 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (dump_function_to_file): Dump function attributes.
-
-2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67716
- * config/sh/sh.c (sh_override_options_after_change): New.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
- (sh_option_override): Move align_loops, align_jumps and
- align_functions handling into sh_override_options_after_change.
-
-2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
- (nvptx_record_offload_symbol): Record function execution geometry.
- * config/nvptx/mkoffload.c (process): Include launch geometry in
- function data.
- * omp-low.c (oacc_launch_pack): New.
- (replace_oacc_fn_attrib): New.
- (set_oacc_fn_attrib): New.
- (get_oacc_fn_attrib): New.
- (expand_omp_target): Create keyed varargs for GOACC_parallel call
- generation.
- * omp-low.h (get_oacc_fn_attrib): Declare.
- * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
- (DEF_FUNCTION_TYPE_VAR_11): Delete.
- * tree.h (OMP_CLAUSE_EXPR): New.
- * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * sese.c (invariant_in_sese_p_rec): Remove unused variable.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
- * graphite-scop-detection.c (struct sese_l): New type.
- (get_entry_bb): API for getting entry bb of SESE.
- (get_exit_bb): API for getting exit bb of SESE.
- (class debug_printer): New type. Simple printer in debug mode.
- (trivially_empty_bb_p): New. Return true when BB is empty or
- contains only debug instructions.
- (graphite_can_represent_expr): Call scalar_evoution_in_region
- instead of analyze_scalar_evolution. Pass in scop instead of only
- the scop entry.
- (stmt_has_simple_data_refs_p): Pass in scop instead of only the
- scop entry.
- (stmt_simple_for_scop_p): Same.
- (harmful_stmt_in_bb): Same.
- (graphite_can_represent_loop): Deleted.
- (struct scopdet_info): Deleted.
- (scopdet_basic_block_info): Deleted.
- (build_scops_1): Deleted.
- (bb_in_sd_region): Deleted.
- (find_single_entry_edge): Deleted.
- (find_single_exit_edge): Deleted.
- (create_single_entry_edge): Deleted.
- (sd_region_without_exit): Deleted.
- (create_single_exit_edge): Deleted.
- (unmark_exit_edges): Deleted.
- (mark_exit_edges): Deleted.
- (create_sese_edges): Deleted.
- (build_graphite_scops): Deleted.
- (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
- (build_scops): Use the new scop_builder to build scops.
- (dot_all_scops_1): Use the new pretty printer. Print loop father
- as well.
- (loop_body_is_valid_scop): New. Return true if loop body is a
- valid scop.
- (class scop_builder): New. Builds SCoPs for polyhedral
- optimizations.
- (scop_builder): New constructor.
- (static sese_l invalid_sese): sese_l with invalid edges.
- (get_sese): Get an sese (from a loop) if possible, invalid_sese
- otherwise.
- (get_nearest_dom_with_single_entry): Get nearest dominator of a
- basic_block with single entry. Return NULL if we get to the
- beginning of a function.
- (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
- a basic_block with single exit. Return NULL if we get to the
- beginning of a function.
- (print_sese): Pretty-print SESE.
- (merge_sese): Merge two SESEs if possible and return the new SESE.
- (build_scop_depth): Start building the SCoP within a loop nest.
- (build_scop_breadth): Start building the SCoP at a single loop
- depth. Merge adjacent SESEs if valid.
- (can_represent_loop_1): Returns true if Graphite can represent
- loop inside SCoP. Helper for can_represent_loop.
- (can_represent_loop): Returns true if Graphite can represent LOOP
- and all its nested loops in SCoP.
- (loop_is_valid_scop): Returns true if LOOP and all its nests
- constitute a valid SCoP.
- (region_has_one_loop): Returns true of a region has only one loop.
- (add_scop): Add SCoP to the list of valid scops. Removes an
- already existing scop if it intersects with or subsumed by this one.
- (harmful_stmt_in_region): Returns true if SCoP has any statment
- which cannot be represented by Graphite.
- (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
- (remove_subscops): Remove any SCoP from the list of already found
- SCoPs, if subsumed by S1.
- (intersects): Return true if region bounded by SCoPs S1 and S2
- intersect.
- (remove_intersecting_scops): Remove any SCoP which intersects with S1.
- * graphite.c (print_graphite_scop_statistics):
- (print_graphite_statistics): Print SCoP info while debugging.
- (graphite_initialize): Early exit in case number of loops in a
- function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
- basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
- (graphite_finalize):
- * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
- * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
- (recompute_all_dominators): Recalculate POST_DOMINATORS.
- * tree-cfg.c (print_loops): Print the function name while printing
- loops.
-
-2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/67700
- * graphite-sese-to-poly.c (parameter_index_in_region): Call
- invariant_in_sese_p_rec.
- (extract_affine): Same.
- (rewrite_cross_bb_scalar_deps): Call update_ssa.
- * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
- * sese.h (invariant_in_sese_p_rec): Declare.
-
-2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Asm Labels): Break out text for data vs functions.
-
-2015-09-28 Jiong Wang <jiong.wang@arm.com>
-
- Revert:
- 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.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_load_symref_appropriately): Invoke the new added pattern if
- possible.
- * config/aarch64/constraints.md (Uc0): New constraint.
-
-2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
-
- * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
-
-2015-09-28 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
- SECTION_EXCLUDE in XO mapping class.
-
-2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
- and handle ne and eq codes.
- * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
- (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
- CONST_INT_P. Use reverse_condition.
- (sh_split_treg_set_expr): Likewise.
-
-2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/types.md (type): Add rotate_imm.
- * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
- ROR immediate case.
- (*rorsi3_insn_uxtw): Likewise.
- * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
- * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
- * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
-
-2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67481
- * ifcvt.c (contains_ccmode_rtx_p): New function.
- (insn_valid_noce_process_p): Use it.
-
-2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67456
- PR rtl-optimization/67464
- PR rtl-optimization/67465
- * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
- move in the mode of x. Handle combination of complex and simple
- block pairs as well as the case when one is empty.
-
-2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * doc/gimple.texi: Update references to gimple_statement_base.
- * gdbhooks.py: Likewise.
- * gimple.h: Likewise.
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/driver-sparc.c: map LEON to leon3
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
- and make it inverse to change default
- * config/sparc/sync.md: Only use supervisor ASI for CASA when in
- supervisor mode
- * doc/invoke.texi: Document change of default
-
-2015-09-28 Daniel Cederman <cederman@gaisler.com>
-
- * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
- true on %f0 for a target without FPU.
- * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
- without FPU.
- (untyped_return): Do not load %f0 for a target without FPU.
-
-2015-09-28 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.md (prefetch):
- Change the predicate of operand 0 to register_operand.
-
-2015-09-27 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (register_sse4nonimm_operand): New
- predicate.
- * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
- (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
- Use register_sse4nonimm_operand as operand 0 predicate.
- (*vec_extractv8hi_sse2): Remove insn pattern.
- (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
- *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
-
-2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67391
- * config/sh/sh-protos.h (sh_lra_p): Declare.
- * config/sh/sh.c (sh_lra_p): Make non-static.
- * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
- arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
- Expand into addsi3_scr if operands[2] if needed.
- (*addsi3_compact): Rename to *addsi3_compact_lra. Use
- arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
- (addsi3_scr, *addsi3): New insn_and_split patterns.
-
-2015-09-27 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- PR tree-optimization/67312
- PR middle-end/67340
- PR middle-end/67490
- PR bootstrap/67597
- * cfgexpand.c (parm_in_stack_slot_p): Remove.
- (ssa_default_def_partition): Remove.
- (get_rtl_for_parm_ssa_default_def): Remove.
- (set_rtl): Check that RTL assignments match expectations.
- Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
- default def location for params and results. Record SSA names
- or types in REG and MEM attrs, respectively.
- (set_parm_rtl): New.
- (expand_one_ssa_partition): Drop logic that assigned MEMs with
- unassigned addresses.
- (adjust_one_expanded_partition_var): Don't accept NULL RTL on
- deferred stack alloc vars.
- (expand_used_vars): Skip partitions holding parm default defs.
- Move adjust_one_expanded_partition_var loop...
- (pass_expand::execute): ... here. Drop redundant assert.
- Adjust comments before the final loop over all ssa names.
- Require assigned rtl of parms and results to match exactly.
- Reset its attributes to match them, not any other variables in
- the same partition.
- (expand_debug_expr): Use entry value for PARM's default defs
- only iff they have zero nondebug uses.
- * cfgexpand.h (parm_in_stack_slot_p): Remove.
- (get_rtl_for_parm_ssa_default_def): Remove.
- (set_parm_rtl): Declare.
- * doc/invoke.texi: Improve wording.
- * explow.c (promote_decl_mode): Fix promote_function_mode for
- result decls not by reference.
- (promote_ssa_mode): Disregard BLKmode from promote_decl, and
- bypass TYPE_MODE to get the actual vector mode.
- * function.c: Include tree-dfa.h. Revert 2015-08-14's and
- 2015-08-19's changes as follows. Drop include of
- basic-block.h and df.h.
- (rtl_for_parm): Remove.
- (maybe_reset_rtl_for_parm): Remove.
- (parm_in_unassigned_mem_p): Remove.
- (use_register_for_decl): Add logic for RESULT_DECLs matching
- assign_parms' behavior.
- (split_complex_args): Revert.
- (assign_parms_augmented_arg_list): Revert. Add comment
- referencing the logic above.
- (assign_parm_adjust_stack_rtl): Revert.
- (assign_parm_setup_block): Revert. Use set_parm_rtl instead
- of SET_DECL_RTL. Set up a REG if the parm demands so.
- (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
- calls into a single set_parm_rtl. Set up a temporary RTL
- temporarily for expand_assignment.
- (assign_parm_setup_stack): Revert. Use set_parm_rtl.
- (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
- (assign_bounds): Revert.
- (assign_parms): Revert. Use set_parm_rtl.
- (allocate_struct_function): Relayout result and parms of
- non-abstruct functions.
- (expand_function_start): Revert. Use set_parm_rtl. If the
- result is not a hard reg, create a pseudo from the promoted
- mode of the default def. Promote static chain mode.
- * tree-outof-ssa.c (remove_ssa_form): Drop unused
- partition_has_default_def. Set up
- partitions_for_parm_default_defs.
- (finish_out_of_ssa): Remove partition_has_default_def.
- Release partitions_for_parm_default_defs.
- * tree-outof-ssa.h (struct ssaexpand): Remove
- partition_has_default_def. Add
- partitions_for_parm_default_defs.
- * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
- stor-layout.h.
- (build_ssa_conflict_graph): Fix conflict-detection of default
- defs of even unused default defs of params and results.
- (for_all_parms): New.
- (create_default_def): New.
- (register_default_def): New.
- (coalesce_with_default): New.
- (create_outofssa_var_map): Create default defs for all parms
- and results, and register their partitions. Add GIMPLE_RETURN
- operands as coalesce candidates with results. Add default
- defs of each parm or result as coalesce candidates with its
- other defs. Mark each result def, and each default def of
- parms, as used_in_copy.
- (gimple_can_coalesce_p): Call it. Call use_register_for_decl
- with the ssa names, even anonymous ones. Drop
- parm_in_stack_slot_p calls. Require same signedness and
- alignment.
- (coalesce_ssa_name): Add coalesce candidates for all defs of
- each parm and result, even unused ones.
- (parm_default_def_partition_arg): New type.
- (set_parm_default_def_partition): New.
- (get_parm_default_def_partitions): New.
- * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
- * tree-ssa-live.c (partition_view_init): Regard unused defs of
- parms and results as used.
- (verify_live_on_entry): Don't error out just because they're
- not live.
-
-2015-09-26 David Edelsohn <dje.gcc@gmail.com>
-
- * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
- (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
- (output_fde): Don't output length for debug_frame on AIX.
- (output_call_frame_info): Don't output length for debug_frame on AIX.
- (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
- HAVE_XCOFF_DWARF_EXTRAS.
- (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
- HAVE_XCOFF_DWARF_EXTRAS.
- (output_compilation_unit_header): Don't output length on AIX.
- (output_pubnames): Don't output length on AIX.
- (output_aranges): Delete argument. Compute length locally. Don't
- output length on AIX.
- (output_line_info): Don't output length on AIX.
- (dwarf2out_finish): Don't compute aranges_length.
- * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
- (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
- * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
- symbol decoration for AIX.
- (rs6000_xcoff_debug_unwind_info): New.
- (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
- for SECTION_DEBUG.
- (rs6000_xcoff_declare_function_name): Emit different
- .function pseudo-op when DWARF2_DEBUG. Don't call
- xcoffout_declare_function for DWARF2_DEBUG.
- * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
- Redefine.
- * config/rs6000/aix71.h: New.
- * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
- locations support.
- * configure: Regenerate.
- * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
- DWARF support.
-
-2015-09-26 Jeff Law <law@redhat.com>
-
- * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
- behaviour.
- * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
- behaviour.
-
- * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
- behaviour
-
- * config/mips/mips.c (mips_compute_frame_info): Fix left shift
- undefined behaviour.
-
- * config/cris/cris.md (asrandb): Fix left shift undefined
- behaviour.
- (asrandw): Likewise.
-
-2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/61578
- * lra-constarints.c (match_reload): Check presence of the input pseudo
- in the output operand.
-
-2015-09-25 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-fsanitize): Minor wording tweak.
-
-2015-09-25 Tobias Burnus <burnus@net-b.de>
-
- * doc/invoke.texi (-fsanitize): Update URLs.
-
-2015-09-25 Teresa Johnson <tejohnson@google.com>
-
- * opts.c (finish_options): Unset -freorder-blocks-and-partition
- if not using profile.
-
-2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR pretty-print/67567
- * pretty-print.c (pp_string): Add gcc_checking_assert.
- * pretty-print.h (output_buffer_append_r): Likewise.
-
-2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67675
- * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
- addr2 individually. Don't emit logical or insn if one is known to
- be aligned approriately.
- (sh_expand_cmpnstr): Likewise.
-
-2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
- __builtin_aarch64_fp[sc]r arguments into a register.
-
-2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc (x86_archs): Replace lakemount with lakemont.
- (with_cpu): Likewise.
- (with_arch): Likewise.
- * config/i386/i386-c.c (ix86_target_macros_internal): Replace
- PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
- __tune_lakemount__ with __tune_lakemont__.
- * config/i386/i386.c (lakemount_cost): Renamed to ...
- (lakemont_cost): This.
- (m_LAKEMOUNT): Renamed to ...
- (m_LAKEMONT): This.
- (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
- (processor_target_table): Replace "lakemount" with "lakemont".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
- PROCESSOR_LAKEMONT.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Likewise.
- * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
- * doc/invoke.texi: Replace lakemount with lakemont. Replace
- Lakemount with Lakemont.
-
-2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc (x86_archs): Replace iamcu with lakemount.
- (with_cpu): Likewise.
- (with_arch): Likewise.
- * doc/invoke.texi: Likewise.
- * config/i386/i386-c.c (ix86_target_macros_internal): Replace
- PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
- __tune_iamcu__ with __tune_lakemount__.
- * config/i386/i386.c (iamcu_cost): Renamed to ...
- (lakemount_cost): This.
- (m_IAMCU): Renamed to ...
- (m_LAKEMOUNT): This.
- (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
- (processor_target_table): Replace "iamcu" with "lakemount".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Replace PROCESSOR_IAMCU with
- PROCESSOR_LAKEMOUNT.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Likewise.
- * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
-
-2015-09-24 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
- * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
- Declare.
- * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
- (pa_expand_compare_and_swap_loop): New.
- (pa_maybe_emit_compare_and_swap_exchange_loop): New.
- * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
- atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
- (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
- (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
- Revise.
-
-2015-09-24 Michael Collison <michael.collison@linaro.org>
-
- PR other/57195
- * read-md.c (read_name): Allow mode iterators inside angle
- brackets in rtl expressions.
-
-2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/61578
- * ira-color.c (update_allocno_cost): Add parameter.
- (update_costs_from_allocno): Decrease conflict cost. Pass the new
- parameter.
-
-2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR driver/67640
- * opts-common.c (prune_options): Discard all -fdiagnostics-color
- but the last one, which is moved to the front to be processed
- first.
- * opts.c (enable_warning_as_error): Reject options that do not
- control warnings.
-
-2015-09-24 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
-
-2015-09-24 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
- * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
- (aarch64_cannot_force_const_mem): Likewise.
- (aarch64_classify_address): Likewise.
- (aarch64_classify_symbolic_expression): Likewise.
- (aarch64_print_operand): Likewise.
- (aarch64_classify_symbol): Likewise.
- (aarch64_mov_operand_p): Likewise.
- * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
- (aarch64_mov_operand): Likewise.
-
-2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (debug_stack_info): Invert the test
- for info->spe_gp_size.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR lto/67699
- * lto-cgraph.c (compute_ltrans_boundary): Do not stream
- abstract origins.
-
-2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree-object-size.c (plus_stmt_object_size)
- (cond_expr_object_size): Change the formal parameters from gimple
- to gimple *.
- * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
- * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
-
-2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
- Check for ld -type pie on Solaris 11.x and 12.
- * configure: Regenerate.
- * config.in: Regenerate.
-
- * gcc.c (LD_PIE_SPEC): Allow redefinition.
-
- * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
- (STARTFILE_SPEC): Use it.
- (ENDFILE_CRTEND_SPEC): Define.
- (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
- (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
- ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
- [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
- (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
- * config/i386/sol2.h (ENDFILE_SPEC): Remove.
- (ENDFILE_ARCH_SPEC): Define.
- * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
-
-2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * configure.ac (gcc_cv_solaris_crts): New test.
- * configure. Regenerate.
- * config.in: Regenerate.
- * config/sol2.h (STARTFILE_SPEC): Simplify, provide
- HAVE_SOLARIS_CRTS variant.
-
-2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * tree-inline.h (count_insns_seq): Delete prototype.
- (estimate_num_insns_seq): Define prototype.
- * tree-inline.c (count_insns_seq): Delete.
- (estimate_num_insns_seq): Remove static qualifier.
- * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
- with estimate_num_insns_seq.
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
- members.
- * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
- and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
- offset.
- (ao_ref_init_from_vn_reference): Record clique and base in the
- built base.
- * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
-
-2015-09-24 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/48885
- * tree-ssa-structalias.c (visit_loadstore): Handle default defs
- as not including any restrict tags from other pointers.
-
-2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
-
- * gcc.c (handle_foffload_option): Don't lose the trailing NUL
- character when appending to offload_targets.
-
- * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
- offload targets by commas, not colons.
- * config.in: Regenerate.
- * configure: Likewise.
- * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
- instead of setting up the default offload targets here...
- (process_command): ..., do it here.
- libgomp/
- * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
- targets are separated by commas.
- * config.h.in: Regenerate.
-
-2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * omp-low.h (omp_reduction_init_op): Declare.
- * omp-low.c (omp_reduction_init_op): New, broken out of ...
- (omp_reduction_init): ... here. Call it.
- * tree-parloops.c (initialize_reductions): Use
- omp_reduction_init_op.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67662
- * fold-const.c (fold_binary_loc): Do not reassociate two vars with
- undefined overflow unless they will cancel out.
-
-2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
- insn emit.
-
-2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/49655
- * opts.h (write_langs): Declare.
- * opts-global.c (write_langs): Make it extern.
-
-2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67391
- * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
- overlapping regs when matching the pattern.
-
-2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
- (aarch64_float_truncate_hi_v4sf_le): New.
- (aarch64_float_truncate_hi_v4sf_be): Likewise.
-
-2015-09-23 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (intra_create_variable_infos): Build
- representatives for all restrict qualified pointer destinations.
-
-2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_code_attr mshift): New.
- (define_mode_iterator SWI1248_AVX512BW): Rename ...
- (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
- only.
- (define_insn "*k<logic><mode>"): Use new iterator name.
- (define_insn "*<mshift><mode>3"): New.
-
-2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR middle-end/67649
- * memory-block.h (memory_block_pool::allocate): Use valgrind API to
- mark the block as accessible.
-
-2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
-
- * function.c (thread_prologue_and_epilogue_insns): Delete
- orig_entry_edge argument to try_shrink_wrapping.
- * shrink-wrap.c (can_get_prologue): New function.
- (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
- (try_shrink_wrapping): Delete orig_entry_edge argument. Use
- can_get_prologue where needed. Remove code that finds a single
- edge for the prologue. Remove code that tests if any reg clobbered
- by the prologue is live on the prologue edge. Remove code that finds
- the new prologue edge after duplicating blocks. Make a new prologue
- block and edge.
- * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
-
-2015-09-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
- behavior.
-
-2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
-
- * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
- -Wtemplates, -Wnamespaces): Document.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67671
- * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
- pointer references as restrict.
-
-2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_legitimize_address): When handling
- 'reg + reloc' cases, allow first operand to be non-REG, and use
- force_reg() to enforce address pattern.
-
-2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
-
- PR target/67480
- * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
- (define_mode_iterator VI12_AVX_AVX512F): New.
- (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
- all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
- (define_insn "*<code><mode>3"): ... Into new pattern using
- VI12_AVX_AVX512F iterators without masking.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config.gcc: Support "skylake-avx512".
- * config/i386/i386-c.c (ix86_target_macros_internal): Handle
- PROCESSOR_SKYLAKE_AVX512.
- * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
- (processor_target_table): Add "skylake-avx512".
- (PTA_SKYLAKE_AVX512): Define.
- (ix86_option_override_internal): Add "skylake_avx512".
- (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
- F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
- * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
- (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
- * doc/invoke.texi (skylake-avx512): New.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_insn "kunpckhi"): Fix
- operand in pattern.
- (define_insn "kunpcksi"): Ditto.
- (define_insn "kunpckdi"): Ditto.
-
-2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_split not/xor SWI1248x): Use
- iterator instead of fixed modes.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
- Adjust declaration.
- * config/aarch64/aarch64.c (aarch64_emit_bic): New.
- (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
- out_result. Update to support update-fetch operations.
- * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
- Adjust for change to aarch64_gen_atomic_ldop.
- (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
- (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
- (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
- (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
- (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_atomic_ldop_supported_p): Declare.
- * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
- (enum aarch64_atomic_load_op_code): New.
- (aarch64_emit_atomic_load_op): New.
- (aarch64_gen_atomic_ldop): Update to support load-operate
- patterns.
- * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
- to an expander.
- (aarch64_atomic_<atomic_optab><mode>): New.
- (aarch64_atomic_<atomic_optab><mode>_lse): New.
- (atomic_fetch_<atomic_optab><mode>): Change to an expander.
- (aarch64_atomic_fetch_<atomic_optab><mode>): New.
- (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
- (UNSPECV_ATOMIC_LDOP_OR): New.
- (UNSPECV_ATOMIC_LDOP_BIC): New.
- (UNSPECV_ATOMIC_LDOP_XOR): New.
- (UNSPECV_ATOMIC_LDOP_PLUS): New.
- (ATOMIC_LDOP): New.
- (atomic_ldop): New.
- (aarch64_atomic_load<atomic_ldop><mode>): New.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.md
- (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
- pattern.
-
-2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
- Declare.
- * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
- (aarch64_gen_atomic_ldop): New.
- (aarch64_split_atomic_op): Fix whitespace and add a comment.
- * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
- (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
- (atomic_exchange<mode>): Replace with an expander.
- (aarch64_atomic_exchange<mode>): New.
- (aarch64_atomic_exchange<mode>_lse): New.
- (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
- (aarch64_atomic_swp<mode>): New.
-
-2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * tree-inline.c (expand_call_inline): Use inform for extra note.
- Do not give a note with UNKNOWN_LOCATION.
- Replace input_location with gimple_location (stmt).
- Use true/false instead of TRUE/FALSE.
-
-2015-09-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/67666
- * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
- with single field non-conservative.
-
-2015-09-21 David S. Miller <davem@davemloft.net>
-
- PR/67622
- Revert:
- 2015-09-11 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md: Make "U" constraint a real register
- constraint.
- * config/sparc/sparc.c (TARGET_LRA_P): Define.
- (D_MODES, DF_MODES): Add missing cast.
- (TF_MODES, TF_MODES_NO_S): Include T_MODE.
- (OF_MODES, OF_MODES_NO_S): Include O_MODE.
- (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
- cost to 8.
- * config/sparc/sparc.h (PROMOTE_MODE): Define.
- * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
- provide these insn when flag_pic.
-
- 2015-09-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
- Declare.
- * config/sparc/sparc.c (sparc_secondary_memory_needed): New
- function.
- * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
- (HARD_REGNO_CALLER_SAVE_MODE): Define.
- * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
- (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
- (embmedany_losum, embmedany_brsum, embmedany_textuhi)
- (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
- provide when flag_pic.
-
-2015-09-21 Jeff Law <law@redhat.com>
-
- * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
- behavior.
-
-2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- * passes.c (rest_of_decl_compilation): Do not call
- dwarf2out_early_global_decl for aliases.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- PR debug/67664
- * dwarf2out.c (add_location_or_const_value_attribute): Remove
- attribute parameter. Early exit if either DW_AT_const_value
- or DW_AT_location are present already.
- (gen_variable_die): Adjust caller.
- (dwarf2out_late_global_decl): Likewise.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67657
- * config/sh/sh.c (sh_remove_overlapping_post_inc,
- sh_peephole_emit_move_insn): Add new functions.
- * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
- sh_peephole_emit_move_insn): Declere them.
- * config/sh/sh.md: Use them in various peephole2 patterns.
-
-2015-09-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67651
- * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
- address with -fno-delete-null-pointer-checks.
-
-2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
- (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
- (reduc_uplus_v16qi): Remove.
-
- * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
- (reduc_<VEC_reduc_name>_v2df): Remove.
- (reduc_<VEC_reduc_name>_v4sf): Remove.
- (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
-
- * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
- gen_ function by removing * prefix.
- (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
-
-2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR middle-end/60832
- * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
- Print i_bound without converting it to a tree.
-
-2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
-
- * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
- operands[4] operands[5] swap with std::swap, removed tmp variable.
- (arm_evpc_neon_vzip): Replaced in0/in1 and
- out0/out1 swaps with std::swap, removed x variable.
- (arm_evpc_neon_vtrn): Replaced in0/int1 and
- out0/out1 swaos with std::swap, removed x variable.
- (arm_expand_vec_perm_const_1): Replaced
- d->op0/d->op1 swap with std::swap, removed x variable.
- (arm_evpc_neon_vuzp): Replaced in0/in1 and
- out0/out1 swaps with std::swap, removed x variable.
-
-2015-09-21 Jonathan Yong <10walls@gmail.com>
-
- * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
- sysroot/usr/lib/32api for additional win32 libraries,
- fixes failing Cygwin bootstrapping.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
-
-2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67126
- * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
- (*mov_t_msb_neg): Rewrite negc pattern.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
- immediate generation code.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
- redundant immediate generation code.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
- (AARCH64_NUM_BITMASKS): Remove.
- (aarch64_bitmasks_cmp): Remove.
- (aarch64_build_bitmask_table): Remove.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
- slow immediate matching loops with a faster algorithm.
-
-2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
- faster algorithm.
-
-2015-09-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
- * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
- * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
- (thread_through_normal_block): Use record_temporary_equivalences.
-
-2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * coretypes.h (gimple): Change typedef to be a forward declaration.
- * gimple.h (gimple_statement_base): rename to gimple.
- * (all functions and types using gimple): Adjust.
- * *.[ch]: Likewise.
-
-2015-09-19 Andrew Dixie <andrewd@gentrack.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- (ASM_OUTPUT_DWARF_PCREL): Define.
- (ASM_OUTPUT_DWARF_DATAREL): Define.
-
-2015-09-19 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
- of TARGET_ELF32.
-
-2015-09-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
- it here ...
- (dom_opt_dom_walker): New private member holding the avail_exprs_stack
- object. Update constructor.
- (pass_dominator::execute): Corresponding chagnes to declaration
- and initialization of avail_exprs_stack. Update constructor call
- for dom_opt_dom_walker object.
- (lookup_avail_expr, record_cond): Accept additional argument. Pass
- it down to children as needed.
- (record_equivalences_from_incoming_edge): Likewise.
- (eliminate_redundant_computations): Likewise.
- (record_equivalences_from_stmt): Likewise.
- (simplify_stmt_for_jump_threading): Likewise.
- (record_temporary_equivalences): Likewise.
- (optimize_stmt): Likewise.
- (dom_opt_dom_walker::thread_across_edge): Update access to
- avail_exprs_stack object and pass it to children as needed.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- * tree-ssa-threadedge.c (pfn_simplify): New typedef.
- (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
- Add avail_expr_stack argument. Pass it to children as needed.
- (dummy_simplify): Likewise.
- (simplify_control_stmt_condition): Likewise.
- (thread_around_empty_blocks): Likewise.
- (thread_through_normal_block): Likewise.
- (thread_across_edge): Likewise.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
- it here ...
- (dom_opt_dom_walker): New private member holding the const_and_copies
- object. Update constructor.
- (pass_dominator::execute): Corresponding changes to declaration
- and initialization of const_and_copies. Update constructor call
- for the dom_opt_dom_walker object.
- (record_temporary_equivalences): Accept const_and_copies argument
- pass it down to children as needed.
- (record_equality): Likewise.
- (record_equivalences_from_incoming_edge): Likewise.
- (cprop_into_successor_phis, optimize_stmt): Likewise.
- (eliminate_redundant_computations): Likewise.
- (dom_opt_dom_walker::thread_across_edge): Update access to
- const_and_copies object and pass it to children as needed.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
- it into the avail_exprs_stack class.
- (pass_dominator::execute): Corresponding changes to declaration
- and initialization of avail_exprs. Pass avail_exprs to
- dump_dominator_optimization_stats.
- (record_cond): Extract avail_exprs from avail_exprs_stack.
- (lookup_avail_expr): Similarly.
- (htab_staticstics): Remove unnecessary prototype. Move to earlier
- position in file.
- (dump_dominator_optimization_stats): Make static and prototype.
- Add argument for the hash table to dump.
- (debug_dominator_optimization_stats): Remove.
- * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
- prototype.
- (debug_dominator_optimization_stats): Similarly.
- * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
- "void" in prototype for pop_to_marker method. Add accessor method
- for the underlying avail_exprs table.
-
- * tree-ssa-threadedge.c: Remove trailing whitespace.
-
-2014-09-18 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
- unsigned.
- (pa_ldil_cint_p): Likewise.
- * config/pa/pa.c (pa_cint_ok_for_move): likewise.
- (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
- Update callers.
- * config/pa/pa.md: Likewise.
-
-2015-09-18 David Malcolm <dmalcolm@redhat.com>
-
- * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
- * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
- (diagnostic_show_locus): Likewise.
- (diagnostic_print_caret_line): Likewise.
- * diagnostic-show-locus.c: New file.
-
-2015-09-18 David Edelsohn <dje.gcc@gmail.com>
-
- * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
- "back" parameter. Declare label in #if block.
-
-2015-09-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR middle-end/67619
- * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
- the address to a register.
-
-2015-09-18 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
- * tree-ssa-dom.c: Remove unnecessary header includes.
- (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
- (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
- (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
- (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
- (pass_phi_only_cprop::execute): Likewise.
- (make_pass_phi_only_cprop): Likewise.
- * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
- uses of file scoped statics by passing the required objects
- as parameters wherever needed.
-
-2015-09-18 Andrew Dixie <andrewd@gentrack.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- * defaults.h (EH_FRAME_SECTION_NAME): Depend on
- EH_FRAME_THROUGH_COLLECT2.
- * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
- DW_EH_PE_datarel.
- * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
- even if EH_FRAME_SECTION_NAME is undefined. Restrict special
- collect2 labels to EH_FRAME_THROUGH_COLLECT2.
- * except.c (switch_to_exception_section): Use a read-only section
- even if EH_FRAME_SECTION_NAME is undefined.
- * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
- * collect2.c (write_c_file_stat): Provide dbase on AIX.
- (scan_prog_file): Don't export __dso_handle nor
- __gcc_unwind_dbase.
- * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- (ASM_OUTPUT_DWARF_PCREL): Define.
- (ASM_OUTPUT_DWARF_DATAREL): Define.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_FRAME_IN_DATA_SECTION): Delete.
- * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
- * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
- Declare.
- (rs6000_asm_output_dwarf_datarel): Declare.
- * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
- (rs6000_aix_asm_output_dwarf_datarel): New.
- (rs6000_xcoff_asm_init_sections): Don't set exception_section.
- * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): Define.
- (EH_TABLES_CAN_BE_READ_ONLY): Define.
- * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
- (EH_FRAME_THROUGH_COLLECT2): New.
- (ASM_OUTPUT_DWARF_DATAREL): New.
- * doc/tm.texi: Regenerate.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
- we're in early phase.
- (schedule_generic_params_dies_gen): Likewise.
- (gen_remaining_tmpl_value_param_die_attribute): Do only as much
- work as possible, retaining unhandled cases.
- (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
- clear out generic_type_instances at the end.
- (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
- (dwarf2out_early_finish): ... here. Do most of
- gen_remaining_tmpl_value_param_die_attribute here.
-
-2015-09-18 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.
- (analyze_all_variable_accesses): Follow renamings.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
- in early-dwarf.
-
-2015-09-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
- treat MEM[&x] and x the same.
- * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
- * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
- when we simplified sth.
- (vn_reference_maybe_forwprop_address): Likewise.
- (valueize_refs_1): When we simplified through
- vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
- set valueized_anything to true.
- (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
- one ref kills the other instead of just a offset-based test.
- * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
- for the operand_equal_p test to compare bases and also compare
- sizes.
-
-2015-09-17 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
-
-2015-09-17 Richard Henderson <rth@redhat.com>
-
- PR libstdc++/65913
- * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
- pointers that encode the alignment of the object.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR rtl-optimization/66790
- * df-problems.c (LIVE): Amend documentation.
-
-2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
- and optabs-tree.o.
- (GTFILES): Replace optabs.c with optabs-libfunc.c.
- * genopinit.c (main): Add an include guard to insn-opinit.h.
- Protect the rtx_code parts with NUM_RTX_CODE.
- * optabs.h: Split parts out to...
- * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
- * optabs.c: Split parts out to...
- * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
- * cilk-common.c: Include optabs-query.h rather than optabs.h.
- * fold-const.c: Likewise.
- * target-globals.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
- Remove unncessary include files.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vrp.c: Likewise.
- * toplev.c: Include optabs-query.h and optabs-libfuncs.h
- rather than optabs.h.
- * expr.c: Include optabs-tree.h.
- * function.c: Likewise.
-
-2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65958
- * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
- * config/arm/arm-protos.h (output_probe_stack_range): Declare.
- * config/arm/arm.c: Include common/common-target.h.
- (use_return_insn): Return 0 if the static chain register was saved
- above a non-APCS frame.
- (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
- (struct scratch_reg): New.
- (get_scratch_register_on_entry): New function.
- (release_scratch_register_on_entry): Likewise.
- (arm_emit_probe_stack_range): Likewise.
- (output_probe_stack_range): Likewise.
- (arm_expand_prologue): Factor out code dealing with the IP register
- for nested function and adjust it for stack checking.
- Invoke arm_emit_probe_stack_range if static builtin stack checking
- is enabled.
- (thumb1_expand_prologue): Sorry out if static builtin stack checking
- is enabled.
- (arm_expand_epilogue): Add the saved static chain register, if any, to
- the amount of pre-pushed registers to pop.
- (arm_frame_pointer_required): Return true if static stack checking is
- enabled and we want to catch the exception with the EABI unwinder.
- * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
- (UNSPEC_PROBE_STACK_RANGE): Likewise.
- * config/arm/arm.md (probe_stack): New insn.
- (probe_stack_range): Likewise.
-
-2015-09-17 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::parse_expr): Improve error message
- for mis-placed flags.
-
-2015-09-17 Richard Biener <rguenther@suse.de>
-
- * passes.c (rest_of_decl_compilation): Always call early_global_decl
- debug hook when we created a varpool node.
- * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
- dwarf2out_early_global_decl, when not just add location or
- value attributes to existing DIEs.
-
-2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.md (copysigndf3): New.
- (copysignsf3): Likewise.
-
-2015-09-17 David S. Miller <davem@davemloft.net>
-
- * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
- * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
- * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
- (HARD_REGNO_CALLER_SAVE_MODE): Define.
- * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
- (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
- (embmedany_losum, embmedany_brsum, embmedany_textuhi)
- (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
- provide when flag_pic.
-
-2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (label_ref_list_d_pool): Adjust to
- object_allocator change.
-
-2015-09-17 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66388
- * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
- (dump_iv): Dump no_overflow information.
- (alloc_iv): Initialize new field for struct iv.
- (mark_bivs): Count number of no_overflow bivs.
- (find_deriving_biv_for_expr, record_biv_for_address_use): New
- functions.
- (idx_find_step): Call new functions above.
- (add_candidate_1, add_candidate): New paramter.
- (add_iv_candidate_for_biv): Add sizetype cand for BIV.
- (get_computation_aff): Simplify convertion of cand for BIV.
- (get_computation_cost_at): Step cand's base if necessary.
-
-2015-09-17 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
- parameter.
- (tree_simplify_using_condition): Ditto.
- (simplify_using_initial_conditions): Ditto.
- (loop_exits_before_overflow): Pass new argument to function
- simplify_using_initial_conditions. Remove case for type conversions
- simplification.
- * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
- parameter.
- * tree-scalar-evolution.c (simple_iv): Simplify type conversions
- in iv base using loop initial conditions.
-
-2015-09-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
- (free_all_edge_infos): Use it.
- (allocate_edge_info): Free preexisting edge info data.
- (pass_dominator::execute): Set up initial edge info structures.
- (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
- thread_across_edge.
- * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
- If non-null, then push/pop markers appropriately.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
- thread-across_edge.
-
-2015-09-16 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/ft32.c: Fix the memory address space predicate.
-
-2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67573
- * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
- (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
-
-2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * toplev.h (check_global_declaration): Remove declaration.
- * toplev.c (check_global_declaration): Move to ...
- * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
- (analyze_functions): Update call.
-
-2015-09-16 David S. Miller <davem@davemloft.net>
-
- * lra-constraints.c (simplify_operand_subreg): Do not assume that
- lowpart of a SUBREG has offset zero.
-
-2015-09-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (enum expr_kind): Moved from here to
- tree-ssa-scopedtables.h.
- (struct hashable_expr, class expr_hash_elt): Likewise.
- (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
- Move associated methods into tree-ssa-scopedtables.c.
- (avail_expr_hash, initialize_expr_from_cond): Similarly.
- (hashable_expr_equal_p, add_expr_commutative): Likewise.
- (add_hashable_expr): Likewise.
- (record_cond): Delete element directly.
- * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
- private copy ctor and assignment operator methods.
- (expr_elt_hasher): Inline trivial methods.
- (initialize_expr_from_cond): Prototype.
- * tree-ssa-scopedtables.c: Add necessary includes, functions and
- methods that were previously in tree-ssa-dom.c. Improve various
- comments.
-
-2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
-
- * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
-
-2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR bootstrap/67587
- * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
- fixup_partitions.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67253
- * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
- location of possibly shared trees.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67271
- * fold-const.c (native_encode_expr): Bail out on bogus offsets.
-
-2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
- offset and size computations instead of HOST_WIDE_INT.
-
-2015-09-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67442
- * fold-const.c (extract_muldiv_1): Properly extend multiplication
- result before builting a tree via wide_int_to_tree.
-
-2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
-
- * Makefile.in: Add memory-block.cc
- (pool_allocator::initialize): Use fixed block size.
- (pool_allocator::release): Use memory_block_pool.
- (pool_allocator::allocate): Likewise.
- * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
- object pools.
- * cfg.c (initialize_original_copy_tables): Likewise.
- * cselib.c (elt_list_pool, elt_loc_list_pool,
- cselib_val_pool): Likewise.
- * df-problems.c (df_chain_alloc): Likewise.
- * df-scan.c (df_scan_alloc): Likewise.
- * dse.c (cse_store_info_pool, rtx_store_info_pool,
- read_info_type_pool, insn_info_type_pool, bb_info_pool,
- group_info_pool, deferred_change_pool): Likewise.
- * et-forest.c (et_nodes, et_occurrences): Likewise.
- * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
- ipcp_agg_lattice_pool): Likewise.
- * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
- * ipa-profile.c (histogram_pool): Likewise.
- * ipa-prop.c (ipa_refdesc_pool): Likewise.
- * ira-build.c (live_range_pool, allocno_pool, object_pool,
- initiate_cost_vectors, pref_pool, copy_pool): Likewise.
- * ira-color.c (update_cost_record_pool): Likewise.
- * lra-lives.c (lra_live_range_pool): Likewise.
- * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
- * memory-block.cc: New file.
- * memory-block.h: New file.
- * regcprop.c (queued_debug_insn_change_pool): Use common block size.
- * sched-deps.c (sched_deps_init): Likewise.
- * sel-sched-ir.c (sched_lists_pool): Likewise.
- * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
- * tree-sra.c (access_pool): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
- * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
- * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
- * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
- * tree-ssa-strlen.c (strinfo_pool): Likewise.
- * tree-ssa-structalias.c (variable_info_pool): Likewise.
- * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
- location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
-
-2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
- definition.
- (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
- call0 ABI.
-
-2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
- to pass TLS call argument, according to current ABI.
- * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
- callx0 for TLS call, according to current ABI.
-
-2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-eh.c (lower_try_finally_dup_block): Clear location information
- on stack restore statements.
- (decide_copy_try_finally): Do not consider a stack restore statement as
- coming from sources.
-
-2015-09-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_expand_block_clear): Use
- HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
-
-2015-09-15 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
- methods and private members.
- (avail_exprs_stack): Similarly. Change type of global
- from a pair of expr_hash_elt_t to the new class.
- (expr_elt_hasher::hash): Corresponding changes.
- (expr_elt_hasher::equal): Similarly.
- (avail_expr_hash): Similarly.
- (pass_dominator::execute): Similarly.
- (dom_opt_dom_walker::thread_across_edge): Similarly.
- (record_cond): Similarly.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- (lookup_avail_expr): Likewise.
- (initialize_hash_element): Now a expr_hash_elt constructor.
- (initialize_hash_element_from_expr): Similarly.
- (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
- (free_expr_hash_elt): Call dtor for the element.
- (remove_local_expressions_from_table): Now the "pop_to_marker"
- method in the available_exprs_stack class.
- (avail_expr_stack::record_expr): Method factored out.
- (print_expr_hash_elt): Now a method in the expr_hash_elt class.
- Fix formatting.
- (hashable_expr_equal_p): Fix formatting.
-
-2015-09-15 David Malcolm <dmalcolm@redhat.com>
-
- * input.h (location_get_source_line): Drop "expanded_location"
- param in favor of a file and line number.
- * input.c (location_get_source_line): Likewise.
- (dump_location_info): Update for change in signature of
- location_get_source_line.
- * diagnostic.c (diagnostic_print_caret_line): Likewise.
-
-2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
- Bump to 4KB for SJLJ exceptions.
- (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
- * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
- * doc/tm.texi: Regenerate.
-
-2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
- of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
- Update prototype.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67470
- * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
- structure for PHI hoisting by inserting a forwarder block
- if appropriate.
-
-2015-09-15 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
- (arm_option_print): New function.
-
-2015-09-15 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
- * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
- Remove flags parameter.
- * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
- (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
- (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
- (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
- (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
- (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
- (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
- * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
-
- * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
- AARCH64_VALID_SIMD_DREG_MODE.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
- aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
- (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
- (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
- aarch64_ld4_lane<mode>): Combine together, making...
- (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
- (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
- aarch64_st4_lane<mode>): Combine together, making...
- (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
- * config/aarch64/iterators.md (nregs): Add comment.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
- Change operand mode from <V_TWO_ELEM> to BLK.
- (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
- (aarch64_vec_store_lanesoi_lane<mode): Likewise
- (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld2_lane<mode>): Likewise.
- (aarch64_st2_lane<VQ:mode>): Likewise.
- * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
- Change operand mode from <V_FOUR_ELEM> to BLK.
- (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
- (aarch64_vec_store_lanesxi_lane<mode): Likewise.
- (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld4_lane<mode>): Likewise.
- (aarch64_st4_lane<mode>): Likewise.
- * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67563
- * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
- transfer EH info from old to new stmt.
- (replace_call_with_value): Likewise.
- (replace_call_with_call_and_fold): Likewise.
- (gimple_fold_builtin_memory_op): Likewise.
- (gimple_fold_builtin_memset): Likewise.
- (gimple_fold_builtin_stpcpy): Likewise.
- (gimple_fold_call): Likewise.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
- comment.
- * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
- (aarch64_simd_intEI_type_node): Likewise.
- (aarch64_simd_builtin_std_type): Remove EImode case.
- (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
- * config/aarch64/aarch64-modes.def: Remove EImode.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
- Change operand mode from <V_THREE_ELEM> to BLK.
- (aarch64_vec_load_lanesci_lane<mode>): Likewise.
- (aarch64_vec_store_lanesci_lane<mode>): Likewise.
- (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
- (aarch64_ld3_lane<mode>): Likewise.
- (aarch64_st3_lane<mode>): Likewise.
- * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md
- (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
- Change all TImode operands to BLKmode.
- (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
- Change all EImode operands to BLKmode.
- (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
- Change all OImode operands to BLKmode.
-
- (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
- and call set_mem_size.
- (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
-
- * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
-
-2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
- to...
- (aarch64_vec_store_lanesoi_lane<mode>): ...this.
-
- (vec_store_lanesci_lane<mode>): Rename to...
- (aarch64_vec_store_lanesci_lane<mode>): ...this.
-
- (vec_store_lanesxi_lane<mode>): Rename to...
- (aarch64_vec_store_lanesxi_lane<mode>): ...this.
-
- (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
- aarch64_st4_lane<mode>): Follow renaming.
-
-2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_const_operand_ok): Add missing
- brackets.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- PR lto/67568
- * lto-streamer.h (lto_location_cache::current_sysp): Properly
- initialize.
- * lto-streamer-out.c (clear_line_info): Likewise.
-
-2015-09-15 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Fix wording.
-
-2015-09-15 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
- unnecessary type conversion in op1.
-
-2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
-
- * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
- (dup_block_and_redirect): Delete function.
- (can_dup_for_shrink_wrapping): New function.
- (fix_fake_fallthrough_edge): New function.
- (try_shrink_wrapping): Rewrite function.
- (convert_to_simple_return): Call fix_fake_fallthrough_edge.
-
-2015-09-14 Rich Felker <dalias@libc.org>
-
- * configure.ac: Change target pattern for sh TLS support
- test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
- * configure: Regenerate.
-
-2015-09-14 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
- type rather than void *.
-
-2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/67460
- * diagnostic.c (diagnostic_initialize): Do not set
- some_warnings_are_errors.
- (diagnostic_finish): Use DK_WERROR count instead.
- (diagnostic_report_diagnostic): Do not set
- some_warnings_are_errors.
- * diagnostic.h (struct diagnostic_context): Remove
- some_warnings_are_errors.
-
-2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/sparc/predicates.md (const_all_ones_operand): Use
- CONSTM1_RTX to simplify definition.
-
-2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67061
- * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
- Handle call insns.
-
-2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
-
- * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
- OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
- OPT_fshow_column to handled saved option cases.
- (append_compiler_options): Do not skip the above added options.
-
-2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
- nopcrelative_literal_loads.
- (aarch64_classify_address): Likewise.
- (aarch64_constant_pool_reload_icode): Define.
- (aarch64_secondary_reload): Handle secondary reloads for
- literal pools.
- (aarch64_override_options): Handle nopcrelative_literal_loads.
- (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
- * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
- Define.
- (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
- * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
- * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
- predicate.
- * doc/invoke.texi (mpc-relative-literal-loads): Document.
-
-2015-09-14 John David Anglin <danglin@gcc.gnu.org>
-
- PR middle-end/67401
- * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
- sync_compare_and_swap_optab libcall to target_oval.
-
-2015-09-14 Marek Polacek <polacek@redhat.com>
-
- * rtlanal.c (split_double): Cast to unsigned when shifting a negative
- value.
- * sched-int.h (UNKNOWN_DEP_COST): Likewise.
-
-2015-09-11 Mark Wielaard <mjw@redhat.com>
-
- PR c/28901
- * toplev.c (check_global_declaration): Check and use
- warn_unused_const_variable.
- * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
- (-Wunused-variable): Remove non-constant. For C implies
- -Wunused-const-variable.
- (-Wunused-const-variable): New.
-
-2015-09-14 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Update for changed syntax
- of inner ifs and the new switch expression.
-
-2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/haswell.md: New file describing Haswell pipeline.
- * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
- haswell-like processors.
- (ix86_reassociation_width): Increase reassociation width for 64-bit
- Haswell processor family.
- * config/i386/i386.md: Introduce haswell cpu and include new md file.
-
-2015-09-14 Richard Biener <rguenther@suse.de>
-
- * doc/match-and-simplify.texi: Fixup some formatting issues
- and document the 's' flag.
-
-2015-09-13 Olivier Hainque <hainque@adacore.com>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
- gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
- * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
- (TARGET_CPU_gr5): Likewise.
- (TARGET_CPU_gr6): Likewise.
- (MULTILIB_DEFAULTS): Likewise.
- * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
- for mcpu=gr5 and mcpu=gr6.
- (MULTILIB_DIRNAMES): Adjust accordingly.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
- (mem_ref_p): Likewise.
- (outermost_indep_loop): Adjust.
- (mem_ref_in_stmt): Likewise.
- (determine_max_movement): Likewise.
- (mem_ref_alloc): Likewise.
- (record_mem_ref_loc): Likewise.
- (set_ref_stored_in_loop): Likewise.
- (mark_ref_stored): Likewise.
- (gather_mem_refs_stmt): Likewise.
- (mem_refs_may_alias_p): Likewise.
- (for_all_locs_in_loop): Likewise.
- (struct rewrite_mem_ref_loc): Likewise.
- (rewrite_mem_refs): Likewise.
- (struct first_mem_ref_loc_1): Likewise.
- (first_mem_ref_loc): Likewise.
- (struct sm_set_flag_if_changed): Likewise.
- (execute_sm_if_changed_flag_set): Likewise.
- (execute_sm): Likewise.
- (hoist_memory_references):
- (struct ref_always_accessed): Likewise.
- (ref_always_accessed_p): Likewise.
- (refs_independent_p): Likewise.
- (record_dep_loop): Likewise.
- (ref_indep_loop_p_1): Likewise.
- (ref_indep_loop_p_2): Likewise.
- (ref_indep_loop_p): Likewise.
- (can_sm_ref_p): Likewise.
- (find_refs_for_sm): Likewise.
- (tree_ssa_lim_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2out.c (dw_attr_ref): Remove typedef.
- (dw_line_info_ref): Likewise.
- (pubname_ref): Likewise.
- (dw_ranges_ref): Likewise.
- (dw_ranges_by_label_ref): Likewise.
- (comdat_type_node_ref): Likewise.
- (get_AT): Adjust.
- (get_AT_low_pc): Likewise.
- (get_AT_hi_pc): Likewise.
- (get_AT_string): Likewise.
- (get_AT_flag): Likewise.
- (get_AT_unsigned): Likewise.
- (get_AT_ref): Likewise.
- (get_AT_file): Likewise.
- (remove_AT): Likewise.
- (print_die): Likewise.
- (check_die): Likewise.
- (die_checksum): Likewise.
- (attr_checksum_ordered): Likewise.
- (struct checksum_attributes): Likewise.
- (collect_checksum_attributes): Likewise.
- (die_checksum_ordered): Likewise.
- (same_die_p): Likewise.
- (is_declaration_die): Likewise.
- (clone_die): Likewise.
- (clone_as_declaration): Likewise.
- (copy_declaration_context): Likewise.
- (break_out_comdat_types): Likewise.
- (copy_decls_walk): Likewise.
- (output_location_lists): Likewise.
- (external_ref_hasher::hash): Likewise.
- (optimize_external_refs_1): Likewise.
- (build_abbrev_table): Likewise.
- (size_of_die): Likewise.
- (unmark_all_dies): Likewise.
- (size_of_pubnames): Likewise.
- (output_die_abbrevs): Likewise.
- (output_die): Likewise.
- (output_pubnames): Likewise.
- (add_ranges_num): Likewise.
- (add_ranges_by_labels): Likewise.
- (add_high_low_attributes): Likewise.
- (gen_producer_string): Likewise.
- (dwarf2out_set_name): Likewise.
- (new_line_info_table): Likewise.
- (prune_unused_types_walk_attribs): Likewise.
- (prune_unused_types_update_strings): Likewise.
- (prune_unused_types): Likewise.
- (resolve_addr): Likewise.
- (optimize_location_lists_1): Likewise.
- (index_location_lists): Likewise.
- (dwarf2out_finish): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
- (dump_asserts_for): Adjust.
- (register_new_assert_for): Likewise.
- (process_assert_insertions): Likewise.
- (insert_range_assertions): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
- and remove typedef.
- (new_temp_expr_table): Adjust.
- (free_temp_expr_table): Likewise.
- (version_to_be_replaced_p): Likewise.
- (make_dependent_on_partition): Likewise.
- (add_to_partition_kill_list): Likewise.
- (remove_from_partition_kill_list): Likewise.
- (add_dependence): Likewise.
- (finished_with_expr): Likewise.
- (process_replaceable): Likewise.
- (kill_expr): Likewise.
- (kill_virtual_exprs): Likewise.
- (mark_replaceable): Likewise.
- (find_replaceable_in_bb): Likewise.
- (find_replaceable_exprs): Likewise.
- (debug_ter): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
- (struct btr_user): Rename from btr_user_s.
- (struct btr_def): Rename from btr_def_s.
- (find_btr_def_group): Adjust.
- (add_btr_def): Likewise.
- (new_btr_user): Likewise.
- (note_other_use_this_block): Likewise.
- (compute_defs_uses_and_gen): Likewise.
- (link_btr_uses): Likewise.
- (build_btr_def_use_webs): Likewise.
- (block_at_edge_of_live_range_p): Likewise.
- (btr_def_live_range): Likewise.
- (combine_btr_defs): Likewise.
- (move_btr_def): Likewise.
- (migrate_btr_def): Likewise.
- (migrate_btr_defs): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * var-tracking.c (shared_hash_def): Rename to shared_hash.
- (shared_hash): Remove typedef.
- (struct dataflow_set): Adjust.
- (shared_hash_unshare): Likewise.
- (dataflow_set_merge): Likewise.
- (vt_initialize): Likewise.
- (vt_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * var-tracking.c (struct location_chain): Rename from
- location_chain_def.
- (struct variable_part): Adjust.
- (variable_htab_free): Likewise.
- (unshare_variable): Likewise.
- (get_init_value): Likewise.
- (get_addr_from_local_cache): Likewise.
- (drop_overlapping_mem_locs): Likewise.
- (val_reset): Likewise.
- (struct variable_union_info): Likewise.
- (variable_union): Likewise.
- (find_loc_in_1pdv): Likewise.
- (insert_into_intersection): Likewise.
- (intersect_loc_chains): Likewise.
- (canonicalize_loc_order_check): Likewise.
- (canonicalize_values_mark): Likewise.
- (canonicalize_values_star): Likewise.
- (canonicalize_vars_star): Likewise.
- (variable_merge_over_cur): Likewise.
- (remove_duplicate_values): Likewise.
- (variable_post_merge_new_vals): Likewise.
- (variable_post_merge_perm_vals): Likewise.
- (find_mem_expr_in_1pdv): Likewise.
- (dataflow_set_preserve_mem_locs): Likewise.
- (dataflow_set_remove_mem_locs): Likewise.
- (variable_part_different_p): Likewise.
- (onepart_variable_different_p): Likewise.
- (find_src_set_src): Likewise.
- (dump_var): Likewise.
- (set_slot_part): Likewise.
- (clobber_slot_part): Likewise.
- (delete_slot_part): Likewise.
- (vt_expand_var_loc_chain): Likewise.
- (emit_note_insn_var_location): Likewise.
- (vt_finalize): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dse.c (store_info_t): Remove typedef.
- (group_info_t): Likewise.
- (const_group_info_t): Likewise.
- (deferred_change_t): Likewise.
- (get_group_info): Adjust.
- (free_store_info): Likewise.
- (canon_address): Likewise.
- (clear_rhs_from_active_local_stores): Likewise.
- (record_store): Likewise.
- (replace_read): Likewise.
- (check_mem_read_rtx): Likewise.
- (scan_insn): Likewise.
- (remove_useless_values): Likewise.
- (dse_step1): Likewise.
- (dse_step2_init): Likewise.
- (dse_step2_nospill): Likewise.
- (scan_stores_nospill): Likewise.
- (scan_reads_nospill): Likewise.
- (dse_step3_exit_block_scan): Likewise.
- (dse_step3): Likewise.
- (dse_step5_nospill): Likewise.
- (dse_step6): Likewise.
-
-2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * alias.c (alias_set_entry_d): Rename to alias_set_entry.
- (alias_set_entry): Remove typedef.
- (alias_set_subset_of): Adjust.
- (alias_sets_conflict_p): Likewise.
- (init_alias_set_entry): Likewise.
- (get_alias_set): Likewise.
- (new_alias_set): Likewise.
- (record_alias_subset): Likewise.
-
-2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/install.texi (Downloading the source): Mark up
- contrib/download_prerequisites properly and drop leading "./".
-
-2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/arc/arc.h: Remove define of STRUCT_VALUE.
- * config/lm32/lm32.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/visium/visium.h: Likewise.
- * system.h: Poison STRUCT_VALUE macro.
-
-2015-09-12 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
- CONSTANT_P operands.
-
-2015-09-11 David S. Miller <davem@davemloft.net>
-
- * config/sparc/constraints.md: Make "U" constraint a real register
- constraint.
- * config/sparc/sparc.c (TARGET_LRA_P): Define.
- (D_MODES, DF_MODES): Add missing cast.
- (TF_MODES, TF_MODES_NO_S): Include T_MODE.
- (OF_MODES, OF_MODES_NO_S): Include O_MODE.
- (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
- cost to 8.
- * config/sparc/sparc.h (PROMOTE_MODE): Define.
- * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
- provide these insn when flag_pic.
-
-2015-09-11 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (struct cond_equivalence): Update comment.
- * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
- member with m_. Update inline member functions as necessary. Add
- toplevel comment.
- * tree-ssa-scopedtables.c: Update const_and_copies's member
- functions to use m_ prefix to access the stack.
-
-2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (disable_tiling): Remove.
- (get_schedule_for_band): Do not use disable_tiling.
- (get_prevector_map): Delete function.
- (enable_polly_vector): Remove.
- (get_schedule_for_band_list): Remove dead code.
-
-2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
-
- * graphite-optimize-isl.c (get_tile_map): Refactor.
- (get_schedule_for_band): Same.
- (getScheduleForBand): Same.
- (get_prevector_map): Same.
- (get_schedule_for_band_list): Same.
- (get_schedule_map): Same.
- (get_single_map): Same.
- (apply_schedule_map_to_scop): Same.
- (optimize_isl): Same.
-
-2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63304
- * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
- (movtf): Delete.
- * config/aarch64/iterators.md (GPF_TF_F16): New.
- (GPF_F16): Delete.
-
-2015-09-10 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
- (nvptx_reorg): Adjust comments.
-
-2015-09-15 John David Anglin <danglin@gcc.gnu.org>
-
- PR bootstrap/67363
- * configure.ac: Check if setenv and unsetenv are declared.
- * configure: Rebuild.
- * config.in: Rebuild.
- * system.h: Declare setenv and unsetenv if not declared.
-
-2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (swap_web_entry): Update preceding
- commentary to simplify permute mask adjustment equation.
- (special_handling_values): Add SH_VPERM.
- (const_load_sequence_p): New function.
- (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
- the mask loaded from the constant pool.
- (adjust_vperm): New function.
- (handle_special_swappables): Call adjust_vperm.
- (dump_swap_insn_table): Handle SH_VPERM.
-
-2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * shrink-wrap.c (requires_stack_frame_p): Remove static.
- * shrink-wrap.h (requires_stack_frame_p): Put back.
-
-2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
-
- * reload1.c (elimination_costs_in_insn): Locally turn
- -Wmaybe-uninitialized into a warning.
-
-2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
-
- * shrink-wrap.c (requires_stack_frame_p): Make static.
- (prepare_shrink_wrap): Likewise.
- (dup_block_and_redirect): Likewise.
- * shrink-wrap.h: Remove declarations of those functions.
-
-2015-09-10 Mark Wielaard <mjw@redhat.com>
-
- * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
-
-2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/67506
- * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
- missing simplify_gen_subreg.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
- the vector element is bigger than 64 bit.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
- ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
-
-2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c: Add V1TImode to constant pool modes.
-
-2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/67439
- * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
- predicate. Set predicable_short_it attr to "no".
-
-2015-09-10 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/67421
- * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
- left wide shift tranformation.
-
-2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * common/config/arc/arc-common.c: Remove references to A5.
- * config/arc/arc-opts.h: Likewise.
- * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
- * config/arc/arc.opt, config/arc/constraints.md: Likewise.
- * config/arc/t-arc-newlib: Likewise.
-
-2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
-
- * config/arc/arc.md (length): Fix attribute length for conditional
- executed instructions with long immediate.
-
-2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
- type for second alternative.
-
-2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- * doc/invoke.texi (Downloading GCC): Mention
- contrib/download_prerequisites script.
-
-2015-09-10 Jakub Jelinek <jakub@redhat.com>
-
- PR c++/67523
- * gimplify.c (gimplify_omp_for): If inner stmt is not found
- for combined loop, assert seen_error () and return GS_ERROR.
-
- PR middle-end/67521
- * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
- if decl is already in outer->variables.
-
- PR middle-end/67517
- * gimplify.c (gimplify_scan_omp_clauses): Instead of
- asserting that decl is not specified in octx->variables,
- break out of the loop if it is.
-
- PR c++/67514
- * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
- iterator is not explicitly determined, but is defined inside
- of the combined workshare region, handle it like if it has
- DECL_EXPR in OMP_FOR_PRE_BODY.
-
-2015-09-09 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
- (*cmp<mode>): Add assembler spacing.
- (setcc_int<mode>, set_cc_float<mode>): Likewise.
- * config/nvptx/nvptx.c (nvptx_option_override): Override debug
- level.
- (write_func_decl_from_insn): Refactor argument loops & comma emission.
- (nvptx_expand_call): Likewise.
- (nvptx_output_call_insn): Likewise.
- (nvptx_reorg_subreg): Add spacing.
-
-2015-09-09 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67512
- * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
- for comparisons.
-
-2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/53184
- * doc/invoke.texi ([Wsubobject-linkage]): Document.
-
-2015-09-09 Tom de Vries <tom@codesourcery.com>
-
- * params-list.h: Add missing copyright notice.
-
-2015-09-09 Nathan Sidwell <nathan@acm.org>
-
- * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
- sel_truesi, not andsi.
-
-2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (*subsi3_compare0): Rename to...
- (subsi3_compare0): ... This.
- (modsi3): New define_expand.
- * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
- when operand is power of 2.
-
-2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
- (*neg<mode>2_compare0): Rename to...
- (neg<mode>2_compare0): ... This.
- * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
- Move check for speed inside the if-then-elses. Reflect
- CSNEG sequence in MOD by power of 2 case.
-
-2015-09-09 Alan Modra <amodra@gmail.com>
-
- PR target/67378
- * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
- reload replacement for PRE_MODIFY address reg.
-
-2015-09-09 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/53852
- * config.in: Regenerate.
- * configure: Regenerate.
- * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
- * graphite-optimize-isl.c (optimize_isl): Stop computation when
- PARAM_MAX_ISL_OPERATIONS is reached.
- * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
- * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
- result equal to isl_stat_ok as the status now can be isl_error_quota.
- (subtract_commutative_associative_deps): Same.
- (compute_deps): Same.
-
-2015-09-08 Aditya Kumar <hiraditya@msn.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
- Return the parameter if it was saved in corresponding
- parameter_rename_map of the region.
- (copy_def): Copy def from sese region to the newly created region.
- (copy_internal_parameters): Copy all the internal parameters defined
- within a region to the newly created region.
- (graphite_regenerate_ast_isl): Copy parameters to the new region before
- translating isl to gimple.
- * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
- the loop-nest does not have any data-references.
- (build_graphite_scops): Create a scop only when there is at least one
- loop inside it.
- (contains_only_close_phi_nodes): Deleted.
- (print_graphite_scop_statistics): Deleted
- (print_graphite_statistics): Deleted
- (limit_scops): Deleted.
- (build_scops): Removed call to limit_scops.
- * sese.c (new_sese): Construct.
- (free_sese): Destruct.
- (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
- added.
- (set_rename): Pass sese region so that parameters inside the region can
- be added to its parameter_rename_map.
- (rename_uses): Pass sese region.
- (graphite_copy_stmts_from_block): Do not copy parameters that have been
- generated in the header of the scop. For each SSA_NAME in the
- parameter_rename_map rename its usage.
- (invariant_in_sese_p_rec): Return false if tree t is defined outside
- sese region.
- (scalar_evolution_in_region): If the tree t is invariant just return t.
- * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
- struct sese to keep track of all the parameters which need renaming.
- * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
- any data-refs.
- * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
-
-2015-09-08 Tom de Vries <tom@codesourcery.com>
-
- * Makefile.in (generated_files): Add params.list.
- (params.list, s-params.list): Add rule.
- * params.h (enum compiler_param): Include params-list.h. Move define
- DEFPARAM, include params.def and undef DEFPARAM ...
- * params-list.h: ... here. New file.
-
-2015-09-08 David Malcolm <dmalcolm@redhat.com>
-
- * pretty-print.h (printer_fn): Fix typo in comment.
-
-2015-09-07 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
- (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
- (arm_neon_fp16_hw): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
- UNITS_PER_WORD >= 4.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
- aarch64_simd_vec_unpacks_hi_<mode>): New insn.
- (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
- (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
- (aarch64_float_extend_lo_v2df): Rename to...
- (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
-
- * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
- (float_extend_lo): Add v4sf.
-
- * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
- * config/aarch64/iterators.md (VQ_HSF): New iterator.
- (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
- (Vwide): New mode_attr.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
- aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
- aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
- vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
- V4HF and V8HF variants to iterator.
-
- * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
-
- * config/aarch64/iterators.md (VDQF_F16): New.
- (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
- vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
- vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
- vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
- vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
- vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
- vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
- vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
- vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
- vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
- vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
- vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
- vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
- vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
- vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
- vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
- vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
- vld1q_dup_f16): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
- Reparameterize to...
- (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
- (aarch64_float_truncate_hi_v4sf): Reparameterize to...
- (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
-
- * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
- v8hf variant.
- (float_truncate_lo_): Use BUILTIN_VDF iterator.
-
- * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
-
- * config/aarch64/iterators.md (VDF, Vdtype): New.
- (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
- * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
- (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
- Add __builtin_aarch64_simd_hf.
- * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
- float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
- vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
- vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
- vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
- vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
- vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
- vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
- vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
-
- * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
- V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
- (VDC, Vdbl): Add V4HF.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
- V4HFmode and V8HFmode.
- (aarch64_split_simd_move): Add case for V8HFmode.
- * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
- (aarch64_simd_builtin_std_type): Handle HFmode.
- (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
-
- * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
- aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
- (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
-
- * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
- Float16x8_t.
-
- * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
- * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
- New typedefs.
- (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
- vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
- vst1q_lane_f16): New.
- * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
- (VALLDI_F16, VALL_F16): New.
- (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
- Add cases for V4HF and V8HF.
- (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm-builtins.c (VAR11, VAR12): New.
- * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
- vld4_dup): Add v4hf variant.
- (vget_high, vget_low): Add v8hf variant.
- (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
- vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
- v4hf and v8hf variants.
-
- * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
- (VDX): Add V4HF.
- (V_DOUBLE): Add case for V4HF.
- (VQX): Add V8HF.
- (V_HALF): Add case for V8HF.
- (VDQX): Add V4HF, V8HF.
- (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
- V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
-
- * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
- neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
- vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
- neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
- neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
- neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
- vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
- neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
- neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
-
- (neon_vcreate, neon_vreinterpretv8qi<mode>,
- neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
- neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
- Change VDX to VD_RE.
-
- (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
- neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
- Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
-
- * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
- float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
- vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
- vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
- vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
- vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
- vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
- vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
- vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
- vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
- vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
- vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
- vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
- vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
- vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
- vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
- vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
- vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
- New.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
-
- * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
-
- * config/arm/arm-builtins.c (v8hf_UP): New.
- (arm_init_simd_builtin_types): Initialise Float16x8_t.
-
- * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
-
- * config/arm/arm_neon.h (float16x8_t): New typedef.
-
-2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
- vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
- vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
- vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
- vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
- vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
- vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
- vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
- vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
- vreinterpret_u16_f16, vreinterpret_u32_f16): New.
-
-2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
- non-alphanumeric characters in the symbol name.
-
-2015-09-07 Marek Polacek <polacek@redhat.com>
-
- PR inline-asm/67448
- * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
- a memory input.
-
-2015-09-07 Marek Polacek <polacek@redhat.com>
-
- * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
-
-2015-09-04 Paolo Bonzini <bonzini@gnu.org>
-
- * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
- not warn.
-
-2015-09-04 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/67452
- * tree-ssa-live.c: Include cfgloop.h.
- (remove_unused_locals): Clear loop->simduid if simduid is about
- to be removed from cfun->local_decls.
-
-2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
-
- PR target/65210
- * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
- attribute as well.
-
-2015-09-04 Tom de Vries <tom@codesourcery.com>
-
- * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
-
-2015-09-04 Jeff Law <law@redhat.com>
-
- * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
- unnecessary constructor. It's now trivial and implemented inside...
- * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
- constructor. Add comments to various methods. Remove unused
- private fields.
- * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
- * tree-vrp.c (identify_jump_threads): Likewise.
- * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
- indentation issues.
- (thread_across_edge): Similarly.
- (record_temporary_equivalences_from_stmts_at_dest): Remove unused
- arguments in constructor call.
-
-2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
-
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
- temp path contains a '-'.
-
-2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
- Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386-builtin-types.def
- (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
- (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
- (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
- (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
- * config/i386/i386.c
- (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
- IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
- IX86_BUILTIN_SCATTERALTDIV16SI.
- (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
- __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
- __builtin_ia32_scatteraltdiv8si.
- (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
- IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
- IX86_BUILTIN_SCATTERALTDIV16SI.
- (ix86_vectorize_builtin_scatter): New.
- (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
- ix86_vectorize_builtin_scatter.
-
-2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
- Petr Murzin <petr.murzin@intel.com>
- Kirill Yukhin <kirill.yukhin@intel.com>
-
- * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
- * doc/tm.texi: Regenerate.
- * target.def: Add scatter builtin.
- * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
- for loads/stores in case of gather/scatter accordingly.
- (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
- STMT_VINFO_GATHER_P(S).
- (vect_check_gather): Rename to ...
- (vect_check_gather_scatter): this.
- * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
- STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
- (vect_check_gather_scatter): Use it instead of vect_check_gather.
- (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
- variable and new checkings for it accordingly.
- * tree-vect-stmts.c
- (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
- STMT_VINFO_GATHER_P(S).
- (vect_check_gather_scatter): Use it instead of vect_check_gather.
- (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
-
-2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
- define_insn.
- (mulv16qi3): New define_expand.
-
-2015-09-03 Martin Sebor <msebor@redhat.com>
-
- PR c/66516
- * doc/extend.texi (Other Builtins): Document when the address
- of a built-in function can be taken.
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- * dwarf2out.c (flush_limbo_die_list): Split out from ...
- (dwarf2out_early_finish): ... here.
- (dwarf2out_finish): Do not call dwarf2out_early_finish but
- flush_limbo_die_list. Assert we have no deferred asm names.
-
-2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * optabs.c (expand_binop): Don't create a broadcast vector with a
- source element wider than the inner mode.
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- * varasm.c (output_constant): Use fold_convert instead of
- wide_int_to_tree.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (expand_omp_for_static_chunk): Handle case that
- fin_bb has 2 predecessors.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (find_phi_with_arg_on_edge): New function.
- (expand_omp_for_static_chunk): Fix inner loop phi.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65637
- * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
- that head is NULL.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
-
-2015-09-03 Tom de Vries <tom@codesourcery.com>
-
- * doc/invoke.texi (parloops-chunk-size): Add item.
- * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
- * tree-parloops.c: Include params.h.
- (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
- param parloops-chunk-size is used.
-
-2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/67351
- * fold-const.c (fold_binary_loc) : Move
- Transform (x >> c) << c into x & (-1<<c) or
- transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
- types using simplify and match.
- * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
- (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
-
-2015-09-03 Richard Biener <rguenther@suse.de>
-
- PR ipa/66705
- * tree-ssa-structalias.c (ctor_for_analysis): New function.
- (create_variable_info_for_1): Use ctor_for_analysis instead
- of get_constructor.
- (create_variable_info_for): Likewise.
-
-2015-09-02 Charles Baylis <charles.baylis@linaro.org>
-
- PR ipa/67280
- * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
- in new callgraph edge.
-
-2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
-
- PR target/59810
- PR target/63652
- PR target/63653
- * config/aarch64/aarch64-simd.md
- (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
- gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
- (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
- gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
-
-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
- * 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.
- * 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>
-
- * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
- ARM_CORE entry. Fix some white-space.
- * 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,
- function.c, graphite-scop-detection.c, haifa-sched.c,
- ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
- tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
- varasm.c: Remove typedefs of structs.
-
-2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
-
- * config/rs6000/altivec.h (vec_adde): New define.
- (vec_addec): Likewise.
- (vec_double): Likewise.
- (vec_bperm): Likewise.
- (vec_gb): Likewise.
- * config/rs6000/rs6000-builtin.def (ADDE): New
- BU_ALTIVEC_OVERLOAD_3.
- (ADDEC): Likewise.
- (DOUBLE): New BU_VSX_OVERLOAD_1.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
- entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
- ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
- VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
- ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
- ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
- ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
- P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
- and P8V_BUILTIN_VEC_VBPERMQ.
-
-2015-08-18 Jason Merrill <jason@redhat.com>
-
- * print-tree.c (print_node): Handle TREE_BINFO.
-
-2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
-
- PR middle-end/36757
- * builtins.c (expand_builtin_signbit): Add asserts to make sure
- we can expand BUILT_IN_SIGNBIT inline.
- * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
- * doc/extend.texi: Document the type-generic __builtin_signbit.
-
-2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/67218
- * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
- (simplify_unary_operation_1): Use it.
-
-2015-08-18 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67222
- * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
- if the call isn't valid.
- * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
- gimple_call_builtin_p.
- (call_may_clobber_ref_p_1): Likewise.
- (stmt_kills_ref_p): Likewise.
-
-2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
- * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
- (mips_hard_regno_scratch_ok): Likewise.
- (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
- * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
-
-2015-08-18 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
- (determine_value_range): Call refine_value_range_using_guard for
- each loop initial condition to improve value range.
-
-2015-08-17 Aldy Hernandez <aldyh@redhat.com>
-
- * config/i386/i386.c: Remove include of fibheap.h.
-
-2015-08-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67221
- * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
- (sccvn_dom_walker::before_dom_children): Mark backedges of
- non-executable blocks as not executable.
-
-2015-08-17 David Sherwood <david.sherwood@arm.com>
-
- * config/arm/arm.c (neon_element_bits): Replace call to
- GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
- * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
- (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
- (neon_vdup_lane<mode>): Likewise.
- * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
- (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
- (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
- * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
- * expr.c (expand_expr_real_2): Likewise.
- * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
- * simplify-rtx.c (simplify_immed_subreg): Likewise.
- * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
- * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
- New variable.
- * fold-const.c (fold_binary_loc): Replace call to
- GET_MODE_PRECISION (GET_MODE_INNER (m)) with
- GET_MODE_UNIT_PRECISION (m).
-
-2015-08-17 Mike Stump <mikestump@comcast.net>
-
- * config/arm/arm.c (arm_block_move_unaligned_straight):
- Emit normal move instead of unaligned load when source or destination
- are appropriately aligned.
-
-2015-08-17 Richard Biener <rguenther@suse.de>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/16107
- * match.pd (div (coss (op @0) : New simplifier.
-
-2015-08-14 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- PR bootstrap/66978
- PR middle-end/66983
- PR rtl-optimization/67000
- PR middle-end/67034
- PR middle-end/67035
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Do not coalesce
- maybe-byref parms with SSA_NAMEs of other variables, or
- anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
- (ssa_default_def_partition): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (align_local_variable, add_stack_var): Support anonymous SSA
- names.
- (defer_stack_allocation): Likewise. Declare earlier.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- Do no record deferred-allocation marker in
- SA.partition_to_pseudo.
- (expand_stack_vars): Adjust check for the marker in it.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c: Include stor-layout.h.
- (set_reg_attrs_for_parm): Handle NULL decl.
- (set_reg_attrs_for_decl_rtl): Take mode from expression if
- it's not a DECL.
- * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
- rather than its possibly-NULL DECL.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- (read_complex_part): Export.
- * expr.h (read_complex_part): Declare.
- * cfgexpand.h (parm_maybe_byref_p): Declare.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args. Reset complex parm before fetching its default decl
- rtl.
- (assign_parms_unsplit_complex): Use the default-def complex
- parm rtl if it matches the components.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location, and
- fill in its address if the memory location of a maybe-byref
- parm was not assigned by cfgexpand.
- (assign_parm_setup_reg): Likewise. Adjust its mode as
- needed. Use entry_parm for equiv if stack_parm is NULL. Make
- sure passed_pointer parms don't need conversion. Copy address
- or value as needed.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
- to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-08-14 Marek Polacek <polacek@redhat.com>
-
- * tree-core.h (tree_base): Fix typo.
-
-2015-08-14 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/67133
- * gimple.c (infer_nonnull_range_by_attribute): Check that the
- nonnull argument position is not outside function arguments.
-
-2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/67143
- * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
- 'lconst_atomic' with 'const_atomic'.
- (atomic_fetch_<optab><mode>): Likewise.
- (atomic_<optab>_fetch<mode>): Likewise.
- * config/aarch64/iterators.md (lconst-atomic): Move below
- 'const_atomic'.
- (const_atomic): New.
-
-2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_option_override): Don't override
- debug options.
- * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
- (DWARF2_DEBUGGING_INFO): Don't define.
- * debug.h (dwarf2_lineno_debug_hooks): Declare.
- * toplev.c (process_options): Add a case for it.
- * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
- (dwarf2out_init): Skip most initializations if
- DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
- case.
- * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
- DWARF2_LINENO_DEBUGGING_INFO.
- * opts.c (set_debug_level): Likewise.
-
-2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/types.md (is_neon_type): Add missing types.
-
-2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Add support
- for skylake.
- * config/i386/i386.c (PTA_SKYLAKE): New macros.
- (processor_alias_table): Add skylake description.
- (enum processor_model): Add skylake processor.
- (arch_names_table): Add skylake record.
- * doc/invoke.texi: Add skylake item.
-
-2015-08-13 Andrew MacLeod <amacleod@redhat.com>
-
- * ira-int.h: Include recog.h.
- * ira-build.c: Don't include recog.h.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * sched-deps.c: Likewise.
- * sel-sched.c: Likewise.
- * target-globals.c: Likewise.
-
-2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/55035
- * reload1.c (elimination_costs_in_insn): Make it obvious to the
- compiler that the n_dups and n_operands loop bounds are invariant.
-
-2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
- expressions in A and B.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- * tree.c (nonnull_arg_p): Move from ...
- * tree-vrp.c (nonnull_arg_p): ... here.
- * tree.h (nonnull_arg_p): Declare.
- * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
- here, register ptr != 0 for nonnull_arg_p pointer arguments.
- Properly initialize static chain and by-reference result pointer.
- (run_scc_vn): Adjust.
-
-2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
- TUNE_I6400.
-
-2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-protos.h
- (aarch64_gen_atomic_cas): Declare.
- * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
- Choose appropriate instruction pattern for the target.
- (aarch64_gen_atomic_cas): New.
- * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
- (atomic_compare_and_swap<mode>_1): Rename to
- aarch64_compare_and_swap<mode>. Fix some indentation.
- (aarch64_compare_and_swap<mode>_lse): New.
- (aarch64_atomic_cas<mode>): New.
-
-2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
- (TARGET_LSE): New.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67191
- * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
- assert we value-numbered last stmts operand because it can validly
- trigger for unreachable code.
-
-2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/67103
- * ifcvt.c (noce_try_store_flag_constants): Move
- x = (-(test != 0) & (b - a)) + a transformation to...
- (noce_try_cmove): ... Here. Try it if normal conditional
- move fails.
-
-2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
- pseudo-processors.
- * config/mips/mips.md (processor): Remove w32 and w64.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66502
- PR tree-optimization/67167
- * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
- backedge arguments.
- (vn_phi_lookup): Adjust.
- (vn_phi_insert): Likewise.
- (visit_phi): Prefer to value-number to another PHI node
- over value-numbering to a PHI argument.
- (init_scc_vn): Mark DFS back edges.
-
-2015-08-13 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gcall::code_): New constant static member.
- (gcond::code_): Likewise.
- * gimple.c (gcall::code_): Define.
- (gcond::code_): Likewise.
- (is_a_helper <const gcond *>): Add.
- (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
- and forward to a new gcall overload with less checking and a
- cheaper way to access the operand.
- (gimple_call_lhs_ptr): Likewise.
- (gimple_call_set_lhs): Likewise.
- (gimple_call_internal_p): Likewise.
- (gimple_call_with_bounds_p): Likewise.
- (gimple_call_set_with_bounds): Likewise.
- (gimple_call_internal_fn): Likewise.
- (gimple_call_set_ctrl_altering): Likewise.
- (gimple_call_ctrl_altering_p): Likewise.
- (gimple_call_fntype): Likewise.
- (gimple_call_fn): Likewise.
- (gimple_call_fn_ptr): Likewise.
- (gimple_call_set_fndecl): Likewise.
- (gimple_call_fndecl): Likewise.
- (gimple_call_chain): Likewise.
- (gimple_call_num_args): Likewise.
- (gimple_call_arg): Likewise.
- (gimple_call_arg_ptr): Likewise.
- (gimple_call_set_arg): Likewise.
- (gimple_call_noreturn_p): Likewise.
- (gimple_cond_code): Likewise.
- (gimple_cond_lhs): Likewise.
- (gimple_cond_rhs): Likewise.
- (gimple_has_lhs): Reduce checking.
-
-2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25529
- * match.pd (div (mult @0 @1) @1) : New simplifier.
-
-2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/67071
- * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
- predicate to allow construction of vector constants using the
- VSLDOI vector shift instruction.
-
- * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
- declaration.
-
- * config/rs6000/rs6000.c (vspltis_shifted): New function to return
- the number of bytes to be shifted left and filled in with either
- all zero or all one bits.
- (gen_easy_altivec_constant): Call vsplitis_shifted if no other
- methods exist.
- (output_vec_const_move): On power8, generate XXLORC to generate
- a vector constant with all 1's. Do a split if we need to use a
- VSLDOI instruction.
-
- * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
- properly test for the MSB.
-
- * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
- vector constants that can be created with VSLDOI.
-
-2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- revert:
- * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
- gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
- ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
- omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
- tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
- tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
- tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
- tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
- vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
-
-2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/constraints.md (define_constraint "Y"): New
- constraint.
- * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
- * config/xtensa/linux.h (ASM_SPEC): Likewise.
- * config/xtensa/predicates.md (move_operand): Match constants
- and symbols in the presence of TARGET_AUTO_LITPOOLS.
- * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
- immediate references to TLS data.
- (xtensa_emit_move_sequence): Don't force constants to memory in
- the presence of TARGET_AUTO_LITPOOLS.
- (print_operand): Add 'y' format, same as default, but capable of
- printing SF mode constants as well.
- * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
- (movsf_internal): Add movi pattern that loads literal.
- (movsf, movdf): Don't force constants to memory in the presence
- of TARGET_AUTO_LITPOOLS.
- (movdf_internal): Add 'Y' constraint.
- * config/xtensa/xtensa.opt (mauto-litpools): New option.
- * doc/invoke.text (Xtensa options): Document -mauto-litpools.
-
-2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-fpus.def: Replace booleans with feature flags.
- Update comment.
- * config/arm/arm.c (ARM_FPU): Update macro.
- * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
- (TARGET_FP16): Likewise.
- (TARGET_CRYPTO): Likewise.
- (TARGET_NEON): Likewise.
- (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
- field features.
-
-2015-08-12 Tom de Vries <tom@codesourcery.com>
-
- PR other/67092
- PR other/67098
- * doc/install.texi: Remove --with_host_libstdcxx item. Update
- --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
- accordingly. Mention default for --with-stage1-ldflags.
-
-2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.h (arm_fpu_feature_set): New.
- (ARM_FPU_FSET_HAS): New.
- (FPU_FL_NONE): New.
- (FPU_FL_NEON): New.
- (FPU_FL_FP16): New.
- (FPU_FL_CRYPTO): New.
-
-2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
- after -mcmodel=large -fPIC sorry.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
- comparison operand order and commutative ternary op operand order.
- (sccvn_dom_walker::cond_stack): New state to track temporary
- expressions.
- (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
- no longer valid.
- (sccvn_dom_walker::record_cond): Add a single temporary conditional
- expression.
- (sccvn_dom_walker::record_conds): Add a temporary conditional
- expressions and all related expressions also true/false.
- (sccvn_dom_walker::before_dom_children): Record temporary
- expressions based on the controlling condition of a single
- predecessor. When trying to simplify a conditional statement
- lookup expressions we might have inserted earlier.
-
-2015-08-12 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/67127
- * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
- to ARM core registers.
-
-2015-08-12 Nathan Sidwell <nathan@acm.org>
-
- * tree-vrp.c (simplify_min_or_max_using_ranges): New.
- (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
-
-2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
-
- * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
- line with comments.
- * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * gimple.h (remove_pointer): New trait.
- (GIMPLE_CHECK2): New inline template function.
- (gassign::code_): New constant static member.
- (is_a_helper<const gassign *>): Add.
- (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
- and forward to a new gassign overload with less checking and a
- cheaper way to access the operand.
- (gimple_assign_lhs_ptr): Likewise.
- (gimple_assign_set_lhs): Likewise.
- (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
- Likewise.
- (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
- Likewise.
- (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
- Likewise.
- (gimple_assign_rhs_code): Likewise.
- * gimple.c (gassign::code_): Define.
-
-2015-08-12 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
- Eliminate edges marked as not executable by SCCVN.
- * tree-ssa-sccvn.c: Include gimple-iterator.h.
- (cond_dom_walker): Rename to sccvn_dom_walker.
- (sccvn_dom_walker::before_dom_children): Value-number defs
- of all stmts.
- (run_scc_vn): Remove loop value-numbering all SSA names.
- Drop not visited SSA names to varying.
-
-2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
- gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
- ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
- omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
- tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
- tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
- tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
- tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
- vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
-
-2015-08-11 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
- to enum feature_priority and feature_list.
- (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
- and isa_names_table.
-
-2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-stmts.c (vectorizable_shift): Add missed test on
- vect_induction_def.
-
-2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c/66098
- PR c/66711
- * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
- account when deciding what was the command-line status.
-
-2015-08-11 Nathan Sidwell <nathan@acm.org>
-
- * tree-vrp.c (simplify_abs_using_ranges): Simplify.
-
- * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
- we're not the only contributor to target phi.
-
-2015-08-11 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
- FIXED_REG0.
-
-2015-08-11 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
-
-2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
- with CPU_SLM.
- * config/i386/i386.md (cpu): Remove knl.
-
-2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65742
- PR middle-end/66332
- * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
- open-coded sequence.
- * omp-low.c (oacc_process_reduction_data): Remove handline of
- GOMP_DEVICE_HOST_NONSHM.
-
- * lto-streamer-in.c (lto_input_mode_table): Adjust to
- GET_MODE_INNER changes.
-
-2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
- Ilya Verbin <ilya.verbin@intel.com>
-
- * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
-
-2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * doc/options.texi (EnabledBy): Document that the argument must be
- a Common option.
- * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
- Not enabled by -Wall.
- * optc-gen.awk: Give nicer error messages. Detect if the argument
- of EnabledBy is not a Common option.
- * common.opt (Wnull-dereference): Not enabled by -Wall.
- * opt-functions.awk (lang_enabled_by): Nicer error messages.
-
-2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Treat
- model == 0x4f as Broadwell.
-
-2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/67028
- * combine.c (simplify_comparison): Fix comment. Rearrange code.
- Add test to see if a const_int fits in the new mode.
-
-2015-08-07 DJ Delorie <dj@redhat.com>
-
- * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
-
-2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/67029
- * ira-color.c: Include "recog.h" before including "ira-int.h".
- * target-globals.c: Likewise.
- * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
- adds an alternative_mask argument and use it instead of
- preferred_alternatives.
- * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
- * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
- * sched-deps.c: Include "ira-int.h" after including "ira.h".
- (sched_analyze_insn): Update call to
- ira_implicitly_set_insn_hard_regs.
- * sel-sched.c: Include "ira-int.h" after including "ira.h".
- (implicit_clobber_conflict_p): Update call to
- ira_implicitly_set_insn_hard_regs.
-
-2015-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * Makefile.in (.INTERMEDIATE): Add gpl.pod.
-
-2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67002
- * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
- currently_expanding_to_rtl is set.
-
-2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
-
- * 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>
-
- * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
- * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
- (REG_CLASS_NAMES): Likewise.
- (REG_CLASS_CONTENTS): Likewise.
- * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_load_symref_appropriately): Invoke the new added pattern if
- possible.
- * config/aarch64/constraints.md (Uc0): New constraint.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/constraints.md (Usf): Add the test of
- aarch64_is_noplt_call_p.
-
-2015-08-06 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
- declaration.
- * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
- * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
- (call_symbol): Likewise.
-
-2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
-
- * tree-vect-patterns.c (vect_recog_mult_pattern): New function
- for vectorizing multiplication patterns.
- * tree-vectorizer.h: Adjust the number of patterns.
-
-2015-08-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_concatv2df): Declare added
- alternatives as sselog type.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
- all GPRs.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_tbegin): Expand either
- tbegin_1_z13 or tbegin_1 depending on VX flag.
- * config/s390/s390.md ("tbegin_1_z13"): New expander.
-
-2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.opt: Clarify description for -mzvector
- * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
- -mzvector.
-
-2015-08-06 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gimple_call_set_fn): Access op member directly.
- (gimple_call_chain_ptr): Likewise.
- (gimple_call_set_chain): Likewise.
- (gimple_cond_lhs_ptr): Likewise.
- (gimple_cond_set_lhs): Likewise.
- (gimple_cond_rhs_ptr): Likewise.
- (gimple_cond_set_rhs): Likewise.
- (gimple_cond_true_label): Likewise.
- (gimple_cond_set_true_label): Likewise.
- (gimple_cond_set_false_label): Likewise.
- (gimple_cond_false_label): Likewise.
- (gimple_label_label): Likewise.
- (gimple_label_set_label): Likewise.
- (gimple_goto_set_dest): Likewise.
- (gimple_asm_input_op): Likewise.
- (gimple_asm_input_op_ptr): Likewise.
- (gimple_asm_set_input_op): Likewise.
- (gimple_asm_output_op): Likewise.
- (gimple_asm_output_op_ptr): Likewise.
- (gimple_asm_set_output_op): Likewise.
- (gimple_asm_clobber_op): Likewise.
- (gimple_asm_set_clobber_op): Likewise.
- (gimple_asm_label_op): Likewise.
- (gimple_asm_set_label_op): Likewise.
- (gimple_switch_index): Likewise.
- (gimple_switch_index_ptr): Likewise.
- (gimple_return_retval_ptr): Likewise.
- (gimple_return_retval): Likewise.
- (gimple_return_set_retval): Likewise.
- (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
- (gimple_switch_label): Likewise.
- (gimple_switch_set_label): Likewise.
-
-2015-08-06 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
- bool comparison canonicalization and restrict to integers.
-
-2015-08-05 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h (enum symbol_visibility): Relocate here.
- * flag-types.h (enum symbol_visibility): Remove.
- * tree-core.h (enum symbol_visibility): Remove.
-
-2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
-
- PR target/66870
- * config/rs6000/rs6000.c (rs6000_emit_prologue): Check
- for no_split_stack function attribute along with
- flag_split_stack.
- (rs6000_expand_split_stack_prologue): Likewise.
-
-2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
- Jeff Law <law@redhat.com>
-
- PR c/16351
- * doc/invoke.texi (Wnull-dereference): New.
- * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
- * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
- Warn for potential NULL dereferences.
- (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
- * ubsan.c (instrument_nonnull_arg): Call
- infer_nonnull_range_by_attribute.
- (instrument_nonnull_return): Likewise.
- * common.opt (Wnull-dereference); New.
- * gimple.c (infer_nonnull_range): Remove bool arguments.
- (infer_nonnull_range_by_dereference): New.
- (infer_nonnull_range_by_attribute): New.
- * gimple.h: Update declarations.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.c (sequence_num): Replace with...
- (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
- ...these new variables.
- (init_rtx_reader_args_cb): Update accordingly.
- (get_num_code_insns): Likewise.
- (read_md_rtx): Rework to use a while loop and get_c_test.
- Use the new counters. Remove redundant DEFINE_SUBST case.
- * genoutput.c (gen_split): Delete.
- (main): Don't call it.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (get_c_test): Declare.
- * gensupport.c (get_c_test): New function.
- * genconditions.c (main): Use it.
- * genrecog.c (validate_pattern): Likewise.
- (match_pattern_1): Likewise. Remove c_test argument.
- (match_pattern): Update accordingly and remove c_test argument.
- (main): Update accordingly.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (get_num_insn_codes): Declare.
- * gensupport.c (get_num_insn_codes): New function.
- * genattrtab.c (optimize_attrs): Rename max_insn_code to
- num_insn_codes.
- (main): Likewise. Use get_num_insn_codes.
- * gencodes.c (main): Remove "last" and use get_num_insn_codes.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- PR middle-end/66311
- * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
- is zero- rather than sign-extended.
-
-2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (can_extend): Delete.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67121
- * tree-if-conv.c (combine_blocks): Clear range-info produced
- by stmts no longer executed conditionally.
-
-2015-08-05 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
- to allow identical far pointers to remain.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67120
- * match.pd: Compare address bases with == if they are decls
- or SSA names, not operand_equal_p. Otherwise fail.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67055
- * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
- NULL gimple_block.
-
- * g++.dg/torture/pr67055.C: New testcase.
-
-2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
- noavx512vl.
- (define_attr "enabled"): Handle avx521vl and noavx512vl.
- * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
- AVX-512 alternative out of SSE.
- (define_insn "*vec_concatv2df"): Ditto.
-
-2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
-
- * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
- CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
- CODE_FOR_avx_ptestv4di.
- * config/i386/sse.md (define_mode_iterator V_AVX): New.
- (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
- (define_insn "avx_ptest256"): Merge this ...
- (define_insn "sse4_1_ptest"): And this ...
- (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/67109
- * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
- against too big groups. Print whether this is a load or store
- group. Rename from ...
- (vect_analyze_group_access): ... this which is now a wrapper
- dissolving an invalid group.
- (vect_analyze_data_ref_accesses): Print whether this is a load
- or store group.
-
-2015-08-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67107
- * match.pd: Guard const_binop result checking against NULL_TREE
- result.
-
-2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Restoring old behaviour for src_eqv
- when dest and value in the REG_EQUAL are same and dest
- is STRICT_LOW_PART.
-
-2015-08-04 Anatoly Sokolov <aesok@post.ru>
-
- * config/moxie/moxie.h (PRINT_OPERAND,
- PRINT_OPERAND_ADDRESS): Remove macros.
- * config/moxie/moxie-protos.h (moxie_print_operand,
- moxie_print_operand_address): Remove declaration.
- * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
- TARGET_PRINT_OPERAND_ADDRESS): Define.
- (moxie_print_operand, moxie_print_operand_address): Make static.
-
-2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
- (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
- generated code.
- (dt_operand::gen_gimple_expr): Adjust.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
- bool compares on RHS.
- * match.pd: Add X ==/!= !X is false/true pattern.
-
-2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
-
- * config/aarch64/aarch64.c: Change inner loop statement cost
- to be consistent with other targets.
-
-2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
-
- * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
- targets.
-
-2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
- (machine_function): Remove pseudos field.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
- Exit early and use target_option_current_node if processing current
- pragma.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/extend.texi (AArch64 Function Attributes): New node.
- (AArch64 Pragmas): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
- Initialize simd builtins if TARGET_SIMD.
- * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
- Make sure that the builtins are initialized only once no matter how
- many times the function is called.
- (aarch64_init_builtins): Unconditionally initialize crc builtins.
- (aarch64_relayout_simd_param): New function.
- (aarch64_simd_expand_args): Use above during argument expansion.
- * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
- simd builtins if TARGET_SIMD.
- * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
- prototype.
- (aarch64_relayout_simd_types): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
- * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
- (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
- * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
- static keyword.
- (aarch64_reset_previous_fndecl): New function.
- (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
- the string.
- * config/aarch64/aarch64-c.c: New file.
- * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
- Push and pop options at beginning and end. Remove ifdef
- __ARM_FEATURE_CRC32.
- * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
- Add pragma +nothing+simd and +nothing+crypto where appropriate.
- * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
- * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
- Define prototype.
- (aarch64_register_pragmas): Likewise.
- (aarch64_reset_previous_fndecl): Likewise.
- (aarch64_process_target_attr): Likewise.
- (aarch64_override_options_internal): Likewise.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
- New function.
- (aarch64_can_inline_p): Likewise.
- (TARGET_CAN_INLINE_P): Define.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
- Remove static. Handle OPT_mgeneral_regs_only,
- OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
- OPT_momit_leaf_frame_pointer.
- * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
- (aarch64_attr_opt_type): New enum.
- (aarch64_attribute_info): New struct.
- (aarch64_handle_attr_arch): New function.
- (aarch64_handle_attr_cpu): Likewise.
- (aarch64_handle_attr_tune): Likewise.
- (aarch64_handle_attr_isa_flags): Likewise.
- (aarch64_attributes): New table.
- (aarch64_process_one_target_attr): New function.
- (num_occurences_in_str): Likewise.
- (aarch64_process_target_attr): Likewise.
- (aarch64_option_valid_attribute_p): Likewise.
- (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
- * config/aarch64/aarch64-protos.h: Include input.h
- (aarch64_handle_option): Declare prototype.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
- * config/aarch64/aarch64.c: Include target-globals.h
- (aarch64_previous_fndecl): New variable.
- (aarch64_set_current_function): New function.
- (TARGET_SET_CURRENT_FUNCTION): Define.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
- (explicit_arch): Likewise.
- (x_aarch64_isa_flags): Likewise.
- (mgeneral-regs-only): Mark as Save.
- (mfix-cortex-a53-835769): Likewise.
- (mcmodel=): Likewise.
- (mstrict-align): Likewise.
- (momit-leaf-frame-pointer): Likewise.
- (mtls-dialect): Likewise.
- (master=): Likewise.
- * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
- (aarch64_isa_flags): Remove extern declaration.
- * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
- to indicate success or failure.
- (aarch64_validate_march): Likewise.
- (aarch64_validate_mtune): Likewise.
- (aarch64_isa_flags): Delete.
- (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
- instead of aarch64_isa_flags.
- (aarch64_get_tune_cpu): New function.
- (aarch64_get_arch): Likewise.
- (aarch64_override_options): Use above and set up explicit_tune_core
- and explicit_arch.
- (aarch64_print_extension): Move earlier in file. Add isa_flags
- argument and use that instead of the global aarch64_isa_flags.
- (aarch64_option_save): New function.
- (aarch64_option_restore): Likewise.
- (aarch64_option_print): Likewise.
- (aarch64_declare_function_name): Likewise.
- (aarch64_start_file): Delete.
- (TARGET_ASM_FILE_START): Do not define.
- (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
- * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
- Declare prototype.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
- flag_omit_leaf_frame_pointer to 2.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
- define to 0 or 1.
- (TARGET_FIX_ERR_A53_835769): New macro.
- * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
- handling of opts->x_aarch64_fix_a53_err835769.
- (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
- than aarch64_fix_a53_err835769.
- * config/aarch64/aarch64-elf-raw.h: Update for above changes.
- * config/aarch64/aarch64-linux.h: Likewise.
-
-2015-08-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_expand_int_movcc): Check result of
- ix86_expand_int_movcc as boolean.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
- (aarch64_cpu_string): Likewise.
- (aarch64_tune_string): Likewise.
- * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
- (aarch64_parse_extension): Return aarch64_parse_opt_result.
- Add extra argument to put result into.
- (aarch64_parse_arch): Likewise. Do not set selected_cpu.
- (aarch64_parse_cpu): Add arguments to put results into. Return
- aarch64_parse_opt_result.
- (aarch64_parse_tune): Likewise.
- (aarch64_override_options_after_change_1): New function.
- (aarch64_override_options_internal): New function.
- (aarch64_validate_mcpu): Likewise.
- (aarch64_validate_march): Likewise.
- (aarch64_validate_mtune): Likewise.
- (aarch64_override_options): Update to reflect above changes.
- Move some logic into aarch64_override_options_internal.
- Initialize target_option_default_node and target_option_current_node.
- (aarch64_override_options_after_change): Move logic into
- aarch64_override_options_after_change_1 and call it with global_options.
- (initialize_aarch64_code_model): Take a gcc_options pointer and use the
- flag values from that.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
- __ARM_ARCH_8A directly rather than with cpp_define_formatted.
- * config/aarch64/aarch64.c (struct processor): Add arch field.
- (all_architectures): Handle above, move above all_cores.
- (all_cores): Handle above.
- (aarch64_parse_arch): Handle above changes.
- * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
- above. Update comments.
- (armv8.1-a): Likewise.
- * config/aarch64/aarch64-cores.def: Update according to above.
- * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
- * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
- aarch64_arch_driver_info.
-
-2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (struct processor): Add ident field.
- Rename core sched_core.
- (all_cores): Handle above changes.
- (all_architectures): Likewise.
- (aarch64_parse_arch): Likewise.
- (aarch64_override_options): Likewise.
-
-2015-08-04 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
- dispatching to fold_binary for GIMPLE_BINARY_RHS and for
- comparisons embedded in [VEC_]COND_EXPRs.
-
-2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
-
- * tree-if-conv.c: Fix various typos in comments.
- * tree-vect-stmts.c: Likewise.
-
-2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/67043
- * loop-invariant.c (move_invariant_reg): Recompute luids in loop
- preheader after hoisting invariant in it.
- (find_defs): Force recomputation of all luids.
-
-2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
-
- * config/rs6000/htm.md (tabort.): Restrict the source operand to
- using a base register.
-
-2015-08-03 David Malcolm <dmalcolm@redhat.com>
-
- * main.c (main): Pass in NULL for toplev's external_timer.
- * timevar.c: Include coretypes.h.
- (class timer::named_items): New.
- (timer::named_items::named_items): New.
- (timer::named_items::~named_items): New.
- (timer::named_items::push): New.
- (timer::named_items::pop): New.
- (timer::named_items::print): New.
- (timer::timer): Initialize field "m_jit_client_items".
- (timer::~timer): New.
- (timer::push): Move bulk of implementation to...
- (timer::push_internal): ...here. New function.
- (timer::pop): Move bulk of implementation to...
- (timer::pop_internal): ...here. New function.
- (timer::push_client_item): New.
- (timer::pop_client_item): New.
- (timer::print_row): New function, taken from timer::print.
- (timer::print): Print "GCC items" header if we also have client
- items. Move row-printing to timer::print_row. Print any client
- items.
- (timer::get_topmost_item_name): New method.
- * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
- (TV_JIT_CLIENT_CODE): New.
- * timevar.h (timer::push_client_item): New declaration.
- (timer::pop_client_item): New declaration.
- (timer::get_topmost_item_name): New method.
- (timer::push_internal): New declaration.
- (timer::pop_internal): New declaration.
- (timer::print_row): New declaration.
- (timer::named_items): New declaration.
- (timer::m_jit_client_items): New field.
- (timer): Add friend class named_items.
- (auto_timevar::auto_timevar): Add timer param.
- (auto_timevar::~auto_timevar): Use field "m_timer".
- (auto_timevar::m_timer): New field.
- * toplev.c (initialize_rtl): Add g_timer as param when
- constructing auto_timevar instance.
- (toplev::toplev): Add "external_timer" param, and use it to
- initialize the "g_timer" global if non-NULL.
- (toplev::~toplev): If this created "g_timer", delete it.
- * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
- with "external_timer" timer *.
-
-2015-08-03 Alexander Basov <coohpt@gmail.com>
-
- PR middle-end/64744
- PR middle-end/48470
- PR middle-end/43404
- * cfgexpand.c (expand_one_var): Add check if stack is going to
- be used in naked function.
- * expr.c (expand_expr_addr_expr_1): Remove excess checking
- whether expression should not reside in MEM.
- * function.c (use_register_for_decl): Do not use registers for
- non-register things (volatile, float, BLKMode) in naked functions.
-
-2015-08-03 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/67060
- * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
- Adjust splits to match new pattern.
-
-2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
- (VEC_M): Likewise.
- (VEC_N): Likewise.
- (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
- point in VSX registers.
-
- * config/rs6000/constraints.md (wb constraint): Document unused
- w<x> constraint.
- (we constraint): Likewise.
- (wo constraint): Likewise.
- (wp constraint): New constraint for IEEE 128-bit floating point in
- VSX registers.
- (wq constraint): Likewise.
-
- * config/rs6000/predicates.md (easy_fp_constant): Add support for
- IEEE 128-bit floating point in VSX registers.
- (easy_scalar_constant): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
- constraints (wp, wq) for IEEE 128-bit floating point in VSX
- registers.
- (rs6000_init_hard_regno_mode_ok): Likewise.
-
- * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
- floating point in VSX registers.
- (VSX_L): Likewise.
- (VSX_M): Likewise.
- (VSX_M2): Likewise.
- (VSm): Likewise.
- (VSs): Likewise.
- (VSr): Likewise.
- (VSa): Likewise.
- (VSv): Likewise.
- (vsx_le_permute_<mode>): Add support to properly swap bytes for
- IEEE 128-bit floating point in VSX registers on little endian.
- (vsx_le_undo_permute_<mode>): Likewise.
- (vsx_le_perm_load_<mode>): Likewise.
- (vsx_le_perm_store_<mode>): Likewise.
- (splitters for IEEE 128-bit fp moves): Likewise.
-
- * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
- wq constraints.
-
- * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
- floating point in VSX registers.
- (VM2): Likewise.
-
- * doc/md.text (Machine Constraints): Document wp and wq
- constraints on PowerPC.
-
-2015-08-03 Jeff Law <law@redhat.com>
-
- PR middle-end/66314
- PR gcov-profile/66899
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
- iterate over the jump threading paths when an element in the
- jump threading paths array is eliminated.
-
-2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
-
- * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
-
-2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
- is_use_properly_guarded the variable def_preds. Free its
- contents before returning.
- (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
- (is_use_properly_guarded): Replace local variable def_preds with
- a parameter. Adjust accordingly. Only update *def_preds if it's
- the empty vector.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (simplify::for_subst_vec): New member.
- (binary_ok): New helper for for lowering.
- (lower_for): Delay substituting operators into result expressions
- if we can merge the results eventually again.
- (capture_info::walk_result): Adjust for user_id appearing as
- result expression operator.
- (expr::gen_transform): Likewise.
- (dt_simplify::gen_1): Likewise.
- (dt_simplify::gen): Pass not substituted operators to tail
- functions or initialize local variable with it.
- (decision_tree::gen): Adjust function signature.
- * match.pd: Fix tests against global code and add default
- cases to switch stmts.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_simplify::gen): Create captures array
- with an initializer.
-
-2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
-
- * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
- the host compiler is affected by placement new aliasing bug.
- * configure: Regenerate.
- * Makefile.in (ALIASING_FLAGS): New variable.
- (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
-
-2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
- (negmulsf3_vfp): Likewise.
- (muldf3negdf_vfp): Disable for -frounding-math.
- (mulsf3negsf_vfp): Likewise.
- * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
- fix MULT cost with -frounding-math.
-
-2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
- when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
- explicit. Prefer to add the flag whenever possible.
- (noce_process_if_block): Try noce_try_store_flag_constants before
- noce_try_cmove.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
- New hash-map to record equivalent transforms.
- (dt_node::analyze): Populate the equivalent transforms hash-map.
- (dt_simplify::info): Add reference to hash-map entry.
- (dt_simplify::gen): If we have split out a function for the
- transform, generate a call to it.
- (sinfo_hashmap_traits::hash): New function.
- (compare_op): New helper function for ...
- (sinfo_hashmap_traits::equal_keys): ... this new function.
- (decision_tree::gen): Split out common equivalent transforms
- into functions.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Remove folding of
- the comparison in COND_EXPRs.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
- on the rhs of assignments first simplify the embedded
- GENERIC condition.
-
-2015-08-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66917
- * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
- field.
- (DR_VECT_AUX): New macro.
- (set_dr_misalignment): Adjust.
- (dr_misalignment): Likewise.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Compute whether the base is at least element aligned.
- * tree-vect-stmts.c (ensure_base_align): Adjust.
- (vectorizable_store): If the base is not element aligned
- preserve alignment of the original access if misalignment is unknown.
- (vectorizable_load): Likewise.
-
-2015-08-02 Martin Sebor <msebor@redhat.com>
-
- * doc/invoke.texi (Wframe-address): Document it.
- * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
- Clarify possible effects of calling the functions with non-zero
- arguments and mention -Wframe-address.
- * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
-
-2015-08-01 Michael Collison <michael.collison@linaro.org
- Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
-
- * config/arm/arm.md (*arm_smin_cmp): New pattern.
- (*arm_umin_cmp): Likewise.
-
-2015-08-01 Caroline Tice <cmtice@google.com>
-
- PR 66521
- * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
- global variables.
- (vtbl_find_mangled_name): New function.
- (vtbl_register_mangled_name): New function.
- (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
- mangled name in mangled name vectors.
- (find_or_create_vtbl_map_node): Ditto.
- (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
- update recursion_depth on function entry; pass it to every recursive
- call; automatically exit if depth > 25 (give up looking at that point).
- (verify_bb_vtables): Initialize recursion_depth and pass it to
- var_is_used_for_virtual_call_p.
- * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
- global variable decls.
- (vtbl_register_mangled_name): New extern function decl.
-
-2015-08-01 Tom de Vries <tom@codesourcery.com>
-
- * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
- function.
- * tree.h (operation_can_overflow, operation_no_trapping_overflow):
- Declare.
- * tree-vect-loop.c (vect_is_simple_reduction_1): Use
- operation_no_trapping_overflow. Allow non-overflow operations.
- * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
- operations.
-
-2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/67049
- * config/sh/sh.md (GOTaddr2picreg): Fix typo.
-
-2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
- Enable for TARGET_32BIT.
- (*if_move_neg): Likewise.
-
-2015-07-31 Nick Clifton <nickc@redhat.com>
-
- * config/m32r/m32r.c (m32r_attribute_identifier): New function.
- Returns true for __model__.
- (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
-
-2015-07-31 Alan Modra <amodra@gmail.com>
-
- PR target/66870
- * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
- (rs6000_emit_prologue): Set it.
- (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
-
-2015-07-31 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
- -> X == (C1 ^ C2) which is already implemented in match.pd.
- Remove redundant dispatching to fold_relational_const.
- Move unordered self and NaN compares ...
- * match.pd: ... as patterns here. Remove some stray captures
- and add a comment.
-
-2015-07-31 Petr Murzin <petr.murzin@intel.com>
-
- * config/i386/i386.c
- (bdesc_special_args): Convert mask type from signed to unsigned for
- masked builtins.
- (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
- UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
- V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
- V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
- V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
- V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
- V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
- V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
- V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
- HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
- V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
- V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
- V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
- V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
- V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
- V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
- V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
- V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
- V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
- V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
- V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
- HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
- VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
- V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
- * config/i386/i386-builtin-types.def
- (V16QI_FTYPE_V16SI): Remove.
- (V8DF_FTYPE_V8SI): Ditto.
- (V8HI_FTYPE_V8DI): Ditto.
- (V8SI_FTYPE_V8DI): Ditto.
- (V8SF_FTYPE_V8DF): Ditto.
- (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
- (V16HI_FTYPE_V16SI): Ditto.
- (V16SF_FTYPE_V16HI): Ditto.
- (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI): Ditto.
- (V4DI_FTYPE_V4DI): Ditto.
- (V16SI_FTYPE_V16SF): Ditto.
- (V16SF_FTYPE_FLOAT): Ditto.
- (V8DF_FTYPE_DOUBLE): Ditto.
- (V8DI_FTYPE_INT64): Ditto.
- (V8DI_FTYPE_V4DI): Ditto.
- (V16QI_FTYPE_V8DI): Ditto.
- (UINT_FTYPE_V4SF): Ditto.
- (UINT64_FTYPE_V4SF): Ditto.
- (UINT_FTYPE_V2DF): Ditto.
- (UINT64_FTYPE_V2DF): Ditto.
- (V16SI_FTYPE_V16SI): Ditto.
- (V8DI_FTYPE_V8DI): Ditto.
- (V16SI_FTYPE_PV4SI): Ditto.
- (V16SF_FTYPE_PV4SF): Ditto.
- (V8DI_FTYPE_PV2DI): Ditto.
- (V8DF_FTYPE_PV2DF): Ditto.
- (V4DI_FTYPE_PV2DI): Ditto.
- (V4DF_FTYPE_PV2DF): Ditto.
- (V16SI_FTYPE_PV2SI): Ditto.
- (V16SF_FTYPE_PV2SF): Ditto.
- (V8DI_FTYPE_PV4DI): Ditto.
- (V8DF_FTYPE_PV4DF): Ditto.
- (V8SF_FTYPE_FLOAT): Ditto.
- (V4SF_FTYPE_FLOAT): Ditto.
- (V4DF_FTYPE_DOUBLE): Ditto.
- (V8SF_FTYPE_PV4SF): Ditto.
- (V8SI_FTYPE_PV4SI): Ditto.
- (V4SI_FTYPE_PV2SI): Ditto.
- (V8SF_FTYPE_PV2SF): Ditto.
- (V8SI_FTYPE_PV2SI): Ditto.
- (V16SF_FTYPE_PV8SF): Ditto.
- (V16SI_FTYPE_PV8SI): Ditto.
- (V8DI_FTYPE_V8SF): Ditto.
- (V4DI_FTYPE_V4SF): Ditto.
- (V2DI_FTYPE_V4SF): Ditto.
- (V64QI_FTYPE_QI): Ditto.
- (V32HI_FTYPE_HI): Ditto.
- (V8UHI_FTYPE_V8UHI): Ditto.
- (V16UHI_FTYPE_V16UHI): Ditto.
- (V32UHI_FTYPE_V32UHI): Ditto.
- (V2UDI_FTYPE_V2UDI): Ditto.
- (V4UDI_FTYPE_V4UDI): Ditto.
- (V8UDI_FTYPE_V8UDI): Ditto.
- (V4USI_FTYPE_V4USI): Ditto.
- (V8USI_FTYPE_V8USI): Ditto.
- (V16USI_FTYPE_V16USI): Ditto.
- (V2DF_FTYPE_V2DF_UINT64): Ditto.
- (V2DI_FTYPE_V2DF_V2DF): Ditto.
- (V2UDI_FTYPE_V4USI_V4USI): Ditto.
- (V8DF_FTYPE_V8DF_V8DI): Ditto.
- (V4SF_FTYPE_V4SF_UINT64): Ditto.
- (V4SI_FTYPE_V4SF_V4SF): Ditto.
- (V16SF_FTYPE_V16SF_V16SI): Ditto.
- (V64QI_FTYPE_V32HI_V32HI): Ditto.
- (V32HI_FTYPE_V16SI_V16SI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI): Ditto.
- (V16SI_FTYPE_V32HI_V32HI): Ditto.
- (V16SI_FTYPE_V16SI_SI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI): Ditto.
- (V4UDI_FTYPE_V8USI_V8USI): Ditto.
- (V8DI_FTYPE_V16SI_V16SI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI): Ditto.
- (QI_FTYPE_QI): Ditto.
- (SI_FTYPE_SI): Ditto.
- (DI_FTYPE_DI): Ditto.
- (QI_FTYPE_QI_QI): Ditto.
- (QI_FTYPE_QI_INT): Ditto.
- (HI_FTYPE_HI_INT): Ditto.
- (SI_FTYPE_SI_INT): Ditto.
- (DI_FTYPE_DI_INT): Ditto.
- (HI_FTYPE_V16QI_V16QI): Ditto.
- (SI_FTYPE_V32QI_V32QI): Ditto.
- (DI_FTYPE_V64QI_V64QI): Ditto.
- (QI_FTYPE_V8HI_V8HI): Ditto.
- (HI_FTYPE_V16HI_V16HI): Ditto.
- (SI_FTYPE_V32HI_V32HI): Ditto.
- (QI_FTYPE_V4SI_V4SI): Ditto.
- (QI_FTYPE_V8SI_V8SI): Ditto.
- (QI_FTYPE_V2DI_V2DI): Ditto.
- (QI_FTYPE_V4DI_V4DI): Ditto.
- (QI_FTYPE_V8DI_V8DI): Ditto.
- (HI_FTYPE_V16SI_V16SI): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
- (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
- (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
- (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
- (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
- (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
- (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
- (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
- (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
- (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
- (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
- (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
- (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
- (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
- (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
- (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
- (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
- (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
- (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
- (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
- (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
- (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
- (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
- (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
- (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
- (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
- (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
- (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
- (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
- (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
- (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
- (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
- (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
- (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
- (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
- (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
- (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
- (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
- (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
- (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
- (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
- (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
- (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
- (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
- (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
- (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
- (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
- (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
- (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
- (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
- (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
- (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
- (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
- (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
- (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
- (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
- (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
- (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
- (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
- (HI_FTYPE_HI): Ditto.
- (HI_FTYPE_V16QI): Ditto.
- (SI_FTYPE_V32QI): Ditto.
- (DI_FTYPE_V64QI): Ditto.
- (QI_FTYPE_V8HI): Ditto.
- (HI_FTYPE_V16HI): Ditto.
- (SI_FTYPE_V32HI): Ditto.
- (QI_FTYPE_V4SI): Ditto.
- (QI_FTYPE_V8SI): Ditto.
- (HI_FTYPE_V16SI): Ditto.
- (QI_FTYPE_V2DI): Ditto.
- (QI_FTYPE_V4DI): Ditto.
- (QI_FTYPE_V8DI): Ditto.
- (V16QI_FTYPE_HI): Ditto.
- (V32QI_FTYPE_SI): Ditto.
- (V64QI_FTYPE_DI): Ditto.
- (V8HI_FTYPE_QI): Ditto.
- (V16HI_FTYPE_HI): Ditto.
- (V32HI_FTYPE_SI): Ditto.
- (V4SI_FTYPE_QI): Ditto.
- (V4SI_FTYPE_HI): Ditto.
- (V8SI_FTYPE_QI): Ditto.
- (V8SI_FTYPE_HI): Ditto.
- (V2DI_FTYPE_QI): Ditto.
- (V4DI_FTYPE_QI): Ditto.
- (HI_FTYPE_HI_HI): Ditto.
- (SI_FTYPE_SI_SI): Ditto.
- (DI_FTYPE_DI_DI): Ditto.
- (HI_FTYPE_V16QI_V16QI_HI): Ditto.
- (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
- (SI_FTYPE_V32QI_V32QI_SI): Ditto.
- (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
- (DI_FTYPE_V64QI_V64QI_DI): Ditto.
- (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
- (QI_FTYPE_V8HI_V8HI_QI): Ditto.
- (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
- (HI_FTYPE_V16HI_V16HI_HI): Ditto.
- (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
- (SI_FTYPE_V32HI_V32HI_SI): Ditto.
- (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
- (QI_FTYPE_V4SI_V4SI_QI): Ditto.
- (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
- (QI_FTYPE_V8SI_V8SI_QI): Ditto.
- (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
- (QI_FTYPE_V2DI_V2DI_QI): Ditto.
- (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
- (QI_FTYPE_V4DI_V4DI_QI): Ditto.
- (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
- (QI_FTYPE_V8DI_V8DI_QI): Ditto.
- (HI_FTYPE_V16SI_V16SI_HI): Ditto.
- (QI_FTYPE_V8DI_V8DI_INT): Ditto.
- (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT): Ditto.
- (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT): Ditto.
- (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT): Ditto.
- (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
- (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
- (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
- (V16SI_FTYPE_HI): Ditto.
- (V8DI_FTYPE_QI): Ditto.
- (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
- (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
- (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
- (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
- (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
- (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
- (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
- (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
- (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
- (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
- (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
- (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
- (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
- (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
- (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
- (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
- (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
- (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
- (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
- (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
- (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
- (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
- (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
- (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_SI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
- (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
- (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
- (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
- (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
- (V8DI_FTYPE_DI_V8DI_QI): Ditto.
- (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
- (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
- (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
- (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
- (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
- (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
- (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
- (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
- (V8SI_FTYPE_SI_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
- (V4SI_FTYPE_SI_V4SI_QI): Ditto.
- (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
- (V4DI_FTYPE_DI_V4DI_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
- (V2DI_FTYPE_DI_V2DI_QI): Ditto.
- (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
- (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
- (V64QI_FTYPE_QI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
- (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
- (V32QI_FTYPE_QI_V32QI_SI): Ditto.
- (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
- (V16QI_FTYPE_QI_V16QI_HI): Ditto.
- (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
- (V32HI_FTYPE_HI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
- (V16HI_FTYPE_HI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
- (V8HI_FTYPE_HI_V8HI_QI): Ditto.
- (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
- (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
- (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
- (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
- (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
- (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
- (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
- (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
- (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
- (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
- (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
- (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
- (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
- (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
- (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
- (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
- (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
- (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
- (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
- (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
- (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
- (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
- (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
- (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
- (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
- (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
- (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
- (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
- (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
- (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
- (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
- (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
- (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
- (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
- (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
- (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
- (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
- (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
- (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
- (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
- (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
- (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
- (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
- (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
- (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
- (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
- (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
- (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
- (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
- (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
- (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
- (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
- (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
- (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
- (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
- (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
- (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
- (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
- (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
- (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
- (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
- (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
- (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
- (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
- (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
- (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
- (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
- (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
- (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
- (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
- (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
- (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
- (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
- (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
- (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
- (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
- (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
- (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
- (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
- (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
- (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
- (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
- (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
- (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
- (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
- (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
- (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
- (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
- (QI_FTYPE_V8DF_INT_QI): Ditto.
- (QI_FTYPE_V4DF_INT_QI): Ditto.
- (QI_FTYPE_V2DF_INT_QI): Ditto.
- (HI_FTYPE_V16SF_INT_HI): Ditto.
- (QI_FTYPE_V8SF_INT_QI): Ditto.
- (QI_FTYPE_V4SF_INT_QI): Ditto.
- (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
-
-2015-07-31 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Remove folding of
- GIMPLE_BINARY_RHS.
-
-2015-07-31 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66846
- * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
- verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
- (expand_omp_target) [ENABLE_CHECKING]: Same.
- (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
- cfun if !LOOPS_NEED_FIXUP.
- (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
- that omp_for already has its own loop struct.
- * tree-parloops.c (create_phi_for_local_result)
- (create_call_for_reduction): Handle simple latch bb.
- (create_parallel_loop): Add simple latch bb to preserve
- LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
- (gen_parallel_loop): Remove call to cancel_loop_tree.
- (parallelize_loops): Skip loops that are inner loops of parallelized
- loops.
- (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
- verify_loop_structure.
-
-2015-07-30 Anatoly Sokolov <aesok@post.ru>
-
- * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
- * config/v850/v850.md (RV_REGNUM): New constants.
- * config/v850/v850.c (v850_libcall_value): New functions.
- (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
- (TARGET_LIBCALL_VALUE): Define.
-
-2015-07-30 Anatoly Sokolov <aesok@post.ru>
-
- * rtl.h (lowpart_subreg): Move in file.
- * loop-iv.c (lowpart_subreg): Move to...
- * simplify-rtx.c (lowpart_subreg): ...here.
- (simplify_binary_operation_1): Use lowpart_subreg instead of
- simplify_gen_subreg.
- * expr.c (expand_expr_real_2): Ditto.
- * emit-rtl.c (gen_lowpart_common): Ditto.
- * combine.c (gen_lowpart_for_combine): Ditto.
- * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
- expand_debug_source_expr): Ditto.
-
-2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
- (expand_builtin_atomic_clear): Remove support for atomic_clear
- pattern.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
- binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
- (fold_stmt_1): ... here and work on GIMPLE directly. Remove
- redundant operand canonicalization.
-
-2015-07-30 David Sherwood <david.sherwood@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
- GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
- * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
- * config/arm/arm.c (neon_valid_immediate): Likewise.
- * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
- (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
- (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
- (expand_vec_perm_vpshufb2_vpermq): Likewise.
- (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
- (expand_vec_perm_vpshufb4_vpermq2): Likewise.
- * config/i386/sse.md
- (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
- (*ssse3_palignr<mode>_perm): Likewise.
- * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * simplify-rtx.c (simplify_const_unary_operation): Likewise.
- (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (decision_tree::gen_gimple): Merge with ...
- (decision_tree::gen_generic): ... this into ...
- (decision_tree::gen): ... this.
- (main): Adjust callers.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (verbose): New global.
- (warning_at): Add overload with source_location.
- (capture_info::capture_info): Add bool whether generating gimple
- or generic. Add gimple member.
- (capture_info::cinfo): Add capture member.
- (capture_info::walk_match): Record capture. Warn on
- non-captured leafs.
- (capture_info::walk_c_expr): Add more fragments captures cannot
- escape through. Warn on escaped captures.
- (dt_simplify::gen_1): Warn on operands we force to have no
- side-effects.
- (main): Initialize verbose.
- * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
-
-2015-07-30 Richard Biener <rguenther@suse.de>
-
- PR middle-end/67053
- * match.pd: Allow both operands to independently have conversion
- when simplifying compares of addresses.
-
-2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- PR target/67045
- * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
- around those cases that need one.
-
-2015-07-29 Aditya Kumar <hiraditya@msn.com>
-
- * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
-
-2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
- New. Copied from config/i386/gnu-user.h.
- (ASM_COMMENT_START): Likewise.
- (DBX_REGISTER_NUMBER): Likewise.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_cond): Remove.
- (fold_stmt_1): Do not call it.
-
-2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
- (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
-
- * config/aarch64/aarch64-modes.def: Add HFmode.
-
- * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
- __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
-
- * config/aarch64/aarch64.c (aarch64_init_libfuncs,
- aarch64_promoted_type): New.
-
- (aarch64_float_const_representable_p): Disable HFmode.
- (aarch64_mangle_type): Mangle half-precision floats to "Dh".
- (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
- (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
-
- * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
- (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
-
- * config/aarch64/iterators.md (GPF_F16): New.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * match.pd: Merge address comparison patterns and make them
- handle some more cases.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (c_expr::gen_transform): Error on unknown captures.
- (parser::parse_capture): Add bool argument on whether to reject
- unknown captures.
- (parser::parse_expr): Adjust.
- (parser::parse_op): Likewise.
- (parser::parse_pattern): Likewise.
-
-2015-07-29 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (has_use_on_stmt): New function.
- (replace_stmt_with_simplification): Use it to allow
- abnormals originally referenced in the stmt.
- (fold_stmt_1): Canonicalize operand order.
-
-2015-07-28 David Sherwood <david.sherwood@arm.com>
-
- * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
- GET_MODE_INNER unconditionally.
- * config/spu/spu.c (arith_immediate_p): Likewise.
- * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
- * expmed.c (synth_mult): Remove check for VOIDmode result from
- GET_MODE_INNER.
- (expand_mult_const): Likewise.
- * fold-const.c (fold_binary_loc): Replace call to element_precision
- with call to GET_MODE_PRECISION.
- * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
- m->name.
- (emit_mode_inner): Likewise.
- * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
- result check.
- * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
- (GET_MODE_UNIT_PRECISION): Likewise.
- * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
- * simplify-rtx.c (simplify_immed_subreg): Likewise.
- * stor-layout.c (bitwise_type_for_mode): Update assert.
- (element_precision): Remove.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (reload_load_address): New targetm instruction
- pattern.
- * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (atomic_test_and_set): New targetm instruction
- pattern.
- * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
- HAVE_*/gen_* interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (can_extend, ptr_extend): New targetm instruction
- patterns.
- * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
- * simplify-rtx.c (simplify_unary_operation_1): Likewise.
- * emit-rtl.c (set_reg_attrs_from_value): Likewise.
- * rtlanal.c (nonzero_bits1): Likewise.
- (num_sign_bit_copies1): Likewise.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (eh_return): New targetm instruction pattern.
- * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
- interface.
- * function.c (thread_prologue_and_epilogue_insns): Remove
- preprocessor condition.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (indirect_jump): New targetm instruction pattern.
- * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
- interface.
-
-2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
- instead of nonimmediate_operand. Remove C condiition.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * match.pd: Add more simplification of address comparisons.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * match.pd: Re-order two cases in comparison with max/min
- value simplification to make it apply for bools.
-
-2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
- Handle simple SIGN_EXTEND or ZERO_EXTEND.
- (aarch64_rtx_costs): Properly strip extend or extract before
- passing down to rtx costs again.
-
-2015-07-28 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_addsi3_internal): New function.
- Optimizes the case where -mes0 is active and a constant symbolic
- address is used.
- * config/rl78/rl78-protos.h: Prototype the new function.
- * config/rl78/rl78.md (addsi3_internal_real): Call new function.
-
-2015-07-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (reduc_stmt_res): New function.
- (initialize_reductions, add_field_for_reduction)
- (create_phi_for_local_result, create_loads_for_reductions)
- (create_stores_for_reduction, build_new_reduction): Handle case that
- reduc_stmt is a phi.
- (gather_scalar_reductions): Allow double_reduc reductions.
-
-2015-07-28 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_comparison): Remove equality folding
- of decl addresses ...
- * match.pd: ... here and merge with existing pattern.
-
-2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/66828
- * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
- from int64_t to uint64_t.
-
-2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * opts-common.c (read_cmdline_option): List DriverOnly enum values
- as valid only in the error message of the driver, not in the
- messages of the language compilers.
-
-2015-07-27 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gather_scalar_reductions): Simplify function
- structure.
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- * ipa-devirt.c (types_same_for_odr): Fix typo.
-
-2015-07-27 Jason Merrill <jason@redhat.com>
-
- PR debug/66468
- * dwarf2out.c (gen_inlined_subroutine_die): Check
- cgraph_function_possibly_inlined_p.
-
-2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
- Place integer variant first.
- (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
-
-2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR/63870
- * config/arm/arm-builtins.c (enum arm_builtins):
- Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
- (ARM_BUILTIN_NEON_BASE): Rename macro to....
- (ARM_BUILTIN_NEON_PATTERN_START): ...this.
- (arm_init_neon_builtins): Register __builtin_arm_lane_check.
- (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
-
-2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
-
- PR/63870
- * config/arm/arm-builtins.c (enum arm_type_qualifiers):
- Add qualifier_lane_index.
- (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
- (arm_getlane_qualifiers): Use qualifier_lane_index.
- (arm_lanemac_qualifiers): Rename to...
- (arm_mac_n_qualifiers): ...this.
- (LANEMAC_QUALIFIERS): Rename to...
- (MAC_N_QUALIFIERS): ...this.
- (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
- (arm_setlane_qualifiers): Use qualifier_lane_index.
- (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
- (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
- (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
- (arm_expand_neon_builtin): Handle qualifier_lane_index.
-
- * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
- * config/arm/arm.c (bounds_check): Likewise, improve error message.
- (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
- * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
- vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
- vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
- vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
- (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
- qualifiers to TERNOP_IMM.
- (vdup_lane): Change qualifiers to GETLANE.
- (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
- vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
- (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
- vqdmlsl_n): Change qualifiers to MAC_N.
-
- * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
- neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
- neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
- neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
- neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
- neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
- neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
- neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
- neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
- Remove call to neon_lane_bounds.
-
-2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
- Place integer variant first.
-
-2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
- and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
- * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
- for armv6kz targets.
- * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
- * config/arm/arm-protos.h (FL_ARCH6KZ): New.
- (FL_FOR_ARCH6ZK): Remove.
- (FL_FOR_ARCH6KZ): New.
- (arm_arch6zk): New declaration.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm.c (arm_arch6kz): New.
- (arm_option_override): Set arm_arch6kz.
- * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
- * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
- * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
-
-2015-07-27 Marek Polacek <polacek@redhat.com>
-
- PR c++/66555
- PR c/54979
- * doc/invoke.texi: Document -Wtautological-compare.
-
-2015-07-27 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (decision_tree::gen_gimple): Split out large
- subtrees into separate functions.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-26 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c: Use SUBREG_P predicate.
- * config/alpha/predicates.md: Ditto.
-
-2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config.host (s390*-*-*): Include driver-native.c only when
- building with s390* as host *and* target.
-
-2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/66930
- * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
- T bit register modified_between_p check.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Use SUBREG_P predicate.
- * config/i386/i386.md: Ditto.
- * config/i386/sse.md: Ditto.
- * config/i386/predicates.md: Ditto.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/67004
- * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
- predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * Makefile.in: Remove use of TREEBROWSER.
- * config.in: Regenerated.
- * configure: Regenerated.
- * configure.ac: Remove definition of TREEBROWSER.
- * tree-browser.c: Removed.
- * tree-browser.def: Removed.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c: Include gimple-pretty-print.h.
- (stmt_simple_for_scop_p): Print when a stmt is not handled in
- Graphite.
- (scopdet_basic_block_info): Print when a loop or bb cannot be
- represented in Graphite.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66648
- * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
- execution guard when min_size is less than size_needed.
-
-2015-07-25 Sebastian Pop <s.pop@samsung.com>
-
- * doc/install.texi: Document supported versions of ISL.
-
-2015-07-25 Jeff Law <law@redhat.com>
-
- Revert:
- 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-07-25 David Edelsohn <dje.gcc@gmail.com>
-
- Revert:
- 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-07-25 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_va_start): Remove
- unneeded !TARGET_64BIT check.
- (ix86_gimplify_va_arg): Ditto.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * graphite-sese-to-poly.c (build_poly_scop): Always call
- rewrite_commutative_reductions_out_of_ssa.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
- flag_associative_math to FLOAT_TYPE_P. Honour
- TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
-
-2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR c++/64079
- * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
- and "%qD" in warning_at instead of "%q+D" in warning.
-
-2015-07-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
- (ix86_function_abi): Cleanup.
-
-2015-07-24 Michael Darling <darlingm@gmail.com>
-
- PR other/66259
- * acinclude.m4: Reflects renaming of configure.in to configure.ac
- * configure: Likewise
- * configure.ac: Likewise
- * doc/install.texi: Likewise
- * doc/tm.texi: Likewise
- * doc/tm.texi.in: Likewise
-
-2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
- manually swapping values.
- * cse.c (fold_rtx): Likewise.
- * lra-eliminations.c (form_sum): Likewise.
-
-2015-07-24 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64003
- * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
- * config/i386/i386.md (maybe_prefix_bnd): New attribute.
- (*jcc_1, *jcc_2, jump, simple_return_internal)
- (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
- Set length_nobnd attribute instead of length attribute.
- (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
- (length_nobnd): Remove attribute.
- (length): Remove length_nobnd processing.
-
-2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
-
- * gimplify.c (omp_default_clause): New function. Reorganize flow
- for clarity. Broken out of ...
- (omp_notice_variable): ... here.
-
-2015-07-24 Gary Funck <gary@intrepid.com>
-
- PR middle-end/66984
- * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
- fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
-
-2015-07-24 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
- exit-first loop transform.
-
-2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
-
- PR 66714
- * tree-cfg.c (struct replace_decls_d): New struct.
- (replace_block_vars_by_duplicates_1): New function.
- (replace_block_vars_by_duplicates): Use it to replace the decls
- in the value exprs by duplicates.
-
-2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
- -shared, -symbolic, -rdynamic.
-
-2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/65711
- * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
- -dynamic-linker within %{!static %{!shared, and -rdynamic within
- %{!static.
-
-2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR ipa/66566
- * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
- edge summary is available.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct dt_node): Add statistic fields.
- (dt_node::analyze): New method.
- (decision_tree::gen_gimple): Call analyze on the root node
- and print statistics to stderr.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move simplifying of comparisons
- against the highest or lowest possible integer ...
- * match.pd: ... as patterns here.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct capture_info): Add same_as field.
- (capture_info::capture_info): Initialize same_as.
- (capture_info::walk_match): Compute same_as.
- (capture_info::walk_result): Compute stuff for the leader.
- (capture_info::walk_c_expr): Likewise.
- (dt_simplify::gen_1): Only look at leaders when deciding
- to force no side-effects or emit side-effects of omitted operands.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
- reg note to the GPR -> FPR save instructions.
-
-2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
- cheaper.
- (s390_expand_insv): Don't generate risbg pattern for constant zero
- sources.
- * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
- ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
- splitters.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_reorg): Clean up handling of processors
- with
- -mtune=
- (s390_issue_rate): Likewise.
- (s390_sched_reorder): Likewise.
- (s390_sched_variable_issue): Likewise.
- (s390_loop_unroll_adjust): Likewise.
- (s390_option_override): Likewise.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
- processor capabilities with -march=native.
- * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
- (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
- (S390_TARGET_BITS_STRING): Macro to simplify specs.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_issue_rate): Handle
- PROCESSOR_2094_Z9_EC.
- (s390_option_override): Likewise.
- (s390_adjust_priority): Likewise.
-
-2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
- when cross compiling.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (maybe_canonicalize_comparison_1): Move
- A code CST canonicalization ...
- * match.pd: ... to a pattern here.
-
-2015-07-24 Jiong Wang <jiong.wang@arm.com>
-
- Revert:
- 2015-07-22 Jiong Wang <jiong.wang@arm.com>
- PR target/63521
- * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (add_operator): Allow SSA_NAME as predicate.
- * fold-const.c (fold_comparison): Move parameter does not
- alias &local simplification ...
- * match.pd: ... as a pattern here.
-
-2015-07-24 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (replace_stmt_with_simplification): Special-case
- valueizing call operands.
- * gimple-match-head.c (maybe_push_res_to_seq): Take
- number of call arguments from ops array.
- (do_valueize): New function.
- (gimple_simplify): Return true if valueization changed
- any operand even if the result didn't simplify further.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25530
- * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
-
-2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- PR middle-end/25529
- * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
-
-2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
- instruction.
-
-2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
- clean up.
-
-2015-07-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
- from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
- targets here.
- (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
- ms_va_list_type_node initialization.
-
-2015-07-23 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-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tree-pass.h (get_current_pass_name): Removed.
-
-2015-07-23 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (split_complex_args): Take assign_parm_data_all argument.
- Pass it to rtl_for_parm. Set up rtl and context for split
- args.
- (assign_parms_augmented_arg_list): Adjust.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations. Recognize split complex args.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * stor-layout.c (layout_decl): Don't set mem attributes of
- non-MEMs.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
-
-2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
- prototype.
- * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
- (rs6000_emit_2insn_and): Handle dot forms.
- * config/rs6000/rs6000.md (and<mode>3): Adjust.
- (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
- (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * generic-match-head.c: Include cgraph.h.
- * gimple-match-head.c: Likewise.
- * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
- SSA names.
- * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
- * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
- pattern.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.c (fold_gimple_cond): Do not require folding
- results to pass valid_gimple_rhs_p.
- * tree-cfg.h (fold_cond_expr_cond): Remove.
- * tree-cfg.c (fold_cond_expr_cond): Likewise.
- (make_edges): Do not call it.
- * tree-inline.c (tree_function_versioning): Likewise.
-
-2015-07-23 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (gather_scalar_reductions): Add arg to call to
- vect_force_simple_reduction.
- * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
- (vect_is_simple_reduction_1): Add and handle
- need_wrapping_integral_overflow parameter.
- (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
- need_wrapping_integral_overflow parameter.
- (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
- * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
- decl.
-
-2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/66926,66951
- * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
- INNER_LOOP and fix up condition for renaming virtual operands.
-
-2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (try_combine): Use std::swap instead of manually
- swapping.
-
-2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/i6400.md: New file.
- * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
- (mips64r6): Likewise.
- (i6400): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
- (mips_issue_rate): Add support for i6400.
- (mips_multipass_dfa_lookahead): Likewise.
- * config/mips/mips.h (TUNE_I6400): Define.
- * config/mips/mips.md: Include i6400.md.
- (processor): Add i6400.
- * doc/invoke.texi (-march=@var{arch}): Add i6400.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66916
- * match.pd: Guard widen and sign-change comparison simplification
- with single_use.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66945
- * tree-ssa-propagate.c (substitute_and_fold_dom_walker
- ::before_dom_children): Force the propagators idea of
- non-executable edges to materialize, not what the folder
- chooses.
-
-2015-07-23 Richard Biener <rguenther@suse.de>
-
- * gimple.h (gimple_cond_make_false): Use 0 != 0.
- (gimple_cond_make_true): Use 1 != 0.
-
-2015-07-22 DJ Delorie <dj@redhat.com>
-
- * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
- slashes.
-
- * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
- (ashrhi3): Likewise.
- (lshrhi3): Likewise.
- (movhi): Take advantage of zero-extend to load small constants.
- (movpsi): Likewise.
- (and<mode>3): Likewise.
- (zero_extendqihi2): Likewise.
- (zero_extendqisi2): New.
- * config/msp430/constraints.md (N,O): New.
- * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
-
-2015-07-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66954
- * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
- to enum feature_priority and feature_list.
- (fold_builtin_cpu): Add F_AES to enum processor_features
- and isa_names_table.
-
-2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR driver/66737
- * config/i386/linux-common.h (MPX_SPEC): Use linker option
- for 64bit target only.
-
-2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/nvptx/nvptx.c: Expand some comments.
-
-2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
- (cortex_a53_advsimd): ...This.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (expr::gen_transform): Clarify error message
- and display location.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct operand): Add location member.
- (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
- constructors.
- (struct simplify): Remove match_location and result_location
- members.
- (elsehwere): Adjust.
-
-2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
-
- * config/mips/m5100.md: New file.
- * config/mips/mips-cpus.def (m5100, m5101): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
- -march=m5101 to -mips32r5.
- (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
- (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
- !-msoft-float.
- * config/mips/mips.md: Include m5100.md.
- (processor): Add m5100.
- * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
-
-2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips-cpus.def (interaptiv): Define.
- * config/mips/mips-tables.opt: Regenerate.
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
- -mips32r2.
- (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
- * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
-
-2015-07-22 Jiong Wang <jiong.wang@arm.com>
-
- PR target/63521
- * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66952
- * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
- blocks we end up executing unconditionally reset all SSA
- info such as range and alignment.
- * tree-ssanames.h (reset_flow_sensitive_info): Declare.
- * tree-ssanames.c (reset_flow_sensitive_info): New function.
-
-2015-07-22 Charles Baylis <charles.baylis@linaro.org>
-
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
- typo in attribute.
-
-2015-07-22 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::parse_result): Properly handle
- match with result operands and conditions.
-
-2015-07-22 Charles Baylis <charles.baylis@linaro.org>
-
- PR target/63870
- * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
- Add qualifier_struct_load_store_lane_index.
- (aarch64_types_loadstruct_lane_qualifiers): Use
- qualifier_struct_load_store_lane_index for lane index argument for
- last argument.
- (aarch64_types_storestruct_lane_qualifiers): Ditto.
- (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_args): Add new argument describing mode of
- builtin. Check lane bounds for arguments with
- SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
- if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
- (aarch64_simd_expand_builtin): Handle arguments with
- qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
- aarch64_simd_expand_args.
- * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
- vst[234]_lane with BUILTIN_VALLDIF.
- * config/aarch64/aarch64-simd.md:
- (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
- endianness reversal on lane index.
- (aarch64_vec_load_lanesci_lane<mode>): Ditto.
- (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
- (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
- (vec_store_lanesci_lane<mode>): Ditto.
- (vec_store_lanesxi_lane<mode>): Ditto.
- (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
- reversal of lane index.
- (aarch64_ld3_lane<mode>): Ditto.
- (aarch64_ld4_lane<mode>): Ditto.
- (aarch64_st2_lane<mode>): Ditto.
- (aarch64_st3_lane<mode>): Ditto.
- (aarch64_st4_lane<mode>): Ditto.
- * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
- to qmode. Add new mode parameter. Update uses.
- (__LD3_LANE_FUNC): Ditto.
- (__LD4_LANE_FUNC): Ditto.
- (__ST2_LANE_FUNC): Ditto.
- (__ST3_LANE_FUNC): Ditto.
- (__ST4_LANE_FUNC): Ditto.
-
-2015-07-22 Jonathan Wakely <jwakely@redhat.com>
-
- * doc/invoke.texi (Language Independent Options): Rename node to
- Diagnostic Message Formatting Options.
-
-2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
-
- PR ipa/66424.
- * lra-remat.c (operand_to_remat): Prevent using insns with input
- subregs processed separately by IRA.
-
-2015-07-21 Andrew MacLeod <amacleod@redhat.com>
-
- * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
- straight loops.
- (single_imm_use): Check for iterator node.
- (num_imm_uses): Likewise.
- * tree-ssa-operands.c (has_zero_uses_1): Delete.
- (single_imm_use_1): Check for iterator node.
-
-2015-07-21 Mike Frysinger <vapier@gentoo.org>
- Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * configure.ac: Add check for new options in isl-0.15.
- * config.in, configure: Rebuilt.
- * graphite-blocking.c: Include <isl/constraint.h>
- * graphite-interchange.c, graphite-poly.c: Likewise.
- * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
- <isl/union_set.h>.
- * graphite-dependences.c: Include <isl/constraint.h>.
- (max_number_of_out_dimensions): Returns isl_stat.
- (extend_schedule_1): Likewise
- (extend_schedule): Corresponding changes.
- * graphite-optimize-isl.c: Include <isl/constraint.h> and
- <isl/union_set.h>.
- (getSingleMap): Change return type of isl_stat.
- (optimize_isl): Conditionally use
- isl_options_set_schedule_serialize_sccs.
- * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
- if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
-
-2015-07-21 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/66956
- * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
- (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
-
-2015-07-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66948
- * genmatch.c (capture_info::walk_match): Also recurse to
- captures. Properly compute expr state from captures of
- captures.
- * match.pd: Add single-use guards to
- (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
-
-2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Add static destructor call.
-
-2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR middle-end/66915
- * match.pd (A - B -> A + (-B)): Don't allow folding
- when type if a fixed-point type.
-
-2015-07-20 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
- (iorqi3_real): Likewise for set1.
-
-2015-07-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
- for !TARGET_64BIT.
-
-2015-07-20 Aditya Kumar <hiraditya@msn.com>
-
- * graphite-isl-ast-to-gimple.c:
- Refactor so that each function can access 'region'. This will help
- maintain a parameter rename_map within a region.
-
-2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*lt0_disi): New.
-
-2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66217
- * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
- "available letters" comment.
- * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
- mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
- and_2rld_operand): Delete.
- (and_operand): Adjust.
- (rotate_mask_operator): New.
- * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
- includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
- includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
- extract_ME): Delete.
- (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
- rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
- rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
- rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
- rs6000_emit_2insn_and): New.
- * config/rs6000/rs6000.c (num_insns_constant): Adjust.
- (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
- includes_rldic_lshift_p, includes_rldicr_lshift_p,
- insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
- (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
- rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
- s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
- rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
- rs6000_emit_2insn_and): New.
- (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
- (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
- handling.
- <NOT>: Don't fall through to next case.
- <AND>: Handle the various rotate-and-mask cases directly.
- <IOR>: Always cost as one insn.
- * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
- (and<mode>3): Adjust expander for the new patterns.
- (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
- and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
- (*and<mode>3_imm_dot_shifted): New.
- (*and<mode>3_mask): Delete, rewrite as ...
- (and<mode>3_mask): ... New.
- (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
- (andsi3_internal0_nomc): Delete.
- (*andsi3_internal6): Delete.
- (*and<mode>3_2insn): New.
- (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
- *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
- *insvsi_internal6, insvdi_internal, *insvdi_internal2,
- *insvdi_internal3): Delete.
- (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
- *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
- *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
- *ior<mode>_mask): New.
- (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
- *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
- *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
- *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
- Delete.
- (ashr<mode>3): Delete expander.
- (*ashr<mode>3): Rename to ...
- (ashr<mode>3): ... This.
- (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
- (*rotldi3_internal4, *rotldi3_internal5 and split,
- *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
- and split, *ashldi3_internal6 and split, *ashldi3_internal7,
- ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
- (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
- (splitter for loading a mask): Adjust.
- * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
- output_add_clobbers, output_added_clobbers_hard_reg_p,
- gen_rtx_scratch): Remove declarations.
-
-2015-07-20 Marek Polacek <polacek@redhat.com>
-
- PR c++/55095
- * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
-
-2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_unary_operation_1, NEG case):
- (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
-
-2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (combine_simplify_rtx): Move simplification step
- before various transformations/substitutions.
-
-2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- * wide-int.h (struct binary_traits): Fix partial specialization syntax.
- (struct int_traits): Likewise.
-
-2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
- function to vmsdbgout_function_decl.
-
-2015-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66922
- * config/i386/i386.c (ix86_expand_pextr): Reject extractions
- from misaligned positions.
- (ix86_expand_pinsr): Reject insertions to misaligned positions.
-
-2015-07-18 Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/46851
- PR middle-end/60340
- * Makefile.in: Removed omega.o.
- * common.opt: Document flag fcheck-data-deps as deprecated.
- * doc/invoke.texi: Remove documentation for fcheck-data-deps and
- its associated params: omega-max-vars, omega-max-geqs,
- omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
- omega-max-keys, omega-eliminate-redundant-constraints.
- * doc/loop.texi: Remove all the section on Omega.
- * graphite-blocking.c: Include missing params.h: it used to be
- included through tree-data-ref.h and omega.h.
- * graphite-isl-ast-to-gimple.c: Same.
- * graphite-optimize-isl.c: Same.
- * graphite-sese-to-poly.c: Same.
- * graphite.c: Same.
- * omega.c: Remove.
- * omega.h: Remove.
- * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
- PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
- PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
- PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
- * passes.def: Remove pass_check_data_deps.
- * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
- (dump_conflict_function): Same.
- (dump_subscript): Same.
- (print_direction_vector): Same.
- (print_dir_vectors): Same.
- (print_lambda_vector): Same.
- (print_dist_vectors): Same.
- (dump_data_dependence_relation): Same.
- (dump_data_dependence_relations): Same.
- (dump_dist_dir_vectors): Same.
- (dump_ddrs): Same.
- (init_omega_eq_with_af): Removed.
- (omega_extract_distance_vectors): Removed.
- (omega_setup_subscript): Removed.
- (init_omega_for_ddr_1): Removed.
- (init_omega_for_ddr): Removed.
- (ddr_consistent_p): Removed.
- (compute_affine_dependence): Do not use omega to check data
- dependences.
- (compute_data_dependences_for_bb): Removed.
- (analyze_all_data_dependences): Removed.
- (tree_check_data_deps): Removed.
- * tree-data-ref.h: Do not include omega.h.
- (compute_data_dependences_for_bb): Removed.
- (tree_check_data_deps): Removed.
- * tree-ssa-loop.c (pass_check_data_deps): Removed.
- (make_pass_check_data_deps): Removed.
- * tree-ssa-phiopt.c: Include params.h.
- * tree-vect-data-refs.c: Same.
- * tree-vect-slp.c: Same.
-
-2015-07-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (pushsf splitter): Pass curr_insn to
- find_constant_src. FAIL if find_constant_src returns NULL_RTX.
- (mem->fpreg splitters): Ditto.
- (general_operand->nonimmediate_operand splitter): Use explicit modes.
- Disable DFmode for TARGET_64BIT.
-
-2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66906
- * config/i386/i386.c (ix86_expand_prologue): Replicate static
- chain on the stack.
-
-2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify host data.
- * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
- Constify host data.
- (generate_host_descr_file): Likewise.
-
-2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- PR middle-end/61929
- * graphite-dependences.c (add_pdr_constraints): Renamed
- pdr->extent to pdr->subscript_sizes.
- * graphite-interchange.c (build_linearized_memory_access): Add
- back all gcc_assert's that the "isl_int to isl_val conversion"
- patch has removed. Refactored.
- (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
- * graphite-poly.c (new_poly_dr): Same.
- (free_poly_dr): Same.
- * graphite-poly.h (struct poly_dr): Same.
- * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
- all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
- * graphite-scop-detection.h: Fix space.
- * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
- back all gcc_assert's removed by a previous patch.
- (wrap): Remove the_isl_ctx global variable that the same patch has
- added.
- (build_loop_iteration_domains): Same.
- (add_param_constraints): Same.
- (pdr_add_data_dimensions): Same. Refactored.
- (build_poly_dr): Renamed extent to subscript_sizes.
-
-2015-07-17 Marek Polacek <polacek@redhat.com>
-
- * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
- * match.pd: ... here.
-
-2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify target data.
- * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
- Constify target data.
- (generate_target_offloadend_file): Likewise.
-
-2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
- to allow renaming of PHI arguments on edges incoming from outer
- loop header, add corresponding check before start PHI iterator.
- (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
- variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
- with true force_vectorize. Set-up dominator for outer loop too.
- Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
- (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
- was marked with force_vectorize and has restricted cfg.
- (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
- inner loop.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
- do peeling for outer loops.
-
-2015-07-17 Yvan Roux <yvan.roux@linaro.org>
- Matthias Klose <doko@ubuntu.com>
-
- * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
- build-sysroot, sysroot from the `Miscenalleous configure options' to
- the `Directories' section and strip trailing `/' from with_sysroot.
- (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
- * configure: Regenerated.
-
-2015-07-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66824
- * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
- (TARGET_HARD_DF_REGS): Ditto.
- (TARGET_HARD_XF_REGS): Ditto.
- * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
- Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
- (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
- alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
- (*movsf_internal): Add alternatives 16 and 17. Enable
- alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
-
-2015-07-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/66891
- * calls.c (expand_call): Wrap precompute_register_parameters with
- NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
-
-2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Constify mapping variables.
- Define target data struct and initialize it.
-
-2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * ira.h (emit-rtl.h): Include.
- (non_spilled_static_chain_regno_p): New.
- * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
- unless it is non spilled static chain pseudo.
- (assign_hard_rego): Spill memory profitable allocno unless it is
- non spilled static chain pseudo.
- (allocno_spill_priority_compare): Put non spilled static chain
- pseudo at the end of sorted array.
- (improve_allocation): Do nothing if we have static chain and
- non-local goto.
- (allocno__priority_compare_func): Put non spilled static chain
- pseudo at the beginning of sorted array.
- (move_spill_restore): Ignore non spilled static chain pseudo.
- * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
- to non spilled static chain pseudo.
- * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
- pseudo at the beginning of sorted array.
- (spill_for): Spill non spilled static chain pseudo last.
- * lra-constraints.c (lra_constraints): Remove static chain pseudo
- check for equivalence.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- PR ipa/66896.
- * ipa-prop.c (update_jump_functions_after_inlining): Create properly
- dst_ctx if it does not exist.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- * hash-set.h (remove): New function.
- (iterator): New iteration class for hash_set.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (make_canonical): Add a file_location parameter.
- Use fatal_at rather than fatal.
- (get_attr_value): Likewise. Update call to make_canonical.
- (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
- (make_internal_attr): Update calls accordingly.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (message_with_line, error_with_line): Delete.
- * read-md.c (message_with_line, error_with_line): Delete.
- * gensupport.h: Include read-md.h.
- (md_rtx_info): New structure.
- (read_md_rtx): Use it. Return a bool success value.
- * gensupport.c (read_md_rtx): Likewise.
- * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genattrtab.c (insn_code_number): Delete.
- (optimize_attrs): Add a max_insn_code parameter and use it instead
- of insn_code_number.
- (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
- Use *_at rather than *_with_line functions.
- (gen_insn): Likewise.
- (gen_delay): Likewise.
- (gen_insn_reserv): Likewise.
- (gen_bypass): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes. Use a local max_insn_code
- variable instead of insn_code_number.
- * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
- an rtx. Use fatal_at rather than fatal.
- (gen_query_cpu_unit, gen_bypass, gen_excl_set)
- (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
- (gen_absence_set, gen_final_absence_set, gen_automaton)
- (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
- (main): Update after interface changes.
- * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
- and code number.
- (main): Update after interface changes.
- * genconditions.c (main): Use new read_md_rtx interface.
- * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
- (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
- (main): Update after interface changes.
- * genemit.c (insn_code_number, insn_index_number): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- Use fatal_at rather than fatal.
- (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
- rather than fatal.
- (gen_split): Likewise.
- (main): Update after interface changes.
- * genextract.c (line_no): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- Update call to walk_rtx.
- (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
- rather than message_with_line.
- (walk_rtx): Add an md_rtx_info argument. Update call to
- VEC_safe_set_locstr.
- (main): Update after interface changes.
- * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
- and lineno. Use error_at rather than separate message_with_line
- calls and have_error assignments.
- (main): Update after interface changes.
- * genmddump.c (main): Use new read_md_rtx interface.
- * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
- (main): Update after interface changes.
- * genoutput.c (next_code_number): Delete.
- (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
- (gen_peephole, gen_expand, gen_split): Likewise.
- (note_constraint): Likewise. Use *_at rather than *_with_line
- functions.
- (main): Update after interface changes.
- * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
- rtx and lineno.
- (main): Update after interface changes.
- * genpreds.c (process_define_predicate): Take an md_rtx_info rather
- than an rtx and lineno.
- (process_define_constraint): Likewise.
- (process_define_register_constraint): Likewise.
- (main): Update after interface changes.
- * genrecog.c (next_insn_code, pattern_lineno): Delete.
- (validate_pattern): Replace top-level rtx with an md_rtx_info.
- Use *_at rather than *_with_line functions.
- (match_pattern_2): Likewise.
- (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
- (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
- Use *_at rather than *_with_line functions.
- * gentarget-def.c (add_insn): New function.
- (main): Use it. Use new read_md_rtx interface.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (compute_test_codes): Take a file_location rather
- than a line number.
- * gensupport.c (compute_test_codes): Likewise. Use *_at functions
- rather than *_with_line functions.
- (process_define_predicate): Update call to compute_test_codes.
- * genpreds.c (validate_exp): Take a file_location rather than a
- line number. Use *_at functions rather than *_with_line functions.
- (process_define_predicate): Update call to validate_exp.
- (constraint_data): Replace lineno field with a file_location.
- (add_constraint): Take a file_location rather than a line number.
- Use *_at functions rather than *_with_line functions. Fix error
- message for address constraints. Update after changes to
- validate_exp, constraint_data and compute_test_codes.
- (process_define_constraint): Update accordingly.
- (process_define_register_constraint): Likewise.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genoutput.c (data): Use a file_location to record the source
- position.
- (nothing): Delete.
- (idata, idata_end): Remove initialization.
- (constraint_data): Replace lineno with a file_location.
- (output_insn_data): Update after changes to data.
- (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
- (scan_operands): Likewise, using *_at rather than *_with_line
- functions.
- (process_template): Likewise.
- (validate_insn_alternatives): Likewise.
- (validate_insn_operands): Likewise.
- (validate_optab_operands): Likewise.
- (init_insn_for_nothing): Initialize idata and idata_end.
- (note_constraint): Update after changes to constraint_data,
- using at rather than with_line functions.
- (mdep_constraint_len): Take a file_location rather than a
- line number. Use at rather than with_line functions.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (fatal_at): Declare.
- * read-md.c (fatal_at): New function.
- * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
- to record the source position.
- (check_attr_test): Take a file_location instead of a line number.
- Use fatal_at instead of fatal.
- (check_attr_value): Update after above changes, using "at"
- rather than "with_line" reporting functions.
- (convert_set_attr_alternative): Likewise.
- (gen_attr): Likewise.
- (check_defs): Likewise. Don't assign to read_md_filename.
- (gen_insn): Update initialization after above changes.
- (gen_delay): Likewise.
- (write_insn_cases): Print the filename for a define_peephole.
- (gen_insn_reserv): Take a line number as argument and update
- the call to check_attr_test.
- (main): Pass a line number to gen_insn_reserv.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * read-md.h (file_location): New structure.
- (directive_handler_t): Take a file_location rather than a line number.
- (message_at, error_at): Declare.
- (read_skip_construct): Delete.
- * read-md.c (message_with_line_1): Replace with...
- (message_at_1): ...this new function.
- (message_at, error_at): New functions.
- (message_with_line, error_with_line): Update to use message_at_1.
- (handle_enum): Take a file_location rather than a line number
- and use error_at for error reporting.
- (handle_include): Likewise.
- (read_skip_construct): Likewise. Make static.
- (handle_file): Update after above changes. Pass a file_location
- rather than a line number to handle_directive.
- * gensupport.c (queue_elem): Replace separate filename and lineno
- with a file_location.
- (queue_pattern): Replace filename and lineno arguments with a
- file_location. Update after change to queue_elem.
- (process_define_predicate): Replace lineno argument with a
- file_location and use error_at for error reporting. Update
- after above changes.
- (process_rtx): Likewise.
- (subst_pattern_match): Likewise.
- (get_alternatives_number): Likewise.
- (alter_predicate_for_insn): Likewise.
- (rtx_handle_directive): Likewise.
- (is_predicable): Update after above changes, using error_at rather
- than error_with_line.
- (has_subst_attribute): Likewise.
- (identify_predicable_attribute): Likewise.
- (alter_attrs_for_subst_insn): Likewise.
- (process_one_cond_exec): Likewise.
- (process_substs_on_one_elem): Likewise.
- (process_define_subst): Likewise.
- (check_define_attr_duplicates): Likewise.
- (read_md_rtx): Update after change to queue_elem.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genoutput.c (next_index_number): Delete.
- (data): Remove index_number.
- (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
- (main): Remove manipulation of next_index_number.
-
-2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
-
- * genattrtab.c (check_attr_value): Remove handling of null attrs.
- (make_canonical): Likewise.
-
-2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
- instead of adjust_address_nv.
- (restore_stack_nonlocal): Likewise.
- (nonlocal_goto): Likewise.
-
-2015-07-16 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
- not have a corresponding loop header phi.
-
-2015-07-16 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (create_loads_for_reductions): Handle case that
- reduction is unused.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66894
- * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
- about deriving NE_EXPR from truncated values.
-
-2015-07-16 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h
- (object_allocator): Add new class.
- (pool_allocator::initialize): Use the underlying class.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
- (operator new): A new generic allocator.
- * asan.c (struct asan_mem_ref): Remove unused members.
- (asan_mem_ref_new): Replace new operator with
- object_allocator::allocate.
- (free_mem_ref_resources): Change deallocation.
- * cfg.c (initialize_original_copy_tables): Replace pool_allocator
- with object_allocator.
- * config/sh/sh.c (add_constant): Replace new operator with
- object_allocator::allocate.
- (sh_reorg): Change call to a release method.
- * cselib.c (struct elt_list): Remove unused members.
- (new_elt_list): Replace new operator with
- object_allocator::allocate.
- (new_elt_loc_list): Likewise.
- (new_cselib_val): Likewise.
- (unchain_one_elt_list): Change delete operator with remove method.
- (unchain_one_elt_loc_list): Likewise.
- (unchain_one_value): Likewise.
- (cselib_finish): Release newly added static allocators.
- * cselib.h (struct cselib_val): Remove unused members.
- (struct elt_loc_list): Likewise.
- * df-problems.c (df_chain_alloc): Replace pool_allocator with
- object_allocator.
- * df-scan.c (struct df_scan_problem_data): Likewise.
- (df_scan_alloc): Likewise.
- * df.h (struct dataflow): Likewise.
- * dse.c (struct read_info_type): Likewise.
- (struct insn_info_type): Likewise.
- (struct dse_bb_info_type): Likewise.
- (struct group_info): Likewise.
- (struct deferred_change): Likewise.
- (get_group_info): Likewise.
- (delete_dead_store_insn): Likewise.
- (free_read_records): Likewise.
- (replace_read): Likewise.
- (check_mem_read_rtx): Likewise.
- (scan_insn): Likewise.
- (dse_step1): Likewise.
- (dse_step7): Likewise.
- * et-forest.c (struct et_occ): Remove unused members.
- (et_new_occ): Use allocate instead of new operator.
- (et_new_tree): Likewise.
- (et_free_tree): Call release method explicitly.
- (et_free_tree_force): Likewise.
- (et_free_pools): Likewise.
- (et_split): Use remove instead of delete operator.
- * et-forest.h (struct et_node): Remove unused members.
- * ipa-cp.c: Change pool_allocator to object_allocator.
- * ipa-inline-analysis.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-prop.h: Likewise.
- * ira-build.c (initiate_cost_vectors): Cast return value.
- (ira_allocate_cost_vector): Likewise.
- * ira-color.c (struct update_cost_record): Remove unused members.
- * lra-int.h (struct lra_live_range): Likewise.
- (struct lra_copy): Likewise.
- (struct lra_insn_reg): Likewise.
- * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
- * lra.c (new_insn_reg): Replace new operator with allocate method.
- (free_insn_regs): Same for operator delete.
- (finish_insn_regs): Release new static allocator.
- (finish_insn_recog_data): Likewise.
- (lra_free_copies): Replace delete operator with remove method.
- (lra_create_copy): Replace operator new with allocate method.
- (invalidate_insn_data_regno_info): Same for remove method.
- * regcprop.c (struct queued_debug_insn_change): Remove unused members.
- (free_debug_insn_changes): Replace delete operator with remove method.
- (replace_oldest_value_reg): Replace operator new with allocate method.
- (pass_cprop_hardreg::execute): Release new static variable.
- * sched-deps.c (sched_deps_init): Change pool_allocator to
- object_allocator.
- * sel-sched-ir.c: Likewise.
- * sel-sched-ir.h: Likewise.
- * stmt.c (expand_case): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
- * tree-sra.c (struct access): Remove unused members.
- (struct assign_link): Likewise.
- (sra_deinitialize): Release newly added static pools.
- (create_access_1):Replace operator new with allocate method.
- (build_accesses_from_assign): Likewise.
- (create_artificial_child_access): Likewise.
- * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
- pool_allocator to object_allocator.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * var-tracking.c (onepart_pool_allocate): New function.
- (unshare_variable): Use the newly added function.
- (variable_merge_over_cur): Likewise.
- (variable_from_dropped): Likewise.
- (variable_was_changed): Likewise.
- (set_slot_part): Likewise.
- (emit_notes_for_differences_1): Likewise.
- (vt_finalize): Release newly added static pools.
-
-2015-07-16 Martin Jambor <mjambor@suse.cz>
-
- * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
- all uses. Fix two typos in its general comment.
- (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
-
-2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * config/i386/linux-common.h (LINK_MPX): New.
- (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
- * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
- indicating '-z bndplt' support by linker.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_widened_comparison): Remove.
- (fold_sign_changed_comparison): Likewise.
- (fold_comparison): Move widened and sign-changed comparison
- simplification ...
- * match.pd: ... to patterns here.
- * generic-match-head.c: Include target.h.
- * gimple-match-head.c: Likewise.
-
-2015-07-16 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (dom_valueize): New function.
- (record_temporary_equivalences): Also record equivalences
- for dominating stmts that have uses of equivalences we are
- about to record.
-
-2015-07-16 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
- add_autoinc_candidates.
- (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
- (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
- (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
- (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
- Call new function.
- (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
- (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
- Remove parameter struct iv*. Call add_autoinc_candidates here.
- (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
- (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
- Call new function.
- (find_iv_candidates): Call new functions.
-
-2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
- uninitialized-variable warning.
-
-2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65249
- * config/sh/sh.md (movdi): Split simple reg move to two movsi
- when the destination is R0.
-
-2015-07-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66866
- * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
- * config/i386/i386.c (ix86_expand_pextr): New function.
- (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
- for non-lowpart subregs.
- * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
- (insv<mode>): Use SWI248 mode iterator.
- (insv<mode>_1): Ditto.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
- iterator to use_stmt.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (build_scops_1): Discard scops for
- which entry==exit.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
- case of a return statement in scop.
-
-2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
- Sebastian Pop <s.pop@samsung.com>
-
- * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
- INTEGER_TYPE parameters.
- (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
- VECTOR_CST in scan_tree_for_params.
- (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
-
-2015-07-15 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple-pretty-print.h: Don't include pretty-print.h.
- * tree-streamer.h: Don't include lto-streamer.h.
- * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
- * gimple-streamer-in.c: Remove redundant includes.
- * gimple-streamer-out.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
-
-2015-07-15 Andrew MacLeod <amacleod@redhat.com>
-
- * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
- include input.h.
- * opts.c: Remove multiline #include comment.
-
-2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Add C++ protection to
- emitted code.
-
-2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/66854
- * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
- null before IEEE 128-bit floating point support patch.
-
-2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * simplify-rtx.c (simplify_ternary_operation): Add simplification
- for (!c) != {0,...,0} ? a : b for vector modes.
-
-2015-07-15 Paolo Bonzini <bonzini@gnu.org>
- Martin Jambor <mjambor@suse.cz>
-
- * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
- struct func_body_info* instead of struct ipa_node_params*, expecting
- fbi->info to be filled in. Replace throughout. Adjust call to
- ipa_load_from_parm_agg.
- (set_cond_stmt_execution_predicate): Accept struct func_body_info*
- instead of struct ipa_node_params*. Adjust calls to other functions
- so that they pass either fbi or fbi->info.
- (set_switch_stmt_execution_predicate): Likewise.
- (will_be_nonconstant_predicate): Likewise.
- (compute_bb_predicates): Likewise.
- (estimate_function_body_sizes): Move asserts earlier. Fill in
- struct func_body_info, replace parms_info with fbi.info. Adjust
- calls to functions that now accept struct func_body_info.
- * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
- (struct func_body_info): Likewise.
- (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
- remove static. Adjust callers.
- (ipa_load_from_parm_agg): Remove.
- * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
- (func_body_info): Likewise.
- (ipa_load_from_parm_agg): Adjust prototype.
-
-2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gensupport.c (rtx_handle_directive): Adjust.
- * read-rtl.c (apply_iterators): Take vector to add rtxs to
- instead of expr list rtx.
- (add_define_attr_for_define_subst): Likewise.
- (add_define_subst_attr): Likewise.
- (read_subst_mapping): Likewise.
- (read_rtx): Likewise.
- * rtl.h (read_rtx): Adjust.
-
-2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/58066
- * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
- (*tls_local_dynamic_base_64_<mode>): Ditto.
- (*tls_local_dynamic_base_64_largepic): Ditto.
- (tls_global_dynamic_64_<mode>): Update expander pattern.
- (tls_local_dynamic_base_64_<mode>): Ditto.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
- and bool_var == 1 -> bool_var simplifications ...
- * match.pd: ... to patterns here. Factor out negate_expr_p
- cases from the A - B -> A + (-B) patterns as negate_expr_p
- predicate and add a -(A + B) -> (-B) - A pattern.
-
-2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
-
-2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
- Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_int_mask): New enum.
- (mips_shadow_set): Likewise.
- (int_mask): New variable.
- (use_shadow_register_set_p): Change type to enum mips_shadow_set.
- (machine_function): Add int_mask and use_shadow_register_set.
- (mips_attribute_table): Add attribute handlers for interrupt and
- use_shadow_register_set.
- (mips_interrupt_mask): New static function.
- (mips_handle_interrupt_attr): Likewise.
- (mips_handle_use_shadow_register_set_attr): Likewise.
- (mips_use_shadow_register_set): Change return type to enum
- mips_shadow_set. Add argument handling for use_shadow_register_set
- attribute.
- (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
- compare with mips_shadow_set enum.
- (mips_compute_frame_info): Add interrupt mask and
- use_shadow_register_set to per-function information structure.
- Add a stack slot for EPC unconditionally.
- (mips_expand_prologue): Compare use_shadow_register_set value
- with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
- masked interrupt register but in EIC mode use K0 and save Cause in K0.
- EPC saved and restored unconditionally. Use PMODE_INSN macro when
- copying the stack pointer from the shadow register set.
- * config/mips/mips.h (SR_IM0): New define.
- * config/mips/mips.md (mips_rdpgpr): Rename to...
- (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
- * doc/extend.texi (Declaring Attributes of Functions): Document
- optional arguments for interrupt and use_shadow_register_set
- attributes.
-
-2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
- interrupt attribute.
- (mips_expand_prologue): Disable the floating point unit in an ISR.
- * config/mips/mips.h (SR_COP1): New define.
-
-2015-07-15 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (parser::peek, parser::peek_ident): Add argument
- to tell how many tokens to peek ahead (default 1).
- (parser::eat_token, parser::eat_ident): Return token consumed.
- (parser::parse_result): Parse new switch statement.
- * match.pd: Use case statements where appropriate.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/58066
- * calls.c (expand_call): Precompute register parameters before stack
- alignment is performed.
-
-2015-07-15 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/66838
- * postreload.c (reload_cse_move2add): Also process
- CALL_INSN_FUNCTION_USAGE when resetting information of
- call-clobbered registers.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/constraints.md (U, v): New constraints.
- * config/nios2/predicates.md (rdprs_dcache_operand): New.
- (ldstex_memory_operand): New.
- * config/nios2/sync.md: New file.
- * config/nios2/nios2.md (unspecv): Add new builtin function
- UNSPECV codes.
- (rdprs, flushd, flushda, wrpie, eni): New patterns.
- (top-level): Include sync.md.
- * config/nios2/nios2.c (N2_FTYPES): Add function types for
- new builtins.
- (N2_BUILTINS): Add arch field setting, add new builtins.
- (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
- for arch field.
- (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
- Also handle ldex/stex/ldsex/stsex builtins.
- (nios2_expand_rdprs_builtin): New function.
- (nios2_expand_cache_builtin): New function.
- (nios2_expand_wrpie_builtin): New function.
- (nios2_expand_eni_builtin): New function.
- (nios2_expand_builtin): Add arch field handling and new builtin
- cases.
- * doc/extend.texi (Altera Nios II Built-in Functions): Document
- new builtins.
- * doc/md.texi (Machine Constraints): Document U and v constraints.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
- * config/nios2/nios2.c (struct GTY (()) machine_function): Add
- callee_save_reg_size and uses_anonymous_args fields.
- (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
- (nios2_create_cfa_notes): New function.
- (nios2_adjust_stack): New function for adjusting stack.
- (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
- Use nios2_adjust_stack.
- (nios2_expand_epilogue): Likewise.
- (nios2_expand_return): New function.
- (nios2_can_use_return_insn): Update for CDX pop.n usage.
- (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
- If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
- * config/nios2/nios2.md (return): Use nios2_expand_return.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/predicates.md (pop_operation): New.
- (ldwm_operation, stwm_operation): New.
- (nios2_hard_register_operand): New.
- * config/nios2/nios2-protos.h (pop_operation_p): Declare.
- (ldstwm_operation_p): Declare.
- (gen_ldstwm_peep): Declare.
- * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
- (base_reg_adjustment_p): New.
- (pop_operation_p): New.
- (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
- (nios2_ldstwm_regset_p): New.
- (ldstwm_operation_p): New.
- (gen_ldst): New.
- (nios2_ldst_parallel): New.
- (struct ldswm_operand): Declare.
- (compare_ldstwm_operands): New.
- (can_use_cdx_ldstw): New.
- (gen_ldstwm_peep): New.
- * config/nios2/nios2-ldstwm.sml: New.
- * config/nios2/nios2.md: Include ldstwm.md.
- * config/nios2/ldstwm.md: Generated.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.h (LABEL_ALIGN): Define.
- (REG_ALLOC_ORDER): Define.
- (ADJUST_REG_ALLOC_ORDER): Define.
- (HONOR_REG_ALLOC_ORDER): Define.
- (CDX_REG_P): Define.
- (ANDCLEAR_INT): Define.
- * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
- (nios2_label_align): Declare.
- (nios2_cdx_narrow_form_p): Declare.
- (nios2_adjust_reg_alloc_order): Declare.
- * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
- operation.
- (nios2_large_unspec_reloc_p): New function, split from...
- (nios2_legitimate_pic_operand_p): ...here.
- (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
- (nios2_print_operand_punct_valid_p): New.
- (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
- (split_mem_address): New.
- (split_alu_insn): New.
- (cdxreg): New.
- (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
- (enum nios2_add_insn_kind): New.
- (nios2_add_insn_names, nios2_add_insn_narrow): New.
- (nios2_add_insn_classify): New.
- (nios2_add_insn_asm): New.
- (nios2_cdx_narrow_form_p): New.
- (label_align, min_labelno, max_labelno): New.
- (nios2_reorg): New.
- (nios2_label_align): New.
- (nios2_adjust_reg_alloc_order): New.
- (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
- (TARGET_MACHINE_DEPENDENT_REORG): Define.
- * config/nios2/constraints.md (P): New constraint.
- * config/nios2/predicates.md (const_and_operand): New.
- (and_operand): New.
- (stack_memory_operand): New.
- * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
- (length): Update to use nios2_cdx_narrow_form_p().
- (type): Add new insn type values.
- (control, alu, st, ld, shift): Update insn reservations with
- new insn type values.
- (*high, *lo_sum): Define new insn patterns for constant generation.
- (movqi_internal, movhi_internal, movsi_internal): Reduce
- alternatives, update asm template to handle CDX variants, update
- type attributes.
- (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
- template, update type attributes.
- (extendhisi2, extendqi<mode>2): Likewise.
- (addsi3): Change to use function for asm string.
- (subsi3): Add CDX notation to asm template, update type attributes.
- (negsi3, one_cmplsi3): Likewise.
- (andsi3): New pattern, specialized from logical patterns.
- (<code>si3): Remove and case, combine alternatives, update asm
- template.
- (<shift_op>si3): Add CDX notation, update type attributes.
- (rotrsi3): Update type attribute.
- (*merge, extzv, insv): New insn patterns.
- (return): Change to define_expand.
- (simple_return): Add CDX notation, update type attributes.
- (indirect_jump): Add CDX notation.
- (jump): Update asm cases, update length attribute expression.
- (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
- (nios2_cbranch): Update asm cases and length attribute expression
- to handle CDX variants.
- (nios2_cmp<code>): Update asm template.
- (nop): Add CDX notation, update type attributes.
- (trap): Add CDX notation.
- (ctrapsi4): Update asm cases and length attribute expression to
- handle CDX variant.
- * doc/md.texi (Machine Constraints): Document P constraint.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.h (SMALL_INT12): New macro.
- * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
- (nios2_valid_addr_expr_p): Use it.
- (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
- with implicit "io" instructions on R2.
- * config/nios2/constraints.md (w): New constraint.
- * config/nios2/predicates.md (ldstio_memory_operand): New.
- * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
- operand predicate and constraint.
- (ld<bh>io_signed, st<bhw>io>): Likewise.
- * doc/md.texi (Machine Constraints): Document w constraint.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
- * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
- Nios II architecture level.
- * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
- (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
- (OPTION_DEFAULT_SPECS): Define.
- (ASM_SPEC): Add -march= spec strings.
- * config/nios2/nios2.c (nios2_option_override): Check for
- conflicts involving new options.
- * config.gcc (nios2*-*-*): Support --with-arch=.
- * doc/invoke.texi (Option Summary, Nios II Options): Document
- -march=, -mbmx, and -mcdx.
-
-2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66626
- * lra-constraints.c (lra_constraints): Prevent equivalence
- substitution for static chain pseudo in functions with nonlocal
- goto.
-
-2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
- (nios2_emit_stack_limit_check): Add size parameter. Handle
- -fstack-limit-symbol as well as -fstack-limit-register.
- (nios2_expand_prologue): Emit only a single stack limit check,
- even if multiple stack adjustments are required.
- (nios2_option_override): Diagnose unsupported combination of -fpic
- and -stack-limit-symbol.
-
-2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (top_srcdir): New.
- * configure.ac: Use AM_ZLIB.
- * configure: Regeneated.
-
-2015-07-14 Matthias Klose <doko@ubuntu.com>
-
- PR target/66840
- * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66863
- * tree-vrp.c (register_edge_assert_for_2): Properly restrict
- what we record for conversion use stmt lhs inequalities.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
- (decision_tree::gen_gimple): Likewise.
-
-2015-07-14 Tom de Vries <tom@codesourcery.com>
-
- * gcc.c (greater_than_spec_func): Declare forward.
- (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
- -ftree-parallelize-loops={0,1}.
- (static_spec_functions): Add greater_than_spec_func function with name
- "gt".
- (greater_than_spec_func): New function.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (record_temporary_equivalences): Merge
- wideing type conversion case from record_equivalences_from_incoming_edge
- and use record_equality to record equivalences.
- (record_equivalences_from_incoming_edge): Call
- record_temporary_equivalences.
-
-2015-07-14 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
- (struct if_expr): New.
- (struct with_expr): Likewise.
- (is_a_helper): Add helpers for if_expr and with_expr.
- (struct simplify): Add simplify_kind enum and member. Remove
- ifexpr_vec member.
- (simplify::simplify): Adjust.
- (lower_commutative): Adjust.
- (lower_opt_convert): Likewise.
- (lower_cond): Likewise.
- (replace_id): Handle with_expr and if_expr.
- (lower_for): Adjust.
- (dt_simplify::gen_1): New recursive worker, split out from ...
- (dt_simplify::gen): ... here. Deal with if and with expansion
- recursively.
- (capture_info::capture_info): Take context argument
- (capture_info::walk_result): Only analyze specific result.
- (parser::parse_result): New function.
- (parser::parse_simplify): Adjust to parse ifs with then end
- else case.
- (parser::parse_if): Simplify.
- (parser::parse_pattern): Pass down simplify kind.
- * match.pd: Convert if structure to new syntax.
-
-2015-07-13 Marek Polacek <polacek@redhat.com>
-
- * rtl.c (rtx_equal_p_cb): Fix typo.
-
-2015-07-13 Andrew MacLeod <amacleod@redhat.com>
-
- * omega.h: Don't include config.h, don't include params.h again if
- omega.h has already been included.
- * graphite-poly.h: Include sese.h.
- * graphite.c: Don't include sese.h, remove needless includes and
- minimize includes outside #ifdef HAVE_isl block.
- * graphite-blocking.c: Don't include sese.h, remove needless includes,
- and wrap entire file in #ifdef HAVE_isl
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
-
-2015-07-13 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
-
-2015-07-13 Renlin Li <renlin.li@arm.com>
-
- PR rtl/66556
- * simplify-rtx.c (simplify_const_relational_operation): Add
- side_effects_p checks.
-
-2015-07-12 Aldy Hernandez <aldyh@redhat.com>
-
- * bitmap.h: Fix double word typos.
- * builtins.c: Same.
- * calls.c: Same.
- * cfgloopmanip.c: Same.
- * cgraph.c: Same.
- * cgraph.h: Same.
- * cgraphclones.c: Same.
- * combine.c: Same.
- * config/aarch64/aarch64-protos.h: Same.
- * config/aarch64/aarch64.c: Same.
- * config/aarch64/aarch64.md: Same.
- * config/arm/arm.md: Same.
- * config/arm/arm1020e.md: Same.
- * config/arm/arm1026ejs.md: Same.
- * config/arm/arm926ejs.md: Same.
- * config/arm/fa526.md: Same.
- * config/arm/fa606te.md: Same.
- * config/arm/fa626te.md: Same.
- * config/arm/fa726te.md: Same.
- * config/arm/fmp626.md: Same.
- * config/darwin.c: Same.
- * config/epiphany/epiphany.c: Same.
- * config/frv/frv.c: Same.
- * config/ft32/ft32.c: Same.
- * config/gnu-user.h: Same.
- * config/h8300/constraints.md: Same.
- * config/i386/i386.c: Same.
- * config/i386/i386.md: Same.
- * config/iq2000/iq2000.md: Same.
- * config/mips/mips.c: Same.
- * config/mmix/mmix.md: Same.
- * config/moxie/moxie.c: Same.
- * config/nds32/nds32.md: Same.
- * config/pa/pa.h: Same.
- * config/rs6000/aix.h: Same.
- * config/rs6000/rs6000.h: Same.
- * config/sh/sh.c: Same.
- * config/tilegx/tilegx.md: Same.
- * config/tilepro/gen-mul-tables.cc: Same.
- * cse.c: Same.
- * dbxout.c: Same.
- * doc/invoke.texi: Same.
- * dse.c: Same.
- * dwarf2out.c: Same.
- * final.c: Same.
- * gcc.c: Same.
- * genmatch.c: Same.
- * gimplify.c: Same.
- * hash-table.h: Same.
- * internal-fn.c: Same.
- * ipa-cp.c: Same.
- * ipa-devirt.c: Same.
- * ipa-icf.c: Same.
- * ipa-icf.h: Same.
- * ipa-profile.c: Same.
- * ipa-prop.c: Same.
- * ipa-prop.h: Same.
- * ira.c: Same.
- * omp-low.c: Same.
- * reg-stack.c: Same.
- * regcprop.c: Same.
- * reorg.c: Same.
- * rtl.h: Same.
- * sbitmap.h: Same.
- * tree-eh.c: Same.
- * tree-inline.c: Same.
- * tree-sra.c: Same.
- * tree-ssa-dom.c: Same.
- * tree-ssa-loop-ivopts.c: Same.
- * tree-ssa-structalias.c: Same.
- * tree-ssa-tail-merge.c: Same.
- * tree-ssa-ter.c: Same.
- * tree-ssa-threadupdate.c: Same.
- * tree-ssa-uninit.c: Same.
- * tree-ssanames.c: Same.
- * tree-vect-loop-manip.c: Same.
- * tree-vrp.c: Same.
- * tree.c: Same.
- * valtrack.c: Same.
- * vec.h: Same.
-
-2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/66726
- * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
- tree_ssa_phiopt_worker): Call it.
-
-2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
- * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
- REG_EQUAL note.
-
-2015-07-11 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/66353
- * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
- * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
- (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
- rather than bb_has_abnormal_call_pred.
- * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
- (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
- rather than bb_has_abnormal_call_pred.
-
-2015-07-10 Anatoly Sokolov <aesok@post.ru>
-
- * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
- REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
- RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
- v850_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66819
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
- indirect sibcall with register arguments if register available
- for argument passing.
- (init_cumulative_args): Set cfun->machine->arg_reg_available
- to (cum->nregs > 0) or to true if function has a variable
- argument list.
- (function_arg_advance_32): Set cfun->machine->arg_reg_available
- to false if cum->nregs <= 0.
- * config/i386/i386.h (machine_function): Add arg_reg_available.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
- and gen_higpart instead of gen_rtx_SUBREG.
- * config/i386/i386.md
- (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
- (read-modify peephole2): Use gen_lowpart instead of
- gen_rtx_SUBREG for operand 5.
-
-2015-07-10 Andrew MacLeod <amacleod@redhat.com>
-
- * config/tilepro/gen-mul-tables.cc (main): Change include list for
- generated files.
- * config/tilepro/mul-tables.c: Regenerate.
- * config/tilegx/mul-tables.c: Regenerate.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (distribute_bit_expr): Remove.
- (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
- to (A & C1) | (B & C2), distributing (A & B) | (A & C)
- to A & (B | C) and simplifying A << C1 << C2 to ...
- * match.pd: ... patterns here.
-
-2015-07-10 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
- Mark mem as READONLY and NOTRAP for PIC symbol.
-
-2015-07-10 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple-predict.h: New file.
- (gimple_predict_predictor, gimple_predict_set_predictor,
- gimple_predict_outcome, gimple_predict_set_outcome,
- gimple_build_predict): Relocate here.
- * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
- gimple_predict_outcome, gimple_predict_set_outcome): Move to
- gimple-predict.h.
- * gimple.c (gimple_build_predict): Move to gimple-predict.h
- * basic-block.h: Don't include cfghooks.h.
- * backend.h: Don't include predict.h.
- * cfghooks.h: Include predict.h.
- * gimple-pretty-print.c: Include gimple-predict.h.
- * gimplify.c: Likwise.
- * predict.c: Adjust includes.
- * tree-inline.c: Likewise.
- * asan.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfg.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphunit.c: Likewise.
- * combine.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * dce.c: Likewise.
- * dojump.c: Likewise.
- * dse.c: Likewise.
- * except.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * genattrtab.c: Likewise.
- * genemit.c: Likewise.
- * gengtype.c: Likewise.
- * genopinit.c: Likewise.
- * genoutput.c: Likewise.
- * genpreds.c: Likewise.
- * genrecog.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * haifa-sched.c: Likewise.
- * ifcvt.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * jump.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-lives.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * passes.c: Likewise.
- * postreload.c: Likewise.
- * postreload-gcse.c: Likewise.
- * profile.c: Likewise.
- * recog.c: Likewise.
- * regstat.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * rtlanal.c: Likewise.
- * sched-ebb.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stmt.c: Likewise.
- * store-motion.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * varasm.c: Likewise.
- * var-tracking.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
- (decision_tree::gen_gimple): Likewise.
- (decision_tree::gen_generic): Likewise.
-
-2015-07-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66813
- * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
- sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
-
-2015-07-10 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66820
- * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
- or ORT_TASK contexts.
- * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
- is non-zero.
-
-2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
- above function.
-
-2015-07-10 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
- insert nit + 1 bound.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
- Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
- (if_convertible_loop_p_1): For this always compute bb predicates.
- (if_convertible_loop_p): And free them.
-
-2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
- in dump message.
-
-2015-07-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66823
- * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
- inverted predicate.
-
-2015-07-09 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
- to handle mips[32|64]r3 and mips[32|64]r5.
-
-2015-07-09 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66633
- * tree-nested.c (get_static_chain): Or in a flag into
- info->static_chain_added.
- (get_frame_field, get_nonlocal_debug_decl): Likewise.
- (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
- 2015-07-01 changes.
- (convert_tramp_reference_stmt): If a frame_decl or chain_decl
- is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
- add it to clauses.
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
- field.
- (vect_simd_lane_linear): New function.
- (vectorizable_simd_clone_call): Support using linear arguments for
- addresses of arrays elements indexed by GOMP_SIMD_LANE result.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66821
- * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
-
-2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
- Use machine mode, not enum machine_mode in the prototype.
-
- * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
- classify 128-bit floating point support.
- (FLOAT128_IBM_P): Likewise.
- (FLOAT128_VECTOR_P): Likewise.
- (FLOAT128_2REG_P): Likewise.
- (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
- (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
- (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
- (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
- tests against TFmode/TDmode, since those modes do not use VSX
- addresses.
- (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
- support.
- (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
- tests against TFmode, etc.
- (invalid_e500_subreg): Add tests against IFmode/KFmode.
- (reg_offset_addressing_ok_p): Likewise.
- (rs6000_legitimate_offset_address_p): Likewise.
- (rs6000_legitimize_address): Likewise.
- (rs6000_legitimize_reload_address): Likewise.
- (rs6000_legitimate_address_p): Clean up tests against TFmode and
- TDmode to use the new helper macros, which will include IFmode and
- KFmode.
- (rs6000_emit_move): Likewise.
- (rs6000_darwin64_record_arg_recurse): Likewise.
- (print_operand): Likewise.
- (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
- that uses a single vector register as a vector and not as a
- floating point register in terms of the calling sequence.
- (rs6000_discover_homogeneous_aggregate): Likewise.
- (rs6000_return_in_memory): Likewise.
- (init_cumulative_args): Likewise.
- (rs6000_function_arg_boundary): Likewise.
- (rs6000_function_arg_advance_1): Likewise.
- (rs6000_function_arg): Likewise.
- (rs6000_pass_by_reference): Likewise.
- (rs6000_gimplify_va_arg): Likewise.
- (rs6000_secondary_reload_memory): Use machine_mode not enum
- machine mode.
- (rs6000_split_multireg_move): Use new helper macros.
- (spe_func_has_64bit_regs_p): Likewise.
- (rs6000_output_function_epilogue): Add IFmode/KFmode support.
- (output_toc): Use new helper macros.
- (rs6000_register_move_cost): Likewise.
- (rs6000_function_value): Add IEEE 128-bit floating point calling
- sequence support.
- (rs6000_libcall_value): Likewise.
- (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
- floating point support.
- (rs6000_vector_mode_supported_p): Likewise.
-
-2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/66782
- * lra-int.h (struct lra_insn_recog_data): Add comment about
- clobbered hard regs for arg_hard_regs.
- * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
- * lra-lives.c (process_bb_lives): Process clobbered hard regs.
- Add condition for processing used hard regs.
- * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
- Process clobbered hard regs.
-
-2015-07-09 Michael Matz <matz@suse.de>
-
- * genmatch.c (fprintf_indent): New function.
- (operand::gen_transform): Add indent parameter.
- (expr::gen_transform, c_expr::gen_transform,
- capture::gen_transform): Ditto and use fprintf_indent.
- (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
- (dt_operand::gen, dt_operand::gen_predicate,
- dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
- dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
- (decision_tree::gen_gimple): Adjust calls and indent generated
- code.
- (decision_tree::gen_generic): Ditto.
- (write_predicate): Ditto.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66814
- * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
- * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
- (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
- {GENERAL,SSE,MMX}_REG_P where appropriate.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * lto-streamer.h: Don't include target.h and alloc-pool.h.
- * builtins.c: Adjust includes.
- * gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * lto-opts.c: Likewise.
- * ipa-reference.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * opts-global.c: Likewise.
- * symtab.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * config/darwin.c: Likewise.
- * config/i386/winnt.c: Likewise.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (struct expr): Add force_single_use flag.
- (expr::expr): Add copy constructor.
- (capture_info::walk_match): Gather force_single_use captures.
- (expr::gen_transform): Use possibly NULLified sequence.
- (dt_simplify::gen): Apply single-use restrictions by NULLifying
- seq if any constrained expr is not single-use.
- (parser::parse_expr): Refactor to allow multiple flags. Handle
- 's' flag to force an expression have a single-use if the pattern
- simplifies to more than one statement.
- * match.pd: Convert most single_use conditionals to :s flags.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
- (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
- (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
-
-2015-07-09 Andrew MacLeod <amacleod@redhat.com>
-
- * flags.h: Don't include flag-types.h or options.h.
- * opts-common.c: Adjust includes.
- * opts-global.c: Likewise.
- * common/config/epiphany/epiphany-common.c: Likewise.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66818
- * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
- for IA MCU.
-
-2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66817
- * config/i386/i386.c (ix86_return_in_memory): Return true
- if int_size_in_bytes returns negative for IA MCU.
-
-2015-07-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66718
- * Makefile.in (OBJS): Add gimple-laddress.o.
- * passes.def: Schedule pass_laddress.
- * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
- * tree-pass.h (make_pass_laddress): Declare.
- * gimple-laddress.c: New file.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
-
-2015-07-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66807
- * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
-
-2015-07-08 Kito Cheng <kito.cheng@gmail.com>
-
- * function.c (stack_protect_epilogue): Use if rather than switch for
- check targetm.have_stack_protect_test.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
- * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
- * config/arc/arc.h: Likewise.
- * config/arm/arm.h: Likewise.
- * config/bfin/bfin.h: Likewise.
- * config/epiphany/epiphany.h: Likewise.
- * config/frv/frv.h: Likewise.
- * config/ia64/ia64.h: Likewise.
- * config/iq2000/iq2000.h: Likewise.
- * config/lm32/lm32.h: Likewise.
- * config/m32r/m32r.h: Likewise.
- * config/mcore/mcore.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/microblaze/microblaze.h: Likewise.
- * config/mips/mips.h: Likewise.
- * config/mmix/mmix.h: Likewise.
- * config/mn10300/mn10300.h: Likewise.
- * config/nds32/nds32.h: Likewise.
- * config/nios2/nios2.h: Likewise.
- * config/pa/pa.h: Likewise.
- * config/rl78/rl78.h: Likewise.
- * config/sh/sh.h: Likewise.
- * config/sparc/sparc.h: Likewise.
- * config/stormy16/stormy16.h: Likewise.
- * config/tilegx/tilegx.h: Likewise.
- * config/tilepro/tilepro.h: Likewise.
- * config/v850/v850.h: Likewise.
- * config/xtensa/xtensa.h: Likewise.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * combine.c (simplify_set): Likewise.
- (simplify_comparison): Likewise.
- * expr.c (store_constructor): Likewise.
- * internal-fn.c (expand_arith_overflow): Likewise.
- * reload.c (push_reload): Likewise.
- (find_reloads): Likewise.
- (find_reloads_subreg_address): Likewise.
- * reload1.c (eliminate_regs_1): Likewise.
- * rtlanal.c (nonzero_bits1): Likewise.
- (num_sign_bit_copies1): Likewise.
- * simplify-rtx.c (simplify_truncation): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
- of AUTO_INC_DEC with the preprocessor.
- * combine.c (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- * emit-rtl.c (try_split): Likewise.
- * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
- * lower-subreg.c (resolve_simple_move): Likewise.
- * lra.c (update_inc_notes): Likewise.
- * recog.c (asm_operand_ok): Likewise.
- (constrain_operands): Likewise.
- * regrename.c (scan_rtx_address): Likewise.
- * reload.c (update_auto_inc_notes): Likewise.
- (reg_inc_found_and_valid_p): Likewise.
- * reload1.c (reload): Likewise.
- (emit_input_reload_insns): Likewise.
- (delete_output_reload): Likewise.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Always define AUTO_INC_DEC.
- * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
- * combine.c (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- * emit-rtl.c (try_split): Likewise.
- * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
- * lower-subreg.c (resolve_simple_move): Likewise.
- * lra.c (update_inc_notes): Likewise.
- * recog.c (asm_operand_ok): Likewise.
- (constrain_operands): Likewise.
- * regrename.c (scan_rtx_address): Likewise.
- * reload.c (update_auto_inc_notes): Likewise.
- (find_equiv_reg): Likewise.
- * reload1.c (reload): Likewise.
- (reload_as_needed): Likewise.
- (choose_reload_regs): Likewise.
- (emit_input_reload_insns): Likewise.
- (delete_output_reload): Likewise.
- * sched-deps.c (init_insn_reg_pressure_info): Likewise.
- * valtrack.c (cleanup_auto_inc_dec): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (can_combine_def_p): Don't check the value of
- HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
- (combinable_i3pat): Likewise.
- (mark_used_regs_combine): Likewise.
- * regrename.c (rename_chains): Likewise.
- * reload.c (find_reloads_address): Likewise.
- * sel-sched.c (mark_unavailable_hard_regs): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (update_rsp_from_reg_equal): Don't check if
- SHORT_IMMEDIATES_SIGN_EXTEND is defined.
- (reg_nonzero_bits_for_combine): Likewise.
- * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
- 1.
- * config/frv/frv.h: Likewise.
- * config/lm32/lm32.h: Likewise.
- * config/mep/mep.h: Likewise.
- * config/mips/mips.h: Likewise.
- * config/rs6000/rs6000.h: Likewise.
- * config/sh/sh.h: Likewise.
- * config/tilegx/tilegx.h (enum reg_class): Likewise.
- * config/tilepro/tilepro.h: Likewise.
- * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Adjust.
- * rtlanal.c (nonzero_bits1): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
- with the preprocessor.
- (combine_instructions): Likewise.
- (try_combine): Likewise.
- (subst): Likewise.
- (distribute_notes): Likewise.
-
-2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
- defined.
- (simplify_set): Likewise.
- * cse.c (cse_insn): Likewise.
- * fold-const.c (fold_single_bit_test): Likewise.
- (fold_unary_loc): Likewise.
- * postreload.c (reload_cse_simplify_set): Likewise.
- (reload_cse_simplify_operands): Likewise.
-
-2015-07-08 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
- (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66746
- * config/i386/x86intrin.h: Include <adxintrin.h> even if
- __iamcu__ is defined.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
-
-2015-07-08 Iain Sandoe <iain@codesourcery.com>
-
- PR target/66523
- * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
- names from preservation.
-
-2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66806
- * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
- change for IAMCU.
- (function_arg_advance_32): Don't pass vectors in registers for
- IAMCU.
- (function_arg_32): Likewise.
- (ix86_return_in_memory): Don't return vectors in registers for
- IAMCU.
-
-2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
-
- PR middle-end/66334
- * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
- hard regno live at the start of BB with incoming abnormal edges.
- * lra-lives.c (process_bb_lives): Ditto.
-
-2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65099
- * config/nvptx/mkoffload.c (main): Create an offload image only in
- 64-bit configurations.
-
-2015-07-08 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/66744
- * tree-sra.c (create_access_1): Call ctor without brackets.
- (create_artificial_child_access): Likewise.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66793
- * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
- Properly split the block after stmts ending it.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66794
- * passes.c (execute_function_todo): Assert that post-dominators
- are not computed.
- * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
- Free post-dominators.
-
-2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_init_frame_layout): Replace assertion
- with early exit.
-
-2015-07-08 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
- more than or equal 8 and less than 32 when optimizing for size.
-
-2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
- COSTS_N_INSNS (1) and increment it appropriately throughout the
- function.
-
-2015-07-08 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_widened_comparison): Fix inverted comparison.
-
-2015-07-08 Alan Modra <amodra@gmail.com>
-
- * target.def (rtx_costs): Remove "code" param, add "mode".
- * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
- (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
- (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
- * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
- call. Track mode when given in rtx.
- (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
- (default_address_cost): Pass Pmode to rtx_cost.
- (insn_rtx_cost): Pass dest mode of set to set_src_cost.
- * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
- with NULL set.
- * cse.c (COST, COST_IN): Add MODE param. Update all uses.
- (notreg_cost): Add mode param. Use it.
- * gcse.c (want_to_gcse_p): Delete forward declaration. Add
- mode param and pass to set_src_cost. Update all calls.
- (hash_scan_set): Formatting.
- * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
- (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
- * hooks.h: Ditto.
- * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
- init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
- emit_store_flag): Update set_src_cost and rtx_cost calls.
- * auto-inc-dec.c (attempt_change): Likewise.
- * calls.c (precompute_register_parameters): Likewise.
- * combine.c (expand_compound_operation, make_extraction,
- force_to_mode, distribute_and_simplify_rtx): Likewise.
- * dojump.c (prefer_and_bit_test): Likewise.
- * dse.c (find_shift_sequence): Likewise.
- * expr.c (compress_float_constant): Likewise.
- * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
- * ifcvt.c (noce_try_sign_mask): Likewise.
- * loop-doloop.c (doloop_optimize): Likewise.
- * loop-invariant.c (create_new_invariant): Likewise.
- * lower-subreg.c (shift_cost, compute_costs): Likewise.
- * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
- lshift_cheap_p): Likewise.
- * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
- try_replace_in_use, reload_cse_move2add): Likewise.
- * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
- Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
- * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
- * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
- * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
- add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
- to rtx_cost calls.
- * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
- * config/arc/arc.c (arc_rtx_costs): Likewise.
- * config/arm/arm.c (arm_rtx_costs): Likewise.
- * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
- * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
- * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
- * config/cris/cris.c (cris_rtx_costs): Likewise.
- * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
- * config/frv/frv.c (frv_rtx_costs): Likewise.
- * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
- * config/i386/i386.c (ix86_rtx_costs): Likewise.
- * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
- * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
- * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
- * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
- * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
- * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
- * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
- * config/mep/mep.c (mep_rtx_cost): Likewise.
- * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
- * config/mips/mips.c (mips_rtx_costs): Likewise.
- * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
- * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
- * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
- * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
- * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
- * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
- * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
- * config/pa/pa.c (hppa_rtx_costs): Likewise.
- * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
- * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
- * config/s390/s390.c (s390_rtx_costs): Likewise.
- * config/sh/sh.c (sh_rtx_costs): Likewise.
- * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
- * config/spu/spu.c (spu_rtx_costs): Likewise.
- * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
- * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
- * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
- * config/v850/v850.c (v850_rtx_costs): Likewise.
- * config/vax/vax.c (vax_rtx_costs): Likewise.
- * config/visium/visium.c (visium_rtx_costs): Likewise.
- * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
- "code" param, and pass as outer_code to first rtx_cost call. Pass
- mode to rtx_cost calls.
- (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
- calls.
- (aarch64_rtx_costs_wrapper): Update.
- * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
- arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
- rtx_cost calls.
- * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
- and rtx_cost calls.
- (avr_operand_rtx_cost): Similarly.
- (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
- for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
- * config/mips/mips.c (mips_stack_address_p): Comment typo.
- (mips_binary_cost): Update rtx_cost and set_src_cost calls.
- (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
- * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
- rtx_cost.
- (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
- * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
- * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
- * doc/tm.texi: Regenerate.
-
-2015-07-07 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h: Include symtab.h.
- * rtl.h: Include hard-reg-set.h but not flags.h.
- (HARD_CONST): Remove condition compilation involving HARD_CONST since
- hard-reg-set.h is always included.
- * regs.h: Don't include hard-reg-set.h or rtl.h.
- * cfg.h: Include dominance.h.
- * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
- * backend.h: New. Aggregate commonly used backend header files.
- * gimple-ssa.h: Don't include tree-hasher.h.
- * ssa.h: New. Aggregate commonly used SSA header files.
- * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
- * sel-sched-ir.h: Flatten includes.
- * lra-int.h: Flatten completely.
- * sel-sched-dump.h: Flatten includes.
- * ira-int.h: Flatten includes.
- * gimple-streamer.h: Remove all includes.
- * cfgloop.h: Remove all #includes except cfgloopmanip.h.
- * resource.h: Flatten hard-reg-set.h and df.h.
- * sched-int.h: Flatten insn-arrt.h and df.h.
- * valtrack.h: flatten bitmap.h, df.h, and rtl.h
- * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
- * genattrtab.c (write_header): Adjust generated includes.
- * genautomata.c (main): Likewise.
- * genconditions.c (write-header): Likewise.
- * genemit.c (main): Likewise.
- * gengtype.c (open_base_files): Likewise.
- * genopinit.c (main): Likewise.
- * genoutput.c (output_prologue): Likewise.
- * genpeep.c (main): Likewise.
- * genpreds.c (write_insn_preds_c): Likewise.
- * genrecog.c (write_header): Likewise.
- * alias.c: Adjust includes.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse-common.c: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-07-07 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
- Remove operand constraints. Change operand 2 predicate to
- nonmemory operand. Limit const_int values to mode bitsize. Only
- allow const_int values less than 32 when optimizing for size.
- (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
- Remove operand constraints.
- (*bt<mode>): Use SImode for const_int values less than 32.
- (regmode): Remove mode attribute.
-
-2015-07-07 Anatoly Sokolov <aesok@post.ru>
-
- * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
- * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
- moxie_legitimate_address_p): New functions.
- (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
-
-2015-07-07 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66642
- * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
- header comment. Rename split_edge variable to edge_at_split. Split
- exit edge to create new loop exit bb. Insert loop exit phis in new
- loop exit bb.
-
-2015-07-07 Tom de Vries <tom@codesourcery.com>
-
- * tree-cfg.c (get_virtual_phi): New function.
- * tree-cfg.h (get_virtual_phi): Declare.
- * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
- (rewrite_virtuals_into_loop_closed_ssa): New function.
- * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
- Declare.
- * tree-parloops.c (replace_uses_in_bbs_by): Remove.
- (transform_to_exit_first_loop_alt): Use
- rewrite_virtuals_into_loop_closed_ssa.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move
- (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
- * match.pd: ... here.
- Add (X * C1) % C2 -> 0 simplification pattern derived from
- extract_muldiv_1.
-
-2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66780
- * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
- change for target/65249.
-
-2015-07-07 Paulo Matos <pmatos@broadcom.com>
-
- * symtab.c (address_matters_1): Fix typo in comment above.
- (can_increase_alignment_p): Likewise.
-
-2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * function.c (free_after_compilation): Clear PROP_cfg in
- f->curr_properties.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
- add which use to.
- (add_control_edge): Remove excessive vertical space in dumping.
- (process_ssa_edge_worklist): Simulate at most one statement and
- return whether we did. Do not simulate PHIs if they are in a
- BB not yet simulated.
- (ssa_propagate): Adjust to always drain the BB worklist whenever
- a BB is available there, likewise the VARYING edges list before
- the interesting edge list.
-
-2015-07-07 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
-
-2015-07-07 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66739
- * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
- A - B.
-
-2015-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
- modes for operands 0 and 3. Use SImode for operands 2 and 3.
- Copy operand 0 to a temporary if !ext_register_operand. Remove
- ancient extract_bit_field workaround.
- (insv<mode>_1): Rename from mov<mode>_insv_1.
- (*insvqi): Rename from *movqi_insv_2.
- * config/i386/i386.c (emit_i386_cw_initialization): Update calls
- for renamed insvsi_1.
- (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
-
-2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
- call to nvptx_reorg_subreg.
-
-2015-07-06 Jim Wilson <jim.wilson@linaro.org>
-
- * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
- * graphite-dependencies.c, graphite-interchange.c,
- graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
- graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
- Likewise.
-
-2015-07-06 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd: Remove element_mode inside HONOR_*.
- (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
- (~X | X -> -1, ~X ^ X -> -1): Merge.
- * tree.c (build_each_one_cst): New function.
- * tree.h (build_each_one_cst): Likewise.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/i386-c.c (ix86_target_macros_internal): Handle
- PROCESSOR_IAMCU.
-
-2015-07-06 Steve Ellcey <sellcey@imgtec.com>
-
- * config.gcc <mips*-*-*>: Add fused-madd.opt.
- * config/mips/mips.opt (mfused-madd): Remove.
- * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
- * config/mips/mips.h (TARGET_MIPS8000): New.
- (ISA_HAS_FP_MADD4_MSUB4): Remove.
- (ISA_HAS_FP_MADDF_MSUBF): Remove.
- (ISA_HAS_FP_MADD3_MSUB3): Remove.
- (ISA_HAS_NMADD4_NMSUB4): Remove.
- (ISA_HAS_NMADD3_NMSUB3): Remove.
- (ISA_HAS_FUSED_MADD4): New.
- (ISA_HAS_UNFUSED_MADD4): New.
- (ISA_HAS_FUSED_MADDF): New.
- (ISA_HAS_FUSED_MADD3): New.
- * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
- (*fma<mode>4_madd3) New.
- (*fma<mode>4_madd4) New.
- (*fma<mode>4_maddf) New.
- (fms<mode>4) New.
- (*fms<mode>4_msub3) New.
- (*fms<mode>4_msub4) New.
- (fnma<mode>4) New.
- (*fnma<mode>4_nmadd3) New.
- (*fnma<mode>4_nmadd4) New.
- (fnms<mode>4) New.
- (*fnms<mode>4_nmsub3) New.
- (*fnms<mode>4_nmsub4) New.
- (*madd4<mode>) Modify to be unfused only.
- (*msub4<mode>) Modify to be unfused only.
- (*nmadd4<mode>) Modify to be unfused only.
- (*nmsub4<mode>) Modify to be unfused only.
- (*madd3<mode>) Remove.
- (*msub3<mode>) Remove.
- (*nmadd3<mode>) Remove.
- (*nmsub3<mode>) Remove.
- (*nmadd3<mode>_fastmath) Remove.
- (*nmsub3<mode>_fastmath) Remove.
- (*nmadd4<mode>_fastmath) Update condition.
- (*nmsub4<mode>_fastmath) Update condition.
-
-2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/65956
- * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
- alignment attribute, exploring one level down for records and arrays.
-
-2015-07-06 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
- modes for operands 0 and 1. Use SImode for operands 2 and 3.
- Copy operand 1 to a temporary if !ext_register_operand. Remove
- ancient extract_bit_field workaround.
- (*extv<mode>): Rename from *mov<mode>_extv_1.
- (*extvqi): Rename from *movqi_extv_1.
- (extzv<mode>): Rename from extzv. Use SWI248 modes for
- operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
- to a temporary if !ext_register_operand. Remove ancient
- extract_bit_field workaround.
- (*extzv<mode>): Rename from *mov<mode>_extzv_1.
- (*extzvqi): Rename from *movqi_extzv_2.
- (*testqi_ext_3): Remove modes from const_int_operand predicated
- operands. Add "n" constraint.
- (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
- operand. Add "J" constraint.
- (*btsq, *btrq, *btcq peephole2s): Remove mode from
- const_0_to_63 predicated operand.
- (regmode): New insn attribute.
- (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
- to nonmemory_operand. Use regmode insn attribute.
- (*jcc_bt<mode>_1): Convert operand 2 to SImode.
- (*jcc_bt<mode>_mask): Remove mode from operand 3.
- (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
- (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
- operands. Use "N" constraint instead of "n".
-
-2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66749
- * config/i386/i386.c (iamcu_cost): New.
- (m_IAMCU): Likewise.
- (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
- (processor_target_table): Add an entry for "iamcu".
- (processor_alias_table): Likewise.
- (ix86_issue_rate): Handle PROCESSOR_IAMCU.
- (ix86_adjust_cost): Likewise.
- (ia32_multipass_dfa_lookahead): Likewise.
- * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
- * config/i386/x86-tune.def: Updated for m_IAMCU.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66772
- * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
- values are available in the PHI node BB when there are
- still unexecutable edges.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66767
- * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
- Make sure to build the alignment test on a SSA name without
- final alignment info valid only if the alignment test
- evaluates to true.
-
-2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
-
- PR target/66620
- * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
- loop start when inserting LSETUP.
-
-2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/53383
- * config/i386/i386.c (ix86_option_override_internal): Allow
- -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
-
-2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * read-md.c (decimal_string): Rename to ...
- (md_decimal_string): ... this.
- (handle_enum): Reflect this.
-
-2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66731
- * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
-
-2015-07-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66759
- * match.pd: Add missing constraint of y to REAL_CST in
- REAL_CST - x CMP y to y - CST CMP x simplification.
-
-2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR tree-optimization/66757
- * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
-
-2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
- Delete extern declaration.
- (gprel_constant_p): Add extern declaration.
- * config/nios2/constraints.md ("S"): Use gprel_constant_p
- instead of nios2_symbol_ref_in_small_data_p.
- * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
- (nios2_symbol_ref_in_small_data_p): Make static.
- (gprel_constant_p): Make non-static.
-
-2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/fragments.texi (Target Fragment): Convert debian.org
- link to use https.
- * doc/install.texi (Configuration): Ditto.
-
-2015-07-05 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (vectorizable_call): Replace uses of
- GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
-
- PR tree-optimization/66718
- * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
- vectorizable_load, vectorizable_condition): Move vectype,
- nunits, ncopies computation after checking what kind of statement
- stmt is.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (extv, extzv, insv): New targetm instruction
- patterns.
- * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
- interface.
- * recog.c (simplify_while_replacing): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (doloop_begin, doloop_end): New targetm
- instruction patterns.
- * loop-init.c: Include target.h.
- (pass_loop2::gate): Use the new targetm patterns instead of
- HAVE_*/gen_* interface.
- (pass_rtl_doloop::gate): Likewise.
- (pass_rtl_doloop::execute): Remove preprocessor condition.
- * hw-doloop.c: Build unconditionally.
- * loop-doloop.c: Likewise.
- (doloop_optimize): Use the new targetm patterns instead of
- HAVE_*/gen_* interface.
- (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
- * modulo-sched.c (doloop_register_get): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (clear_cache): New targetm instruction pattern.
- * builtins.c (expand_builtin___clear_cache): Use it instead of
- HAVE_*/gen_* interface.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (allocate_stack, check_stack, probe_stack)
- (probe_stack_address, split_stack_prologue, split_stack_space_check):
- New targetm instruction patterns.
- * explow.c (allocate_dynamic_stack_space): Use them instead of
- HAVE_*/gen_* interface.
- (emit_stack_probe): Likewise.
- (probe_stack_range): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (stack_protect_set, stack_protect_test): New
- targetm instruction patterns.
- * cfgexpand.c (stack_protect_prologue): Use them instead of
- HAVE_*/gen_* interface.
- * function.c (stack_protect_epilogue): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * expr.h (gen_move_insn_uncast): Delete.
- * expr.c (gen_move_insn_uncast): Delete.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (restore_stack_block, restore_stack_function)
- (restore_stack_nonlocal, save_stack_block, save_stack_function)
- (save_stack_nonlocal): New targetm instruction patterns.
- * builtins.c (expand_builtin_apply): Use them instead of
- HAVE_*/gen_* interface.
- * explow.c (emit_stack_save, emit_stack_restore): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (trap): New targetm instruction pattern.
- * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
- interface.
- * explow.c (allocate_dynamic_stack_space): Likewise.
- * ifcvt.c (find_if_header): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (prefetch): New targetm instruction pattern.
- * tree-ssa-loop-prefetch.c: Include targeth.
- (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
- of HAVE_*/gen_* interface.
- * builtins.c (expand_builtin_prefetch): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (untyped_call, untyped_return): New targetm
- instruction patterns.
- * builtins.c (expand_builtin_apply): Use them instead of
- HAVE_*/gen_* interface.
- (result_vector): Define unconditionally.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
- (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
- (nonlocal_goto_receiver): New targetm instruction patterns.
- * builtins.c (expand_builtin_setjmp_setup): Use them instead
- of HAVE_*/gen_* interface.
- (expand_builtin_setjmp_receiver): Likewise.
- (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
- * except.c (expand_dw2_landing_pad_for_region): Likewise.
-
-2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
-
- * target.def: Add code_for_* hooks.
- * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
- * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
- * target-insns.def (casesi, tablejump): New targetm instruction
- patterns.
- * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
- (do_tablejump): Likewise.
- * stmt.c (expand_switch_as_decision_tree_p): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
- * targhooks.c (default_case_values_threshold): Likewise.
-
-2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
- Use rtx_insn * instead of rtx.
- (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
- (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
- (nios2_call_tls_get_addr): Likewise.
- (nios2_emit_expensive_div): Likewise.
- (nios2_emit_move_sequence): Change return type to bool.
- * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
- Change return type to bool.
-
-2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/66747
- * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
-
-2015-07-04 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/66114
- * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
- of register_operand. Remove constraint.
-
-2015-07-04 Marc Glisse <marc.glisse@inria.fr>
-
- * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
- the first argument.
-
-2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
-
- * attribs.c (decl_attributes): Guard inform with the return value
- of the preceding warning.
-
-2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/invoke.texi (moverride): Move to correct section.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
- Copy from tree.c
- (dt_operand::gen_gimple_expr): After valueizing operands
- re-canonicalize operand order for commutative tree codes.
-
-2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66746.
- * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
- is defined.
- (__crc32w): Likewise.
- (__crc32d): Likewise.
- (__rdpmc): Likewise.
- (__rdtscp): Likewise.
- (_rdpmc): Likewise.
- (_rdtscp): Likewise.
- * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
- is defined.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_mathfn_compare): Remove.
- (fold_inf_compare): Likewise.
- (fold_comparison): Move floating point comparison simplifications...
- * match.pd: ... to patterns here. Introduce simple_comparisons
- operator list and use it for patterns formerly in fold_comparison.
-
-2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
-
- PR tree-optimization/66119
- * toplev.c (process_options): Don't set up default values for
- the sra_max_scalarization_size_{speed,size} parameters.
- * tree-sra (analyze_all_variable_accesses): If no values
- have been set for the sra_max_scalarization_size_{speed,size}
- parameters, call get_move_ratio to get target defaults.
-
-2015-07-03 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
- * match.pd: ... here.
-
-2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
-
- PR target/37072
- * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
- is not actually the default on FreeBSD.
-
-2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
- definition.
- (CMPGE_8HI): Likewise.
- (CMPGE_4SI): Likewise.
- (CMPGE_2DI): Likewise.
- (CMPGE_U16QI): Likewise.
- (CMPGE_U8HI): Likewise.
- (CMPGE_U4SI): Likewise.
- (CMPGE_U2DI): Likewise.
- (CMPLE_16QI): Likewise.
- (CMPLE_8HI): Likewise.
- (CMPLE_4SI): Likewise.
- (CMPLE_2DI): Likewise.
- (CMPLE_U16QI): Likewise.
- (CMPLE_U8HI): Likewise.
- (CMPLE_U4SI): Likewise.
- (CMPLE_U2DI): Likewise.
- * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
- overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
- ALTIVEC_BUILTIN_VEC_CMPLE.
- * config/rs6000/vector.md (vector_ge<mode>): Restrict to
- floating-point vector modes.
- (vector_nlt<mode>): New define_expand.
- (vector_nltu<mode>): Likewise.
- (vector_ngt<mode>): Likewise.
- (vector_ngtu<mode>): Likewise.
-
-2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/66706
- * combine.c (make_compound_operation): If an AND of SUBREG of
- LSHIFTRT does not simplify, see if just the AND of SUBREG does.
-
-2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
-
- * tree-pass.h (make_pass_ch_vect): New.
- * passes.def: Add pass_ch_vect just before pass_if_conversion.
-
- * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
- pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
- make_pass_ch_vect): New.
- (pass_ch): Extend ch_base.
-
- (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
- (ch_base::copy_headers): ...here.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
- * fold-const.c (get_pointer_modulus_and_residue): Remove.
- (fold_binary_loc): Implement (T)ptr & CST in terms of
- get_pointer_alignment_1.
- * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
- Make sure to build the alignment test on a SSA name without
- final alignment info valid only after the prologue.
-
-2015-07-02 Hans-Peter Nilsson <hp@axis.com>
-
- * config/cris/cris.md ("epilogue"): Remove condition.
- ("prologue"): Ditto.
-
-2015-07-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (build_and_record_new_cond): Add optional
- parameter to record a condition that is false.
- (record_conditions): When recording an extra NE_EXPR that is
- true also record a EQ_EXPR that is false.
-
-2015-07-02 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
- (tree_ssa_iv_optimize_init): Initialize iv_obstack.
- (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
- (set_iv, find_interesting_uses_address, add_candidate_1): New
- argument to alloc_iv.
- (find_interesting_uses_op, find_interesting_uses_cond): Don't
- duplicate struct iv.
- (free_loop_data): Don't free struct iv explicitly.
- (tree_ssa_iv_optimize_finalize): Free iv_obstack.
-
-2015-07-01 DJ Delorie <dj@redhat.com>
-
- * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
- (LIB_SPEC): Add.
- (SUPPORTS_DISCRIMINATOR): Define.
-
-2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/66685
- * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
- there are no CALLs in the same pattern.
-
-2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/61047
- * rtlanal.c (get_initial_register_offset): New function.
- (rtx_addr_can_trap_p_1): Check offsets of stack references.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
- X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
- ~X CMP C -> X CMP' ~C to ...
- * match.pd: ... patterns here.
-
-2015-07-01 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
- a 16-bit value into a 20-bit memory slot.
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * doc/sourcebuild.texi (AArch64-specific attributes): Document
- "aarch64_tiny", "aarch64_small", "aarch64_large",
- "aarch64_little_endian", "aarch64_big_endian".
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
- Document "aarch64_small_fpic".
-
-2015-07-01 Jiong Wang <jiong.wang@arm.com>
-
- * configure.ac: Add check for aarch64 assembler -fpic relocation
- modifier support.
- * configure: Regenerate.
- * config.in: Regenerate.
- * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
- to -fPIC if not support of -fpic relocation modifier in assembler.
-
-2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
-
- PR bootstrap/66685
- * rtl.c (classify_insn): Handle returns in PARALLELs.
-
-2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/66633
- * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
- to true if the function is nested and if not optimizing.
- (convert_local_omp_clauses): Initialize need_frame to true if the
- function contains nested functions and if not optimizing.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
- (X & Y) ^ Y -> ~X & Y transforms to ...
- * match.pd: ... here.
-
-2015-07-01 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (expr::gen_transform): Shortcut re-simplifying
- of converts to avoid uninteresting noise from the conversion
- simplifying patterns.
-
-2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/c6x/c6x.c (try_rename_operands): Do not depend on
- gcc_assert evaluating its argument for side-effect.
-
-2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64833
- * config/sh/sh.md (casesi_worker_1): Set length to 8 when
- flag_pic is set.
-
-2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (class DFS): Adjust hash_scc method.
- (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
- (hash_scc): Add this_ref_p and ref_p parameters and pass them
- to the inner DFS walk.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * target-insns.def (jump): New targetm instruction pattern.
- * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
- instead of gen_jump.
- (fix_up_crossing_landing_pad): Likewise.
- (add_labels_and_missing_jumps): Likewise.
- (fix_crossing_conditional_branches): Likewise.
- * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- * cse.c (cse_insn): Likewise.
- * expmed.c (expand_divmod): Likewise.
- * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
- * haifa-sched.c (init_before_recovery): Likewise.
- (sched_create_recovery_edges): Likewise.
- * ifcvt.c (find_cond_trap): Likewise.
- * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
- (expand_float, expand_fix): Likewise.
- * stmt.c (emit_jump): Likewise.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_load_multiple, gen_load_multiple)
- (HAVE_store_multiple, gen_store_multiple): Delete.
- * target-insns.def (load_multiple, store_multiple): New targetm
- instruction patterns.
- * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
- of HAVE_*/gen_* interface.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
- (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
- (gen_mem_signal_fence): Delete.
- * target-insns.def (mem_signal_fence, mem_thread_fence)
- (memory_barrier): New targetm instruction patterns.
- * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
- interface.
- (expand_mem_signal_fence): Likewise.
-
-2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
- * target-insns.def (epilogue, prologue, sibcall_prologue): New
- targetm instruction patterns.
- * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
- interface.
- * calls.c (expand_call): Likewise.
- * cfgrtl.c (cfg_layout_finalize): Likewise.
- * df-scan.c (df_get_entry_block_def_set): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
- * final.c (final_start_function): Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- (reposition_prologue_and_epilogue_notes): Likewise.
- * reorg.c (find_end_label): Likewise.
- * toplev.c (process_options): Likewise.
-
-2015-06-30 David Malcolm <dmalcolm@redhat.com>
-
- * typed-splay-tree.h: New file.
-
-2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR debug/66691
- * lra-int.h (lra_substitute_pseudo): Add a parameter.
- (lra_substitute_pseudo_within_insn): Ditto.
- * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
- of constant.
- (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
- to lra_substitute_pseudo.
- * lra-lives.c (process_bb_lives): Add an argument to
- lra_substitute_pseudo_within_insn call.
- * lra-constraints.c (inherit_reload_reg, split_reg): Add an
- argument to lra_substitute_pseudo and
- lra_substitute_pseudo_within_insn calls.
- (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
-
-2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure: Regenerated.
-
-2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
-
- * config.gcc: Support i[34567]86-*-elfiamcu target.
- * config/i386/iamcu.h: New.
- * config/i386/i386.opt: Add -miamcu.
- * doc/invoke.texi: Document -miamcu.
- * common/config/i386/i386-common.c (ix86_handle_option): Turn
- off x87/MMX/SSE/AVX codegen for -miamcu.
- * config/i386/i386-c.c (ix86_target_macros_internal): Define
- __iamcu/__iamcu__ for -miamcu.
- * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
- to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
- (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
- * config/i386/i386.c (ix86_option_override_internal): Ignore and
- warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
- MCU by default. Default long double to 64-bit for Intel MCU.
- Turn on -freg-struct-return for Intel MCU. Issue an error when
- -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
- AVX is turned on.
- (function_arg_advance_32): Pass value whose size is no larger
- than 8 bytes in registers for Intel MCU.
- (function_arg_32): Likewise.
- (ix86_return_in_memory): Return value whose size is no larger
- than 8 bytes in registers for Intel MCU.
- (iamcu_alignment): New function.
- (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
- true.
- (ix86_local_alignment): Don't increase alignment for Intel MCU.
- (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
- true.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
- both operands of the resulting expression.
-
- * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
- the final expression with the operand's type and then convert
- it to the type of the expression.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
- ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
- (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
- * match.pd: ... to patterns here.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66704
- * tree-vect-data-refs.c (vect_setup_realignment): Use
- make_ssa_name for non-SSA name source.
-
-2015-06-30 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66702
- * omp-low.c (simd_clone_adjust): Handle addressable linear
- or uniform parameters or non-gimple type uniform parameters.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
- ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
- ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
- * match.pd: ... here.
- Add a few cases of A - B -> A + (-B) when B "easily" negates.
- Move (x & y) | x -> x and friends before
- (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
-
-2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/leon.md (leon_load): Enable for all LEON variants if
- -mfix-ut699 is not specified.
- (leon3_load): Rename into...
- (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
- is specified.
-
-2015-06-30 Marek Polacek <polacek@redhat.com>
-
- * fold-const.c (fold_binary_loc): Move ~X | X folding ...
- * match.pd: ... here.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * target-insns.def (canonicalize_funcptr_for_compare): Add.
- * fold-const.c (build_range_check): Replace uses of
- HAVE_canonicalize_funcptr_for_compare.
- (fold_widened_comparison): Likewise.
- (fold_sign_changed_comparison): Likewise.
- * dojump.c: Include "target.h".
- (do_compare_and_jump): Replace uses of
- HAVE_canonicalize_funcptr_for_compare and
- gen_canonicalize_funcptr_for_compare.
- * expr.c (do_store_flag): Likewise.
-
-2015-06-30 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66652
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
- max_loop_iterations to determine if nit + 1 overflows.
-
-2015-06-30 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (register_edge_assert_for_2): Also register
- asserts for dominating conversion results.
-
-2015-06-30 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
- field in struct iv.
-
-2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
-
- PR target/66509
- * configure.ac: Fix filds and fildq test for 64-bit.
- * configure: Regenerated.
-
-2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
- (nvptx_reorg): Here. Keep the non-subreg pieces.
-
-2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
- PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
-
-2015-06-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*jcc_1): Use %! in asm template.
- Set attribute "length_nobnd" instead of "length".
- (*jcc_2): Ditto.
- (jump): Ditto.
- (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
-
-2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_delegitimize_address): Make
- assert less restrictive.
-
-2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/66605
- * cgraphunit.c (cgraph_node::finalize_function): Do not call
- do_warn_unused_parameter.
- * function.c (do_warn_unused_parameter): Move from here.
- * function.h (do_warn_unused_parameter): Do not declare.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * gcc.target/arm/armv-sync-comp-swap.c: New.
- * gcc.target/arm/armv-sync-op-acquire.c: New.
- * gcc.target/arm/armv-sync-op-full.c: New.
- * gcc.target/arm/armv-sync-op-release.c: New.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
- initial acquire barrier with final barrier.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
- initial acquire barrier with final barrier.
-
-2015-06-29 Richard Henderson <rth@redhat.com>
-
- * config/i386/constraints.md (Bf): New constraint.
- * config/i386/i386-c.c (ix86_target_macros): Define
- __GCC_ASM_FLAG_OUTPUTS__.
- * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
- as flags outputs.
- * doc/extend.texi (FlagOutputOperands): Document them.
-
-2015-06-29 Jiong Wang <jiong.wang@arm.com>
-
- * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
- * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
- unspec name.
- (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
- * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
- SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
- (aarch64_symbol_context): Ditto.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
- and use new pattern name.
- (aarch64_expand_mov_immediate): Ditto.
- (aarch64_print_operand): Ditto.
- (aarch64_classify_tls_symbol): Ditto.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
- Marc Glisse <marc.glisse@inria.fr>
-
- * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
- * match.pd: ... pattern here.
-
-2015-06-29 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
- function structure.
-
-2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
- feature description, split out the native option, add a link to
- the feature documentation, rearrange and slightly rewrite text.
- (Aarch64 options, -mcpu): Likewise.
- (Aarch64 options, Feature Modifiers): Add an anchor. Mention
- +rdma implies Adv. SIMD.
-
-2015-06-29 Marek Polacek <polacek@redhat.com>
-
- PR c/66322
- * function.c (stack_protect_epilogue): Remove a cast to int.
- * doc/invoke.texi: Update -Wswitch-bool description.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
- * fold-const.c (fold_binary_loc): Move &A - &B simplification
- via ptr_difference_const ...
- * match.pd: ... here.
- When matching (X ^ Y) == Y also match with swapped operands.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- * lto-streamer.h (LTO_major_version): Bump to 5.
-
-2015-06-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66677
- * tree-vect-stmts.c (vect_transform_stmt): Make assert about
- STMT_VINFO_VEC_STMT clobbering less strict.
-
-2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- PR middle-end/64130
- * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
- division, compute max and min when value ranges for dividend and
- divisor are available.
-
-2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * regrename.h (regrename_do_replace): Change to return bool.
- * regrename.c (rename_chains): Check return value of
- regname_do_replace.
- (regrename_do_replace): Re-validate the modified insns and
- return bool status.
- * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
- Update to match rename_chains changes.
- * config/c6x/c6x.c (try_rename_operands): Assert that
- regrename_do_replace returns true.
-
-2015-06-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
- operand 2 here. Use copy_addr_to_reg to copy non-index
- register operand 2 to a temporary.
- (<mode>_stx): Ditto for operand 1.
- (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
- * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
- (ix86_store_bounds): Ditto.
-
-2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
-
- * print-tree.c (print_node) [TREE_VEC]: Print its length.
-
-2015-06-26 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple.c (gimple_call_set_fndecl): Remove.
- * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
- build1_loc directly instead of build_fold_addr_expr_loc.
-
-2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map.h (hash_map::traverse): Use the definition of the
- Key typedef rather than the typedef itself.
-
-2015-06-26 Martin Jambor <mjambor@suse.cz>
-
- PR debug/66301
- * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
- NULL instead of calling dump_enabled_p.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.opt: (override): New.
- * doc/invoke.texi (override): Document.
- * config/aarch64/aarch64.c (aarch64_flag_desc): New
- (aarch64_fusible_pairs): Likewise.
- (aarch64_tuning_flags): Likewise.
- (aarch64_tuning_override_function): Likewise.
- (aarch64_tuning_override_functions): Likewise.
- (aarch64_parse_one_option_token): Likewise.
- (aarch64_parse_boolean_options): Likewise.
- (aarch64_parse_fuse_string): Likewise.
- (aarch64_parse_tune_string): Likewise.
- (aarch64_parse_one_override_token): Likewise.
- (aarch64_parse_override_string): Likewise.
- (aarch64_override_options): Parse the -override string if it
- is present.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Remove
- const from members.
- (aarch64_tune_params): Remove const, change to no longer be
- a pointer.
- * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
- change to no longer be a pointer, initialize to generic_tunings.
- (aarch64_min_divisions_for_recip_mul): Change dereference of
- aarch64_tune_params to member access.
- (aarch64_reassociation_width): Likewise.
- (aarch64_rtx_mult_cost): Likewise.
- (aarch64_address_cost): Likewise.
- (aarch64_branch_cost): Likewise.
- (aarch64_rtx_costs): Likewise.
- (aarch64_register_move_cost): Likewise.
- (aarch64_memory_move_cost): Likewise.
- (aarch64_sched_issue_rate): Likewise.
- (aarch64_builtin_vectorization_cost): Likewise.
- (aarch64_override_options): Take a copy of the selected tuning
- struct in to aarch64_tune_params, rather than just setting
- a pointer, change dereferences of aarch64_tune_params to member
- accesses.
- (aarch64_override_options_after_change): Change dereferences of
- aarch64_tune_params to member access.
- (aarch64_macro_fusion_p): Likewise.
- (aarch_macro_fusion_pair_p): Likewise.
- * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
- (aarch64_tune_flags): Likewise.
- (AARCH64_TUNE_FMA_STEERING): Likewise.
- * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
- to AARCH64_FL_USE_FMA_STEERING_PASS.
- (cortex-a57.cortex-a53): Likewise.
- (cortex-a72): Use cortexa72_tunings.
- (cortex-a72.cortex-a53): Likewise.
- (exynos-m1): Likewise.
- * config/aarch64/aarch64-protos.h (tune_params): Add
- a field: extra_tuning_flags.
- * config/aarch64/aarch64-tuning-flags.def: New.
- * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
- (aarch64_extra_tuning_flags): Likewise.
- (aarch64_tune_params): Declare here.
- * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (cortexa72_tunings): New.
- * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
- (gate): Check against aarch64_tune_params.
- * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
- aarch64-protos.h.
-
-2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-fusion-pairs.def: New.
- * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
- * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
- aarch64_fusion_pairs.
- (AARCH64_FUSE_MOV_MOVK): Likewise.
- (AARCH64_FUSE_ADRP_ADD): Likewise.
- (AARCH64_FUSE_MOVK_MOVK): Likewise.
- (AARCH64_FUSE_ADRP_LDR): Likewise.
- (AARCH64_FUSE_CMP_BRANCH): Likewise.
-
-2015-06-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
- SYMBOL_SMALL_GOT_28K.
- * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
- relocation modifiers.
- (unspec): New enum "UNSPEC_GOTMALLPIC28K.
- (ldr_got_small_28k_<mode>): New.
- (ldr_got_small_28k_sidi): New.
- * config/aarch64/iterators.md (got_modifier): New mode iterator.
- * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
- SYMBOL_SMALL_GOT_28K.
- (aarch64_rtx_costs): Add costs for new instruction sequences.
- (initialize_aarch64_code_model): Initialize new model.
- (aarch64_classify_symbol): Recognize new model and new symbol classification.
- (aarch64_asm_preferred_eh_data_format): Support new model.
- (aarch64_load_symref_appropriately): Generate new instruction
- sequences for -fpic.
- (TARGET_USE_PSEUDO_PIC_REG): New definition.
- (aarch64_use_pseudo_pic_reg): New function.
-
-2015-06-26 Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
- SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
- (aarch64_expand_mov_immediate): Ditto.
- (aarch64_print_operand): Ditto.
- (aarch64_classify_symbol): Ditto.
-
-2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (call_operation): Remove unused variables.
-
-2015-06-26 Bin Cheng <bin.cheng@arm.com>
-
- PR bootstrap/66638
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
- assertion failed. Remove assertion itself.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
- and -A CMP CST -> A CMP -CST which is redundant with a pattern
- in match.pd.
- Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
- (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
- (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
- * match.pd: ... patterns here.
-
-2015-06-26 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x | y) & ~(x & y) -> x ^ y,
- (x | y) & (~x ^ y) -> x & y): New patterns.
-
-2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (emit): Add an optional boolean parameter to control
- whether barriers are emitted.
- * emit-rtl.c (emit): Likewise.
- * gensupport.c (get_emit_function): Return null rather than "emit".
- * genemit.c (gen_emit_seq): Handle the null return value.
- Don't emit barriers after the final instruction in the sequence.
- * gentarget-def.c (main): Don't emit barriers after the instruction.
-
-2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.c (arm_output_multireg_pop): Fix use of
- TARGET_UNIFIED_ASM.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
-
-2015-06-26 Richard Biener <rguenther@suse.de>
-
- * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
- irrespective on whether the inner operation has a single use
- of both off are constant.
-
-2015-06-26 Uros Bizjak <ubizjak@gmail.com>
- Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/66412
- * config/i386/i386.md (various splitters): Use shallow_copy_rtx
- before doing PUT_MODE or PUT_CODE on operands to avoid
- in-place RTX modification.
-
-2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gentarget-def.c (def_target_insn): Cast return of strtol to
- unsigned int.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * gimple.h (gimple_call_set_fn): Move inline function.
- * gimple.c (gimple_call_set_fn): Relocate here.
-
-2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65979
- PR target/66611
- * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
- the replacement insn will work.
-
-2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
-
- * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
- by default.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
- * cgraph.h: Include ipa-ref.h and plugin-api.h.
- (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
- (symtab_node::address_can_be_compared_p): Move function.
- * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
- definition here.
- * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * builtins.c: Likewise.
- * calls.c: Likewise.
- * cfgexpand.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * combine.c: Likewise.
- * coverage.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dwarf2out.c: Likewise.
- * except.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fold-const.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple.c: Likewise.
- * gimplify.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * langhooks.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * omp-low.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * predict.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * ree.c: Likewise.
- * sanopt.c: Likewise.
- * stor-layout.c: Likewise.
- * symtab.c: Likewise.
- * toplev.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * value-prof.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.c, config/alpha/alpha.c,
- config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
- config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
- config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
- config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
- config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
- config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
- config/microblaze/microblaze.c, config/mips/mips.c,
- config/mmix/mmix.c, config/mn10300/mn10300.c,
- config/moxie/moxie.c, config/msp430/msp430.c,
- config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
- config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
- config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
- config/stormy16/stormy16.c, config/tilegx/tilegx.c,
- config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
- target-def.h include.
- * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (TARGET_DEF): Add target-insns.def.
- (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
- (build/gentarget-def.o): New rule.
- (genprogrtl): Add target-def.
- * target-insns.def, gentarget-def.c: New files.
- * target.def: Add targetm.have_* and targetm.gen_* hooks,
- based on the contents of target-insns.def.
- * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
- (HAVE_return, gen_return): Delete.
- * target-def.h: Include insn-target-def.h.
- * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
- instead of direct calls. Rely on them to do the appropriate assertions.
- * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
- (convert_jumps_to_returns): Use targetm interface instead of
- direct calls.
- (thread_prologue_and_epilogue_insns): Likewise.
- * reorg.c (find_end_label, dbr_schedule): Likewise.
- * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
- * shrink-wrap.c (convert_to_simple_return): Likewise.
- (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
- config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
- config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
- config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
- config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
- config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
- config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
- config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
- config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
- config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
- config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
- config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
- config/stormy16/stormy16.c, config/tilegx/tilegx.c,
- config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
- includes to end.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
- (unbounded_int_hashmap_traits::key_type): Likewise.
- * hash-map.h (hash_map): Get the key type from the traits.
- * hash-traits.h (default_hash_traits): By default, inherit from the
- template parameter.
- * alias.c (alias_set_traits): Delete.
- (alias_set_entry_d::children): Use alias_set_hash as the first
- template parameter.
- (record_alias_subset): Update accordingly.
- * except.c (tree_hash_traits): Delete.
- (type_to_runtime_map): Use tree_hash as the first template parameter.
- (init_eh): Update accordingly.
- * genmatch.c (capture_id_map_hasher): Delete.
- (cid_map_t): Use nofree_string_hash as first template parameter.
- * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
- * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
- Use symbol_compare_hash as the first template parameter in
- subdivide_hash_map.
- * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
- (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
- template parameter.
- * passes.c (pass_registry_hasher): Delete.
- (name_to_pass_map): Use nofree_string_hash as the first template
- parameter.
- (register_pass_name): Update accordingly.
- * sanopt.c (sanopt_tree_map_traits): Delete.
- (sanopt_tree_triplet_map_traits): Delete.
- (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
- template parameter.
- (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
- the first template parameter.
- * sese.c (rename_map_hasher): Delete.
- (rename_map_type): Use tree_ssa_name_hash as the first template
- parameter.
- * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
- (function_summary::m_map): Use map_hash as the first template
- parameter.
- (function_summary::release): Update accordingly.
- * tree-if-conv.c (phi_args_hash_traits): Delete.
- (predicate_scalar_phi): Use tree_operand_hash as the first template
- parameter to phi_arg_map.
- * tree-inline.h (dependence_hasher): Delete.
- (copy_body_data::dependence_map): Use dependence_hash as the first
- template parameter.
- * tree-inline.c (remap_dependence_clique): Update accordingly.
- * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
- (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
- parameter.
- (addr_stridxptr): Update accordingly.
- * value-prof.c (profile_id_traits): Delete.
- (cgraph_node_map): Use profile_id_hash as the first template
- parameter.
- (init_node_map): Update accordingly.
- * config/alpha/alpha.c (string_traits): Delete.
- (machine_function::links): Use nofree_string_hash as the first
- template parameter.
- (alpha_use_linkage, alpha_write_linkage): Update accordingly.
- * config/m32c/m32c.c (pragma_traits): Delete.
- (pragma_htab): Use nofree_string_hash as the first template parameter.
- (m32c_note_pragma_address): Update accordingly.
- * config/mep/mep.c (pragma_traits): Delete.
- (pragma_htab): Use nofree_string_hash as the first template parameter.
- (mep_note_pragma_flag): Update accordingly.
- * config/mips/mips.c (mips16_flip_traits): Delete.
- (mflip_mips16_htab): Use nofree_string_hash as the first template
- parameter.
- (mflip_mips16_use_mips16_p): Update accordingly.
- (local_alias_traits): Delete.
- (mips16_local_aliases): Use nofree_string_hash as the first template
- parameter.
- (mips16_local_alias): Update accordingly.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (default_hashmap_traits): Delete.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h (unbounded_hashmap_traits): New class.
- (unbounded_int_hashmap_traits): Likewise.
- * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * ipa-icf.h (symbol_compare_hash): New class.
- (symbol_compare_hashmap_traits): Use it.
- * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
- (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
- (mem_alloc_description::reverse_mem_map_t): Remove redundant
- default_hashmap_traits.
- * sanopt.c (sanopt_tree_triplet_hash): New class.
- (sanopt_tree_triplet_map_traits): Use it.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * gengtype-parse.c (require_template_declaration): Allow '+' in
- template parameters. Consolidate cases.
- * hash-traits.h (int_hash): New class.
- * alias.c (alias_set_hash): New structure.
- (alias_set_traits): Use it.
- * symbol-summary.h (function_summary::map_hash): New class.
- (function_summary::summary_hashmap_traits): Use it.
- * tree-inline.h (dependence_hash): New class.
- (dependence_hasher): Use it.
- * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
- * value-prof.c (profile_id_hash): New class.
- (profile_id_traits): Use it.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/mips/mips.c (mips16_flip_traits): Use it.
- (local_alias_traits, mips16_local_aliases): Convert from a map of
- rtxes to a map of symbol names.
- (mips16_local_alias): Update accordingly.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (string_hash, nofree_string_hash): New classes.
- * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
- * passes.c (pass_registry_hasher): Likewise.
- * config/alpha/alpha.c (string_traits): Likewise.
- * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
- * config/m32c/m32c.c (pragma_traits): Likewise.
- * config/mep/mep.c (pragma_traits): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_hash): New class.
- * except.c: Include tree-hash-traits.h.
- (tree_hash_traits): Use tree_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_ssa_name_hasher): New class.
- * sese.c: Include tree-hash-traits.h.
- (rename_map_hasher): Use tree_ssa_name_hasher.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h (tree_decl_hash): New class.
- * tree-ssa-strlen.c: Include tree-hash-traits.h.
- (stridxlist_hash_traits): Use tree_decl_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * tree-hash-traits.h: New file.
- (tree_operand_hash): New class.
- * sanopt.c: Include tree-hash-traits.h.
- (sanopt_tree_map_traits): Use tree_operand_hash.
- * tree-if-conv.c: Include tree-hash-traits.h.
- (phi_args_hash_traits): Use tree_operand_hash.
- * tree-ssa-uncprop.c: Include tree-hash-traits.h.
- (val_ssa_equiv_hash_traits): Use tree_operand_hash.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-map-traits.h: Include hash-traits.h.
- (simple_hashmap_traits): New class.
- * mem-stats.h (hash_map): Change the default traits to
- simple_hashmap_traits<default_hash_traits<Key> >.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Update comments.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (default_hash_traits): New structure.
- * hash-set.h (default_hashset_traits): Delete.
- (hash_set): Use default_hash_traits<Key> instead of
- default_hashset_traits. Delete hash_entry type and use Key directly.
- * ipa-devirt.c (pair_traits): Delete.
- (default_hash_traits <type_pair>): Override.
- (odr_subtypes_equivalent_p): Remove pair_types template parameter.
- (odr_types_equivalent_p, add_type_duplicate): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (typed_noop_remove): Don't require a pointer type.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
- (has_is_empty, is_empty_helper): Delete.
- (has_mark_deleted, mark_deleted_helper): Delete.
- (has_mark_empty, mark_empty_helper): Delete.
- (hash_table::is_deleted): Call the Descriptor unconditionally.
- (hash_table::is_empty): Likewise.
- (hash_table::mark_deleted): Likewise.
- (hash_table::mark_empty): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
- redundant typedefs and members.
- * coverage.c (counts_entry): Inherit from pointer_hash. Remove
- redundant typedefs.
- * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
- * ipa-devirt.c (odr_name_hasher): Likewise.
- (polymorphic_call_target_hasher): Likewise.
- * ira-costs.c (cost_classes_hasher): Likewise.
- * statistics.c (stats_counter_hasher): Likewise.
- * trans-mem.c (log_entry_hasher): Likewise.
- * tree-ssa-dom.c (expr_elt_hasher): Likewise.
- * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
- * tree-ssa-tail-merge.c (same_succ_def): Likewise.
- * var-tracking.c (variable_hasher): Likewise.
- * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
- Remove redundant typedefs and members.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_cache_hasher): Rename to...
- (ggc_cache_remove): ...this and remove typedefs.
- (ggc_cache_ptr_hash): New class.
- * hash-table.h: Update commentary.
- * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
- rather than ggc_cache_hasher.
- (const_wide_int_hasher, reg_attr_hasher): Likewise.
- (const_double_hasher, const_fixed_hasher): Likewise.
- * function.c (insn_cache_hasher): Likewise.
- * trans-mem.c (tm_wrapper_hasher): Likewise.
- * tree.h (tree_decl_map_cache_hasher): Likewise.
- * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
- (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
- * ubsan.c (tree_type_map_cache_hasher): Likewise.
- * varasm.c (tm_clone_hasher): Likewise.
- * config/i386/i386.c (dllimport_hasher): Likewise.
- * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
- (tree_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_hasher): Rename to...
- (ggc_remover): ...this and remove typedefs.
- (ggc_cache_hasher): Update accordingly. Add typedefs.
- (ggc_ptr_hash): New class.
- * hash-table.h: Update comment.
- * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
- ggc_hasher.
- * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
- (tree_descriptor_hasher): Likewise.
- * cgraph.c (function_version_hasher): Likewise.
- * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
- (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
- (dw_loc_list_hasher, addr_hasher): Likewise.
- * function.h (used_type_hasher): Likewise.
- * function.c (temp_address_hasher): Likewise.
- * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
- * libfuncs.h (libfunc_hasher): Likewise.
- * lto-streamer.h (decl_state_hasher): Likewise.
- * optabs.c (libfunc_decl_hasher): Likewise.
- * tree-scalar-evolution.c (scev_info_hasher): Likewise.
- * varasm.c (section_hasher, object_block_hasher): Likewise.
- (const_rtx_desc_hasher): Likewise.
- * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
- * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (free_ptr_hash): New class.
- * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
- rather than typed_free_remove. Remove redudant typedefs.
- (external_ref_hasher): Likewise.
- * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
- (ehspec_hasher): Likewise.
- * ggc-common.c (saving_hasher): Likewise.
- * gimplify.c (gimplify_hasher): Likewise.
- * haifa-sched.c (delay_i2_hasher): Likewise.
- * loop-invariant.c (invariant_expr_hasher): Likewise.
- * loop-iv.c (biv_entry_hasher): Likewise.
- * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
- * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
- * tree-cfg.c (locus_discrim_hasher): Likewise.
- * tree-eh.c (finally_tree_hasher): Likewise.
- * tree-into-ssa.c (var_info_hasher): Likewise.
- * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
- * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
- * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
- * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
- * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
- * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
- (shared_bitmap_hasher): Likewise.
- * tree-ssa-threadupdate.c (redirection_data): Likewise.
- * tree-vectorizer.h (peel_info_hasher): Likewise.
- * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
- * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Update comments.
- * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
- (nofree_ptr_hash): New class.
- * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
- than typed_noop_remove. Remove redudant typedefs.
- * attribs.c (attribute_hasher): Likewise.
- * cfg.c (bb_copy_hasher): Likewise.
- * cselib.c (cselib_hasher): Likewise.
- * dse.c (invariant_group_base_hasher): Likewise.
- * dwarf2cfi.c (trace_info_hasher): Likewise.
- * dwarf2out.c (macinfo_entry_hasher): Likewise.
- (comdat_type_hasher, loc_list_hasher): Likewise.
- * gcse.c (pre_ldst_expr_hasher): Likewise.
- * genmatch.c (id_base): Likewise.
- * genrecog.c (test_pattern_hasher): Likewise.
- * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
- * haifa-sched.c (delay_i1_hasher): Likewise.
- * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
- * ipa-icf.h (congruence_class_group_hash): Likewise.
- * ipa-profile.c (histogram_hash): Likewise.
- * ira-color.c (allocno_hard_regs_hasher): Likewise.
- * lto-streamer.h (string_slot_hasher): Likewise.
- * lto-streamer.c (tree_entry_hasher): Likewise.
- * plugin.c (event_hasher): Likewise.
- * postreload-gcse.c (expr_hasher): Likewise.
- * store-motion.c (st_expr_hasher): Likewise.
- * tree-sra.c (uid_decl_hasher): Likewise.
- * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
- (ssa_name_var_hash): Likewise.
- * tree-ssa-live.c (tree_int_map_hasher): Likewise.
- * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
- * tree-ssa-pre.c (pre_expr_d): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
- * vtable-verify.h (registration_hasher): Likewise.
- * vtable-verify.c (vtbl_map_hasher): Likewise.
- * config/arm/arm.c (libcall_hasher): Likewise.
- * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
- * config/ia64/ia64.c (bundle_state_hasher): Likewise.
- * config/sol2.c (comdat_entry_hasher): Likewise.
- * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
- (print_fold_checksum, fold_checksum_tree): Likewise.
- (debug_fold_checksum, fold_build1_stat_loc): Likewise.
- (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
- (fold_build_call_array_loc): Likewise.
- * tree-ssa-ccp.c (gimple_htab): Likewise.
- * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
- rather than pointer_type.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
- (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
- (ggc_hasher::ggc_mx): Likewise.
- (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
- that duplicate ggc_hasher ones.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
- (gt_cleare_cache): Check here for deleted and empty entries.
- Replace handle_cache_entry with a call to keep_cache_entry.
- * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
- (ggc_cache_hasher::keep_cache_entry): New function.
- * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
- (tm_wrapper_hasher::keep_cache_entry): New function.
- * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
- (tree_vec_map_cache_hasher::keep_cache_entry): New function.
- * tree.c (type_cache_hasher::handle_cache_entry): Delete.
- (type_cache_hasher::keep_cache_entry): New function.
- (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
- (tree_vec_map_cache_hasher::keep_cache_entry): New function.
- * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
- (tree_type_map_cache_hasher::keep_cache_entry): New function.
- * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
- (tm_clone_hasher::keep_cache_entry): New function.
- * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
- (dllimport_hasher::keep_cache_entry): New function.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * hash-table.h: Include hash-traits.h.
- (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
- (ggc_cache_hasher): Move to...
- * hash-traits.h: ...this new file.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h (struct tree_optimization_option): Make opts a pointer to
- struct cl_optimization.
- * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
- * tree.c (make_node_stat): Allocate cl_optimization struct.
- (copy_node_stat): Allocate and copy cl_optimization struct.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (struct incoming_args): Move struct.
- (pass_by_reference, reference_callee_copied): Remove prototypes.
- * emit-rtl.h (struct incoming_args): Relocate struct here.
- * calls.h (pass_by_reference, reference_callee_copied): Relocate
- prototypes here.
- * function.c (pass_by_reference, reference_callee_copied): Move.
- * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
- * cfgloop.h: Don't include tm.h or hard-reg-set.h.
- * ipa-chkp.c: Include calls.h.
-
-2015-06-25 Andrew Macleod <amacleod@redhat.com>
-
- * alias.h (alias_set_type): Move typedef.
- * coretypes.h (alias_set_type): Relocate typedef here.
- * rtl.h: Don't include alias.h.
-
-2015-06-25 Andrew MacLeod <amacleod@redhat.com>
-
- * cgraph.h (cgraph_rtl_info): Move to rtl.h
- (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
- and instance.
- * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
- * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
- doesn't exist.
- * calls.c: Include hard-reg-set.h before rtl.h.
- * ira.c: Likewise.
-
-2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
- Vladimir Makarov <vmakarov@redhat.com>
-
- * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
- Add assert.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move simplification of
- (X <<>> C1) & C2 ...
- * match.pd: ... here.
-
-2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
-
- * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
-
-2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
-
- * match.pd: Add patterns for vec_conds between 1 and 0.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_conversion): Do not set
- STMT_VINFO_VEC_STMT for SLP.
- (vectorizable_store): Likewise.
- (vectorizable_load): Likewise.
- (vect_transform_stmt): Catch SLP vectorization clobbering
- STMT_VINFO_VEC_STMT.
-
-2015-06-25 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
- dumping.
- (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
- cleanup resulting dead code and parameters.
- (vect_transform_slp_perm_load): Adjust.
-
-2015-06-25 Nick Clifton <nickc@redhat.com>
-
- * config/bfin/bfin.c (bfin_expand_prologue): Set
- current_function_static_stack_size if flag_stack_usage_info is set.
- * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
- * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
- * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
- * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
-
-2015-06-25 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
- comment that the generated IV is unsigned.
-
-2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/29693
- * config/arm/arm.c (arm_dbx_register_number): Return
- DWARF_FRAME_REGISTERS by default.
-
-2015-06-25 Tom de Vries <tom@codesourcery.com>
-
- * dominance.c (calculate_dominance_info): Fix verify_dominators call
- argument. Call verify_dominator when reusing dominator info.
-
-2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66563
- * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
- an additional element of the unspec vector. Modify indices
- of operands.
- (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
- * config/sh/sh.c (prepare_move_operands): Pass incremented
- const_int to gen_GOTaddr2picreg.
- (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
- Condition on TARGET_FLOAT.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
- and (no)crypto.
-
-2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
-
- * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
- aarch64_err_no_fpadvsimd.
-
- * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
- (aarch64_layout_arg, aarch64_init_cumulative_args): Use
- aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
- (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
- Turn error into assert, test TARGET_FLOAT.
- (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
- TARGET_FLOAT.
-
-2015-06-24 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/66482
- * dwarf2out.c (gen_formal_parameter_die): Remove assert.
-
-2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
-
-2015-06-24 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
- __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
-
-2015-06-24 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
- (main): Likewise.
- (lower_opt_convert): Support lowering of conditional view_convert.
- (parser::parse_operation): Likewise.
- (parser::parse_for): Likewise.
-
-2015-06-24 Renlin Li <renlin.li@arm.com>
-
- * varasm.c (emit_local): Use unsigned int for align variable.
-
-2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/63408
- * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
- for negative numbers.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- PR rtl-optimization/66306
- * reload.c (find_reloads): Swap the match_dup info for
- commutative operands.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vx-builtins.md
- ("vec_scatter_element<mode>_<non_vec_int>")
- ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
- attribute with bhfgq.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtins.def: Fix vpopct instruction comments.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-builtin-types.def: Add flag to indicate the
- options under which the function type is needed.
- * config/s390/s390-builtins.def: Add flag to indicate the options
- under which the builtin is enabled.
- * config/s390/s390-builtins.h: Add flags parameter to macro
- definitions.
- (bflags_for_builtin): New function.
- (flags_for_builtin): Renamed to ...
- (opflags_for_builtin): ... this.
- * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
- flags_for_builtin to bflags_for_builtin and
- flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
- * config/s390/s390.c: Add initialization of bflags_builtin and
- opflags_builtin arrays.
- Remove code for flags_builtin.
- (s390_init_builtins): Only create builtin function types if one of
- their flags is active.
- Only create builtins if all of their flags are active.
- (s390_expand_builtin): Rename flags_for_builtin to
- opflags_for_builtin.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/vecintrin.h: Remove internal builtins.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_secondary_reload): Fix check for
- GENERAL_REGS register class.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_support_vector_misalignment): Call
- default implementation for !TARGET_VX.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_legitimate_constant_p): Add
- TARGET_VX check.
-
-2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_vector_abi): New variable definition.
- (s390_check_type_for_vector_abi): New function.
- (TARGET_ASM_FILE_END): New macro definition.
- (s390_asm_file_end): New function.
- (s390_function_arg): Call s390_check_type_for_vector_abi.
- (s390_gimplify_va_arg): Likewise.
- * configure: Regenerate.
- * configure.ac: Check for .gnu_attribute Binutils feature.
-
-2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR target/65803
- * config/bfin/bfin.c (hwloop_optimize): Initialize
- JUMP_LABEL for newly created jump.
-
-2015-06-23 Tristan Gingold <gingold@adacore.com>
-
- * collect-utils.c (collect_wait): Unlink the response file here
- instead of...
- (do_wait): ...here.
- (utils_cleanup): ...and here.
-
-2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
-
- * df-scan.c: Don't include target-def.h.
- * targhooks.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
-
-2015-06-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66636
- * tree-vect-stmts.c (vectorizable_store): Properly compute the
- def type for further defs for strided stores.
-
-2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
- conditional selects.
- (setcc_int<mode>, setcc_float<mode>): Reformat.
-
-2015-06-23 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x + y) - (x | y) -> x & y,
- (x + y) - (x & y) -> x | y): New patterns.
-
-2015-06-23 Ludovic Courtès <ludo@gnu.org>
-
- PR 65711
- * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
- '-dynamic-linker' within %{!shared: ...}.
-
-2015-06-23 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66560
- * config/i386/predicates.md (addsub_vm_operator): New predicate.
- (addsub_vs_operator): Ditto.
- (addsub_vs_parallel): Ditto.
- * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
- (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
- Put minus RTX before plus and adjust vec_merge selector.
- (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
- (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
- (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
- (addsub vec_merge splitters): New combiner splitters.
- (addsub vec_select/vec_concat splitters): Ditto.
-
-2015-06-23 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/66449
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
- POINTER_PLUS_EXPR for pointers.
-
-2015-06-23 Alan Modra <amodra@gmail.com>
-
- * rtlanal.c (commutative_operand_precedence): Correct comments.
- * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
- declaration. Return an int. Distinguish REG,REG return from
- others.
- (struct simplify_plus_minus_op_data): Make local to function.
- (simplify_plus_minus): Don't set canonicalized if merely sorting
- registers. Avoid packing ops if nothing changes. White space fixes.
-
-2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
- -fdump-ada-spec is passed but not if -fsyntax-only is.
-
-2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
-
- PR bootstrap/63740
- * lra-lives.c (process_bb_lives): Check insn copying the same
- reload pseudo and don't create a copy for it.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
- for cond_stmt.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * builtins.def (DEF_GOMP_BUILTIN): Test
- 'flag_tree_parallelize_loops > 1' instead of
- 'flag_tree_parallelize_loops'. Test flag_cilkplus.
-
-2015-06-22 Tom de Vries <tom@codesourcery.com>
-
- * dominance.c (calculate_dominance_info): Verify dominators if
- early-out.
-
-2015-06-22 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x ^ y) ^ (x | y) -> x & y,
- (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
- (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
- (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
-
-2015-06-22 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
- cost of embedded comparison.
-
-2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65914
- * config/rs6000/predicates.md (altivec_register_operand): Permit
- virtual stack registers.
- (vsx_register_operand): Likewise.
- (vfloat_operand): Likewise.
- (vint_operand): Likewise.
- (vlogical_operand): Likewise.
-
-2015-06-22 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
- and single_scalar_iteration_cost members.
- (LOOP_VINFO_SCALAR_ITERATION_COST): New.
- (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
- (vect_get_single_scalar_iteration_cost): Remove.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
- Use LOOP_VINFO_SCALAR_ITERATION_COST.
- * tree-vect-loop.c (destroy_loop_vec_info): Free
- scalar_cost_vec.
- (vect_get_single_scalar_iteration_cost): Compute result into
- LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
- LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
- (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
- (vect_estimate_min_profitable_iters): Use them.
-
-2015-06-22 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
- (TARGET_INSERT_ATTRIBUTES): Define.
- (thumb_flipper): New var.
- * config/arm/arm.opt (-mflip-thumb): New switch.
-
-2015-06-22 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65908
- * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
- construction of arg_types.
- (sem_function::sem_function): Likewise.
- (sem_function::~sem_function): Remove destruction of arg_types.
- (sem_function::compatible_parm_types_p): New function.
- (sem_function::equals_wpa): Reorg matching of return values
- and parameter types.
- (sem_function::equals_private): Reorg mathcing of argument types.
- (sem_function::parse_tree_args): Remove.
- * ipa-icf.h (init_wpa): Do not call it.
- (parse_tree_args): Remove.
- (compatible_parm_types_p): Declare.
- (result_type): Remove.
- (arg_types): Remove.
-
-2015-06-22 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66351
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
- initializing alias oracle; fix formating; set base_alias_set if it
- is known.
-
-2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
- (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
- (find_inc): Likewise.
- * combine.c (combine_simplify_rtx): Use std::swap instead of manually
- swapping.
- * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
- * df-scan.c (df_swap_refs): Remove.
- (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
- * dominance.c (link_roots): Use std::swap instead of manually swapping.
- * expr.c (expand_expr_real_2, do_store_flag): Likewise.
- * fold-const.c (fold_relational_const): Likewise.
- * genattrtab.c (simplify_test_exp): Likewise.
- * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
- gimple_simplify): Likewise.
- * ifcvt.c (noce_try_abs, find_if_header): Likewise.
- * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
- * ipa-devirt.c (add_type_duplicate): Likewise.
- * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
- * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
- * lra.c (lra_create_copy): Likewise.
- * lto-streamer-out.c (DFS::DFS): Likewise.
- * modulo-sched.c (get_sched_window): Likewise.
- * omega.c (omega_pretty_print_problem): Likewise.
- * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
- * reload1.c (reloads_unique_chain_p): Likewise.
- * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
- (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
- use std::swap.
- * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
- manually swapping.
- * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
- predicate_mem_writes): Likewise.
- * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
- * tree-predcom.c (combine_chains): Likewise.
- * tree-ssa-alias.c (nonoverlapping_component_refs_p,
- refs_may_alias_p_1): Likewise.
- * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
- * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
- * tree-ssa-loop-niter.c (refine_bounds_using_guard,
- number_of_iterations_cond): Likewise.
- * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
- * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
- * tree-vect-slp.c (vect_build_slp_tree): Likewise.
- * tree-vect-stmts.c (supportable_widening_operation): Likewise.
- * tree-vrp.c (extract_range_from_binary_expr_1,
- extract_range_from_unary_expr_1): Likewise.
-
-2015-06-20 Marek Polacek <polacek@redhat.com>
-
- * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
-
-2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66591
- * config/sh/sh.c (prepare_move_operands): Replace subreg
- index term with R0 for base and index addressing.
-
-2015-06-19 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
- op1 is an fp zero.
- (movsf_aarch64): Change condition from register_operand to
- aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
- load1. Change type for alternative 7 to store1.
- (movdf_aarch64): Likewise.
-
-2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/vax/vax.md: Adjust sign/zero extend patterns to
- handle SUBREGs in operands[1].
-
-2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/i386/i386.c (ix86_function_versions): Use std::swap instead
- of manually swapping.
- (expand_vec_perm_interleave2): Likewise.
-
-2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
- reuse bounds created for abnormal ssa names.
-
-2015-06-19 Jakub Jelinek <jakub@redhat.com>
-
- * config/nvptx/nvptx.md (allocate_stack): Rename to...
- (allocate_stack_<mode>): ... this, and add :P on both
- match_operand and unspec.
- (allocate_stack): New expander.
-
-2015-06-19 Christian Bruel <christian.bruel@st.com>
-
- PR target/66541
- PR target/52144
- * config/arm/arm.c (arm_set_current_function): Handle
- explicit default options.
-
-2015-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*movsicc_noc_zext): New insn.
- (zero-extended cmove with mem peephole2): New pattern.
- (cmove with mem peephole2): Merge patterns.
-
-2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
-
-2015-06-18 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
- * config/mips/mips.md (*madd4<mode>): Ditto.
- (*nmadd3<mode>) Ditto.
- (*nmadd4<mode>_fastmath): Ditto.
- (*nmadd3<mode>_fastmath): Ditto.
- (*nmsub4<mode>): Ditto.
- (*nmsub3<mode>): Ditto.
- (*nmsub4<mode>_fastmath): Ditto.
- (*nmsub3<mode>_fastmath): Ditto.
-
-2015-06-18 Michael Matz <matz@suse.de>
-
- PR middle-end/66253
- * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
- grouped strided stores.
- (vectorizable_load): Don't use the DR from first_stmt in
- the non-SLP grouped strided case.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR target/66569
- * function.c (assign_bounds): Add arguments assign_regs,
- assign_special, assign_bt.
- (assign_parms): For vararg functions handle bounds in BT
- and special slots after incoming vararg bounds.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66568
- * cfgexpand.c (expand_return): Handle missing bounds.
- (expand_gimple_stmt_1): Likewise.
- * tree-chkp.c (chkp_expand_zero_bounds): New.
- * tree-chkp.h (chkp_expand_zero_bounds): New.
-
-2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66567
- * ipa-chkp.c (chkp_maybe_create_clone): Require
- functions to be instrumentable.
- * tree-chkp.c (chkp_replace_function_pointer): Use
- chkp_instrumentable_p instead of attribute check.
-
-2015-06-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66510
- * tree-vect-stmts.c (vectorizable_load): Properly compute the
- number of vector loads for SLP permuted loads.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
- check the stride for loop vectorization.
- (vect_enhance_data_refs_alignment): Deal with SLP adjusted
- vectorization factor.
- (vect_analyze_group_access): If the group size is not a power
- of two require a epilogue loop.
- * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
- compute and optimizing and alias test pruning after final
- vectorization factor computation.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
- vector alignment.
- (vect_transform_slp_perm_load): Properly compute the original
- number of vector load stmts.
-
-2015-06-18 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
- "unlikely character , in @var" warning.
-
-2015-06-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
- (ix86_function_arg_advance): Ditto.
- (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * function.h (struct rtl_data): Remove struct and accessor macros.
- * emit-rtl.h (struct rtl_data): Relocate to here.
- * Makefile.in (GTFILES): Add emit-rtl.h.
- * df-core.c: Include emit-rtl.h.
- * genattrtab.c: Likewise.
- * genconditions.c: Likewise.
- * genpreds.c: Likewise.
- * genrecog.c: Likewise.
- * regcprop.c: Likewise.
- * resource.c: Likewise.
- * sched-rgn.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/i386/winnt.c: Likewise.
-
-2015-06-17 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66429
- * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
- instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
- and has_force_vectorize_loops flags from cfun into
- child_cfun.
- (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
- if simduid is non-NULL.
- * tree-pass.h (make_pass_simduid_cleanup): New prototype.
- * passes.def (pass_simduid_cleanup): Add new pass after loop
- passes.
- * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
- indirection from htab argument's type.
- (shrink_simd_arrays): New function.
- (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
- Don't call adjust_simduid_builtins if there are no loops.
- (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
- (pass_simduid_cleanup::execute): New method.
- (make_pass_simduid_cleanup): New function.
-
-2017-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * tree-core.h (tree_target_option): Make opts field a pointer to a
- cl_target_option instead of an instance of the struct.
- * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
- the structure.
- * tree.c (make_node_stat ): Allocate a cl_target_option struct for
- TARGET_OPTION_NODE.
- (copy_node_stat): Allocate and copy struct cl_target_option.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
- Remove conditional exposure of prototypes.
- (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
- * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
- definitions in tree.h with functions.
- * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
- anon_aggrname_p.
- * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
-
-2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
- (*cmp<mode>_signed): ... this.
- (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
- (*cmp<mode>_unsigned): ... this. Remove %b.
-
-2015-06-17 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include input.h and as-a.h.
- * rtl.h: Include input.h and as-a.h for generator files.
- * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
- * vec.c: Don't include diagnostic-core.h.
- * alias.c: Do not include input.h, line-map.h or is-a.h.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloop.h: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * df.h: Likewise.
- * dfp.c: Likewise.
- * diagnostic-core.h: Likewise.
- * diagnostic.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dumpfile.h: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-streamer.h: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * init-regs.c: Likewise.
- * input.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * opts.h: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * pretty-print.h: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtl-error.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * streamer-hooks.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
- * common/common-targhooks.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
-
-2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
- function.
- (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
-
-2015-06-17 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
- stmts for SLP strided stores.
-
- Revert
- 2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_conversion): Properly
- set STMT_VINFO_VEC_STMT even for the SLP case.
-
- 2015-05-26 Michael Matz <matz@suse.de>
-
- PR middle-end/66251
- * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
- STMT_VINFO_VEC_STMT, also with SLP.
-
-2015-06-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/56766
- * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
- (*avx_addsubv4df3_1s): Ditto.
- (*sse3_addsubv2df3_1): Ditto.
- (*sse3_addsubv2df3_1s): Ditto.
- (*avx_addsubv8sf3_1): Ditto.
- (*avx_addsubv8sf3_1s): Ditto.
- (*sse3_addsubv4sf3_1): Ditto.
- (*sse3_addsubv4sf3_1s): Ditto.
-
-2015-06-16 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
- (SYSROOT_SUFFIX_SPEC): Update.
- (SYSROOT_HEADERS_SUFFIX_SPEC): New.
- (STARTFILE_PREFIX_SPEC): Update.
- * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
- (MULTILIB_REQUIRED): New.
- (MULTILIB_OSDIRNAMES): New.
- * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
- (MULTILIB_REQUIRED): New.
- (MULTILIB_OSDIRNAMES): New.
-
-2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
- * config/aarch64/aarch64-options-extensions.def: Update "fP",
- "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
- * config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
- (AARCH64_FL_PAN): New.
- (AARCH64_FL_LOR): New.
- (AARCH64_FL_RDMA): New.
- (AARCH64_FL_FOR_ARCH8_1): New.
- * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
- -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
-
-2015-06-16 Martin Liska <mliska@suse.cz>
-
- * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
- * hash-table.c (void dump_hash_table_loc_statistics): Add missing
- guard.
-
-2015-06-16 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_store): Adjust.
- (vectorizable_load): Likewise.
- * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
- Simplify.
- (vect_create_data_ref_ptr): Likewise.
- (bump_vector_ptr): Adjust.
-
-2015-06-16 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Properly start loads
- with the first element if this is grouped loads.
-
-2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-protos.h (struct tune_params): Rename
- log_op_non_sc to log_op_non_short_circuit, and rename enum
- values to expand SC to SHORT_CIRCUIT.
- * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
- to LOG_OP_NON_SHORT_CIRCUIT.
- (arm_fastmul_tune):Likewise
- (arm_strongarm_tune): Likewise.
- (arm_xscale_tune): Likewise.
- (arm_9e_tune): Likewise.
- (arm_marvell_pj4_tune): Likewise.
- (arm_v6t2_tune): Likewise.
- (arm_cortex_tune): Likewise.
- (arm_cortex_a8_tune): Likewise.
- (arm_cortex_a7_tune): Likewise.
- (arm_cortex_a15_tune): Likewise.
- (arm_cortex_a53_tune): Likewise.
- (arm_cortex_a57_tune): Likewise.
- (arm_xgene1_tune): Likewise.
- (arm_cortex_a5_tune): Likewise.
- (arm_cortex_a9_tune): Likewise.
- (arm_cortex_a12_tune): Likewise.
- (arm_v7m_tune): Likewise.
- (arm_cortex_m7_tune): Likewise.
- (arm_v6m_tune): Likewise.
- (arm_fa726te_tune): Likewise.
-
-2015-06-15 David Edelsohn <dje.gcc@gmail.com>
-
- * altivec.md: Delete UNSPEC_VMLADDUHM.
- (mulv4si3_p8): New pattern.
- (mulv4si3): Use it for POWER8.
- (mulv8hi3): Use vmladduhm with zero addend.
- (altivec_vmladduhm): Descriptive RTL.
-
-2015-06-15 Jim Wilson <jim.wilson@linaro.org>
-
- * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
- to use neon_move instead of mov_imm.
- (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
- (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
-
- * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
- aarch64_float_const_zero_rtx_p check before TFmode check.
- * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
- an fp zero.
- (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
- code and attributes to match. Change condition from register_operand
- to aarch64_reg_or_fp_zero for op1. Change type for ldp from
- neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
- to store2.
-
-2015-06-15 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/66535
- * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
- there is no parent.
-
-2015-06-14 Shiva Chen <shiva0217@gmail.com>
-
- * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
- HOST_WIDE_INT parameter.
-
-2015-06-14 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/66181
- * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
- * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
- TYPE_NO_FORCE_BLK.
- * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
-
-2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (classify_insn): Declare.
- * emit-rtl.c (classify_insn): Move to...
- * rtl.c: ...here and add generator support.
- * gensupport.h (get_emit_function, needs_barrier_p): Declare.
- * gensupport.c (get_emit_function, needs_barrier_p): New functions.
- * genemit.c (gen_emit_seq): New function.
- (gen_expand, gen_split): Use it.
-
-2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
-
- * tree.c (make_vector_stat): Fix comment to state that the
- function returns a VECTOR_CST.
-
-2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (add_implicit_parallel): Declare.
- * genrecog.c (add_implicit_parallel): Move to...
- * gensupport.c (add_implicit_parallel): ...here.
- (process_one_cond_exec): Use it.
- * genemit.c (gen_insn): Likewise.
-
-2015-06-13 Iain Sandoe <iain@codesourcery.com>
-
- PR bootstrap/66448
- * passes.c (rest_of_decl_compilation): Do not register globals for
- early debug if they are declared in built-ins.
-
-2015-06-12 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
-
-2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
- manually swapping.
- (noce_try_cmove_arith): Likewise.
- (noce_get_alt_condition): Likewise.
-
-2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * common/config/i386/i386-common.c
- (OPTION_MASK_ISA_MWAITX_SET): New.
- (ix86_handle_option): Handle mwaitx.
- * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
- (x86_64-*-*): Likewise.
- * config/i386/mwaitxintrin.h: New header.
- * config/i386/cpuid.h (bit_MWAITX): Define.
- * config/i386/driver-i386.c (host_detect_local_cpu): Detect
- MWAITX support.
- * config/i386/i386.opt (mwaitx): New.
- * config/i386/i386-builtin-types.def
- (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
- * config/i386/i386-c.c: Define __MWAITX__ if needed.
- * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
- (PTA_MWAITX): New.
- (ix86_option_override_internal): Handle new option.
- (processor_alias_table): Added PTA_MWAITX.
- (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
- (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
- (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
- IX86_BUILTIN_MONITORX built-ins.
- * config/i386/i386.h (TARGET_MWAITX): New.
- * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
- UNSPEC_MONITORX.
- (mwaitx): New pattern.
- (monitorx_<mode>): New pattern.
- * config/i386/x86intrin.h: Include mwaitxintrin.h.
- * doc/extend.texi: Document monitorx and mwaitx builtins.
- * doc/invoke.texi: Document -mmwaitx option.
-
-2015-06-12 Uros Bizjak <ubizjak@gmail.com>
-
- * emit-rtl.c (need_atomic_barrier_p): Mask model with
- MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
-
-2015-06-11 David Edelsohn <dje.gcc@gmail.com>
-
- * dbxout.c (xcoff_debug_hooks): Provide a function for
- register_main_translation_unit hook.
-
-2015-06-11 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
- variants cases from switch.
- (rs6000_post_atomic_barrier): Same.
- (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
- (rs6000_expand_atomic_exchange): Same.
- (rs6000_expand_atomic_op): Same.
- * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
- SYNC variants cases from switch.
- (atomic_load): Same.
- (atomic_store): Same.
-
-2015-06-11 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
- CONST_INT for goto.
-
-2015-06-11 Aldy Hernandez <aldyh@redhat.com>
-
- PR bootstrap/66448
- * dwarf2out.c (check_die): Check for common duplicate attributes.
- (add_location_or_const_value_attribute): Do not add duplicate
- attributes.
- (gen_formal_parameter_die): Do not add DW_AT_artificial the second
- time around.
- (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
- (gen_type_die_with_usage): Call check_die.
- (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
-
-2015-06-11 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
- dies.
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
-
-2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
-
- PR bootstrap/66252
- * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
- * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
- (*addx_extend_sp32): Fix pasto.
- (*subx_extend): Rename into...
- (*subx_extend_sp32): ...this.
- (*adddi3_extend_sp32): Add earlyclobber.
- (*subdi3_insn_sp32): Likewise.
- (*subdi3_extend_sp32): Likewise.
- (*and_not_di_sp32): Likewise.
- (*or_not_di_sp32): Likewise.
- (*xor_not_di_sp32): Likewise.
- (*negdi2_sp32): Likewise.
- (*one_cmpldi2_sp32): Likewise.
-
-2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
-
- * debug.h (struct gcc_debug_hooks): Add a
- register_main_translation_unit hook.
- * debug.c (do_nothing_debug_hooks): Provide a function for this
- new hook.
- * dbxout.c (dbx_debug_hooks): Likewise.
- * sdbout.c (sdb_debug_hooks): Likewise.
- * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
- * dwarf2out.c (main_translation_unit): New global variable.
- (dwarf2out_register_main_translation_unit): New function
- implementing the new hook.
- (dwarf2_debug_hooks): Assign
- dwarf2out_register_main_translation_unit to this new hook.
- (dwarf2out_init): Associate any main translation unit to
- comp_unit_die ().
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
-
-2015-06-11 Marek Polacek <polacek@redhat.com>
-
- * match.pd: Use single_use throughout.
-
-2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_option_params_internal): When optimising
- for speed set max_insns_skipped when arm_restrict_it.
-
-2015-06-11 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
- macros in ...
- (arm_cpu_builtins): New function.
- (arm_pragma_target_parse): Call arm_cpu_builtins.
- * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
- (arm_register_target_pragmas): Likewise.
- * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
- Call arm_register_target_pragmas.
- * config/arm/arm-c.c (arm_register_target_pragmas): New function.
- (arm_pragma_target_parse): Likewise.
-
-2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
- of the second operand.
-
-2015-06-10 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66473
- * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
- to prepare mask operand for AVX512 modes.
-
-2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/66474
- * doc/md.texi (Machine Constraints): Document that on the PowerPC
- if you use a constraint that targets a VSX register, you must use
- %x<n> in the template.
-
-2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
- * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
- (define_insn "trap"): New definition.
-
-2015-06-10 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
- out from ...
- (vect_supported_load_permutation_p): ... here. Handle
- supportable permutations in reductions.
- * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
- for vectorizing strided group loads.
-
-2015-06-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66470
- * config/i386/i386.c (ix86_split_long_move): For collisions
- involving direct tls segment refs, move the UNSPEC_TP possibly
- wrapped in ZERO_EXTEND out of the address for lea, to each of
- the memory loads.
-
-2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
- dmb sy. Adjust tabs.
-
-2015-06-10 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
-
-2015-06-10 Martin Liska <mliska@suse.cz>
-
- PR bootstrap/66471
- * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
- all enum values in mem_alloc_origin.
- * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
- name.
- * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
- * bitmap.c (bitmap_register): Likewise.
- (dump_bitmap_statistics): Likewise.
- * ggc-common.c (dump_ggc_loc_statistics): Likewise.
- (ggc_record_overhead): Likewise.
- * hash-map.h: Likewise.
- * hash-set.h: Likewise.
- * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
- * hash-table.h: Likewise.
- * vec.c (vec_prefix::register_overhead): Likewise.
- (vec_prefix::release_overhead): Likewise.
- (dump_vec_loc_statistics): Likewise.
-
-2015-06-09 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
- * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
- (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
- * config/arm/arm.h (SWITCHABLE_TARGET): Define.
- * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
- (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
- (arm_valid_target_attribute_p): Likewise.
- (arm_set_current_function, arm_can_inline_p): Likewise.
- (arm_valid_target_attribute_rec): Likewise.
- (arm_previous_fndecl): New variable.
- (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
- (TARGET_CAN_INLINE_P): Define.
- (arm_asm_trampoline_template): Emit mode.
- (arm_file_start): Don't set unified syntax.
- (arm_declare_function_name): Set unified syntax and mode.
- (arm_option_override): Init target_option_default_node.
- and target_option_current_node.
- * config/arm/arm.md (*call_value_symbol): Set mode when possible.
- (*call_symbol): Likewise.
- * doc/extend.texi: Document ARM/Thumb target attribute.
- * doc/invoke.texi: Likewise.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- Revert:
- 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
- fail assert on conversion between unsigned types.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65460
- * omp-low.c (expand_omp_target): Set parallelized_function on
- cgraph_node for child_fn.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
- parallelized_function before add_new_function.
-
-2015-06-09 Andrew MacLeod <amacleod@redhat.com>
-
- * gcc-plugin.h: Move decls to plugin.h and include it.
- * plugin.h: Relocate decls from gcc-plugin.h
- * ggc-page.c: Include required header files.
- * passes.c: Likewise.
- * cgraphunit.c: Likewise.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
-
-2015-06-09 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/66448
- * toplev.c (check_global_declaration): Don't warn about a clone.
-
-2015-06-09 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/66299
- * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
- ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
- patterns.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
- (vect_analyze_slp_instance): Instead do not falsely drop
- load permutations.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66423
- * match.pd: Handle A % (unsigned)(1 << B).
-
-2015-06-09 Aldy Hernandez <aldyh@redhat.com>
-
- * varasm.c (output_object_block_htab): Remove.
- (output_object_block_compare): New.
- (output_object_blocks): Sort named object_blocks before outputting
- them.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66419
- * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
- consider GROUP_GAP when detecting a perfect subchain.
-
-2015-06-09 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
- place read only data in the .frodata section.
-
-2015-06-09 Shiva Chen <shiva0217@gmail.com>
-
- * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
- (atomic_store<mode>): Likewise.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66413
- * tree-inline.c (insert_init_debug_bind): Unshare value.
-
-2015-06-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66396
- * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
- Rename virtual operands.
-
-2015-06-09 Tom de Vries <tom@codesourcery.com>
-
- * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
- always return false.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR rtl-optimization/64164
- * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
- * tree-ssa-copyrename.c: Removed.
- * opts.c (default_options_table): Drop -ftree-copyrename. Add
- -ftree-coalesce-vars.
- * passes.def: Drop all occurrences of pass_rename_ssa_copies.
- * common.opt (ftree-copyrename): Ignore.
- (ftree-coalesce-inlined-vars): Likewise.
- * doc/invoke.texi: Remove the ignored options above.
- * gimple-expr.h (gimple_can_coalesce_p): Move declaration
- * tree-ssa-coalesce.h: ... here.
- * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
- headers required by it.
- * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
- across variables when flag_tree_coalesce_vars. Check register
- use and promoted modes to allow coalescing. Moved to
- tree-ssa-coalesce.c.
- * tree-ssa-live.c (struct tree_int_map_hasher): Move along
- with its member functions to tree-ssa-coalesce.c.
- (var_map_base_init): Likewise. Renamed to
- compute_samebase_partition_bases.
- (partition_view_normal): Drop want_bases parameter.
- (partition_view_bitmap): Likewise.
- * tree-ssa-live.h: Adjust declarations.
- * tree-ssa-coalesce.c: Include explow.h.
- (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
- default defs at the entry point.
- (dump_part_var_map): New.
- (compute_optimized_partition_bases): New, called by...
- (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
- of compute_samebase_partition_bases. Adjust.
- * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
- * cfgexpand.c (leader_merge): New.
- (get_rtl_for_parm_ssa_default_def): New.
- (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
- vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
- (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
- redundant MEM attr setting.
- (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
- from...
- (expand_one_stack_var): ... this. New wrapper to check and
- skip already expanded SSA partitions.
- (record_alignment_for_reg_var): New, factored out of...
- (expand_one_var): ... this.
- (expand_one_ssa_partition): New.
- (adjust_one_expanded_partition_var): New.
- (expand_one_register_var): Check and skip already expanded SSA
- partitions.
- (expand_used_vars): Don't create DECLs for anonymous SSA
- names. Expand all SSA partitions, then adjust all SSA names.
- (pass::execute): Replace the loops that set
- SA.partition_to_pseudo from partition leaders and cleared
- DECL_RTL for multi-location variables, and that which used to
- rename vars and set attrs, with one that clears DECL_RTL and
- checks that PARMs and RESULTs default_defs match DECL_RTL.
- * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
- * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
- * explow.c (promote_ssa_mode): New.
- * explow.h (promote_ssa_mode): Declare.
- * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
- * function.c: Include cfgexpand.h.
- (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
- (use_register_for_parm_decl): Wrapper for the above to
- special-case the result_ptr.
- (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
- (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
- multiple locations.
- (assign_parm_adjust_stack_rtl): Add all and parm arguments,
- for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
- (assign_parm_setup_block): Prefer SSA-assigned location.
- (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
- if stack_parm is NULL.
- (assign_parm_setup_stack): Prefer SSA-assigned location.
- (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
- rtl before testing for pointer bounds. Special-case result_ptr.
- (expand_function_start): Maybe reset DECL_RTL of result.
- Prefer SSA-assigned location for result and static chain.
- Factor out DECL_RESULT and SET_DECL_RTL.
- * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
- anonymous SSA names. Use promote_ssa_mode.
- (get_temp_reg): Likewise.
- (remove_ssa_form): Adjust.
- * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
- and get its reg_usage for reg invalidation.
- (compute_bb_dataflow): Pass it insn.
- (emit_notes_in_bb): Likewise.
- * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
- fail assert on conversion between unsigned types.
-
-2015-06-09 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/58315
- * tree-inline.c (reset_debug_binding): New.
- (reset_debug_bindings): Likewise.
- (expand_call_inline): Call it.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
- TYPE_STRING_FLAG.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer-out.c (lto_output_location): Stream
- reserved locations correctly.
- * lto-streamer-in.c (lto_output_location): Likewise.
-
-2015-06-08 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include hash-table.h and hash-set.h for host files.
- * ggc.h: Don't include statistics.h>
- * hash-map.h: Remove all includes.
- * hash-set.h: Likewise.
- * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
- the include list. Remove <new>.
- * inchash.h: Remove all includes.
- * mem-stats.h: Likewise.
- * vec.h: No special processing for generators or ggc.
- * alias.c : Adjust include files.
- * alloc-pool.c : Likewise.
- * alloc-pool.h : Likewise.
- * asan.c : Likewise.
- * attribs.c : Likewise.
- * auto-inc-dec.c : Likewise.
- * auto-profile.c : Likewise.
- * bb-reorder.c : Likewise.
- * bitmap.c : Likewise.
- * bitmap.h : Likewise.
- * bt-load.c : Likewise.
- * builtins.c : Likewise.
- * caller-save.c : Likewise.
- * calls.c : Likewise.
- * ccmp.c : Likewise.
- * cfg.c : Likewise.
- * cfganal.c : Likewise.
- * cfgbuild.c : Likewise.
- * cfgcleanup.c : Likewise.
- * cfgexpand.c : Likewise.
- * cfghooks.c : Likewise.
- * cfgloop.c : Likewise.
- * cfgloop.h : Likewise.
- * cfgloopanal.c : Likewise.
- * cfgloopmanip.c : Likewise.
- * cfgrtl.c : Likewise.
- * cgraph.c : Likewise.
- * cgraphbuild.c : Likewise.
- * cgraphclones.c : Likewise.
- * cgraphunit.c : Likewise.
- * cilk-common.c : Likewise.
- * combine-stack-adj.c : Likewise.
- * combine.c : Likewise.
- * compare-elim.c : Likewise.
- * context.c : Likewise.
- * convert.c : Likewise.
- * coverage.c : Likewise.
- * cppbuiltin.c : Likewise.
- * cprop.c : Likewise.
- * cse.c : Likewise.
- * cselib.c : Likewise.
- * data-streamer-in.c : Likewise.
- * data-streamer-out.c : Likewise.
- * data-streamer.c : Likewise.
- * data-streamer.h : Likewise.
- * dbxout.c : Likewise.
- * dce.c : Likewise.
- * ddg.c : Likewise.
- * debug.c : Likewise.
- * df-core.c : Likewise.
- * df-problems.c : Likewise.
- * df-scan.c : Likewise.
- * df.h : Likewise.
- * dfp.c : Likewise.
- * dojump.c : Likewise.
- * dominance.c : Likewise.
- * domwalk.c : Likewise.
- * double-int.c : Likewise.
- * dse.c : Likewise.
- * dumpfile.c : Likewise.
- * dwarf2asm.c : Likewise.
- * dwarf2cfi.c : Likewise.
- * dwarf2out.c : Likewise.
- * emit-rtl.c : Likewise.
- * et-forest.c : Likewise.
- * except.c : Likewise.
- * except.h : Likewise.
- * explow.c : Likewise.
- * expmed.c : Likewise.
- * expr.c : Likewise.
- * final.c : Likewise.
- * fixed-value.c : Likewise.
- * fold-const.c : Likewise.
- * function.c : Likewise.
- * fwprop.c : Likewise.
- * gcc-plugin.h : Likewise.
- * gcc.c : Likewise.
- * gcse-common.c : Likewise.
- * gcse.c : Likewise.
- * genattrtab.c : Likewise.
- * genautomata.c : Likewise.
- * genconditions.c : Likewise.
- * genemit.c : Likewise.
- * generic-match-head.c : Likewise.
- * genextract.c : Likewise.
- * gengtype-state.c : Likewise.
- * gengtype.c : Likewise.
- * genhooks.c : Likewise.
- * genmatch.c : Likewise.
- * genmodes.c : Likewise.
- * genrecog.c : Likewise.
- * gensupport.c : Likewise.
- * ggc-common.c : Likewise.
- * ggc-internal.h : Likewise.
- * ggc-none.c : Likewise.
- * ggc-page.c : Likewise.
- * gimple-builder.c : Likewise.
- * gimple-expr.c : Likewise.
- * gimple-fold.c : Likewise.
- * gimple-iterator.c : Likewise.
- * gimple-low.c : Likewise.
- * gimple-match-head.c : Likewise.
- * gimple-pretty-print.c : Likewise.
- * gimple-ssa-isolate-paths.c : Likewise.
- * gimple-ssa-strength-reduction.c : Likewise.
- * gimple-ssa.h : Likewise.
- * gimple-streamer-in.c : Likewise.
- * gimple-streamer-out.c : Likewise.
- * gimple-streamer.h : Likewise.
- * gimple-walk.c : Likewise.
- * gimple.c : Likewise.
- * gimplify-me.c : Likewise.
- * gimplify.c : Likewise.
- * godump.c : Likewise.
- * graph.c : Likewise.
- * graphds.c : Likewise.
- * graphite-blocking.c : Likewise.
- * graphite-dependences.c : Likewise.
- * graphite-interchange.c : Likewise.
- * graphite-isl-ast-to-gimple.c : Likewise.
- * graphite-optimize-isl.c : Likewise.
- * graphite-poly.c : Likewise.
- * graphite-scop-detection.c : Likewise.
- * graphite-sese-to-poly.c : Likewise.
- * graphite.c : Likewise.
- * haifa-sched.c : Likewise.
- * hard-reg-set.h : Likewise.
- * hw-doloop.c : Likewise.
- * ifcvt.c : Likewise.
- * inchash.c : Likewise.
- * incpath.c : Likewise.
- * init-regs.c : Likewise.
- * input.c : Likewise.
- * internal-fn.c : Likewise.
- * ipa-chkp.c : Likewise.
- * ipa-comdats.c : Likewise.
- * ipa-cp.c : Likewise.
- * ipa-devirt.c : Likewise.
- * ipa-icf-gimple.c : Likewise.
- * ipa-icf.c : Likewise.
- * ipa-inline-analysis.c : Likewise.
- * ipa-inline-transform.c : Likewise.
- * ipa-inline.c : Likewise.
- * ipa-polymorphic-call.c : Likewise.
- * ipa-profile.c : Likewise.
- * ipa-prop.c : Likewise.
- * ipa-pure-const.c : Likewise.
- * ipa-ref.c : Likewise.
- * ipa-reference.c : Likewise.
- * ipa-split.c : Likewise.
- * ipa-utils.c : Likewise.
- * ipa-visibility.c : Likewise.
- * ipa.c : Likewise.
- * ira-build.c : Likewise.
- * ira-color.c : Likewise.
- * ira-conflicts.c : Likewise.
- * ira-costs.c : Likewise.
- * ira-emit.c : Likewise.
- * ira-lives.c : Likewise.
- * ira.c : Likewise.
- * jump.c : Likewise.
- * langhooks.c : Likewise.
- * lcm.c : Likewise.
- * libfuncs.h : Likewise.
- * lists.c : Likewise.
- * loop-doloop.c : Likewise.
- * loop-init.c : Likewise.
- * loop-invariant.c : Likewise.
- * loop-iv.c : Likewise.
- * loop-unroll.c : Likewise.
- * lower-subreg.c : Likewise.
- * lra-assigns.c : Likewise.
- * lra-coalesce.c : Likewise.
- * lra-constraints.c : Likewise.
- * lra-eliminations.c : Likewise.
- * lra-lives.c : Likewise.
- * lra-remat.c : Likewise.
- * lra-spills.c : Likewise.
- * lra.c : Likewise.
- * lto-cgraph.c : Likewise.
- * lto-compress.c : Likewise.
- * lto-opts.c : Likewise.
- * lto-section-in.c : Likewise.
- * lto-section-out.c : Likewise.
- * lto-streamer-in.c : Likewise.
- * lto-streamer-out.c : Likewise.
- * lto-streamer.c : Likewise.
- * lto-streamer.h : Likewise.
- * mcf.c : Likewise.
- * mode-switching.c : Likewise.
- * modulo-sched.c : Likewise.
- * omega.c : Likewise.
- * omp-low.c : Likewise.
- * optabs.c : Likewise.
- * opts-global.c : Likewise.
- * opts.h : Likewise.
- * passes.c : Likewise.
- * plugin.c : Likewise.
- * postreload-gcse.c : Likewise.
- * postreload.c : Likewise.
- * predict.c : Likewise.
- * print-rtl.c : Likewise.
- * print-tree.c : Likewise.
- * profile.c : Likewise.
- * read-md.c : Likewise.
- * read-md.h : Likewise.
- * read-rtl.c : Likewise.
- * real.c : Likewise.
- * realmpfr.c : Likewise.
- * recog.c : Likewise.
- * ree.c : Likewise.
- * reg-stack.c : Likewise.
- * regcprop.c : Likewise.
- * reginfo.c : Likewise.
- * regrename.c : Likewise.
- * regstat.c : Likewise.
- * reload.c : Likewise.
- * reload1.c : Likewise.
- * reorg.c : Likewise.
- * resource.c : Likewise.
- * rtl-chkp.c : Likewise.
- * rtl.c : Likewise.
- * rtl.h : Likewise.
- * rtlanal.c : Likewise.
- * rtlhash.c : Likewise.
- * rtlhash.h : Likewise.
- * rtlhooks.c : Likewise.
- * sanopt.c : Likewise.
- * sched-deps.c : Likewise.
- * sched-ebb.c : Likewise.
- * sched-rgn.c : Likewise.
- * sched-vis.c : Likewise.
- * sdbout.c : Likewise.
- * sel-sched-dump.c : Likewise.
- * sel-sched-ir.c : Likewise.
- * sel-sched-ir.h : Likewise.
- * sel-sched.c : Likewise.
- * sese.c : Likewise.
- * shrink-wrap.c : Likewise.
- * shrink-wrap.h : Likewise.
- * simplify-rtx.c : Likewise.
- * stack-ptr-mod.c : Likewise.
- * statistics.c : Likewise.
- * stmt.c : Likewise.
- * stor-layout.c : Likewise.
- * store-motion.c : Likewise.
- * stringpool.c : Likewise.
- * symtab.c : Likewise.
- * target-globals.c : Likewise.
- * targhooks.c : Likewise.
- * tlink.c : Likewise.
- * toplev.c : Likewise.
- * tracer.c : Likewise.
- * trans-mem.c : Likewise.
- * tree-affine.c : Likewise.
- * tree-affine.h : Likewise.
- * tree-browser.c : Likewise.
- * tree-call-cdce.c : Likewise.
- * tree-cfg.c : Likewise.
- * tree-cfgcleanup.c : Likewise.
- * tree-chkp-opt.c : Likewise.
- * tree-chkp.c : Likewise.
- * tree-chrec.c : Likewise.
- * tree-complex.c : Likewise.
- * tree-data-ref.c : Likewise.
- * tree-dfa.c : Likewise.
- * tree-diagnostic.c : Likewise.
- * tree-dump.c : Likewise.
- * tree-eh.c : Likewise.
- * tree-eh.h : Likewise.
- * tree-emutls.c : Likewise.
- * tree-hasher.h : Likewise.
- * tree-if-conv.c : Likewise.
- * tree-inline.c : Likewise.
- * tree-inline.h : Likewise.
- * tree-into-ssa.c : Likewise.
- * tree-iterator.c : Likewise.
- * tree-loop-distribution.c : Likewise.
- * tree-nested.c : Likewise.
- * tree-nrv.c : Likewise.
- * tree-object-size.c : Likewise.
- * tree-outof-ssa.c : Likewise.
- * tree-parloops.c : Likewise.
- * tree-phinodes.c : Likewise.
- * tree-predcom.c : Likewise.
- * tree-pretty-print.c : Likewise.
- * tree-profile.c : Likewise.
- * tree-scalar-evolution.c : Likewise.
- * tree-sra.c : Likewise.
- * tree-ssa-address.c : Likewise.
- * tree-ssa-alias.c : Likewise.
- * tree-ssa-ccp.c : Likewise.
- * tree-ssa-coalesce.c : Likewise.
- * tree-ssa-copy.c : Likewise.
- * tree-ssa-copyrename.c : Likewise.
- * tree-ssa-dce.c : Likewise.
- * tree-ssa-dom.c : Likewise.
- * tree-ssa-dse.c : Likewise.
- * tree-ssa-forwprop.c : Likewise.
- * tree-ssa-ifcombine.c : Likewise.
- * tree-ssa-live.c : Likewise.
- * tree-ssa-loop-ch.c : Likewise.
- * tree-ssa-loop-im.c : Likewise.
- * tree-ssa-loop-ivcanon.c : Likewise.
- * tree-ssa-loop-ivopts.c : Likewise.
- * tree-ssa-loop-manip.c : Likewise.
- * tree-ssa-loop-niter.c : Likewise.
- * tree-ssa-loop-prefetch.c : Likewise.
- * tree-ssa-loop-unswitch.c : Likewise.
- * tree-ssa-loop.c : Likewise.
- * tree-ssa-math-opts.c : Likewise.
- * tree-ssa-operands.c : Likewise.
- * tree-ssa-phiopt.c : Likewise.
- * tree-ssa-phiprop.c : Likewise.
- * tree-ssa-pre.c : Likewise.
- * tree-ssa-propagate.c : Likewise.
- * tree-ssa-reassoc.c : Likewise.
- * tree-ssa-sccvn.c : Likewise.
- * tree-ssa-scopedtables.c : Likewise.
- * tree-ssa-sink.c : Likewise.
- * tree-ssa-strlen.c : Likewise.
- * tree-ssa-structalias.c : Likewise.
- * tree-ssa-tail-merge.c : Likewise.
- * tree-ssa-ter.c : Likewise.
- * tree-ssa-threadedge.c : Likewise.
- * tree-ssa-threadupdate.c : Likewise.
- * tree-ssa-uncprop.c : Likewise.
- * tree-ssa-uninit.c : Likewise.
- * tree-ssa.c : Likewise.
- * tree-ssanames.c : Likewise.
- * tree-stdarg.c : Likewise.
- * tree-streamer-in.c : Likewise.
- * tree-streamer-out.c : Likewise.
- * tree-streamer.c : Likewise.
- * tree-streamer.h : Likewise.
- * tree-switch-conversion.c : Likewise.
- * tree-tailcall.c : Likewise.
- * tree-vect-data-refs.c : Likewise.
- * tree-vect-generic.c : Likewise.
- * tree-vect-loop-manip.c : Likewise.
- * tree-vect-loop.c : Likewise.
- * tree-vect-patterns.c : Likewise.
- * tree-vect-slp.c : Likewise.
- * tree-vect-stmts.c : Likewise.
- * tree-vectorizer.c : Likewise.
- * tree-vectorizer.h : Likewise.
- * tree-vrp.c : Likewise.
- * tree.c : Likewise.
- * tsan.c : Likewise.
- * ubsan.c : Likewise.
- * valtrack.c : Likewise.
- * valtrack.h : Likewise.
- * value-prof.c : Likewise.
- * var-tracking.c : Likewise.
- * varasm.c : Likewise.
- * varpool.c : Likewise.
- * vec.c: Likewise.
- * vmsdbgout.c : Likewise.
- * vtable-verify.c : Likewise.
- * vtable-verify.h : Likewise.
- * web.c : Likewise.
- * wide-int.cc : Likewise.
- * xcoffout.c : Likewise.
- * config/aarch64/aarch64-builtins.c : Likewise.
- * config/aarch64/aarch64.c : Likewise.
- * config/aarch64/cortex-a57-fma-steering.c : Likewise.
- * config/alpha/alpha.c : Likewise.
- * config/arc/arc.c : Likewise.
- * config/arm/aarch-common.c : Likewise.
- * config/arm/arm-builtins.c : Likewise.
- * config/arm/arm-c.c : Likewise.
- * config/arm/arm.c : Likewise.
- * config/avr/avr-c.c : Likewise.
- * config/avr/avr-log.c : Likewise.
- * config/avr/avr.c : Likewise.
- * config/bfin/bfin.c : Likewise.
- * config/c6x/c6x.c : Likewise.
- * config/cr16/cr16.c : Likewise.
- * config/cris/cris.c : Likewise.
- * config/darwin-c.c : Likewise.
- * config/darwin.c : Likewise.
- * config/default-c.c : Likewise.
- * config/epiphany/epiphany.c : Likewise.
- * config/epiphany/mode-switch-use.c : Likewise.
- * config/epiphany/resolve-sw-modes.c : Likewise.
- * config/fr30/fr30.c : Likewise.
- * config/frv/frv.c : Likewise.
- * config/ft32/ft32.c : Likewise.
- * config/glibc-c.c : Likewise.
- * config/h8300/h8300.c : Likewise.
- * config/i386/i386-c.c : Likewise.
- * config/i386/i386.c : Likewise.
- * config/i386/msformat-c.c : Likewise.
- * config/i386/winnt-cxx.c : Likewise.
- * config/i386/winnt-stubs.c : Likewise.
- * config/i386/winnt.c : Likewise.
- * config/ia64/ia64-c.c : Likewise.
- * config/ia64/ia64.c : Likewise.
- * config/iq2000/iq2000.c : Likewise.
- * config/lm32/lm32.c : Likewise.
- * config/m32c/m32c-pragma.c : Likewise.
- * config/m32c/m32c.c : Likewise.
- * config/m32r/m32r.c : Likewise.
- * config/m68k/m68k.c : Likewise.
- * config/mcore/mcore.c : Likewise.
- * config/mep/mep-pragma.c : Likewise.
- * config/mep/mep.c : Likewise.
- * config/microblaze/microblaze-c.c : Likewise.
- * config/microblaze/microblaze.c : Likewise.
- * config/mips/mips.c : Likewise.
- * config/mmix/mmix.c : Likewise.
- * config/mn10300/mn10300.c : Likewise.
- * config/moxie/moxie.c : Likewise.
- * config/msp430/msp430-c.c : Likewise.
- * config/msp430/msp430.c : Likewise.
- * config/nds32/nds32-cost.c : Likewise.
- * config/nds32/nds32-fp-as-gp.c : Likewise.
- * config/nds32/nds32-intrinsic.c : Likewise.
- * config/nds32/nds32-isr.c : Likewise.
- * config/nds32/nds32-md-auxiliary.c : Likewise.
- * config/nds32/nds32-memory-manipulation.c : Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
- * config/nds32/nds32-predicates.c : Likewise.
- * config/nds32/nds32.c : Likewise.
- * config/nios2/nios2.c : Likewise.
- * config/nvptx/nvptx.c : Likewise.
- * config/pa/pa.c : Likewise.
- * config/pdp11/pdp11.c : Likewise.
- * config/rl78/rl78-c.c : Likewise.
- * config/rl78/rl78.c : Likewise.
- * config/rs6000/rs6000-c.c : Likewise.
- * config/rs6000/rs6000.c : Likewise.
- * config/rx/rx.c : Likewise.
- * config/s390/s390-c.c : Likewise.
- * config/s390/s390.c : Likewise.
- * config/sh/sh-c.c : Likewise.
- * config/sh/sh-mem.cc : Likewise.
- * config/sh/sh.c : Likewise.
- * config/sh/sh_optimize_sett_clrt.cc : Likewise.
- * config/sh/sh_treg_combine.cc : Likewise.
- * config/sol2-c.c : Likewise.
- * config/sol2-cxx.c : Likewise.
- * config/sol2-stubs.c : Likewise.
- * config/sol2.c : Likewise.
- * config/sparc/sparc-c.c : Likewise.
- * config/sparc/sparc.c : Likewise.
- * config/spu/spu-c.c : Likewise.
- * config/spu/spu.c : Likewise.
- * config/stormy16/stormy16.c : Likewise.
- * config/tilegx/mul-tables.c : Likewise.
- * config/tilegx/tilegx-c.c : Likewise.
- * config/tilegx/tilegx.c : Likewise.
- * config/tilepro/mul-tables.c : Likewise.
- * config/tilepro/tilepro-c.c : Likewise.
- * config/tilepro/tilepro.c : Likewise.
- * config/v850/v850-c.c : Likewise.
- * config/v850/v850.c : Likewise.
- * config/vax/vax.c : Likewise.
- * config/visium/visium.c : Likewise.
- * config/vms/vms-c.c : Likewise.
- * config/vms/vms.c : Likewise.
- * config/vxworks.c : Likewise.
- * config/winnt-c.c : Likewise.
- * config/xtensa/xtensa.c : Likewise.
-
-2015-06-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65378
- * ipa-utils.h (warn_types_mismatch): Update prototype.
- * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
- parameters.
- (type_mismatch_p): New function.
- (warn_types_mismatch): Reorg to work better on non-C++ types.
- (odr_types_equivalent_p): Add loc1/loc2 parameters.
- (add_type_duplicate): Update.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/66444
- * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
- call_used_regs.
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66422
- * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
- block after inserted gcc_unreachable.
-
-2015-06-08 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (rx_function_value): Do not promote vector types.
- (rx_promote_function_mode): Likewise.
- * config/rx/rx.h (LIBCALL_VALUE): Likewise.
-
-2015-06-08 Jakub Jelinek <jakub@redhat.com>
-
- * genattrtab.c (insn_alternatives): Change type from int *
- to uint64_t *.
- (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
- (get_attr_value): Change type of num_alt to uint64_t.
- (compute_alternative_mask): Change return type from
- int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
- (make_alternative_compare, mk_attr_alt): Change argument type
- from int to uint64_t.
- (simplify_test_exp): Change type of i from int to uint64_t.
- Shift ((uint64_t) 1) instead of 1 up.
- (main): Adjust oballocvec first argument from int to uint64_t.
- Shift ((uint64_t) 1) instead of 1 up.
-
-2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- PR other/65366
- * gdbhooks.py: Import sys.
- (intptr): New function. Replace int(...) by intptr(...).
-
-2015-06-08 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Compute the pointer
- adjustment for gaps at the end of a SLP load group properly.
- * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
- all permutations we can generate.
- (vect_transform_slp_perm_load): Use the correct group-size.
-
-2015-06-08 Marc Glisse <marc.glisse@inria.fr>
-
- * genmatch.c (expr::gen_transform): For conditions, guess the type
- from the second operand.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66442
- * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
- * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
- if the loop latch is not a singleton. Use
- gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
-
-2015-06-08 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/66452
- * toplev.c (check_global_declaration): Don't warn about artificial
- decls.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66436
- * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
- dump file.
- * gimplify.c: Add tree-dump.h include.
- (gimplify_function_tree): Dump function to gimple dump file.
- * stor-layout.c (finalize_size_functions): Don't dump function to gimple
- dump file.
-
-2015-06-08 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66435
- * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
- function.
-
-2015-06-06 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
- of ptr_type_node to not be ptr_to_node.
- * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
- TREE_TYPE of pointers.
- * gimple-expr.c (useless_type_conversion): Reorder the check for
- function pointers and TYPE_CANONICAL.
-
-2015-06-06 John David Anglin <danglin@gcc.gnu.org>
-
- PR bootstrap/66319
- * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
- defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
- Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
- later.
- * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
- Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
- _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
- _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
- and non iso if unix2003.
-
-2015-06-06 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
-
-2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
-
- * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
- rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
- cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
- except.c, final.c, function.c, gcse-common.c, genemit.c,
- haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
- lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
- sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
- shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
- more derived ones.
-
-2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
-
- * combine.c (combine_split_insns): Remove cast.
- * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
- * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
- * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
- * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
- * genemit.c (gen_split): Change return type of generated functions to
- rtx_insn.
- * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
- (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
- gen_peephole2_* functions.
- (print_subroutine, main): Likewise.
- * recog.c (peephole2_optimize): Remove cast.
- (peep2_next_insn): Promote return type to rtx_insn.
- * recog.h (peep2_next_insn): Fix prototype.
- * rtl.h (try_split, split_insns): Likewise.
-
-2015-06-06 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.c (msp430_asm_integer): Support addition
- and subtraction too.
-
-2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/66410
- * config/sh/constraints.md (Sid, Ssd): New memory constraints.
- * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
- instead of Snd. Disparage Sid/z alternative with '^'.
-
-2015-06-05 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c: Remove deferred_locations*.
- (dwarf2_debug_hooks): Add early_finish hook.
- Remove global_decl hook.
- Add early_global_decl and late_global_decl hook.
- New global early_dwarf.
- New structure set_early_dwarf.
- (output_die): Indicate whether a DIE was generated early
- when generating assembly with -dA.
- (struct limbo_die_struct): Document created_for field.
- Remove file_table_last_lookup.
- (remove_AT): Return TRUE if successful.
- (remove_child_TAG): Clear die_parent.
- (reparent_child): New function abstracted from...
- (splice_child_die): ...here.
- (new_die): ICE if a DIE ends up in limbo too late.
- (check_die): New.
- (defer_location): Remove.
- (add_subscript_info): Reuse DW_TAG_subrange_type if available.
- (fill_variable_array_bounds): New.
- (decl_start_label): Call fill_variable_array_bounds.
- (gen_formal_parameter_die): Rewrite to reuse previously generated
- DIEs.
- (gen_subprogram_die): Same.
- (gen_variable_die): Same.
- (gen_const_die): Same.
- (gen_label_die): Same.
- (gen_lexical_block_die): Same.
- (decl_will_get_specification_p): New.
- (local_function_static): New.
- (gen_struct_or_union_type_die): Fill in variable-length fields.
- (gen_typedef_die): Fill in variable-length typedefs.
- (gen_tagged_type_die): Gracefully return on error_mark_node.
- Handle re-entrancy.
- (gen_type_die_with_usage): Handle variable-length types.
- Remove duplicate code for ARRAY_TYPE case.
- (process_scope_var): Only process imported modules during early
- dwarf.
- (dwarf2out_early_global_decl): New.
- (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
- (dwarf2out_type_decl): Set early_dwarf while calling
- dwarf2out_decl.
- (dwarf2out_decl): Verify that we did not recreate a previously
- generated DIE.
- Do not return on DECL_EXTERNALs in VAR_DECLs.
- Abstract some code to local_function_static.
- (lookup_filename): Remove use of file_table_last_lookup.
- Gracefully exit on missing file_name.
- (dwarf2out_finish): Verify limbo list.
- Remove deferred_locations_list use.
- Move deferred_asm_name and limbo flushing to...
- (dwarf2out_early_finish): ...here. New.
- (dwarf2out_c_finalize): Remove set of deferred_location_list,
- deferred_asm_name, and file_table_last_lookup.
- * cgraph.h (referred_to_p): Add default argument.
- * cgraphunit.c (referred_to_p): Add and handle include_self
- argument.
- (analyze_functions): Add first_time argument.
- Call check_global_declaration for all symbols.
- Call late_global_decl for nodes for moribund nodes.
- (finalize_compilation_unit): Add new argument to
- analyze_functions.
- Call early_global_decl for functions.
- Call early_finish debug hook.
- * dbxout.c (dbxout_early_global_decl): New.
- (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
- (dbx_debug_hooks): Add new hooks.
- (xcoff_debug_hooks): Same.
- * debug.c (do_nothing_debug_hooks): Add early_finish field.
- Add early and late debug hooks.
- Remove global_decl hook.
- * debug.h (struct gcc_debug_hooks): Add early_finish,
- early_global_decl, and late_global_decl fields.
- Remove global_decl field.
- Document gcc_debug_hooks.
- * gengtype.c (output_typename): Remove.
- * godump.c (go_early_global_decl): New.
- (go_late_global_decl): New.
- (go_global_decl): Remove.
- (dump_go_spec_init): Remove global_decl. Add
- {early,late}_global_decl.
- * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
- (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
- * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
- (write_global_declarations): Remove.
- (global_decl_processing): New.
- * langhooks.h (struct lang_hooks_for_decls): Remove
- final_write_globals field.
- Add post_compilation_parsing_cleanups field.
- * passes.c (rest_of_decl_compilation): Call early_global_decl.
- * sdbout.c: Add early and late_global_decl hooks. Remove
- sdbout_global_decl hook.
- Add early_finish field for sdb_debug_hooks.
- (sdbout_global_decl): Remove.
- (sdbout_early_global_decl): New.
- (sdbout_late_global_decl): New.
- * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
- * toplev.c (check_global_declaration): Rename from
- check_global_declaration_1.
- Adapt to use symtab infrastructure.
- (check_global_declarations): Remove.
- (emit_debug_global_declarations): Remove.
- (compile_file): Remove call to final_write_globals langhook.
- Run the actual compilation process.
- Perform any post compilation parser cleanups.
- Generate late debug info.
- * toplev.h (check_global_declaration): New.
- (check_global_declaration_1): Remove.
- (check_global_declarations): Remove.
- (write_global_declarations): Remove.
- (emit_debug_global_declarations): Remove.
- (global_decl_processing): New.
- * tree-core.h (struct tree_block): Add DIE field.
- * tree.h (BLOCK_DIE): New.
- * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
- throughout.
- (vmsdbgout_early_global_decl): New.
- (vmsdbgout_late_global_decl): New.
- Add early_finish debug hook field to vmsdbg_debug_hooks.
- Remove vmsdbgout_decl to vmsdbgout_function_decl.
- Add early and late_global_decl debug hooks.
-
-2015-06-05 Julian Brown <julian@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
- * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
- to print-sysroot-suffix.sh script.
-
-2015-06-05 Tom de Vries <tom@codesourcery.com>
-
- merge from gomp4 branch:
- 2015-05-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65443
- * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
- (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
- (try_transform_to_exit_first_loop_alt): New function.
- (transform_to_exit_first_loop): Use
- try_transform_to_exit_first_loop_alt.
-
-2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
-
- * builtins.c (expand_builtin_atomic_compare_exchange): Call
- emit_cmp_and_jump_insns with the mode of target.
-
-2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
-
-2015-06-04 DJ Delorie <dj@redhat.com>
-
- * config/msp430/msp430.md (movsi_s): New. Special case for
- storing a 20-bit symbol into a 32-bit register.
- * config/msp430/msp430.c (msp430_subreg): Add support for it.
- * config/msp430/predicates.md (msp430_symbol_operand): New.
-
-2015-06-04 Sriraman Tallam <tmsriram@google.com>
-
- * calls.c (prepare_call_address): Check for noplt
- attribute.
- * config/i386/i386.c (ix86_expand_call): Check
- for noplt attribute.
- (ix86_nopic_noplt_attribute_p): New function.
- (ix86_output_call_insn): Output indirect call for non-pic
- no plt calls.
- * doc/extend.texi (noplt): Document new attribute.
- * doc/invoke.texi: Document new attribute.
-
-2015-06-04 Andrew MacLeod <amacleod@redhat.com>
-
- * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
- real.h, and fixed-value.h when included in host source files.
- * double-int.h: Remove redundant #includes listed above.
- * fixed-value.h: Likewise.
- * real.h: Likewise.
- * wide-int.h: Likewise.
- * inchash.h: Likewise.
- * rtl.h: Add some include files When included from a generator file.
- * target.h: Remove wide-int.h and insn-modes.h from the include list.
- * internal-fn.h: Don't include coretypes.h.
- * alias.c: Adjust includes for restructured coretypes.h.
- * asan.c: Likewise.
- * attribs.c: Likewise.
- * auto-inc-dec.c: Likewise.
- * auto-profile.c: Likewise.
- * bb-reorder.c: Likewise.
- * bt-load.c: Likewise.
- * builtins.c: Likewise.
- * caller-save.c: Likewise.
- * calls.c: Likewise.
- * ccmp.c: Likewise.
- * cfg.c: Likewise.
- * cfganal.c: Likewise.
- * cfgbuild.c: Likewise.
- * cfgcleanup.c: Likewise.
- * cfgexpand.c: Likewise.
- * cfghooks.c: Likewise.
- * cfgloop.c: Likewise.
- * cfgloop.h: Likewise.
- * cfgloopanal.c: Likewise.
- * cfgloopmanip.c: Likewise.
- * cfgrtl.c: Likewise.
- * cgraph.c: Likewise.
- * cgraphbuild.c: Likewise.
- * cgraphclones.c: Likewise.
- * cgraphunit.c: Likewise.
- * cilk-common.c: Likewise.
- * combine-stack-adj.c: Likewise.
- * combine.c: Likewise.
- * compare-elim.c: Likewise.
- * convert.c: Likewise.
- * coverage.c: Likewise.
- * cppbuiltin.c: Likewise.
- * cprop.c: Likewise.
- * cse.c: Likewise.
- * cselib.c: Likewise.
- * data-streamer-in.c: Likewise.
- * data-streamer-out.c: Likewise.
- * data-streamer.c: Likewise.
- * dbxout.c: Likewise.
- * dce.c: Likewise.
- * ddg.c: Likewise.
- * debug.c: Likewise.
- * df-core.c: Likewise.
- * df-problems.c: Likewise.
- * df-scan.c: Likewise.
- * df.h: Likewise.
- * dfp.c: Likewise.
- * dojump.c: Likewise.
- * dominance.c: Likewise.
- * domwalk.c: Likewise.
- * double-int.c: Likewise.
- * dse.c: Likewise.
- * dumpfile.c: Likewise.
- * dwarf2asm.c: Likewise.
- * dwarf2cfi.c: Likewise.
- * dwarf2out.c: Likewise.
- * dwarf2out.h: Likewise.
- * emit-rtl.c: Likewise.
- * et-forest.c: Likewise.
- * except.c: Likewise.
- * explow.c: Likewise.
- * expmed.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * fixed-value.c: Likewise.
- * fold-const.c: Likewise.
- * function.c: Likewise.
- * fwprop.c: Likewise.
- * gcc-plugin.h: Likewise.
- * gcse.c: Likewise.
- * generic-match-head.c: Likewise.
- * ggc-page.c: Likewise.
- * gimple-builder.c: Likewise.
- * gimple-expr.c: Likewise.
- * gimple-fold.c: Likewise.
- * gimple-iterator.c: Likewise.
- * gimple-low.c: Likewise.
- * gimple-match-head.c: Likewise.
- * gimple-pretty-print.c: Likewise.
- * gimple-ssa-isolate-paths.c: Likewise.
- * gimple-ssa-strength-reduction.c: Likewise.
- * gimple-streamer-in.c: Likewise.
- * gimple-streamer-out.c: Likewise.
- * gimple-streamer.h: Likewise.
- * gimple-walk.c: Likewise.
- * gimple.c: Likewise.
- * gimplify-me.c: Likewise.
- * gimplify.c: Likewise.
- * godump.c: Likewise.
- * graph.c: Likewise.
- * graphite-blocking.c: Likewise.
- * graphite-dependences.c: Likewise.
- * graphite-interchange.c: Likewise.
- * graphite-isl-ast-to-gimple.c: Likewise.
- * graphite-optimize-isl.c: Likewise.
- * graphite-poly.c: Likewise.
- * graphite-scop-detection.c: Likewise.
- * graphite-sese-to-poly.c: Likewise.
- * graphite.c: Likewise.
- * haifa-sched.c: Likewise.
- * hooks.h: Likewise.
- * hw-doloop.c: Likewise.
- * ifcvt.c: Likewise.
- * incpath.c: Likewise.
- * init-regs.c: Likewise.
- * internal-fn.c: Likewise.
- * ipa-chkp.c: Likewise.
- * ipa-comdats.c: Likewise.
- * ipa-cp.c: Likewise.
- * ipa-devirt.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * ipa-icf.c: Likewise.
- * ipa-inline-analysis.c: Likewise.
- * ipa-inline-transform.c: Likewise.
- * ipa-inline.c: Likewise.
- * ipa-polymorphic-call.c: Likewise.
- * ipa-profile.c: Likewise.
- * ipa-prop.c: Likewise.
- * ipa-pure-const.c: Likewise.
- * ipa-ref.c: Likewise.
- * ipa-reference.c: Likewise.
- * ipa-split.c: Likewise.
- * ipa-utils.c: Likewise.
- * ipa-visibility.c: Likewise.
- * ipa.c: Likewise.
- * ira-build.c: Likewise.
- * ira-color.c: Likewise.
- * ira-conflicts.c: Likewise.
- * ira-costs.c: Likewise.
- * ira-emit.c: Likewise.
- * ira-lives.c: Likewise.
- * ira.c: Likewise.
- * jump.c: Likewise.
- * langhooks.c: Likewise.
- * lcm.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-init.c: Likewise.
- * loop-invariant.c: Likewise.
- * loop-iv.c: Likewise.
- * loop-unroll.c: Likewise.
- * lower-subreg.c: Likewise.
- * lra-assigns.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * lra-spills.c: Likewise.
- * lra.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-compress.c: Likewise.
- * lto-opts.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-section-out.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * lto-streamer.c: Likewise.
- * mcf.c: Likewise.
- * mode-switching.c: Likewise.
- * modulo-sched.c: Likewise.
- * omega.c: Likewise.
- * omp-low.c: Likewise.
- * optabs.c: Likewise.
- * opts-global.c: Likewise.
- * passes.c: Likewise.
- * plugin.c: Likewise.
- * postreload-gcse.c: Likewise.
- * postreload.c: Likewise.
- * predict.c: Likewise.
- * print-rtl.c: Likewise.
- * print-tree.c: Likewise.
- * profile.c: Likewise.
- * real.c: Likewise.
- * realmpfr.c: Likewise.
- * realmpfr.h: Likewise.
- * recog.c: Likewise.
- * ree.c: Likewise.
- * reg-stack.c: Likewise.
- * regcprop.c: Likewise.
- * reginfo.c: Likewise.
- * regrename.c: Likewise.
- * regs.h: Likewise.
- * regstat.c: Likewise.
- * reload.c: Likewise.
- * reload1.c: Likewise.
- * reorg.c: Likewise.
- * resource.c: Likewise.
- * rtl-chkp.c: Likewise.
- * rtlanal.c: Likewise.
- * rtlhooks.c: Likewise.
- * sanopt.c: Likewise.
- * sched-deps.c: Likewise.
- * sched-ebb.c: Likewise.
- * sched-rgn.c: Likewise.
- * sched-vis.c: Likewise.
- * sdbout.c: Likewise.
- * sel-sched-dump.c: Likewise.
- * sel-sched-ir.c: Likewise.
- * sel-sched.c: Likewise.
- * sese.c: Likewise.
- * shrink-wrap.c: Likewise.
- * shrink-wrap.h: Likewise.
- * simplify-rtx.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * statistics.c: Likewise.
- * stmt.c: Likewise.
- * stor-layout.c: Likewise.
- * store-motion.c: Likewise.
- * stringpool.c: Likewise.
- * symtab.c: Likewise.
- * target-globals.c: Likewise.
- * targhooks.c: Likewise.
- * toplev.c: Likewise.
- * tracer.c: Likewise.
- * trans-mem.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-affine.h: Likewise.
- * tree-browser.c: Likewise.
- * tree-call-cdce.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * tree-chkp.c: Likewise.
- * tree-chrec.c: Likewise.
- * tree-complex.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-dfa.c: Likewise.
- * tree-diagnostic.c: Likewise.
- * tree-dump.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-emutls.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-inline.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-iterator.c: Likewise.
- * tree-loop-distribution.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-nrv.c: Likewise.
- * tree-object-size.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-parloops.c: Likewise.
- * tree-phinodes.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-pretty-print.h: Likewise.
- * tree-profile.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-sra.c: Likewise.
- * tree-ssa-address.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-ccp.c: Likewise.
- * tree-ssa-coalesce.c: Likewise.
- * tree-ssa-copy.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-dom.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-ifcombine.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-loop-ch.c: Likewise.
- * tree-ssa-loop-im.c: Likewise.
- * tree-ssa-loop-ivcanon.c: Likewise.
- * tree-ssa-loop-ivopts.c: Likewise.
- * tree-ssa-loop-manip.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-ssa-loop-prefetch.c: Likewise.
- * tree-ssa-loop-unswitch.c: Likewise.
- * tree-ssa-loop.c: Likewise.
- * tree-ssa-loop.h: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-operands.c: Likewise.
- * tree-ssa-phiopt.c: Likewise.
- * tree-ssa-phiprop.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-propagate.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-ssa-scopedtables.c: Likewise.
- * tree-ssa-sink.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-ssa-structalias.c: Likewise.
- * tree-ssa-tail-merge.c: Likewise.
- * tree-ssa-ter.c: Likewise.
- * tree-ssa-threadedge.c: Likewise.
- * tree-ssa-threadupdate.c: Likewise.
- * tree-ssa-uncprop.c: Likewise.
- * tree-ssa-uninit.c: Likewise.
- * tree-ssa.c: Likewise.
- * tree-ssanames.c: Likewise.
- * tree-stdarg.c: Likewise.
- * tree-streamer-in.c: Likewise.
- * tree-streamer-out.c: Likewise.
- * tree-streamer.c: Likewise.
- * tree-switch-conversion.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-data-refs.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-vect-loop-manip.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tree-vectorizer.c: Likewise.
- * tree-vrp.c: Likewise.
- * tree.c: Likewise.
- * tsan.c: Likewise.
- * ubsan.c: Likewise.
- * valtrack.c: Likewise.
- * value-prof.c: Likewise.
- * var-tracking.c: Likewise.
- * varasm.c: Likewise.
- * varpool.c: Likewise.
- * vmsdbgout.c: Likewise.
- * vtable-verify.c: Likewise.
- * web.c: Likewise.
- * wide-int-print.cc: Likewise.
- * wide-int-print.h: Likewise.
- * wide-int.cc: Likewise.
- * xcoffout.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Likewise.
- * config/aarch64/aarch64.c: Likewise.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
- * config/alpha/alpha.c: Likewise.
- * config/arc/arc.c: Likewise.
- * config/arm/aarch-common.c: Likewise.
- * config/arm/arm-builtins.c: Likewise.
- * config/arm/arm-c.c: Likewise.
- * config/arm/arm.c: Likewise.
- * config/avr/avr-c.c: Likewise.
- * config/avr/avr-log.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/c6x/c6x.c: Likewise.
- * config/cr16/cr16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/darwin-c.c: Likewise.
- * config/darwin.c: Likewise.
- * config/default-c.c: Likewise.
- * config/epiphany/epiphany.c: Likewise.
- * config/epiphany/mode-switch-use.c: Likewise.
- * config/epiphany/resolve-sw-modes.c: Likewise.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * config/ft32/ft32.c: Likewise.
- * config/glibc-c.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386-c.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/i386/msformat-c.c: Likewise.
- * config/i386/winnt-cxx.c: Likewise.
- * config/i386/winnt-stubs.c: Likewise.
- * config/i386/winnt.c: Likewise.
- * config/ia64/ia64-c.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/lm32/lm32.c: Likewise.
- * config/m32c/m32c-pragma.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep-pragma.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/microblaze/microblaze-c.c: Likewise.
- * config/microblaze/microblaze.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mmix/mmix.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/msp430/msp430-c.c: Likewise.
- * config/msp430/msp430.c: Likewise.
- * config/nds32/nds32-cost.c: Likewise.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/nvptx/nvptx.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/pdp11/pdp11.c: Likewise.
- * config/rl78/rl78-c.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rs6000/rs6000-c.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390-c.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh-c.c: Likewise.
- * config/sh/sh-mem.cc: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sh/sh_optimize_sett_clrt.cc: Likewise.
- * config/sh/sh_treg_combine.cc: Likewise.
- * config/sol2-c.c: Likewise.
- * config/sol2-cxx.c: Likewise.
- * config/sol2-stubs.c: Likewise.
- * config/sol2.c: Likewise.
- * config/sparc/sparc-c.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu-c.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/tilegx/mul-tables.c: Likewise.
- * config/tilegx/tilegx-c.c: Likewise.
- * config/tilegx/tilegx.c: Likewise.
- * config/tilepro/mul-tables.c: Likewise.
- * config/tilepro/tilepro-c.c: Likewise.
- * config/tilepro/tilepro.c: Likewise.
- * config/v850/v850-c.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/visium/visium.c: Likewise.
- * config/vms/vms-c.c: Likewise.
- * config/vms/vms.c: Likewise.
- * config/vxworks.c: Likewise.
- * config/winnt-c.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
- * common/config/bfin/bfin-common.c: Likewise.
-
-2015-06-04 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.h (tree_code_for_canonical_type_merging): New function.
- * tree.c (gimple_canonical_types_compatible_p): Use
- tree_code_for_canonical_type_merging..
-
-2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR c++/66192
- PR target/66200
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
- * target.def (TARGET_RELAXED_ORDERING): Likewise.
- * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
- * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
- * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
- * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
-
-2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
- register fma steering pass.
- * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
- AARCH64_TUNE_FMA_STEERING.
-
-2015-06-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Verify that type and variant is
- compatible.
- (gimple_canonical_types_compatible_p): Look for main variants.
-
-2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config.gcc (powerpc*-*-*): Add support for a new configure
- option --with-advance-toolchain=<xxx> which overrides using the
- default header files, libraries and dynamic linker.
-
- * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
- specs to support the configure --with-advance-toolchain=<xxx>
- option.
- (INCLUDE_EXTRA_SPEC): Likewise.
- (LINK_OS_EXTRA_SPEC32): Likewise.
- (LINK_OK_EXTRA_SPEC64): Likewise.
- (LINK_OS_NEW_DTAGS_SPEC): Likewise.
- (DYNAMIC_LINKER_PREFIX): Likewise.
- (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
- toolchain support.
- (GLIBC_DYNAMIC_LINKER32): Likewise.
- (GLIBC_DYNAMIC_LINKER64): Likewise.
- (LINK_OS_LINUX_SPEC32): Likewise.
- (LINK_OS_LINUX_SPEC64): Likewise.
-
- * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
- configuration option.
-
-2015-06-03 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66275
- * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
- to determine current function ABI.
- (ix86_function_value_regno_p): Ditto.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (struct pool_usage): Correct GNU coding style.
- * bitmap.h (struct bitmap_usage): Likewise.
- * ggc-common.c (struct ggc_usage): Likewise.
- * mem-stats.h (struct mem_location): Likewise.
- (struct mem_usage): Likewise.
- * vec.c (struct vec_usage): Likewise.
-
-2015-06-03 Benigno B. Junior <bbj@gentoo.org>
-
- * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
- -Bsymbolic.
-
-2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
-
- * doc/plugins.texi (enum plugin_event): New event.
- * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
- and PLUGIN_FINISH_FUNCTION.
- * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
- (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_group_access): Properly
- compute GROUP_GAP for the first element.
- * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
- on in-group gaps.
-
-2015-06-03 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-real.md: Add peepholes to avoid a register
- copy when calling a function.
- * config/rl78/rl78.c (need_to_save): Do not push the frame
- pointer in an interrupt handler prologue if it is never used.
-
-2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Create alias
- reference when cloning alias node.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (struct pool_usage): Correct space padding.
- * ggc-page.c (ggc_print_statistics): Align columns in a report.
- * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
- * tree.c (dump_tree_statistics): Align columns in a report.
-
-2015-06-03 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (allocate_pool_descriptor): Remove.
- (struct pool_output_info): Likewise.
- (print_alloc_pool_statistics): Likewise.
- (dump_alloc_pool_statistics): Likewise.
- * alloc-pool.h (struct pool_usage): New struct.
- (pool_allocator::initialize): Change usage of memory statistics
- to a new interface.
- (pool_allocator::release): Likewise.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
- * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
- for a pool allocator.
- * mem-stats.h (struct mem_location): Add new ctor.
- (struct mem_usage): Add counter for number of
- instances.
- (mem_alloc_description::register_descriptor): New overload of
- * mem-stats.h (mem_location::to_string): New function.
- * bitmap.h (struct bitmap_usage): Use this new function.
- * ggc-common.c (struct ggc_usage): Likewise.
- the function.
-
-2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
- of GCC_INSN_FLAGS_H block.
-
-2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
-
- * explow.c (plus_constant): Update check after force_const_mem call
- to see if the value returned is not a NULL_RTX.
-
-2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa.c (symbol_table::remove_unreachable_nodes): Don't
- remove instumentation thunks calling reachable functions.
- * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
- * lto/lto-partition.c (privatize_symbol_name_1): New.
- (privatize_symbol_name): Privatize both decl and orig_decl
- names for instrumented functions.
- * cgraph.c (cgraph_node::verify_node): Add transparent
- alias chain check for instrumented node.
-
-2015-06-03 Marek Polacek <polacek@redhat.com>
-
- PR c/64223
- PR c/29358
- * tree.c (attribute_value_equal): Handle attribute format.
- (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63916
- * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
- Forward-propagate non-invariant addresses by splicing their
- reference ops if the result isn't going to be used by PRE.
- (vn_reference_lookup_3): Remove pointless assert.
-
-2015-06-03 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66375
- * tree-scalar-evolution.c (follow_ssa_edge_binary): First
- add to the evolution before following SSA edges.
-
-2015-06-03 Bin Cheng <bin.cheng@arm.com>
-
- * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
- (dump_use, dump_cand, find_induction_variables): Pass new argument
- to dump_iv.
- (record_use): Preserve the ssa name information in IV.
-
-2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
- NO_MODE_TEST.
- (add_mode_tests): Don't add mode tests if the predicate only
- accepts scalar constant integers. Otherwise, allow the mode
- of "op" to be VOIDmode if the predicate does accept such integers.
-
-2015-06-02 Jim Wilson <jim.wilson@linaro.org>
-
- PR target/66258
- * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
- !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
- (aarch64_secondary_reload): Likewise
- (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
- to !TARGET_FLOAT.
- (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
- Likewise.
-
-2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
- Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/65768
- * cprop.c (try_replace_reg): Check cost of constants before propagating.
-
-2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
- provide access to the IBM extended double floating point mode if
- long double is IEEE 128-bit floating point.
- (KFmode): Define KFmode to provide access to IEEE 128-bit floating
- point if long double is the IBM extended double type.
-
- * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
- enable adding IEEE 128-bit floating point support.
- (-mfloat128-software): Likewise.
- (-mfloat128-sw): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
- 128-bit floating point types to occupy any register if
- -mlong-double-64. Do not allow use of IFmode/KFmode unless
- -mfloat128-software is enabled.
- (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
- support.
- (rs6000_option_override_internal): Add -mfloat128-* support.
- (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
-
- * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
- and float128 type nodes.
- (ieee128_float_type_node): Likewise.
- (ibm128_float_type_node): Likewise.
-
-2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- PR target/66136
- * config/aarch64/geniterators.sh: Rewrite in awk.
-
-2015-06-02 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
- values to avoid -Wmaybe-uninitialized errors.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR debug/65549
- * dwarf2out.c (lookup_context_die): New function.
- (resolve_addr): Avoid forcing a full DIE for the
- target of a DW_TAG_GNU_call_site during late compilation.
- Instead create a stub DIE without a type if we have a
- context DIE present.
-
-2015-06-02 Uros Bizjak <ubizjak@gmail.com>
-
- * df-scan.c (df_scan_start_dump): Add space between regno and regname.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/48052
- * cfgloop.h (struct control_iv): New.
- (struct loop): New field control_ivs.
- * tree-ssa-loop-niter.c : Include "stor-layout.h".
- (number_of_iterations_lt): Set no_overflow information.
- (number_of_iterations_exit): Init control iv in niter struct.
- (record_control_iv): New.
- (estimate_numbers_of_iterations_loop): Call record_control_iv.
- (loop_exits_before_overflow): New. Interface factored out of
- scev_probably_wraps_p.
- (scev_probably_wraps_p): Factor loop niter related code into
- loop_exits_before_overflow.
- (free_numbers_of_iterations_estimates_loop): Free control ivs.
- * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
-
-2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
- the target doesn't belong to the current function.
-
-2015-06-02 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/66345
- * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
- get_maxval_strlen does not produce an INTEGER_CST.
-
-2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/arc/constraints.md: Use lower-case names in match_code.
- * config/mmix/constraints.md: Likewise.
-
-2015-06-02 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65961
- * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
- check and clarify dump message.
- (vect_build_slp_tree): If all children are built up from scalars
- build up the parent from scalars instead.
- * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
-
-2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- PR other/65366
- * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
- instead of print ... .
-
-2015-06-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
- 2014-08-11 change.
-
-2015-06-02 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/52563
- PR tree-optimization/62173
- * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
- (alloc_iv, set_iv): New parameter.
- (determine_biv_step): Delete.
- (find_bivs): Inline original determine_biv_step. Pass new
- argument to set_iv.
- (idx_find_step): Use no_overflow information for conversion.
- * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
- resolve_mixers handle folded_casts.
- (instantiate_scev_name): Change bool parameter to bool pointer.
- (instantiate_scev_poly, instantiate_scev_binary): Ditto.
- (instantiate_array_ref, instantiate_scev_not): Ditto.
- (instantiate_scev_3, instantiate_scev_2): Ditto.
- (instantiate_scev_1, instantiate_scev_r): Ditto.
- (instantiate_scev_convert, ): Change parameter. Pass argument
- to chrec_convert_aggressive.
- (instantiate_scev): Change argument.
- (resolve_mixers): New parameter and set it.
- (scev_const_prop): New argument.
- * tree-scalar-evolution.h (resolve_mixers): New parameter.
- * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
- of chrec_conert_1.
- (chrec_convert): New parameter. Move definition below.
- (chrec_convert_aggressive): New parameter and set it. Call
- convert_affine_scev.
- * tree-chrec.h (chrec_convert): New parameter.
- (chrec_convert_aggressive): Ditto.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
- * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
- the LHS of a no-return call if its type has variable size.
- * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
- * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
-
-2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
-
- * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
- * config.in: Regenerate.
-
-2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
- consecutive accesses within outer-loop with force_vectorize
- for references with zero step in inner-loop.
-
-2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
-
- * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
- rather than from gcc/build directory.
-
-2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
- for __sync memory models, emit initial loads and final barriers as
- appropriate.
-
-2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/65697
- * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
- (aarch64_split_atomic_op): Check for __sync memory models, emit
- appropriate initial loads and final barriers.
-
-2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
-
- * Makefile.in: Fix gcov dependencies that should
- not point to a build folder.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- Revert
- 2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * tree-ssa-threadupdate.c (create_block_for_threading): Add
- parameter that says which loop the new block belongs to.
- (ssa_create_duplicates): Blocks duplicated for the threaded
- path belong to the loop of the thread destination.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sched-deps.c: Include pool-alloc.h before
- cselib.h header file is included.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
- functions.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.h: Add ATTRIBUTE_UNUSED for
- a function local variable.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (create_alloc_pool): Remove.
- (empty_alloc_pool): Likewise.
- (free_alloc_pool): Likewise.
- (free_alloc_pool_if_empty): Likewise.
- (pool_alloc): Likewise.
- (pool_free): Likewise.
- * alloc-pool.h: Remove old declarations.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
- (ira_create_object): Likewise.
- (ira_create_allocno): Likewise.
- (ira_create_live_range): Likewise.
- (copy_live_range): Likewise.
- (ira_finish_live_range): Likewise.
- (ira_free_allocno_costs): Likewise.
- (finish_allocno): Likewise.
- (finish_allocnos): Likewise.
- (initiate_prefs): Likewise.
- (ira_create_pref): Likewise.
- (finish_pref): Likewise.
- (finish_prefs): Likewise.
- (initiate_copies): Likewise.
- (ira_create_copy): Likewise.
- (finish_copy): Likewise.
- (finish_copies): Likewise.
- (finish_prefs): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
- (allocate_and_init_ipcp_value): Likewise.
- (ipcp_lattice::add_value): Likewise.
- (merge_agg_lats_step): Likewise.
- (ipcp_driver): Likewise.
- * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
- (ipa_free_all_structures_after_iinln): Likewise.
- * ipa-prop.h: Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
- pool allocator.
- (set_hint_predicate): Likewise.
- (inline_summary_alloc): Likewise.
- (reset_inline_edge_summary): Likewise.
- (reset_inline_summary): Likewise.
- (set_cond_stmt_execution_predicate): Likewise.
- (set_switch_stmt_execution_predicate): Likewise.
- (compute_bb_predicates): Likewise.
- (estimate_function_body_sizes): Likewise.
- (inline_free_summary): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
- (ipa_edge_duplication_hook): Likewise.
- (ipa_free_all_structures_after_ipa_cp): Likewise.
- (ipa_free_all_structures_after_iinln): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ipa-profile.c (account_time_size): Use new type-based pool allocator.
- (ipa_profile_generate_summary): Likewise.
- (ipa_profile_read_summary): Likewise.
- (ipa_profile): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-structalias.c (new_var_info): Use new type-based
- pool allocator.
- (new_constraint): Likewise.
- (init_alias_vars): Likewise.
- (delete_points_to_sets): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
- (free_strinfo): Likewise.
- (pass_strlen::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
- pool allocator.
- (vn_reference_insert_pieces): Likewise.
- (vn_phi_insert): Likewise.
- (visit_reference_op_call): Likewise.
- (copy_phi): Likewise.
- (copy_reference): Likewise.
- (process_scc): Likewise.
- (allocate_vn_table): Likewise.
- (free_vn_table): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
- pool allocator.
- (add_repeat_to_ops_vec): Likewise.
- (get_ops): Likewise.
- (maybe_optimize_range_tests): Likewise.
- (init_reassoc): Likewise.
- (fini_reassoc): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
- pool allocator.
- (bitmap_set_new): Likewise.
- (get_or_alloc_expr_for_constant): Likewise.
- (get_or_alloc_expr_for): Likewise.
- (phi_translate_1): Likewise.
- (compute_avail): Likewise.
- (init_pre): Likewise.
- (fini_pre): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sched-deps.c (create_dep_node): Use new type-based pool allocator.
- (delete_dep_node): Likewise.
- (create_deps_list): Likewise.
- (free_deps_list): Likewise.
- (sched_deps_init): Likewise.
- (sched_deps_finish): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * regcprop.c (free_debug_insn_changes): Use new type-based
- pool allocator.
- (replace_oldest_value_reg): Likewise.
- (pass_cprop_hardreg::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-build.c (initiate_cost_vectors): Use new type-based
- pool allocator.
- (ira_allocate_cost_vector): Likewise.
- (ira_free_cost_vector): Likewise.
- (finish_cost_vectors): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * sel-sched-ir.c (alloc_sched_pools): Use new type-based
- pool allocator.
- (free_sched_pools): Likewise.
- * sel-sched-ir.h (_list_alloc): Likewise.
- (_list_remove): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * stmt.c (add_case_node): Use new type-based pool allocator.
- (expand_case): Likewise.
- (expand_sjlj_dispatch_table): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
- (free_bb): Likewise.
- (pass_cse_reciprocals::execute): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * tree-sra.c (sra_initialize): Use new type-based pool allocator.
- (sra_deinitialize) Likewise.
- (create_access_1) Likewise.
- (build_accesses_from_assign) Likewise.
- (create_artificial_child_access) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * dse.c (get_group_info):Use new type-based pool allocator.
- (dse_step0) Likewise.
- (free_store_info) Likewise.
- (delete_dead_store_insn) Likewise.
- (free_read_records) Likewise.
- (record_store) Likewise.
- (replace_read) Likewise.
- (check_mem_read_rtx) Likewise.
- (scan_insn) Likewise.
- (dse_step1) Likewise.
- (dse_step7) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * df-scan.c (struct df_scan_problem_data):Use new type-based
- pool allocator.
- (df_scan_free_internal) Likewise.
- (df_scan_alloc) Likewise.
- (df_grow_reg_info) Likewise.
- (df_free_ref) Likewise.
- (df_insn_create_insn_record) Likewise.
- (df_mw_hardreg_chain_delete) Likewise.
- (df_insn_info_delete) Likewise.
- (df_free_collection_rec) Likewise.
- (df_mw_hardreg_chain_delete_eq_uses) Likewise.
- (df_sort_and_compress_mws) Likewise.
- (df_ref_create_structure) Likewise.
- (df_ref_record) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * df-problems.c (df_chain_create):Use new type-based pool allocator.
- (df_chain_unlink_1) Likewise.
- (df_chain_unlink) Likewise.
- (df_chain_remove_problem) Likewise.
- (df_chain_alloc) Likewise.
- (df_chain_free) Likewise.
- * df.h (struct dataflow) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * cselib.c (new_elt_list):Use new type-based pool allocator.
- (new_elt_loc_list) Likewise.
- (unchain_one_elt_list) Likewise.
- (unchain_one_elt_loc_list) Likewise.
- (unchain_one_value) Likewise.
- (new_cselib_val) Likewise.
- (cselib_init) Likewise.
- (cselib_finish) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * config/sh/sh.c (add_constant):Use new type-based pool allocator.
- (sh_reorg) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * cfg.c (initialize_original_copy_tables):Use new type-based
- pool allocator.
- (free_original_copy_tables) Likewise.
- (copy_original_table_clear) Likewise.
- (copy_original_table_set) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
- pool allocator.
- (asan_mem_ref_new) Likewise.
- (free_mem_ref_resources) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * var-tracking.c (variable_htab_free):Use new type-based
- pool allocator.
- (attrs_list_clear) Likewise.
- (attrs_list_insert) Likewise.
- (attrs_list_copy) Likewise.
- (shared_hash_unshare) Likewise.
- (shared_hash_destroy) Likewise.
- (unshare_variable) Likewise.
- (var_reg_delete_and_set) Likewise.
- (var_reg_delete) Likewise.
- (var_regno_delete) Likewise.
- (drop_overlapping_mem_locs) Likewise.
- (variable_union) Likewise.
- (insert_into_intersection) Likewise.
- (canonicalize_values_star) Likewise.
- (variable_merge_over_cur) Likewise.
- (dataflow_set_merge) Likewise.
- (remove_duplicate_values) Likewise.
- (variable_post_merge_new_vals) Likewise.
- (dataflow_set_preserve_mem_locs) Likewise.
- (dataflow_set_remove_mem_locs) Likewise.
- (variable_from_dropped) Likewise.
- (variable_was_changed) Likewise.
- (set_slot_part) Likewise.
- (clobber_slot_part) Likewise.
- (delete_slot_part) Likewise.
- (loc_exp_insert_dep) Likewise.
- (notify_dependents_of_changed_value) Likewise.
- (emit_notes_for_differences_1) Likewise.
- (vt_emit_notes) Likewise.
- (vt_initialize) Likewise.
- (vt_finalize) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * ira-color.c (init_update_cost_records):Use new type-based
- pool allocator.
- (get_update_cost_record) Likewise.
- (free_update_cost_record_list) Likewise.
- (finish_update_cost_records) Likewise.
- (initiate_cost_update) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * lra.c (init_insn_regs): Use new type-based pool allocator.
- (new_insn_reg) Likewise.
- (free_insn_reg) Likewise.
- (free_insn_regs) Likewise.
- (finish_insn_regs) Likewise.
- (init_insn_recog_data) Likewise.
- (init_reg_info) Likewise.
- (finish_reg_info) Likewise.
- (lra_free_copies) Likewise.
- (lra_create_copy) Likewise.
- (invalidate_insn_data_regno_info) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * lra-lives.c (free_live_range): Use new type-based pool allocator.
- (free_live_range_list) Likewise.
- (create_live_range) Likewise.
- (copy_live_range) Likewise.
- (lra_merge_live_ranges) Likewise.
- (remove_some_program_points_and_update_live_ranges) Likewise.
- (lra_live_ranges_init) Likewise.
- (lra_live_ranges_finish) Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * et-forest.c (et_new_occ): Use new type-based pool allocator.
- (et_new_tree): Likewise.
- (et_free_tree): Likewise.
- (et_free_tree_force): Likewise.
- (et_free_pools): Likewise.
- (et_split): Likewise.
-
-2015-06-01 Martin Liska <mliska@suse.cz>
-
- * alloc-pool.c (struct alloc_pool_descriptor): Move definition
- to header file.
- * alloc-pool.h (pool_allocator::pool_allocator): New function.
- (pool_allocator::release): Likewise.
- (inline pool_allocator::release_if_empty): Likewise.
- (inline pool_allocator::~pool_allocator): Likewise.
- (pool_allocator::allocate): Likewise.
- (pool_allocator::remove): Likewise.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
- in comment.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-protos.h (tune_params): Rename fuseable_ops
- to fusible_ops.
- * config/arm/arm.c (arm_print_tune_info): Likewise.
- (arm_macro_fusion_p): Likewise.
- (arm_macro_fusion_pair_p): Likewise.
-
-2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params): Rename
- fuseable_ops to fusible_ops.
- * config/aarch64/aarch64.c (generic_tunings): Rename
- fuseable_ops to fusible_ops.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_macro_fusion_p): Likewise.
- (aarch64_macro_fusion_pair_p): Likewise.
-
-2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/driver-native.c: New file.
- * config/s390/x-native: New file.
- * config.host: Add new files for s390.
- * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
- and -march=native
- * config.gcc: Likewise.
- * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
- * config/s390/s390-opts.h (enum processor_type): Ditto.
- * config/s390/s390.c (s390_option_override): Catch unhandled
- PROCESSOR_NATIVE
-
-2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65527
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
- redirection for instrumented calls.
- * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
- (append_compiler_options): Append -fcheck-pointer-bounds.
- * tree-chkp.h (chkp_copy_call_skip_bounds): New.
- (chkp_redirect_edge): New.
- * tree-chkp.c (chkp_copy_call_skip_bounds): New.
- (chkp_redirect_edge): New.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66280
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
- def-use walking.
-
-2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
- logic_shift_imm.
-
-2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
- Remove obsolete kludge.
-
-2015-06-01 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-reassoc.c (get_rank): Simplify.
-
-2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
-
- * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
- * configure: Regenerated.
-
-2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
-
- * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
- issue (add space between string literal and macro).
- * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
-
-2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
-
- * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
- implict or explicit -fPIE or -fpie.
-
-2015-05-30 Mike Frysinger <vapier@gentoo.org>
-
- * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
-
-2015-05-28 DJ Delorie <dj@redhat.com>
-
- * expmed.c (extract_bit_field_1): Avoid clobbering a
- yet-to-be-used base/index register.
-
-2015-05-30 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
- (alias_stats): Add num_universal.
- (alias_set_subset_of): Special case pointers; be ready for NULL
- children.
- (alias_sets_conflict_p): Special case pointers; be ready for NULL
- children.
- (init_alias_set_entry): Break out from ...
- (record_alias_subset): ... here; propagate new fields;
- allocate children only when really needed.
- (get_alias_set): Do less generous pointer globbing.
- (dump_alias_stats_in_alias_c): Update statistics.
-
-2015-05-30 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
- correct block for use of r12.
- (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
-
-2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- PR target/66215
- * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
- with -mhotpatch=.
-
-2015-05-29 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66142
- * tree-if-conv.c (if_convertible_phi_p): Don't give up on
- virtual phis that feed themselves.
-
-2015-05-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66314
- * tree-ssa-threadupdate.c (create_block_for_threading): Add
- parameter that says which loop the new block belongs to.
- (ssa_create_duplicates): Blocks duplicated for the threaded
- path belong to the loop of the thread destination.
-
-2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
- to cleanup-saved-temps.
- * doc/sourcebuild.texi (Clean up generated test files): Expand
- introduction.
- (dg-keep-saved-temps): Document new proc.
- (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
- cleanup-saved-temps): Remove.
-
-2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
-
- * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
- gcc_AC_CHECK_DECLS.
- * configure: Regenerate.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/nios2/linux.h (CPP_SPEC): Define.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/microblaze/linux.h (CPP_SPEC): Define.
-
-2015-05-28 Mike Frysinger <vapier@gentoo.org>
-
- * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
- -pthread is specified.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
- (vect_fixup_scalar_cycles_with_patterns): Likewise.
- (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
- after pattern recog.
- (vect_create_epilog_for_reduction): Properly handle reductions
- with patterns.
- (vectorizable_reduction): Likewise.
- * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
- reduction chains.
- (vect_get_constant_vectors): Create the correct number of
- initial values for reductions.
- (vect_schedule_slp_instance): Handle reduction chains that are
- type changing properly.
- * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
- values better in memcpy destination handling. Handle non-aliasing
- we discover here.
-
-2015-05-28 Lawrence Velázquez <vq@larryv.me>
-
- PR target/63810
- * config/darwin-c.c (version_components): New global enum.
- (parse_version, version_as_legacy_macro)
- (version_as_modern_macro, macosx_version_as_macro): New functions.
- (version_as_macro): Remove.
- (darwin_cpp_builtins): Use new function.
-
-2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
-
- * builtins.c (expand_builtin_acc_on_device): Mark parameters
- with ATTRIBUTE_UNUSED.
-
-2015-05-28 Julian Brown <julian@codesourcery.com>
-
- PR libgomp/65742
-
- * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
- sequence for !ACCEL_COMPILER.
-
-2015-05-28 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.c (push_regs): New function. Extracts code from...
- (rx_expand_prologue): ... here. Use push_regs to push even small
- spans of registers.
- (pop_regs): New function.
- (rx_expand_epilogue): Use pop_regs to pop even small spans of
- registers.
-
-2015-05-28 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
- member.
- (SLP_INSTANCE_BODY_COST_VEC): Remove.
- (vect_update_slp_costs_according_to_vf): Likewise.
- (vect_slp_analyze_operations): Update prototype.
- * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
- vect_update_slp_costs_according_to_vf, adjust.
- * tree-vect-slp.c (vect_free_slp_instance): Adjust.
- (vect_analyze_slp_cost_1): Likewise.
- (vect_analyze_slp_cost): Likewise. Properly deal with
- widening reduction ops. Commit body costs.
- (vect_analyze_slp_instance): Adjust. Do not analyze SLP
- cost for loops from here.
- (vect_slp_analyze_operations): But do it from here when
- the vectorization factor is known and stmts are analyzed.
- (vect_bb_vectorization_profitable_p): Simplify.
- (vect_slp_analyze_bb_1): Do not compute SLP cost here.
- (vect_update_slp_costs_according_to_vf): Remove.
-
-2015-05-27 Magnus Granberg <zorry@gentoo.org>
- H.J. Lu <hongjiu.lu@intel.com>
-
- * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
- (BUILD_CFLAGS): Likewise.
- (BUILD_CXXFLAGS): Likewise.
- (LINKER): Add @NO_PIE_FLAG@.
- (BUILD_LDFLAGS): Likewise.
- (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
- --enable-default-pie.
- * common.opt (fPIE): Initialize to -1.
- (fpie): Likewise.
- (no-pie): New option.
- (pie): Replace "Negative(shared)" with "Negative(no-pie)".
- * configure.ac: Add --enable-default-pie.
- (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
- (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
- * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
- * gcc.c (NO_PIE_SPEC): New.
- (PIE_SPEC): Likewise.
- (NO_FPIE1_SPEC): Likewise.
- (FPIE1_SPEC): Likewise.
- (NO_FPIE2_SPEC): Likewise.
- (FPIE2_SPEC): Likewise.
- (NO_FPIE2_SPEC): Likewise.
- (FPIE_SPEC): Likewise.
- (NO_FPIE_SPEC): Likewise.
- (NO_FPIC1_SPEC): Likewise.
- (FPIC1_SPEC): Likewise.
- (NO_FPIC2_SPEC): Likewise.
- (FPIC2_SPEC): Likewise.
- (NO_FPIC2_SPEC): Likewise.
- (FPIC_SPEC): Likewise.
- (NO_FPIC_SPEC): Likewise.
- (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
- (FPIE1_OR_FPIC1_SPEC): Likewise.
- (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
- (FPIE2_OR_FPIC2_SPEC): Likewise.
- (NO_FPIE_AND_FPIC_SPEC): Likewise.
- (FPIE_OR_FPIC_SPEC): Likewise.
- (LD_PIE_SPEC): Likewise.
- (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
- * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
- * config/darwin.h (PIE_SPEC): Renamed to ...
- (DARWIN_PIE_SPEC): This.
- (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
- * config/darwin9.h (PIE_SPEC): Renamed to ...
- (DARWIN_PIE_SPEC): This.
- * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
- PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
- * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
- FPIE2_OR_FPIC2_SPEC.
- * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
- * config/m68k/openbsd.h (ASM_SPEC): Likewise.
- * config/sol2.h (ASM_PIC_SPEC): Likewise.
- * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
- * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
- * config/m32r/m32r.h (ASM_SPEC): Likewise.
- * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
- * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
- * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
- * config/sparc/freebsd.h (ASM_SPEC): Likewise.
- * config/sparc/linux.h (ASM_SPEC): Likewise.
- * config/sparc/linux64.h (ASM_SPEC): Likewise.
- * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
- * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
- * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
- * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
- * config/sparc/sparc.h (ASM_SPEC): Likewise.
- * config/sparc/sysv4.h (ASM_SPEC): Likewise.
- * config/sparc/vxworks.h (ASM_SPEC): Likewise.
- * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
- FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
- * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
- * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
- NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
- (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
- * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
- * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
- * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
- * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
- * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
- * config/vax/linux.h (ASM_SPEC): Likewise.
- * doc/install.texi: Document --enable-default-pie.
- * doc/invoke.texi: Document -no-pie.
- * config.in: Regenerated.
- * configure: Likewise.
-
-2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/66168
- * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
- can_move_invariant_reg.
-
-2015-05-27 John David Anglin <danglin@gcc.gnu.org>
-
- PR target/66148
- * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
- REG_EQUAL note when doing insert.
-
- * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
- instead of "%d" for 'o' operand.
-
-2015-05-27 Nathan Sidwell <nathan@acm.org>
-
- PR c++/66270
- * tree.c (build_pointer_type_for_mode): Canonical type does not
- inherit can_alias_all.
- (build_reference_type_for_mode): Likewise.
-
-2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.h (array_at_struct_end_p): Move to...
- (array_ref_element_size): Likewise.
- (component_ref_field_offset): Likewise.
- * tree.h (array_ref_element_size): ...here.
- (array_at_struct_end_p): Likewise.
- (component_ref_field_offset): Likewise.
- * expr.c (array_ref_element_size): Move to...
- (array_ref_low_bound): Likewise.
- (array_at_struct_end_p): Likewise.
- (array_ref_up_bound): Likewise.
- (component_ref_field_offset): Likewise.
- * tree.c (array_ref_element_size): ...here.
- (array_ref_low_bound): Likewise.
- (array_ref_up_bound): Likewise.
- (array_at_struct_end_p): Likewise.
- (component_ref_field_offset): Likewise.
-
-2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
-
-2015-05-27 Jason Merrill <jason@redhat.com>
-
- PR bootstrap/66304
- * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
- ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
- ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
-
-2015-05-22 Aditya Kumar <hiraditya@msn.com>
-
- * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
- is true.
-
- * statistics.c (statistics_fini_pass): Print pass name.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66272
- Revert parts of
- 2014-08-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62031
- * tree-data-ref.c (dr_analyze_indices): Do not set
- DR_UNCONSTRAINED_BASE.
- (dr_may_alias_p): All indirect accesses have to go the
- formerly DR_UNCONSTRAINED_BASE path.
- * tree-data-ref.h (struct indices): Remove
- unconstrained_base member.
- (DR_UNCONSTRAINED_BASE): Remove.
-
-2015-05-27 Aldy Hernandez <aldyh@redhat.com>
-
- * dwarf2out.c: Remove block_map.
- (gen_call_site_die): Replace block_map use with BLOCK_DIE.
- (gen_lexical_block_die): Same.
- (dwarf2out_function_decl): Remove block_map use.
- (dwarf2out_c_finalize): Same.
- * tree-core.h (struct tree_block): Add die field.
- * tree.h (BLOCK_DIE): New.
-
-2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65358
- * expr.c (memory_load_overlap): New function.
- (emit_push_insn): When pushing partial args to the stack would
- clobber the register part load the overlapping part into a pseudo
- and put it into the hard reg after pushing. Change return type
- to bool. Add bool argument.
- * expr.h (emit_push_insn): Change return type to bool.
- Add bool argument.
- * calls.c (expand_call): Cancel sibcall optimization when encountering
- partial argument on targets with ARGS_GROW_DOWNWARD and
- !STACK_GROWS_DOWNWARD.
- (emit_library_call_value_1): Update callsite of emit_push_insn.
- (store_one_arg): Likewise.
-
-2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
-
-2015-05-27 Martin Liska <mliska@suse.cz>
-
- * Makefile.in: Add additional dependencies related to memory report
- enhancement.
- * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
- * bitmap.c (struct bitmap_descriptor_d): Remove.
- (struct loc): Likewise.
- (struct bitmap_desc_hasher): Likewise.
- (bitmap_desc_hasher::hash): Likewise.
- (bitmap_desc_hasher::equal): Likewise.
- (get_bitmap_descriptor): Likewise.
- (bitmap_register): User new memory descriptor API.
- (register_overhead): Likewise.
- (bitmap_find_bit): Register nsearches and search_iter statistics.
- (struct bitmap_output_info): Remove.
- (print_statistics): Likewise.
- (dump_bitmap_statistics): Use new memory descriptor.
- * bitmap.h (struct bitmap_usage): New class.
- * genmatch.c: Extend header file inclusion.
- * genpreds.c: Likewise.
- * ggc-common.c (struct ggc_usage): New class.
- (struct ggc_loc_desc_hasher): Remove.
- (ggc_loc_desc_hasher::hash): Likewise.
- (ggc_loc_desc_hasher::equal): Likewise.
- (struct ggc_ptr_hash_entry): Likewise.
- (struct ptr_hash_hasher): Likewise.
- (ptr_hash_hasher::hash): Likewise.
- (ptr_hash_hasher::equal): Likewise.
- (make_loc_descriptor): Likewise.
- (ggc_prune_ptr): Likewise.
- (dump_ggc_loc_statistics): Use new memory descriptor.
- (ggc_record_overhead): Likewise.
- (ggc_free_overhead): Likewise.
- (final_cmp_statistic): Remove.
- (cmp_statistic): Likewise.
- (ggc_add_statistics): Liekwise.
- (ggc_prune_overhead_list): Likewise.
- * hash-map-traits.h: New file.
- * hash-map.h (struct default_hashmap_traits): Move the traits to a
- separate header file.
- * hash-set.h: Pass memory statistics info to ctor.
- * hash-table.c (void dump_hash_table_loc_statistics): New function.
- * hash-table.h (hash_table::hash_table): Add new ctor arguments.
- (hash_table::~hash_table): Register memory release operation.
- (hash_table::alloc_entries): Handle memory allocation operation.
- (hash_table::expand): Likewise.
- * inchash.c (iterative_hash_hashval_t): Move implementation to header
- file.
- (iterative_hash_host_wide_int): Likewise.
- * inchash.h (class hash): Likewise.
- * mem-stats-traits.h: New file.
- * mem-stats.h: New file.
- (mem_location): Add new class.
- (mem_usage): Likewise.
- (mem_alloc_description): Likewise.
- * sese.c: Add new header file inclusision.
- * toplev.c (dump_memory_report): Add report for hash_table, hash_map
- and hash_set.
- * tree-sra.c: Add new header file inclusision.
- * vec.c (struct vec_descriptor): Remove.
- (hash_descriptor): Likewise.
- (struct vec_usage): Likewise.
- (struct ptr_hash_entry): Likewise.
- (hash_ptr): Likewise.
- (eq_ptr): Likewise.
- (vec_prefix::register_overhead): Use new memory descriptor API.
- (vec_prefix::release_overhead): Likewise.
- (add_statistics): Remove.
- (dump_vec_loc_statistics): Use new memory descriptor API.
- * vec.h (struct vec_prefix): Likewise.
- (va_heap::reserve): Likewise.
- (va_heap::release): Likewise.
- * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
-
-2015-05-27 Richard Biener <rguenther@suse.de>
-
- * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
- earlier and remove ??? comment.
- (vect_analyze_stmt): If we are analyzing a pure SLP stmt
- and got called from loop analysis bail out. Always pass the SLP
- node to the vectorizable_* functions.
- * tree-vect-loop.c (vect_analyze_loop_operations): Remove
- the premature SLP check here.
- * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
- detected SLP stmts.
- (vect_detect_hybrid_slp_1): Likewise.
-
-2015-05-26 Jeff Law <law@redhat.com>
-
- * combine.c (find_split_point): Verify that the shift count is a
- constant when choosing (plus (ashift ...)) as a split point.
-
- * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
- No functional changes.
-
-2015-05-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
- case when call target is already known.
-
-2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65979
- * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
- take into account the case that operands[1] and operands[2]
- are the same register.
-
-2015-05-26 Michael Matz <matz@suse.de>
-
- PR middle-end/66251
-
- * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
- stores.
- (vect_create_vectorized_demotion_stmts): Always set
- STMT_VINFO_VEC_STMT, also with SLP.
- (vectorizable_store): Handle strided group stores.
-
-2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- PR target/66049
- * config/aarch64/aarch64.md
- (*adds_shift_imm_<mode>): New pattern.
- (*subs_shift_imm_<mode>): Likewise.
- (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
- (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
- (*add_uxt<mode>_shift2): Likewise.
- (*add_uxtsi_shift2_uxtw): Likewise.
- (*sub_uxt<mode>_shift2): Likewise.
- (*sub_uxtsi_shift2_uxtw): Likewise.
-
-2015-05-26 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/constraints.md (Y, U): Use match_test.
-
-2015-05-26 Christian Bruel <christian.bruel@st.com>
-
- PR target/52144
- * config/arm/arm.c (arm_option_check_internal)
- (arm_option_params_internal): Check opts->target_flags to set macros.
- (TREE_TARGET_ARM, TREE_TARGET_THUMB)
- (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
- (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
- (builtin_define): Replaced with def_or_undef_macro.
- * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
- TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
- (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
- (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
- (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
- (TARGET_ARM_FEATURE_LDREX_P)
- (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
- * config/arm/arm-c.c (def_or_undef_macro): New function.
- (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
-
-2015-05-26 Christian Bruel <christian.bruel@st.com>
-
- * c-common.h (builtin_define_with_int_value)
- (builtin_define_type_sizeof): Declare.
- * c-cppbuiltin.c (builtin_define_with_int_value)
- (builtin_define_type_sizeof): Externalize.
- (builtin_define_std): Cleanup declaration.
- * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
- * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
- * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
- (builtin_define, builtin_assert): New macros.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66142
- * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
- MEM_REFs for the same base address.
-
-2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR ipa/66181
- * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
-
-2015-05-26 Jason Merrill <jason@redhat.com>
-
- * configure.ac: Set CXXFLAGS for ISL test.
- * configure: Regenerate.
-
- * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
- strstr and basename.
- * configure: Regenerate.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
- X % C -> X & (C - 1) for C being a power-of two to ...
- * match.pd: ... patterns.
-
-2015-05-26 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd (swapped_tcc_comparison): New operator list.
- (-A CMP -B): New simplification.
- * fold-const.c (fold_comparison): Remove corresponding code.
-
-2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * caller-save.c (init_caller_save): Base temporary register numbers
- on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
- * cfgloopanal.c (init_set_costs): Likewise.
- * dojump.c (prefer_and_bit_test): Likewise.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * lower-subreg.c (init_lower_subreg): Likewise.
- * postreload.c (reload_cse_regs_1): Likewise.
-
-2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.h (compute_test_codes): Declare.
- * gensupport.c (compute_predicate_codes): Rename to...
- (compute_test_codes): ...this. Generalize error message.
- (process_define_predicate): Update accordingly.
- * genpreds.c (compute_maybe_allows): Delete.
- (add_constraint): Use compute_test_codes to determine whether
- something can accept a SUBREG, REG or MEM.
-
-2015-05-26 Torvald Riegel <triegel@redhat.com>
-
- * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
- 'memory model' to align with C++11; fix description of memory orders;
- fix a few typos.
-
-2015-05-26 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
- (vect_analyze_loop_operations): ... here. Remove slp parameter,
- detect whether we apply SLP. Remove call to
- vect_update_slp_costs_according_to_vf.
- (vect_analyze_loop_2): Call vect_update_vf_for_slp and
- vect_update_slp_costs_according_to_vf from here. Dispatch
- to vect_slp_analyze_operations to analyze SLP stmts.
- * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
- unused bb_vec_info parameter, adjust assert.
- (vect_slp_analyze_operations): Pass in the slp instance tree
- instead of bb_vec_info.
- (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
- * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
-
-2015-05-25 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
- Q_REGS. Expand comment.
- (REG_CLASS_NAMES): Ditto.
- (REG_CLASS_CONTENTS): Ditto.
-
-2015-05-25 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66274
- * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
- when LEGACY_INT_REGNO_P is processed.
-
-2015-05-25 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
-
-2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
- register if not marked dead/unused, before return.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/66180
- * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
- is set; check for assembler name at LTO time.
- (type_in_anonymous_namespace): Remove hacks, check that all
- anonymous types are called "<anon>"
- (odr_type_p): Simplify; add check for "<anon>"
- (odr_subtypes_equivalent): Add odr_type_p check.
- * tree.c (need_assembler_name_p): Even anonymous namespace needs
- assembler name.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.h (method_class_type): Remove.
- * cgraphunit.c (walk_polymorphic_call_targets): Use
- TYPE_METHOD_BASETYPE.
- * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
- on main variants only.
- (method_class_type): Remove.
- (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
- (build_type_inheritance_graph): Likewise.
- * ipa-icf.c (sem_function::equals_wpa): Likewise.
- * pa-polymorphic-call.c (decl_maybe_in_construction_p,
- check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
-
-2015-05-24 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
- is_typedef_decl, typedef_variant_p): Constify.
- * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
- is_typedef_decl, typedef_variant_p): Constify.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_tablejump): New function.
- (HAVE_tablejump): Add default value.
- * expr.c: Adjust.
- * stmt.c: Likewise.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_store_multiple): New function.
- (HAVE_store_multiple): Add default value.
- * expr.c (move_block_from_reg): Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_load_multiple): New function.
- (HAVE_load_multiple): Add default value.
- * expr.c (move_block_to_reg): Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_mem_signal_fence): New function.
- (HAVE_mem_signal_fence): Add default value.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_memory_barrier): New function.
- (HAVE_memory_barrier): Add default value.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_mem_thread_fence): New function.
- (HAVE_mem_thread_fence): Add default definition.
- * optabs.c: Adjust.
-
-2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (find_split_point): Check the value of HAVE_lo_sum
- instead of if it is defined.
- (combine_simplify_rtx): Likewise.
- * lra-constraints.c (process_address_1): Likewise.
- * config/darwin.c: Adjust.
- * genconfig.c (main): Always define HAVE_lo_sum.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_operation): Reject expanding
- operator-list inside 'for'.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_for): Reject iterator if used as
- operator-list.
-
-2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
- after end of id-list.
-
-2015-05-22 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Sanity check that
- we do not try to compute canonical type for type that does not need
- alias set.
- (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
- FUNCITON_TYPE.
- * tree.h (type_with_alias_set_p): New.
-
-2015-05-22 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (gimple_canonical_types_compatible_p): Do not compare
- function attributes.
- (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
-
-2015-05-22 Jim Wilson <jim.wilson@linaro.org>
-
- * Makefile.in (check_gcc_parallelize): Delete.
- (lang_checks_parallelized): Update comment.
-
-2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
-
- PR rtl-optimization/66237
- * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
- location of an "as_a" cast.
-
-2015-05-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (non-canonical shift-add insns): Remove.
- (peepholes with non-canonical RTL sources): Remove.
- (peepholes for indexed stores of FP regs in integer modes): Match and
- generate canonical RTL.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
- ((x ord x) & (y ord y) -> (x ord y),
- (x ord x) & (x ord y) -> (x ord y)): New simplifications.
- * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
- vectors like scalars.
-
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * convert.c (convert_to_integer, convert_to_vector): Include the
- types in the error message.
-2015-05-22 Marc Glisse <marc.glisse@inria.fr>
-
- * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
- simplifications.
-
-2015-05-22 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (integer_indexed_store splitters): Use
- mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
- insns -- adjusting the constant 2nd operand accordingly.
-
- * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
- (plus (ashift X log2) Y) if it is a split point.
-
- * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
- out of hppa_legitimize_address to handle both forms of a multiply
- by 2, 4 or 8.
- (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
- Always generate the ASHIFT variant as the result is not directly
- used in a MEM. Update comments and refactor slightly to improve
- readability.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65491
- * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
- aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
- (aarch64_composite_type_p): Return false if given type and mode are
- for a short vector.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
- member.
- * tree-vect-loop.c (vect_analyze_loop_operations): Look at
- patterns when determining whether SLP is pure.
- (vect_is_slp_reduction): Remove check for pattern stmts.
- (vect_is_simple_reduction_1): Remove dead code.
- * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
- (vect_get_and_check_slp_defs): Pass in the stmt number.
- Allow the first def in a reduction to be not a pattern stmt when
- the rest of the stmts def are patterns.
- (vect_build_slp_tree_1): Allow tcc_expression codes like
- SAD_EXPR and DOT_PROD_EXPR.
- (vect_build_slp_tree): Adjust.
- (vect_analyze_slp): Refactor and move BB vect error message ...
- (vect_slp_analyze_bb_1): ... here.
-
-2015-05-22 Aldy Hernandez <aldyh@redhat.com>
-
- * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
- for CSWTCH temporary.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
- (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
- unknown unspecs.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66251
- * tree-vect-stmts.c (vectorizable_conversion): Properly
- set STMT_VINFO_VEC_STMT even for the SLP case.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
-
- * doc/extend.texi: Use @pxref instead of @xref.
-
-2015-05-22 hiraditya <hiraditya@msn.com>
-
- * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
- redundant if.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65701
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Move peeling cost models into one place. Peel for alignment
- for single loads only if an aligned load is cheaper than
- an unaligned load.
-
-2015-05-22 Marek Polacek <polacek@redhat.com>
-
- PR c/47043
- * doc/extend.texi (Enumerator Attributes): New section.
- Document syntax of enumerator attributes.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vect-loop.c (get_reduction_op): New function.
- (vect_model_reduction_cost): Use it, add reduc_index parameter.
- Make ready for BB reductions.
- (vect_create_epilog_for_reduction): Use get_reduction_op.
- (vectorizable_reduction): Init reduc_index to a valid value.
- Adjust vect_model_reduction_cost call.
- * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
- operand for reduction defaults. Add SAD_EXPR support.
- Assert we have a neutral op for SLP reductions.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
- walking pattern stmt ops only recurse to SSA names.
-
-2015-05-22 Richard Biener <rguenther@suse.de>
-
- * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
- assert with guard, remove check on detected reduction.
- (vect_recog_sad_pattern): Likewise.
- (vect_recog_widen_sum_pattern): Likewise.
-
-2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
- __always_inline__ attribute.
- (vaesdq_u8): Likewise.
- (vaesmcq_u8): Likewise.
- (vaesimcq_u8): Likewise.
- (vsha1cq_u32): Likewise.
- (vsha1mq_u32): Likewise.
- (vsha1pq_u32): Likewise.
- (vsha1h_u32): Likewise.
- (vsha1su0q_u32): Likewise.
- (vsha1su1q_u32): Likewise.
- (vsha256hq_u32): Likewise.
- (vsha256h2q_u32): Likewise.
- (vsha256su0q_u32): Likewise.
- (vsha256su1q_u32): Likewise.
- (vmull_p64): Likewise.
- (vmull_high_p64): Likewise.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * final.c (final_scan_insn): Don't check HAVE_peephole with the
- preprocessor.
- * output.h: Likewise.
- * genconfig.c (main): Alwways define HAVE_peephole.
- * genpeep.c: Don't emit checks of HAVE_peephole.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
- check HAVE_conditional_move with the preprocessor.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_conditional_move.
- * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
- toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
- is defined.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
- reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
- and FRAME_POINTER_REGNUM with the preprocessor.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: Add default for STACK_PUSH_CODE.
- * expr.c: Don't redefine STACK_PUSH_CODE.
- * recog.c: Likewise.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
- sched-deps.c: Use if instead of preprocessor checks with
- STACK_GROWS_DOWNWARD.
-
-2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
- is defined.
- * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
- * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
- * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
- * doc/tm.texi: Regenerate.
-
-2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/66232
- * config/i386/constraints.md (Bg): New constraint for GOT memory
- operand.
- * config/i386/i386.md (*call_got_x32): New pattern.
- (*call_value_got_x32): Likewise.
- * config/i386/predicates.md (GOT_memory_operand): New predicate.
-
-2015-05-21 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66233
- * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
- Simplify.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
- than MULT for shadd sequences.
-
-2015-05-08 Jan Hubicka <hubicka@ucw.cz>
-
- * alias.c (alias_stats): New static var.
- (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
- (dump_alias_stats_in_alias_c): New function.
- * alias.h (dump_alias_stats_in_alias_c): Declare.
- * tree-ssa-alias.c (dump_alias_stats): Call it.
-
-2015-05-08 Michael Matz <matz@suse.de>
-
- * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
- to strided_p.
- (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
- (STMT_VINFO_STRIDED_P): ... this.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
- (vect_verify_datarefs_alignment): Likewise.
- (vect_enhance_data_refs_alignment): Likewise.
- (vect_analyze_data_ref_access): Likewise.
- (vect_analyze_data_refs): Accept strided stores.
- * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
- (vect_model_load_cost): Adjust for macro rename.
- (vectorizable_mask_load_store): Likewise.
- (vectorizable_load): Likewise.
- (vectorizable_store): Open code strided stores.
-
-2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
- Document sqrt_insn.
-
-2015-05-21 Richard Biener <rguenther@suse.de>
-
- PR c++/66211
- * match.pd: Guard pattern optimzing (int)(float)int
- conversions to apply only on GIMPLE.
-
-2015-05-21 Jeff Law <law@redhat.com>
-
- * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
- multiply-accumulate/shift-add insn generation.
-
-2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
- operands[1] are the same.
-
-2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66221
- * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
- build_distinct_type_copy to copy bounds.
-
-2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
-
- * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
- Change to unsigned int.
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
- (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
- (pa_shadd_constant_p): Allow constants for shadd insns rather
- than valid scaling constants for memory addresses.
- * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
- * config/pa/predicates.md (mem_shadd_operand): New predicate.
- * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
- (shift-add insns using ASHIFT): New patterns.
-
-2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
-
- * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
- feasible.
- (fix_up_fall_thru_edges): Likewise.
- (fix_crossing_conditional_branches): Likewise. Promote jump targets
- from to rtx_insn to rtx_code_label where feasible.
- * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
- gen_move_insn (returned type changed to rtx_insn).
- * builtins.c (expand_errno_check): Fix arguments of
- do_compare_rtx_and_jump (now expects rtx_code_label).
- (expand_builtin_acc_on_device): Likewise.
- * cfgcleanup.c (try_simplify_condjump): Add cast when calling
- invert_jump (now exprects rtx_jump_insn).
- * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
- (construct_init_block): Use rtx_code_label.
- * cfgrtl.c (block_label): Promote return type to rtx_code_label.
- (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
- calling redirect_jump.
- (patch_jump_insn): Likewise.
- (redirect_branch_edge): Likewise.
- (force_nonfallthru_and_redirect): Likewise.
- (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
- when suitable.
- (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
- * cfgrtl.h: Promote return type of block_label to rtx_code_label.
- * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
- * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
- to store the value retured by gen_label_rtx.
- * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
- rtx_jump_insn.
- * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
- (split_branches): Fix calls of redirect_jump.
- * dojump.c (jumpifnot): Promote argument type from rtx to
- rtx_code_label.
- (jumpifnot_1): Likewise.
- (jumpif): Likewise.
- (jumpif_1): Likewise.
- (do_jump_1): Likewise.
- (do_jump): Likewise. Use rtx_code_label when feasible.
- (do_jump_by_parts_greater_rtx): Likewise.
- (do_jump_by_parts_zero_rtx): Likewise.
- (do_jump_by_parts_equality_rtx): Likewise.
- (do_compare_rtx_and_jump): Likewise.
- * dojump.h: Update function prototypes.
- * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
- returns rtx_insn).
- * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
- rtx_jump_insn.
- (emit_label_before): Likewise.
- (emit_jump_insn_after_noloc): Likewise.
- (emit_jump_insn_after_setloc): Likewise.
- (emit_jump_insn_after): Likewise
- (emit_jump_insn_before_setloc): Likewise.
- (emit_jump_insn_before): Likewise.
- (emit_label_before): Promote return type to rtx_code_label.
- (emit_label): Likewise.
- * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
- * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
- gen_move_insn.
- (emit_stack_restore): Likewise.
- * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
- (do_cmp_and_jump): Likewise.
- * expr.c (expand_expr_real_2): Likewise. Promote some local variables
- from rtx to rtx_code_label.
- (gen_move_insn_uncast): New function.
- * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
- * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
- * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
- * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
- invert_jump_1 and redirect_jump_1.
- * internal-fn.c (expand_arith_overflow_result_store): Fix call of
- do_compare_rtx_and_jump.
- (expand_addsub_overflow): Likewise.
- (expand_neg_overflow): Likewise.
- (expand_mul_overflow): Likewise.
- * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
- return value of gen_move_insn.
- * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
- * loop-doloop.c (add_test): Use rtx_code_label.
- (doloop_modify): Likewise.
- (doloop_optimize): Likewise.
- * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
- * lra-constraints.c (emit_spill_move): Remove cast of value returned
- by gen_move_insn.
- (inherit_reload_reg): Add cast when calling dump_insn_slim.
- (split_reg): Likewise.
- * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
- gen_move_insn.
- * optabs.c (expand_binop_directly): Remove casts of values returned by
- maybe_gen_insn.
- (expand_unop_direct): Likewise.
- (expand_abs): Likewise.
- (maybe_emit_unop_insn): Likewise.
- (maybe_gen_insn): Promote return type to rtx_insn.
- * optabs.h: Update prototype of maybe_gen_insn.
- * postreload-gcse.c (eliminate_partially_redundant_load): Remove
- redundant cast.
- * recog.c (struct peep2_insn_data): Promote type of insn field to
- rtx_insn.
- (peep2_reinit_state): Use NULL instead of NULL_RTX.
- (peep2_attempt): Remove casts of insn in peep2_insn_data.
- (peep2_fill_buffer): Promote argument from rtx to rtx_insn
- * recog.h (struct insn_gen_fn): Promote return types of function
- pointers and operator ().from rtx to rtx_insn.
- * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
- (fill_eager_delay_slots): Likewise.
- (relax_delay_slots): Likewise.
- (make_return_insns): Likewise.
- (dbr_schedule): Likewise.
- (optimize_skips): Likewise.
- (reorg_redirect_jump): Likewise.
- (fill_slots_from_thread): Likewise.
- * reorg.h: Update prototypes.
- * resource.c (find_dead_or_set_registers): Use dyn_cast to
- rtx_jump_insn instead of check. Use it's jump_target method.
- * rtl.h (rtx_jump_insn::jump_label): Define new method.
- (rtx_jump_insn::jump_target): Define new method.
- (rtx_jump_insn::set_jump_target): Define new method.
- * rtlanal.c (tablejump_p): Promote type of one local variable.
- * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
- (sched_analyze_insn): Likewise.
- * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
- (print_insn): Likewise.
- * stmt.c (label_rtx): Promote return type to rtx_insn.
- (force_label_rtx): Likewise.
- (jump_target_rtx): Define new function.
- (expand_label): Use it, get rid of one cast.
- (expand_naked_return): Promote rtx to rtx_code_label.
- (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
- (expand_case): Use rtx_code_label instread of rtx where feasible.
- (expand_sjlj_dispatch_table): Likewise.
- (emit_case_nodes): Likewise.
- * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
- * store-motion.c (insert_store): Make use of new return type of
- gen_move_insn and remove a cast.
- (replace_store_insn): Likewise.
-
-2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
- by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
- dispose of the jump thread path when the jump threading
- opportunity is cancelled.
-
-2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
- when printing the caret character.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
- * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
- * gimple-fold.c (canonicalize_bool): Likewise.
- (same_bool_result_p): Likewise.
- * tree-if-conv.c (parse_predicate): Likewise.
-
-2015-05-20 Marek Polacek <polacek@redhat.com>
-
- * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
- * gimplify.c (gimplify_modify_expr_rhs): Likewise.
-
-2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_class_max_nregs):
- Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
- values.
-
-2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.h (micromips_globals): Declare.
-
-2015-05-20 David Malcolm <dmalcolm@redhat.com>
-
- * timevar.def (TV_INITIALIZE_RTL): New.
- * toplev.c (initialize_rtl): Use an auto_timevar to account this
- function's time to TV_INITIALIZE_RTL.
-
-2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
- gimple_build_nop calls.
- (chkp_find_bounds_for_elem): Likewise.
- (chkp_get_zero_bounds): Likewise.
- (chkp_get_none_bounds): Likewise.
- (chkp_get_bounds_by_definition): Likewise.
- (chkp_generate_extern_var_bounds): Likewise.
- (chkp_get_bounds_for_decl_addr): Likewise.
- (chkp_get_bounds_for_string_cst): Likewise.
-
-2015-05-20 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/65447
- * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
- (dump_use, dump_uses): Support to dump sub use.
- (record_use): New parameters to support sub use. Remove call to
- dump_use.
- (record_sub_use, record_group_use): New functions.
- (compute_max_addr_offset, split_all_small_groups): New functions.
- (group_address_uses, rewrite_use_address): New functions.
- (strip_offset): New declaration.
- (find_interesting_uses_address): Call record_group_use.
- (add_candidate): New assertion.
- (infinite_cost_p): Move definition forward.
- (add_costs): Check INFTY cost and return immediately.
- (get_computation_cost_at): Clear setup cost and dependent bitmap
- for sub uses.
- (determine_use_iv_cost_address): Compute cost for sub uses.
- (rewrite_use_address_1): Rename from old rewrite_use_address.
- (free_loop_data): Free sub uses.
- (tree_ssa_iv_optimize_loop): Call group_address_uses.
-
-2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
+2016-01-12 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/69174
+ * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
+ space.
+ (vectorizable_load): Properly compute the number of loads needed
+ for permuted strided SLP loads and do not spuriously assign
+ to SLP_TREE_VEC_STMTS.
+
+2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
+
+ * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
+ (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
+ (MD_EXEC_PREFIX): Remove.
+ (MD_STARTFILE_PREFIX) Removee.
+ (FILE_NAME_ABSOLUTE_P): Remove.
+ (CPP_SPEC): Do not read macros from sys/version.h.
+ (LINK_COMMAND_SPEC): Remove.
+ (LOCAL_INCLUDE_DIR): Remove.
+ (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
+ (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
+ (POST_LINK_SPEC): Define to invoke stubify after linker
+ (LIBSTDCXX): Remove define
+ (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
+ (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
+ (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
+ (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
+ (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
+ (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
+ (i386_djgpp_asm_named_section): Add propotype of new procedure
+
+ * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
+ (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
+ (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX in config/i386/djgpp.h).
+ (STANDARD_STARTFILE_PREFIX_2): Define identical to STANDARD_STARTFILE_PREFIX_1.
+ (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
+ (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal installation errors.
+ (MAX_OFILE_ALIGNMENT): Define to 128.
+ (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
+
+ * config/i386/djgpp.c: New file. Add implementation of i386_djgpp_asm_named_section.
+
+ * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
+
+ * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
+ Add rule for building djgpp.o.
+
+2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
+
+ * config/rs6000/rs6000.c (v2df_reduction_p): New function.
+ (rtx_is_swappable_p): Reductions are swappable.
+ (insn_is_swappable_p): V2DF reductions are swappable.
+
+2016-01-11 John David Anglin <danglin@gcc.gnu.org>
+
+ * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
+ reloads for other unsupported memory operands.
+
+2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
Jim Wilson <jim.wilson@linaro.org>
- * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
- new fields loadv and storev.
- * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
- Initialize loadv and storev.
- * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
- (cortexa53_extra_costs): Likewise.
- (cortexa57_extra_costs): Likewise.
- (xgene1_extra_costs): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
- rtx_costs.
-
-2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
- storev.
- (cortexa8_extra_costs): Likewise.
- (cortexa5_extra_costs): Likewise.
- (cortexa7_extra_costs): Likewise.
- (cortexa12_extra_costs): Likewise.
- (cortexa15_extra_costs): Likewise.
- (v7m_extra_costs): Likewise.
-
-2015-05-20 Jeff Law <law@redhat.com>
-
- * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
- instead of open-coded version. Also delete the jump thread created
- within this function.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
- stack adjusting insn. Formatting.
- (rs6000_emit_prologue): Track stack adjusting insn, and use of
- r12. If possible, emit first -fsplit-stack arg pointer insn
- before stack adjust. Don't use r12 to save cr if split-stack.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
- Define.
- (rs6000_supports_split_stack): New function.
- * config/rs6000/rs6000.c (machine_function): Add
- split_stack_arg_pointer.
- (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
- (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
- rather than virtual_incoming_args_rtx.
- (rs6000_va_start): Likewise.
- (split_stack_arg_pointer_used_p): New function.
- (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
- (morestack_ref): New var.
- (gen_add3_const, rs6000_expand_split_stack_prologue,
- rs6000_internal_arg_pointer, rs6000_live_on_entry,
- rs6000_split_stack_space_check): New functions.
- (rs6000_elf_file_end): Call file_end_indicate_split_stack.
- * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
- (UNSPECV_SPLIT_STACK_RETURN): Define.
- (split_stack_prologue, load_split_stack_limit,
- load_split_stack_limit_di, load_split_stack_limit_si,
- split_stack_return, split_stack_space_check): New expands and insns.
- * config/rs6000/rs6000-protos.h
- (rs6000_expand_split_stack_prologue): Declare.
- (rs6000_split_stack_space_check): Declare.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
- (direct_return): Test vrsave_size rather than vrsave_mask.
- (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
- (rs6000_emit_epilogue): Likewise.
-
-2015-05-20 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
- when not saving registers.
- (debug_stack_info): Adjust to omit printing unused offsets,
- as before.
- (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
- expression.
-
-2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- PR c++/65835
- * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
- value_type to const char *.
-
-2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
- to build a biarch toolchain again.
-
-2015-05-19 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
- or implicit declarations.
- (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
- into it.
- (get_odr_type): Check type has linkage before adding bases.
- (register_odr_type): Check that type has linkage before adding it.
- (type_known_to_have_no_deriavations_p): Rename to ..
- (type_known_to_have_no_derivations_p): This one.
- * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
- (type_known_to_have_no_derivations_p): This one.
- * ipa-polymorphic-call.c
- (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
- type has linkage.
-
-2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
- (layout_type): Use RECORD_OR_UNION_TYPE_P.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_vector_bool_type_p): New function.
- (s390_invalid_binary_op): New function.
- (TARGET_INVALID_BINARY_OP): Define macro.
-
-2015-05-19 David Sherwood <david.sherwood@arm.com>
-
- * loop-invariant.c (create_new_invariant): Don't calculate address cost
- if mode is not a scalar integer.
- (get_inv_cost): Increase computational cost for unused invariants.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
- c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
- * config/s390/s390-builtin-types.def: New file.
- * config/s390/s390-builtins.def: New file.
- * config/s390/s390-builtins.h: New file.
- * config/s390/s390-c.c: New file.
- * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
- CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
- * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
- (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
- prototypes.
- * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
- Include.
- (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
- (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
- variable definitions.
- (s390_const_operand_ok): New function.
- (s390_expand_builtin): Rewrite.
- (s390_init_builtins): New function.
- (s390_handle_vectorbool_attribute): New function.
- (s390_attribute_table): Add s390_vector_bool attribute.
- (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
- (s390_branch_condition_mask): Generate masks for new modes.
- (s390_expand_vec_compare_cc): New function.
- (s390_mangle_type): Add mangling for vector bool types.
- (enum s390_builtin): Remove.
- (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
- efpc builtins.
- * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
- s390_cpu_cpp_builtins.
- (REGISTER_TARGET_PRAGMAS): New macro.
- * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
- (insn_cmp mode attribute): Add new CC modes.
- (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
- (lcbb): New pattern definition.
- * config/s390/s390intrin.h: Include vecintrin.h.
- * config/s390/t-s390: New file.
- * config/s390/vecintrin.h: New file.
- * config/s390/vector.md: Include vx-builtins.md.
- * config/s390/vx-builtins.md: New file.S/390 zvector builtin
- support.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
- CCVFHE.
- * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
- (s390_select_ccmode): Likewise.
- (s390_canonicalize_comparison): Swap operands if necessary.
- (s390_expand_vec_compare_scalar): Expand DFmode compare using
- single element vector instructions.
- (s390_emit_compare): Call s390_expand_vec_compare_scalar.
- (s390_branch_condition_mask): Generate CC masks for the new modes.
- * config/s390/s390.md (v0, vf, vd): New mode attributes.
- (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
- (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
- (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
- (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
- (*extend<DSF:mode><BFP:mode>2): New insn definition.
- (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
- (extend<DSF:mode><BFP:mode>2): Turn into expander.
- (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
- (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
- (sqrt<mode>2): Add vector instruction.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
- constraints.
- * config/s390/predicates.md (const0_operand, constm1_operand)
- (constable_operand): Accept vector operands.
- * config/s390/s390-modes.def: Add supported vector modes.
- * config/s390/s390-protos.h (s390_cannot_change_mode_class)
- (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
- (s390_bytemask_vector_p, s390_expand_vec_strlen)
- (s390_expand_vec_compare, s390_expand_vcond)
- (s390_expand_vec_init): Add prototypes.
- * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
- (s390_vector_mode_supported_p): New function.
- (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
- (s390_contiguous_bitmask_vector_p): New function.
- (s390_bytemask_vector_p): New function.
- (s390_split_ok_p): Vector regs don't work either.
- (regclass_map): Add VEC_REGS.
- (s390_legitimate_constant_p): Handle vector constants.
- (s390_cannot_force_const_mem): Handle CONST_VECTOR.
- (legitimate_reload_vector_constant_p): New function.
- (s390_preferred_reload_class): Handle CONST_VECTOR.
- (s390_reload_symref_address): Likewise.
- (s390_secondary_reload): Vector memory instructions only support
- short displacements. Rename reload*_nonoffmem* to reload*_la*.
- (s390_emit_ccraw_jump): New function.
- (s390_expand_vec_strlen): New function.
- (s390_expand_vec_compare): New function.
- (s390_expand_vcond): New function.
- (s390_expand_vec_init): New function.
- (s390_dwarf_frame_reg_mode): New function.
- (print_operand): Handle addresses with 'O' and 'R' constraints.
- (NR_C_MODES, constant_modes): Add vector modes.
- (s390_output_pool_entry): Handle vector constants.
- (s390_hard_regno_mode_ok): Handle vector registers.
- (s390_class_max_nregs): Likewise.
- (s390_cannot_change_mode_class): New function.
- (s390_invalid_arg_for_unprototyped_fn): New function.
- (s390_function_arg_vector): New function.
- (s390_function_arg_float): Remove size variable.
- (s390_pass_by_reference): Handle vector arguments.
- (s390_function_arg_advance): Likewise.
- (s390_function_arg): Likewise.
- (s390_return_in_memory): Vector values are returned in a VR if
- possible.
- (s390_function_and_libcall_value): Handle vector arguments.
- (s390_gimplify_va_arg): Likewise.
- (s390_call_saved_register_used): Consider the arguments named.
- (s390_conditional_register_usage): Disable v16-v31 for non-vec
- targets.
- (s390_preferred_simd_mode): New function.
- (s390_support_vector_misalignment): New function.
- (s390_vector_alignment): New function.
- (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
- (TARGET_VECTOR_MODE_SUPPORTED_P)
- (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
- (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
- (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
- (TARGET_VECTOR_ALIGNMENT): Define target macro.
- * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
- (FIRST_PSEUDO_REGISTER): Increase value.
- (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
- (VECTOR_REG_P): Define macros.
- (FIXED_REGISTERS, CALL_USED_REGISTERS)
- (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
- (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
- (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
- Add vector registers.
- (CANNOT_CHANGE_MODE_CLASS): Call C function.
- (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
- (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
- memory.
- (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
- (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
- * config/s390/s390.md (UNSPEC_VEC_*): New constants.
- (VR*_REGNUM): New constants.
- (ALL): New mode iterator.
- (INTALL): Remove mode iterator.
- Include vector.md.
- (movti): Implement TImode moves for VRs.
- Disable TImode splitter for VR targets.
- Implement splitting TImode GPR<->VR moves.
- (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
- (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
- reload<mode>_la_in, reload<mode>_la_out.
- (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
- (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
- (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
- (mov<mode> SF SD): Prefer lder, lde for loading.
- Add lrl and strl instructions.
- Add vector instructions.
- (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
- Call s390_expand_vec_strlen on z13.
- (*cc_to_int): Change predicate to nonimmediate_operand.
- (addti3): Rename to *addti3. New expander.
- (subti3): Rename to *subti3. New expander.
- * config/s390/vector.md: New file.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * common/config/s390/s390-common.c (processor_flags_table): Add
- z13.
- * config.gcc: Add z13.
- * config/s390/s390-opts.h (enum processor_type): Add
- PROCESSOR_2964_Z13.
- * config/s390/s390.c (s390_adjust_priority): Check for
- PROCESSOR_2964_Z13.
- (s390_reorg): Likewise.
- (s390_sched_reorder): Likewise.
- (s390_sched_variable_issue): Likewise.
- (s390_loop_unroll_adjust): Likewise.
- (s390_option_override): Likewise. Default to -mvx when available.
- * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
- (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
- (TARGET_VX_ABI): Define macros.
- macros.
- (TARGET_DEFAULT): Add MASK_OPT_VX.
- * config/s390/s390.md ("cpu" attribute): Add z13.
- ("cpu_facility" attribute): Add vec.
- * config/s390/s390.opt (processor_type): Add z13.
- (mvx): New options.
- * doc/invoke.texi: Add z13 option for -march.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/predicates.md (shift_count_or_setmem_operand): Add
- mode check to make sure that only scalar integer values are
- accepted.
-
-2015-05-19 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Fix #undef.
- (gimple_canonical_types_compatible_p): Move here from lto.c
- (verify_type): Verify TYPE_CANONICAL compatibility.
- * tree.h (gimple_canonical_types_compatible_p): Declare.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66199
- * tree.h (OMP_TEAMS_COMBINED): Define.
- * gimplify.c (enum gimplify_omp_var_data): Add
- GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
- (enum omp_region_type): Add ORT_COMBINED_TEAMS.
- (omp_notice_variable): Accept both ORT_TEAMS
- and ORT_COMBINED_TEAMS. Don't recurse if
- GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
- GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
- GOVD_FIRSTPRIVATE.
- (omp_no_lastprivate): New function.
- (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
- and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
- notice_outer and set appropriate bits, otherwise make
- sure default(none) combined constructs won't complain.
- (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
- outer special casing, for OMP_CLAUSE_LASTPRIVATE if
- omp_no_lastprivate either remove the clause or turn it
- into OMP_CLAUSE_PRIVATE.
- (gimplify_omp_for): Fix up handling of implicit
- lastprivate or linear iterators.
- (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
- ORT_COMBINED_TEAMS.
- * omp-low.c (lower_omp_for_lastprivate): For combined
- for simd use fd.loop.n2 from the for rather than simd.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
- instead of gen_rtx_raw_REG.
- (cris_expand_epilogue): Likewise.
- * config/microblaze/microblaze.c (microblaze_classify_address):
- Likewise.
- * config/sparc/sparc.md: Likewise.
-
-2015-05-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_legitimize_reload_address)
- (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
- CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
- (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
- Use CASE_CONST_SCALAR_INT.
- (print_operand) <case 'M'>: Use mode_width_operand to check the
- value of the constant.
- * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
- * config/alpha/predicates.md (input_operand): Use general_operand
- instead of match_code as operand check.
- (symbolic_operand): Use match_code with subexpression digits.
- * config/alpha/constraints.md (Q): Ditto.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_secondary_reload): Fix check for
- load/store relative.
-
-2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
- alternative_mask to uint64_t.
-
-2015-05-19 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/66187
- * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
- Pass TYPE_SIGN to tree_int_cst_min_precision. If
- !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
-
-2015-05-19 David Malcolm <dmalcolm@redhat.com>
-
- * diagnostic.c (diagnostic_report_current_module): Strengthen
- local "new_map" from const line_map * to
- const line_map_ordinary *.
- * genmatch.c (error_cb): Likewise for local "map".
- (output_line_directive): Likewise for local "map".
- * input.c (expand_location_1): Likewise for local "map".
- Pass NULL rather than &map to
- linemap_unwind_to_first_non_reserved_loc, since the value is never
- read from there, and the value written back not read from here.
- (is_location_from_builtin_token): Strengthen local "map" from
- const line_map * to const line_map_ordinary *.
- (dump_location_info): Strengthen locals "map" from
- line_map *, one to const line_map_ordinary *, the other
- to const line_map_macro *.
- * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
- const line_map * to const line_map_macro *.
- (maybe_unwind_expanded_macro_loc): Add a call to
- linemap_check_macro when writing to the "map" field of the
- loc_map_pair.
- Introduce local const line_map_ordinary * "ord_map", using it in
- place of "map" in the part of the function where we know we have
- an ordinary map. Strengthen local "m" from const line_map * to
- const line_map_ordinary *.
-
-2015-05-19 Nick Clifton <nickc@redhat.com>
-
- PR target/66156
- * config/msp430/msp430.md (zero_extendhisi2): Add support for
- separate source and destination registers.
-
-2015-05-19 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66165
- * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
- for no load permutation.
-
- PR tree-optimization/66185
- * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
- when building the SLP node from scalars.
-
-2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
- Tristan Gingold <gingold@adacore.com>
-
- * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
- * builtins.c (expand_builtin_update_setjmp_buf): Make global.
- (expand_stack_restore): Call record_new_stack_level.
- (expand_stack_save): Do not call do_pending_stack_adjust.
- * builtins.h (expand_builtin_update_setjmp_buf): Declare.
- * calls.c (expand_call): Call record_new_stack_level for alloca.
- * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
- wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
- (update_sjlj_context): New global function.
- * except.h (update_sjlj_context): Declare.
- * explow.c (record_new_stack_level): New global function.
- (allocate_dynamic_stack_space): Call record_new_stack_level.
- * explow.h (record_new_stack_level): Declare.
- * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
- * cfgrtl.c (duplicate_insn_chain): Likewise.
-
-2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
- (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
- STACK_GROWS_DOWNWARD as normal if.
- (expand_call): Likewise.
-
-2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*round_int_even): New insn_and_split and
- accompanying new unnamed split.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * bitmap.c (bitmap_set_range): Handle count==1 specially.
- (bitmap_clear_range): Likewise.
- * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
- bitmap_set_range unconditionally.
- * df-problems.c (df_simulate_one_insn_forwards): Likewise.
- * df-scan.c (df_mark_reg): Likewise.
- * haifa-sched.c (setup_ref_regs): Likewise.
- * sched-rgn.c (update_live_1): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * regs.h (END_HARD_REGNO): Delete.
- (END_REGNO): Move to...
- * rtl.h: ...here.
- * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
- * caller-save.c (mark_set_regs): Likewise.
- * combine.c (move_deaths, distribute_notes): Likewise.
- * cse.c (invalidate, invalidate_for_call): Likewise.
- * df-scan.c (df_ref_record): Likewise.
- * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
- (record_last_reg_set_info): Likewise.
- * reg-stack.c (convert_regs_exit): Likewise.
- * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
- * resource.c (update_live_status): Likewise.
- * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (reg_info): Add an nregs field.
- (REG_NREGS): Use it.
- (SET_REGNO_RAW): Delete.
- (set_regno_raw): New function.
- * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
- (END_REGNO): Redefine in terms of REG_NREGS.
- * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
- SET_REGNO_RAW.
- * emit-rtl.c (set_mode_and_regno): Likewise.
- * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
- instead of SET_REGNO_RAW.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (PUT_MODE_RAW): New macro.
- (PUT_REG_NOTE_KIND): Use it.
- (set_mode_and_regno): Declare.
- (gen_raw_REG): Change regno to "unsigned int".
- (gen_rtx_REG): Change "unsigned" to "unsigned int".
- (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
- use set_mode_and_regno to change the mode of registers.
- * gengenrtl.c (gendef): Use PUT_MODE_RAW.
- * emit-rtl.c (set_mode_and_regno): New function.
- (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
- * caller-save.c (reg_save_code): Use set_mode_and_regno.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * postreload.c (reload_cse_simplify_operands): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * caller-save.c (init_caller_save): Use word_mode and
- FIRST_PSEUDO_REGISTER when creating temporary rtxes.
- * expr.c (init_expr_target): Likewise.
- * ira.c (setup_prohibited_mode_move_regs): Likewise.
- * postreload.c (reload_cse_regs_1): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.def (REG): Change format to "r".
- * rtl.h (rtunion): Remove rt_reg.
- (reg_info): New structure.
- (rtx_def): Add reg field to main union.
- (X0REGATTR): Delete.
- (REG_CHECK): New macro.
- (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
- * rtl.c (rtx_format): Document "r".
- (rtx_code_size): Handle REG specially.
- * gengenrtl.c (special_format): Return true for formats
- that include 'r'.
- * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
- Deal with REG_ATTRS after the field loop.
- * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
- * expmed.c (init_expmed): Call gen_raw_REG instead of
- gen_rtx_raw_REG.
- * expr.c (init_expr_target): Likewise.
- * regcprop.c (maybe_mode_change): Likewise.
- * varasm.c (make_decl_rtl): Likewise.
- * final.c (leaf_renumber_regs_insn): Return early after
- handling REGs.
- * genemit.c (gen_exp): Handle 'r' fields.
- * genpeep.c (match_rtx): Likewise.
- * gensupport.c (subst_pattern_match): Likewise.
- (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
- (alter_constraints, subst_dup): Likewise.
- * read-rtl.c (read_rtx_code): Likewise.
- * print-rtl.c (print_rtx): Likewise.
- * genrecog.c (find_operand, find_matching_operand): Likewise.
- (validate_pattern, match_pattern_2): Likewise.
- (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
- (rtx_test::regno_field): New function.
- (operator ==, safe_to_hoist_p, transition_parameter_type)
- (parameter_type_string, print_parameter_value)
- (print_nonbool_test, print_test): Handle new enum values.
- * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
- * lra-constraints.c (operands_match_p): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
- Change type of new_regno to unsigned int.
- * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
- new_regno to unsigned int.
- (df_ref_change_reg_with_loc): Remove old_regno parameter.
- Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
- * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
- (SET_REGNO_RAW): Add space after ",".
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (REG_NREGS): New macro
- * alias.c (record_set): Use it.
- * cfgcleanup.c (mark_effect): Likewise.
- * combine.c (likely_spilled_retval_1): Likewise.
- (likely_spilled_retval_p, can_change_dest_mode): Likewise.
- (move_deaths, distribute_notes): Likewise.
- * cselib.c (cselib_record_set): Likewise.
- * df-problems.c (df_simulate_one_insn_forwards): Likewise.
- * df-scan.c (df_mark_reg): Likewise.
- * dse.c (look_for_hardregs): Likewise.
- * dwarf2out.c (reg_loc_descriptor): Likewise.
- (multiple_reg_loc_descriptor): Likewise.
- * expr.c (write_complex_part, read_complex_part): Likewise.
- (emit_move_complex): Likewise.
- * haifa-sched.c (setup_ref_regs): Likewise.
- * ira-lives.c (mark_hard_reg_live): Likewise.
- * lra.c (lra_set_insn_recog_data): Likewise.
- * mode-switching.c (create_pre_exit): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern): Likewise.
- (reload_combine_recognize_pattern): Likewise.
- (reload_combine_note_use, move2add_record_mode): Likewise.
- (reload_cse_move2add): Likewise.
- * reg-stack.c (subst_stack_regs_pat): Likewise.
- * regcprop.c (kill_value, copy_value): Likewise.
- (copyprop_hardreg_forward_1): Likewise.
- * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
- (build_def_use): Likewise.
- * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
- (deps_analyze_insn): Likewise.
- * sched-rgn.c (check_live_1, update_live_1): Likewise.
- * sel-sched.c (count_occurrences_equiv): Likewise.
- * valtrack.c (dead_debug_insert_temp): Likewise.
-
-2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
-
- * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
- * dse.c (note_add_store): Likewise.
- * ira-lives.c (mark_hard_reg_dead): Likewise.
- * loop-invariant.c (mark_reg_store): Likewise.
- (mark_reg_death): Likewise.
- * postreload.c (reload_combine): Likewise.
- (reload_combine_note_store): Likewise.
- (reload_combine_note_use): Likewise.
- * recog.c (peep2_reg_dead_p): Likewise.
-
-2015-05-19 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
- hard registers numbered greater or equal to ARG_POINTER_REGNUM.
- (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
- unused predicates.
- * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
- Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
- * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
- * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
-
-2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
-
- * config/mips/mips.md (JOIN_MODE): New mode iterator.
- (join2_load_Store<JOIN_MODE:mode>): New pattern.
- (join2_loadhi): Likewise.
- (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
- load-load and store-stores.
- * config/mips/mips.opt (mload-store-pairs): New option.
- (TARGET_LOAD_STORE_PAIRS): New macro.
- * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
- * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
- * config/mips/mips.c (mips_load_store_bonding_p): New function.
-
-2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
-
- * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
- explicit swaps.
- * dojump.c (do_compare_rtx_and_jump): Likewise.
- * expmed.c (emit_store_flag_1): Likewise.
- * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
- * final.c (sprint_ul): Use std::reverse for reversing a string.
- * fold-const.c (extract_muldiv_1): Use std::swap.
- * genmodes.c (emit_mode_int_n): Likewise.
- * ifcvt.c (dead_or_predicable): Likewise.
- * ira-build.c (ira_merge_live_ranges): Likewise.
- (swap_allocno_copy_ends_if_necessary): Likewise.
- * ira.c (ira_setup_alts): Likewise.
- * loop-iv.c (iv_analyze_expr): Likewise.
- (implies_p): Likewise.
- (canon_condition): Likewise.
- * lra-constraints.c (swap_operands): Likewise.
- * lra-lives.c (lra_merge_live_ranges): Likewise.
- * omega.c (swap): Remove.
- (bswap): Remove.
- (omega_unprotect_1): Use std::swap.
- (omega_solve_geq): Likewise.
- * optabs.c (expand_binop_directly): Likewise.
- (expand_binop): Likewise.
- (emit_conditional_move): Likewise.
- (emit_conditional_add): Likewise.
- * postreload.c (reload_cse_simplify_operands): Likewise.
- * reg-stack.c (emit_swap_insn): Likewise.
- (swap_to_top): Likewise.
- (compare_for_stack_reg): Likewise.
- (subst_asm_stack_regs): Likewise.
- * reload.c (find_reloads): Likewise.
- * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
- * sel-sched.c (invoke_reorder_hooks): Likewise.
- (create_block_for_bookkeeping): Likewise.
- * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
- (lambda_matrix_right_hermite): Use std::swap.
- * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
- * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
- * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
- * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
- * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
- * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
- * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
- * tree-vrp.c (compare_ranges): Likewise.
- * var-tracking.c (add_with_sets): Likewise.
- (vt_find_locations): Likewise.
-
-2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
- pie executables.
- (FBSD_ENDFILE_SPEC): Likewise.
- * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
- config/freebsd-spec.h.
- (ENDFILE_SPEC): Likewise.
-
-2015-05-18 Uros Bizjak <ubizjak@gmail.com>
- Richard Henderson <rth@redhat.com>
-
- PR target/57032
- * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
- Check for a memory location that is not a reference (using an AND)
- to an unaligned location here.
- * config/alpha/predicates.md (normal_memory_operand): Remove.
-
-2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
-
- * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
- (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
-
-2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (micromips_globals): New variable.
- (mips_set_compression_mode): Save and reinitialize target-dependent
- state for microMIPS.
-
-2015-05-18 Martin Liska <mliska@suse.cz>
-
- * dbgcnt.def: Add new counter.
- * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
-
-2015-05-18 Martin Liska <mliska@suse.cz>
-
- * dbgcnt.def: Sort counters.
- * opts.c (common_handle_option): Do not compile if
- -fdbg-cnt-list is enabled.
-
-2015-05-18 Tom de Vries <tom@codesourcery.com>
-
- * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
- (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
- address operator to va_list operand.
- * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
- unconditionally.
- * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
- operand.
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
- * config/s390/s390.c (s390_gimplify_va_arg): Same.
- * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
-
-2015-05-18 Tom de Vries <tom@codesourcery.com>
-
- * tree-ssa-tail-merge.c: Fix whitespace.
-
-2015-05-17 Jim Wilson <jim.wilson@linaro.org>
-
- * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
- cortex-a17, and cortex-a17.cortex-a7.
-
-2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/54236
- * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
-
-2015-05-17 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66174
- * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
- QImode inner modes for TARGET_AVX512BW. Force mask operand
- to a register for AVX512F modes.
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * toplev.c (emit_debug_global_declarations): Do not output debug info
- when doing slim LTO objects.
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
- odr_types_equivalent_p): Declare.
- (odr_type_p): Use gcc_checking_assert.
- (type_in_anonymous_namespace_p) Declare.
- (type_with_linkage_p): Declare.
- * common.opt (Wlto-type-mismatch): New warning.
- * ipa-devirt.c (compound_type_base): New function.
- (odr_or_derived_type_p): New function.
- (odr_types_equivalent_p): New function.
- (add_type_duplicate): Simplify.
- (type_with_linkage_p): Add hack to prevent false positives on C types
- (type_in_anonymous_namespace_p): Likewise.
- * tree.c (need_assembler_name_p): Use type_with_linkage.
- * tree.h (type_in_anonymous_namespace_p): Remove.
- * doc/invoke.texi (-Wlto-type-mismatch): Document
-
-2015-05-16 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Verify tree_base and type_common flags.
- (verify_type): Verify STRING_FLAG.
-
-2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
-
- PR fortran/44054
- * tree-pretty-print.c (percent_K_format): Replace locus pointer
- with accessor function.
- * tree-diagnostic.c (diagnostic_report_current_function): Use
- diagnostic_location function.
- (maybe_unwind_expanded_macro_loc): Likewise.
- (virt_loc_aware_diagnostic_finalizer): Likewise.
- (default_tree_printer): Replace locus pointer with accessor function.
- * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
- (diagnostic_set_info_translated): Initialize second location.
- (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
- (diagnostic_show_locus): Handle two locations. Call
- diagnostic_print_caret_line.
- (diagnostic_print_caret_line): New.
- (default_diagnostic_starter): Use diagnostic_location function.
- (diagnostic_report_diagnostic): Use diagnostic_location function.
- (verbatim): Do not set text.locus.
- * diagnostic.h (struct diagnostic_info): Remove location field.
- (struct diagnostic_context): Make caret_chars an array of two.
- (diagnostic_location): New inline.
- (diagnostic_expand_location): Handle two locations.
- (diagnostic_same_line): New inline.
- (diagnostic_print_caret_line): Declare.
- (CARET_LINE_MARGIN): New constant.
- * pretty-print.c (pp_printf): Do not set text.locus.
- (pp_verbatim): Do not set text.locus.
- * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
- (struct text_info): Replace locus pointer with locations
- array. Add accessor functions.
-
-2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
- Zhenqiang Chen <zhenqiang.chen@linaro.org>
-
- PR target/65768
- * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
- * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
- large constants in register instead of splitting them.
-
-2015-05-16 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66140
- * config/alpha/alpha.c (get_aligned_mem): Also look for reload
- replacements in memory addresses.
- (get_unaligned_address): Ditto.
-
-2015-05-16 James Bowman <james.bowman@ftdichip.com>
-
- * config/ft32/*: New files for FT32 port.
- * doc/install.texi: Add FT32 information.
- * doc/invoke.texi: Add FT32 information.
- * doc/md.texi: Add FT32 information.
- * doc/contrib.texi: Self added.
-
-2015-05-15 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/64454
- * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
- (-1 - A -> ~A): Remove unnecessary condition.
-
-2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
- * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
-
-2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.h (chkp_wrap_function): New.
- * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
- (chkp_wrap_function_name): New.
- (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
- to get wrapper name.
- * lto-cgraph.c: Include ipa-chkp.h.
- (input_cgraph_1): Avoid alias chain for wrappers.
-
-2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
-
- PR middle-end/66134
- * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
- (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
-
-2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
- (AARCH64_FL_SLOWMUL): Delete.
- (AARCH64_FL_CRC): Redefine to 1<<3.
- (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
-
-2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
- casting.
-
-2015-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (extendqidi2): Use general_operand
- instead of some_operand for operand[1] predicate.
- (extendhidi2): Ditto.
- (cbranchdi4): Use general_operand instead of some_operand
- for operand[1] and operands[2] predicates.
- (cstoredi4): Ditto.
- * config/alpha/predicates.md (some_operand): Remove unused predicate.
- (some_ni_operand): Ditto.
-
-2015-05-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_extract_integer): Do not handle
- CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
- (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
- low part of the constant using alpha_emit_set_const_1.
- (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
-
-2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
-
- * varasm.c (output_constant_pool_1): Pass down alignment from
- constant pool entry's descriptor to output_constant_pool_2.
- (output_object_block): Add comment prior to call to
- output_constant_pool_1.
-
-2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65862
- * target.def (ira_change_pseudo_allocno_class): New hook.
- * targhooks.c (default_ira_change_pseudo_allocno_class): Default
- value of the hook.
- * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
- * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
- hook.
- * ira-costs.c (find_costs_and_classes): Call the hook and change
- classes when it is necessary.
- * doc/tm.texi: Update.
-
-2015-05-14 Alexander Monakov <amonakov@ispras.ru>
-
- * config/i386/i386.md (sibcall_memory): Check that register with
- callee address is not also used as one of the arguments, instead
- of checking that it is not live after the sibcall.
- (sibcall_pop_memory): Ditto.
- (sibcall_value_memory): Ditto.
- (sibcall_value_pop_memory): Ditto.
-
-2015-05-14 Marc Glisse <marc.glisse@inria.fr>
-
- * generic-match-head.c (types_match): Handle non-types.
- * gimple-match-head.c (types_match): Likewise.
- * match.pd: Remove unnecessary TREE_TYPE for types_match.
-
-2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
- (csneg3<mode>_insn): Enable expansion of pattern.
-
-2015-05-14 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_select_section): Select the correct
- default section based upon the category of the decl.
-
-2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/30967
- * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
- destination mode for the cost of scc patterns.
-
-2015-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
- using SWIM248 mode iterator.
- (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
- (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
- for operand[2] constraint.
- (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
-
-2015-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/66133
- * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
- make sure it is never noreturn, even when the task body does not
- return.
- (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
- right before GIMPLE_OMP_RETURN.
- (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
- for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
- GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
-
-2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
- * tree-ssa-math-opts.c: Include params.h
- (pow_synth_sqrt_info): New struct.
- (representable_as_half_series_p): New function.
- (get_fn_chain): Likewise.
- (print_nested_fn): Likewise.
- (dump_fractional_sqrt_sequence): Likewise.
- (dump_integer_part): Likewise.
- (expand_pow_as_sqrts): Likewise.
- (gimple_expand_builtin_pow): Use above to attempt to expand
- pow as series of square roots. Removed now unused variables.
-
-2015-05-13 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
- (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
- Remove *p0 and *p1 arguments. Rewrite function.
- (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
- (alpha_split_const_mov): Update calls to alpha_extract_integer and
- alpha_emit_set_long_const.
- (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
- (alpha_output_mi_thunk_osf): Ditto.
- * config/alpha/alpha.md (movti): Do not check operands[1]
- for CONST_DOUBLE.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66129
- * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
- commutative.
- (vect_schedule_slp_instance): Fix typo.
-
-2015-05-13 David Malcolm <dmalcolm@redhat.com>
-
- * common.opt (fdump-internal-locations): New option.
- * input.c: Include diagnostic-core.h.
- (get_end_location): New function.
- (write_digit): New function.
- (write_digit_row): New function.
- (dump_location_range): New function.
- (dump_labelled_location_range): New function.
- (dump_location_info): New function.
- * input.h (dump_location_info): New prototype.
- * toplev.c (compile_file): Handle flag_dump_locations.
-
-2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * gimple-expr.h (is_gimple_constant): Reorder.
- * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
-
-2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (simplify_set): When generating a CC set, if the
- source already is in the correct mode, do not wrap it in a
- compare. Simplify the rest of that code.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66123
- * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
- a taken edge.
-
-2015-05-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/66110
- * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
- specially.
- * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
-
-2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
- * aclocal.m4: Regenerated with automake-1.11.6.
-
-2015-05-13 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66010
- * gimplify.h (gimplify_va_arg_internal): Remove declaration.
- * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
- * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
- and rval based on do_deref.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * config/i386/i386.c (ix86_rtx_costs): We want to propagate
- link time constants into adress expressions and therefore set
- their cost to 0.
-
-2015-05-13 Jakub Jelinek <jakub@redhat.com>
-
- PR target/66112
- * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
- Use SWI248 iterator instead of SWI.
- (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
- Use eq_attr "alternative" "0" instead of match_test in
- length_immediate attribute computation.
- (*mulvhi4, *mulvhi4_1): New define_insns.
-
- PR target/66112
- * internal-fn.c (get_min_precision): Use UNSIGNED instead of
- SIGNED to get precision of non-negative value.
-
-2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/66048
- * function.c (diddle_return_value_1): Process bounds first.
- * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
- register.
-
-2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR rtl-optimization/64616
- * loop-invariant.c (can_move_invariant_reg): New.
- (move_invariant_reg): Call above new function to decide whether
- instruction can just be moved, skipping creation of temporary
- register.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/pr66047.c
- * i386.c (ix86_function_sseregparm): Only return -1 if local function
- with implied regparm is called from -mno-sse function.
- (init_cumulative_args): Output error if ix86_function_sseregparm
- return -1 and SSE register would be needed.
- (function_arg_advance_32): Likewise.
- (function_arg_32): Likewise.
- * i386.h (ix86_args): Add decl field.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65873
- * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
- inlines across optimization boundary.
-
-2015-05-12 Jason Merrill <jason@redhat.com>
-
- * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
- string literal and macro name.
-
-2015-05-12 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
- * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
- * config/mips/predicates.md (const_immlsa_operand): Remove log call.
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
- (-Wmisleading-indentation): New option.
- * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
-
-2015-05-12 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
- * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
- (alpha_extract_integer): Ditto.
- (alpha_legitimate_constant_p): Ditto.
- (alpha_split_tmode_pair): Ditto.
- (alpha_preferred_reload_class): Add CONST_WIDE_INT.
- (alpha_expand_mov): Ditto.
- (print_operand): Remove handling of 'H' modifier.
- <case 'm'>: Remove CONST_DOUBLE handling.
- (summarize_insn): Handle CONST_WIDE_INT.
- * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
- (anddi3): Ditto.
- (movti): Handle CONST_WIDE_INT.
- * config/alpha/constraints.md ('H'): Remove constraint definition.
- ('G'): Do not match MODE_FLOAT class.
- * config/alpha/predicates.md (const0_operand): Also match
- const_wide_int.
- (non_add_const_operand): Ditto.
- (non_zero_const_operand): Ditto.
- (some_operand): Ditto.
- (input_operand): Ditto. Handle CONST_WIDE_INT.
- (and_operand): Do not match const_double.
- * config/alpha/sync.md (fetchop_constr): Remove H constraint.
-
-2015-05-12 Andrew MacLeod <amacleod@redhat.com>
-
- PR target/65697
- * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
- (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
- * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
- is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
- is_mm_seq_cst, is_mm_sync): New accessor functions.
- * builtins.c (expand_builtin_sync_operation,
- expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
- (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
- (get_memmodel, expand_builtin_atomic_compare_exchange,
- expand_builtin_atomic_load, expand_builtin_atomic_store,
- expand_builtin_atomic_clear): Use new accessor routines.
- (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
- * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
- (maybe_emit_sync_lock_test_and_set): Use new accessors and
- MEMMODEL_SYNC_ACQUIRE.
- (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
- (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
- expand_atomic_store): Use new accessors.
- * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
- * tsan.c (instrument_builtin_call): Update check for memory model beyond
- final enum to use MEMMODEL_LAST.
- * c-family/c-common.c: Use new accessor for memmodel_base.
- * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
- accessors.
- * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
- arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
- mem_thread_fence, *dmb): Likewise.
- * config/alpha/alpha.c (alpha_split_compare_and_swap,
- alpha_split_compare_and_swap_12): Likewise.
- * config/arm/arm.c (arm_expand_compare_and_swap,
- arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
- * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
- atomic_loaddi): Likewise.
- * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
- Likewise.
- * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
- * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
- use new accessors.
- * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
- atomic_store<mode>, atomic_compare_and_swap<mode>,
- atomic_exchange<mode>): Use new accessors.
- * config/mips/mips.c (mips_process_sync_loop): Likewise.
- * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
- * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
- rs6000_post_atomic_barrier): Add new cases.
- (rs6000_expand_atomic_compare_and_swap): Use new accessors.
- * config/rs6000/sync.md (mem_thread_fence): Add new cases.
- (atomic_load<mode>): Add new cases and use new accessors.
- (store_quadpti): Add new cases.
- * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
- accessors.
- * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
- * doc/extend.texi: Update docs to indicate 16 bits are used for memory
- model, not 8.
-
-2015-05-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (type_with_linkage_p): New function.
- (type_in_anonymous_namespace_p): Move here from tree.c; assert that
- type has linkage.
- (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
- (can_be_name_hashed_p): Simplify.
- (hash_odr_name): Check that type has linkage before checking if it is
- anonymous.
- (types_same_for_odr): Likewise.
- (odr_name_hasher::equal): Likewise.
- (odr_subtypes_equivalent_p): Likewise.
- (warn_types_mismatch): Likewise.
- (get_odr_type): Likewise.
- (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
- * ipa-utils.h (odr_type_p): Move offline.
- * tree.c (need_assembler_name_p): Fix handling of types
- without linkages.
- (type_in_anonymous_namespace_p): Move to ipa-devirt.c
-
-2015-05-12 David Malcolm <dmalcolm@redhat.com>
-
- * timevar.c (timevar_enable): Delete in favor of...
- (g_timer): New global.
- (struct timevar_def): Move to timevar.h inside class timer.
- (struct timevar_stack_def): Likewise.
- (timevars): Delete global in favor of field "m_timevars" within
- class timer in timevar.h
- (stack): Likewise, in favor of field "m_stack".
- (unused_stack_instances): Likewise, in favor of field
- "m_unused_stack_instances".
- (start_time): Likewise, in favor of field "m_start_time".
- (get_time): Eliminate check for timevar_enable.
- (timer::timer): New function, built from part of timevar_init.
- (timevar_init): Rewrite idempotency test from using
- "timevar_enable" bool to using dynamic allocation of "g_timer".
- Move rest of implementation into timer's constructor.
- (timevar_push_1): Rename to...
- (timer::push): ...this, adding "m_" prefixes to variables that
- are now fields of timer.
- (timevar_pop_1): Likewise, rename to...
- (timer::pop): ...this, and add "m_" prefixes.
- (timevar_start): Replace test for "timevar_enable" with one for
- "g_timer", and move bulk of implementation to...
- (timer::start): ...here, adding "m_" prefixes.
- (timevar_stop): Likewise, from here...
- (timer::stop): ...to here.
- (timevar_cond_start): Likewise, from here...
- (timer::cond_start): ...to here.
- (timevar_cond_stop): Likewise, from here...
- (timer::cond_stop): ...to here.
- (validate_phases): Rename to...
- (timer::validate_phases): ...this, and add "m_" prefixes. Make
- locals "total" and "tv" const.
- (timevar_print): Rename to...
- (timer::print): ...this, and add "m_" prefixes. Make locals
- "total" and "tv" const. Eliminate test for timevar_enable.
- * timevar.h (timevar_enable): Eliminate.
- (g_timer): New declaration.
- (timevar_push_1): Eliminate.
- (timevar_pop_1): Eliminate.
- (timevar_print): Eliminate.
- (class timer): New class.
- (timevar_push): Rewrite to use g_timer.
- (timevar_pop): Likewise.
- * toplev.c (toplev::~toplev): Likewise.
-
-2015-05-12 Richard Earnshaw <rearnsha@arm.com>
-
- * arm-protos.h (arm_sched_autopref): Delete.
- (tune_params): Re-organize, use enums for flag values.
- (FUSE_OPS): New macro.
- * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
- (ARM_PREFETCH_BENEFICIAL): Likewise.
- (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
- (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
- (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
- (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
- (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
- (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
- (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
- format.
- (arm_option_override, thumb2_reorg, arm_print_tune_info)
- (aarch_macro_fusion_pair_p): Update uses of current_tune.
- * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
-
-2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
- "break".
-
-2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
- value.
- (REG_CLASS_NAMES): Add "IJMP_REGS".
- (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
- * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
- use new "c" register constraint.
- * config/nios2/constraint.md (c): New register constraint
- corresponding to IJMP_REGS.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
- *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
- define_splits): Delete, revamp, transmogrify into ...
- (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
- *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
- *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
- New.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
- gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (extzv): FAIL for SImode.
- (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
- *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
- *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
- *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
- *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
- *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
- *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
- *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
- *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
- *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
- *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
- *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
- *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
- *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
- *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
- and 30 corresponding splitters): Delete.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
- zero_extract.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (recog_for_combine_1): New function, factored out
- from recog_for_combine.
- (change_zero_ext): New function.
- (recog_for_combine): If recog fails, try again with the pattern
- modified by change_zero_ext; if that still fails, restore the
- pattern.
-
-2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
-
- * combine.c (get_undo_marker): New function.
- (undo_to_marker): New function, largely factored out from ...
- (undo_all): ... this. Adjust.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66101
- * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
- fixup if we turn a loop exit edge to a fallthru edge.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/37021
- * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
- (SLP_TREE_TWO_OPERATORS): New define.
- * tree-vect-slp.c (vect_create_new_slp_node): Initialize
- SLP_TREE_TWO_OPERATORS.
- (vect_build_slp_tree_1): Allow two mixing plus/minus in an
- SLP node.
- (vect_build_slp_tree): Adjust.
- (vect_analyze_slp_cost_1): Likewise.
- (vect_schedule_slp_instance): Vectorize mixing plus/minus by
- emitting two vector stmts and mixing the results.
-
-2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * call.c (print_z_candidates): Remove dead code.
-
-2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
- and zEC12_simple_fp.
- * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
- to 1.
-
-2015-05-12 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/66010
- * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
- ifn_va_arg.
- * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
- (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
- va_lists are passed, and remove corresponding handling.
- (gimplify_va_arg_expr): Only take address of ap if necessary. Add
- do_deref argument to ifn_va_arg.
- * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
- ifn_va_arg.
-
-2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65955
- * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
- REG before taking its REGNO.
-
-2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
- rsp->sign_bit_copies and rsp->nonzero_bits into ...
- (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
- present to get more accurate information about the number of sign bit
- copies and non zero bits.
-
-2015-05-12 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
- do not allow unrolling.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * config/i386/i386-modes.def (CCP): New.
- * config/i386/i386.c (put_condition_code): Handle it.
- (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * target.def (md_asm_clobbers): Replace with...
- (md_asm_adjust): this.
- * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * tm.texi: Rebuild.
- * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
- * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
- * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
-
- * cfgexpand.c (check_operand_nalternatives): Accept vector of
- constraints instead of lists of outputs and inputs.
- (expand_asm_stmt): Save and restore input_location around the
- body of the function. Move asm data into vectors instead of
- building tree lists. Generate cleanup sequences as needed,
- rather than waiting til the end. Use new md_asm_adjust hook.
-
- * config/vxworks.c: Include vec.h before target.h.
- * gimple.c: Likewise.
- * incpath.c: Likewise.
- * mode-switching.c: Likewise.
-
- * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
- (cris_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
- (ix86_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
- (mn10300_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
- (rs6000_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
- * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
- (visium_md_asm_adjust): this.
- (TARGET_MD_ASM_CLOBBERS): Remove.
- (TARGET_MD_ASM_ADJUST): New.
-
-2015-05-11 Richard Henderson <rth@redhat.com>
-
- * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
- if noutputs is zero.
- * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
-
- * cfgexpand.c (expand_asm_operands): Merge into...
- (expand_asm_stmt): ... here.
-
- * cfgexpand.c (expand_asm_operands): Don't call
- resolve_asm_operand_names.
- * stmt.c (resolve_asm_operand_names): Clarify block comment.
-
-2015-05-11 Jan Hubicka <hubicka@ucw.cz>
-
- * dwarf2out.c (gen_member_die): Sanity check that we access
- TYPE_MAIN_VARIANT for TYPE_METHODS.
- * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
- checking TYPE_METHODS.
- * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
- if non-null.
- (build_distinct_type_copy): Clear TYPE_METHODS.
- (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
- (verify_type): Allow TYPE_METHODS to be error_mark_node.
- * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
-
-2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
-
- * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
- (emit_pattern_before_setloc): Likewise.
-
-2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
- for define_peephole2s.
- (get_peephole2_pattern): New function.
- (main): Use it. Call validate_pattern.
-
-2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
-
- * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
- LAST_CALLEE_SAVED_REG instead of hard-coded register number.
- (Last callee saved reg is different for AVR_TINY architecture)
-
-2015-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
- when looking for memory references.
-
-2015-05-11 Alexander Monakov <amonakov@ispras.ru>
-
- PR target/65753
- * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
- via function pointers.
-
-2015-05-11 Alexander Monakov <amonakov@ispras.ru>
-
- * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
- indirect call by forcing address into a pseudo with -fno-plt.
- * common.opt (flag_plt): New option.
- * doc/invoke.texi (Code Generation Options): Add -fno-plt.
- ([-fno-plt]): Document.
-
-2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR bootstrap/66105
- * config/rs6000/option-defaults.h: Add space between string literal
- and macro name.
-
-2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
- accross ARM targets.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
- * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
-
-2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
-
- PR rtl-optimization/66076
- * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
- Don't grow the heap array if it is already big enough from a
- previous iteration.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm-protos.h (arm_declare_function_name): Declare.
- (is_called_in_ARM_mode): Remove.
- * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
- (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
- * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
- arm_declare_function_name.
-
-2015-05-11 Christian Bruel <christian.bruel@st.com>
-
- * config/arm/arm.c (arm_option_override): Reoganized and split into :
- (arm_option_params_internal); New function.
- (arm_option_check_internal): New function.
- (arm_option_override_internal): New function.
- (thumb_code, thumb1_code): Remove.
- * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
- (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
- (thumb_code, thumb1_code): Remove.
- * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
-
-2015-05-11 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_emit_set_const_1)
- (alpha_emit_set_long_const, alpha_extract_integer)
- (alpha_legitimate_constant_p, alpha_split_const_mov)
- (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
- HOST_WIDE_INT_1U.
- * config/alpha/predicates.md (mode_mask_operand): Do not match
- const_double RTX.
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
- Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
- [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
- (*negtf_internal): Use gen_int_mode instead of immed_double_const.
-
-2015-05-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65780
- * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
- default_binds_local_p_2.
- * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
- * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- Patch by Richard Biener
- * coverage.c (coverage_obj_init): Delay building of type variant
- until the type is finished.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
- mismatch between C and C++ type; compoare correctly ARG_TYPES
- for non-prototypes and output correctly parameter index for METHOD_TYPE.
- (odr_types_equivalent_p): Fix wording of warning about attributes;
- it is OK to match prototype and non-prototype.
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
- TYPE_ARG_TYPES list.
- (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
- * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
-
-2015-05-09 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
- * tree.h (is_lang_specific): Constify.
-
-2015-05-09 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/64454
- * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
- Rewrite.
-
-2015-05-08 Jason Merrill <jason@redhat.com>
-
- * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
- config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
- config/darwin.h, config/darwin9.h, config/elfos.h,
- config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
- config/microblaze/microblaze.h, config/mips/mips.h,
- config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
- config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
- config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
- config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
- config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
- cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
- dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
- ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
- ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
- modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
- tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
- between string literal and macro name.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * jump.c: Change argument types to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-problems.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtl.h: Adjust.
- * rtlanal.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * sched-deps.c: Change argument types to rtx_insn *.
- * sched-int.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c: Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ira.c (decrease_live_ranges_number): Changetype of local
- variable to rtx_insn *.
- * recog.c: Change argument types to rtx_insn *.
- * recog.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c: Change argument types to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * ira-color.c: Change argument types to rtx_insn *.
- * lra-eliminations.c: Likewise.
- * ira.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * gcse.c: Change argument types to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_debug_insn_before): Change argument type to
- rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
- to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
- to rtx_insn *.
- * rtl.h: Likewise.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * except.c (can_nonlocal_goto): Change type of argument to
- rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
- * rtl.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
- * cfgrtl.c (can_delete_label_p): Adjust.
- * rtl.h: likewise.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reorg.c (stop_search_p): Change argument to rtx_insn *.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * except.c (make_reg_eh_region_note): Change argument to
- rtx_insn *.
- (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
- * except.h: Adjust.
-
-2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * mode-switching.c (commit_mode_sets): Change type of local
- variable from rtx to rtx_insn *.
-
-2015-05-08 Jim Wilson <jim.wilson@linaro.org>
-
- * doc/install.texi (--enable-languages): Add missing jit and lto info.
- Add ^ to grep command.
- * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
- arg to last gimple_simplify declaration. Add missing gimple_build
- declaration for built-in function case with four tree args.
-
-2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
- (GNU_USER_DYNAMIC_LINKERN32): Update.
-
-2015-05-08 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66036
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Handle strided group loads.
- (vect_verify_datarefs_alignment): Likewise.
- (vect_enhance_data_refs_alignment): Likewise.
- (vect_analyze_group_access): Likewise.
- (vect_analyze_data_ref_access): Likewise.
- (vect_analyze_data_ref_accesses): Likewise.
- * tree-vect-stmts.c (vect_model_load_cost): Likewise.
- (vectorizable_load): Likewise.
-
-2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md: Require operand inequality in one
- of the peepholes.
-
-2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
- Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
-
- * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
- from (set ...).
- * config/rx/rx.md (movdi, movdf): Likewise.
- Likewise for define_peephole2s.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
- vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
- vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
- vtst_u64): Rewrite using gcc vector extensions.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
- vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
-
-2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
-
- * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
-
-2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/glibc-stdint.h (OPTION_MUSL): Define.
- (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
- Change the definition based on OPTION_MUSL for 64 bit targets.
- * config/linux.h (OPTION_MUSL): Redefine.
- * config/alpha/linux.h (OPTION_MUSL): Redefine.
- * config/rs6000/linux.h (OPTION_MUSL): Redefine.
- * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
-
-2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
- Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
- (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
- * config/linux.opt (mmusl): New option.
- * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
- * configure: Regenerate.
-
-2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
- Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/48904
- * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
- * config/i386/knetbsd-gnu64.h: New file.
-
-2015-05-08 Marek Polacek <polacek@redhat.com>
-
- PR c/64918
- * doc/invoke.texi: Document -Woverride-init-side-effects.
-
-2015-05-07 Marek Polacek <polacek@redhat.com>
-
- PR c/65179
- * doc/invoke.texi: Document -Wshift-negative-value.
-
-2015-05-06 Aditya Kumar <hiraditya@msn.com>
-
- * gcov-tool.c (do_merge): Refactore to remove int ret.
- * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
- !type == FUNC to type != FUNC.
- * reload.h (struct target_reload): Changee to type of
- x_spill_indirect_levels from bool to unsigned char.
-
-2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
-
- * rtl.h (always_void_p): New function.
- * gengenrtl.c (always_void_p): Likewise.
- (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
- with code foo are always VOIDmode.
- * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
- * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
- compare-elim.c, config/aarch64/aarch64.c,
- config/aarch64/aarch64.md, config/alpha/alpha.c,
- config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
- config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
- config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
- config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
- config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
- config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
- config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
- config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
- config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
- config/ia64/vect.md, config/iq2000/iq2000.c,
- config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
- config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
- config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
- config/mep/mep.c, config/microblaze/microblaze.c,
- config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
- config/mn10300/mn10300.c, config/msp430/msp430.c,
- config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
- config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
- config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
- config/rs6000/altivec.md, config/rs6000/rs6000.c,
- config/rs6000/rs6000.md, config/rs6000/vector.md,
- config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
- config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
- config/sh/sh.md, config/sh/sh_treg_combine.cc,
- config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
- config/spu/spu.md, config/stormy16/stormy16.c,
- config/tilegx/tilegx.c, config/tilegx/tilegx.md,
- config/tilepro/tilepro.c, config/tilepro/tilepro.md,
- config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
- config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
- expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
- lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
- reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
- var-tracking.c: Update calls accordingly.
-
-2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR middle-end/192
- PR middle-end/54303
- * varasm.c (function_mergeable_rodata_prefix): New function.
- (mergeable_string_section): Use it.
- (mergeable_constant_section): Use it.
-
-2015-05-07 Jeff Law <law@redhat.com>
-
- PR target/39726
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
-
- * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
- rtx type.
-
-2015-05-07 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/66002
- * passes.def: Schedule another pass_merge_phi after ifcombine, right
- before phiopt.
-
-2015-05-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
-
- * doc/invoke.texi: Document -fsanitize=bounds-strict.
- * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
- into SANITIZE_NONDEFAULT.
- * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
-
-2015-05-07 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/66015
- * config/alpha/alpha.c (alpha_override_options_after_change): New.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
- (alpha_override_options): Move align_loops, align_jumps and
- align_functions handling into alpha_override_options_after_change.
-
-2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
- Chris Jones <chrisj@nvidia.com>
- Joshua Conner <jconner@nvidia.com>
-
- * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
- linking of crtfastmath.o.
- * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
-
-2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
- (cstore<mode>4_unsigned_imm): New expander.
- (cstore<mode>4): Remove empty constraint strings. Use the new
- expanders.
-
-2015-05-06 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/64208
- * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
- alternatives.
-
-2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
-
- * config/aarch64/geniterators.sh: Use standard BRE in sed.
-
-2015-05-06 Alan Modra <amodra@gmail.com>
-
- PR target/66033
- * config/rs6000/rs6000.md (nop): Use an unspec pattern.
- (UNSPEC_NOP): Define.
- (reload_vsx_from_gpr<mode>): Add missing DONE.
- (reload_gpr_from_vsx<mode>): Likewise.
- * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
- (vsx_div_v2di, vsx_udiv_v2di): Likewise.
-
-2015-05-06 Christian Bruel <christian.bruel@st.com>
-
- PR target/66015
- * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
- align_jumps, align_functions into aarch64_override_options_after_change.
-
-2015-05-06 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_supported_load_permutation_p): Use
- vect_transform_slp_perm_load to check if we support a permutation
- for basic-block vectorization.
-
-2015-05-06 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (need_to_save): Save register 22 if it is
- used, even if it is not being used as a frame pointer.
-
-2015-05-05 Jason Merrill <jason@redhat.com>
-
- * dwarf2out.c (gen_member_die): Don't emit anything for an
- anonymous class constructor.
-
-2015-05-05 David Malcolm <dmalcolm@redhat.com>
-
- * auto-profile.c (afdo_find_equiv_class): Fix indentation so
- that it reflects the block structure.
- (afdo_propagate_edge): Likewise.
- (afdo_calculate_branch_prob): Likewise.
- (afdo_annotate_cfg): Likewise.
- * cfgcleanup.c (equal_different_set_p): Likewise.
- (try_crossjump_to_edge): Likewise.
- * cgraph.c (cgraph_node::verify_node): Likewise.
- * cgraphunit.c (expand_all_functions): Likewise.
- * config/i386/i386.c (ix86_expand_copysign): Likewise.
- (exact_dependency_1): Likewise.
- * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
- * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
- * gensupport.c (process_define_subst): Likewise.
- * lto-wrapper.c (merge_and_complain): Likewise.
- * tree-if-conv.c (if_convertible_bb_p): Likewise.
- * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
- * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
- * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
- * tree-vect-loop.c (vectorizable_reduction): Likewise.
- * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
- * tree-vect-stmts.c (vectorizable_shift): Likewise.
- * tree-vrp.c (vrp_finalize): Likewise.
- * tree.c (variably_modified_type_p): Likewise.
-
-2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
-
- * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
- on darwin12 and later.
- * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
- file to pass -rdynamic on darwin12 and later.
- * config/darwin.opt (rdynamic): Add.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * doc/extend.texi (C Extensions): Update menu for moved Variable
- Attributes and Type Attributes sections.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65990
- * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
- if rep_8byte stringop strategy was specified for 32-bit target.
-
-2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/65915
- * config/i386/i386.md (vector convert to float spltiter): Check for
- xmm16+, when splitting scalar float conversion.
- * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
-
-2015-05-05 Nick Clifton <nickc@redhat.com>
-
- * config/msp430/msp430-opts.h (enum msp430_regions): New.
- * config/msp430/msp430.c (msp430_override_options): Complain if
- -mcode-region or -mdata-region is used on a non MSP430X.
- (msp430_section_attr): New function. Checks lower, upper and
- either attributes.
- (msp430_attribute_table): Add lower, upper and either.
- (gen_prefix): New function. Generates a prefix for a section
- name.
- (msp430_select_section): New function - handles the choice of
- section for an object. Takes into account memory region
- attributes and options.
- (msp430_function_section): Use gen_prefix.
- (TARGET_SECTION_TYPE_FLAGS): Define.
- (msp430_section_type_flags): New function.
- (TARGET_ASM_UNIQUE_SECTION): Define.
- (msp430_unique_section): New function.
- (msp430_output_aligned_decl_common): New function.
- (msp430_do_not_relax_short_jumps): New function.
- * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
- Define.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
- * config/msp430/msp430-protos.h
- (msp430_do_not_relax_short_jumps): New prototype.
- (msp430_output_aligned_decl_common): New prototype.
- * config/msp430/msp430.md (length): New attribute.
- (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
- then use a long code sequence for short jumps.
- * config/msp430/msp430.opt (mcode-region): New.
- (mdata-region): New.
- * doc/invoke.texi: Document new options.
- * doc/extend.texi: Document new attributes.
-
-2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64-protos.h (struct cpu_branch_cost): New.
- (tune_params): Add field branch_costs.
- (aarch64_branch_cost): Declare.
- * config/aarch64.c (generic_branch_cost): New.
- (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
- (aarch64_branch_cost): Define.
- * config/aarch64/aarch64.h (BRANCH_COST): Redefine.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
- and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
- * config/i386/i386.md: Ditto.
- * config/i386/winnt.c: Ditto.
-
-2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/extend.texi (__atomic Builtins): Move implementation details
- to the end of the description, rewrite opening paragraphs, state
- difference with __sync builtins, state C11/C++11 assumptions,
- weaken itemized descriptions, add explanation of memory model
- behaviour, expand description of compare-exchange, simplify text.
-
-2015-05-05 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
-
-2015-05-05 Yvan Roux <yvan.roux@linaro.org>
-
- * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
- (LINK_SPEC): Include CA53_ERR_843419_SPEC.
- * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
- (LINK_SPEC): Include CA53_ERR_843419_SPEC.
- * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
- * configure: Regenerate.
- * configure.ac: Add --enable-fix-cortex-a53-843419 option.
- * doc/install.texi (aarch64*-*-*): Document new
- --enable-fix-cortex-a53-843419 option.
- * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
- and -mno-fix-cortex-a53-843419 options.
-
-2015-05-05 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
-
-2015-05-04 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
- fix overactive TYPE_MIN_VALUE check and add FIXME for type
- compatibility problems.
-
-2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.md (cbranchsi4): Added immediate
- constraints.
- (cbranchsi4_reg): New.
- * config/microblaze/microblaze.c
- (microblaze_expand_conditional_branch_reg): New.
- * config/microblaze/microblaze-protos.h
- (microblaze_expand_conditional_branch_reg): New prototype.
-
-2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
-
- * config/microblaze/microblaze.md (peephole2): New.
-
-2015-05-04 Jeff Law <law@redhat.com>
-
- Revert:
- 2015-05-04 Jeff Law <law@redhat.com>
-
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65987
- * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
- (split_branches): Likewise.
-
-2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * common.opt (fdelete-null-pointer-checks): Init to -1.
- * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
- override flag_delete_null_pointer_checks default.
- * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
- behavior re address zero. Better document target-specific behavior.
- (-fisolate-errneous-paths-dereference): Mention relationship to
- -fdelete-null-pointer-checks.
-
-2015-05-04 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65984
- * ubsan.c: Include tree-cfg.h.
- (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
- stmt_could_throw_p test, rename can_throw variable to ends_bb.
-
-2015-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
- to CONST_DOUBLE_P predicate.
- (standard_sse_constant_p): Return 0 for !TARGET_SSE.
- (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
- allow only operands that satisfy standard_sse_constant_p predicate.
- * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
- to CONST_DOUBLE_P predicate.
-
-2015-05-04 Jeff Law <law@redhat.com>
-
- * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
- simplifier to narrow arithmetic.
- * generic-match-head.c: (types_match, single_use): New functions.
- * gimple-match-head.c: (types_match, single_use): New functions.
-
-2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/arm.c: Restore bootstrap.
-
-2015-05-04 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
- * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
- as CONST_WIDE_INT, not CONST_DOUBLE.
- (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
- (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
- (ix86_find_base_term): Do not check for CONST_DOUBLE.
- (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
- (ix86_build_signbit_mask): Rewrite using wide ints.
- (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
- (ix86_rtx_costs): Handle CONST_WIDE_INT.
- (find_constant): Ditto.
- * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
- using gen_int_mode.
- * config/i386/predicates.md (x86_64_immediate_operand)
- <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
- (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
- <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
- (const0_operand): Also match const_wide_int.
- (constm1_operand): Ditto.
- (const1_operand): Ditto.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65965
- * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
- store groups at gaps.
-
-2015-05-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65935
- * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
- then make sure to apply that swapping to the IL.
-
-2015-05-04 Jakub Jelinek <jakub@redhat.com>
-
- * Makefile.in (PATCHLEVEL_c): New variable.
- (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
- expand the same way as if DEVPHASE_c was non-empty.
-
-2015-05-04 Kai Tietz <ktietz@redhat.com>
-
- PR target/65559
- * lto-wrapper.c (run_gcc): Open filename
- in binary-mode.
-
-2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Variable Attributes, Type Attributes): Move
- sections up in file, to immediately after the Function Attributes
- section.
-
-2015-05-02 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (verify_type): Check various uses of TYPE_MINVAL.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
- (insert_partition_copy_on_edge): Adjust.
- (insert_rtx_to_part_on_edge): Likewise.
- (insert_part_to_rtx_on_edge): Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * function.c (set_return_jump_label): Change type of argument to
- rtx_insn *.
- * function.h (set_return_jump_label): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * reload.h (struct reg_equivs_t): Change type of init to
- rtx_insn *.
- * ira.c (fix_reg_equiv_init): Adjust.
- * reload1.c (eliminate_regs_1): Likewise.
- (init_eliminable_invariants): Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cselib.c (fp_setter_insn): Take a rtx_insn *.
- * cselib.h (fp_setter_insn): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * recog.c (struct validate_replace_src_data): Change type of
- insn field to rtx_insn *.
- (validate_replace_src_group): Change type of argument to rtx_insn *.
- * recog.h (validate_replace_src_group): Adjust.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * haifa-sched.c: Change the type of some variables to rtx_insn *.
- * sched-deps.c: Likewise.
- * sched-int.h: Likewise.
- * sched-rgn.c: Likewise.
- * sel-sched.c: Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- to rtx_insn *.
- * config/i386/i386.c: Change the type of some arguments to
- rtx_insn *.
- * config/arm/arm.c: Likewise.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * lra-constraints.c: Change type of some arguments to rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * regcprop.c (kill_autoinc_value): Change type of argument to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genrecog.c (print_subroutine): Adjust.
- * recog.c (get_bool_attr_mask_uncached): Likewise.
- * recog.h (struct recog_data_d): Change the type of insn to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-problems.c (df_set_note): Change type of argument to
- rtx_insn *.
-
-2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * builtins.c (expand_builtin_trap): Change type of local
- variable to rtx_insn *.
- (add_sched_insns_for_speculation): Likewise.
- (ix86_emit_save_regs): Likewise.
- (get_scratch_register_on_entry): Likewise.
- (ix86_emit_restore_reg_using_pop): Likewise.
- (ix86_emit_leave): Likewise.
- (ix86_emit_restore_regs_using_mov): Likewise.
- (ix86_expand_epilogue): Likewise.
- Likewise.
- (rl78_alloc_physical_registers_umul): Likewise.
- * cselib.c (discard_useless_locs): Likewise.
- (cselib_invalidate_regno): Likewise.
- (cselib_invalidate_mem): Likewise.
- * function.c (expand_function_start): Likewise.
- (emit_use_return_register_into_block): Likewise.
- * gcse.c: Likewise.
- * haifa-sched.c (ok_for_early_queue_removal): Likewise.
- * ifcvt.c (noce_get_alt_condition): Likewise.
- * loop-doloop.c (doloop_condition_get): Likewise.
- * lra-constraints.c (inherit_in_ebb): Likewise.
- * modulo-sched.c (sms_schedule_by_order): Likewise.
- * recog.c (next_insn_tests_no_inequality): Likewise.
- * reorg.c (emit_delay_sequence): Likewise.
- (update_reg_dead_notes): Likewise.
- (fix_reg_dead_note): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
-
-2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Variable Attributes): Add menu and proper
- @nodes to subsections. Move Microsoft Windows attributes to
- their own subsection.
- (Type Attributes): Reorganize introduction to remove duplicate
- list of attributes. Add menu and proper @nodes to subsections.
- Alphabetize the main table of common attributes.
-
-2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
-
- * match.pd: New simplification patterns.
- (x + (x & 1)) -> ((x + 1) & ~1)
- (x & ~(x & y)) -> ((x & ~y))
- (x | ~(x | y)) -> ((x | ~y))
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * target.def (attribute_table): Mention that struct attribute_spec
- is defined in tree-core.h rather than tree.h
- * doc/tm.texi: Regenerate.
-
-2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (test): Rename to rtx_test. Update rest of file
- accordingly.
-
-2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
-
- PR translation/65959
- * params.h (DEFPARAM): Rename msgid to nocmsgid.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64-protos.h (tune_params):
- Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
- * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
- Return value depending on target.
- (generic_tunings): Initialize new target settings.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (thunderx_tunings): Likewise.
- (xgene1_tunings): Likewise.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
- Make Cortex-A53 shift costs more accurate.
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
- UNSIGNED_FLOAT.
-
-2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs):
- Calculate cost of op0 and op1 in PLUS and MINUS cases.
-
-2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
- Add cost of op0 in the compare-with-fpzero case.
-
-2015-04-30 David Malcolm <dmalcolm@redhat.com>
-
- * builtins.c (fold_builtin_1): Remove spurious second
- semicolon.
- * cgraph.h (symtab_node::get_availability): Likewise.
- * opts.c (common_handle_option): Remove spurious second semicolon.
- * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
- * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
-
-2015-04-30 Caroline Tice <cmtice@google.com>
-
- PR gcov-profile/65929
- * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
- (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
- * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
- (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
- * doc/tm.texi: Regenerate.
- * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
- instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
- * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
- instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
-
-2015-04-30 Marek Polacek <polacek@redhat.com>
-
- * varasm.c (handle_cache_entry): Fix logic.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
- (*extrsi5_insn_uxtw_alt): Likewise.
- * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
- (aarch64_rtx_costs, IOR case): Use above to properly cost extr
- operations.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
- fabd in ABS case.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md
- (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
- (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
- appropriately. Handle alternative EON form.
-
-2015-04-30 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
- * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
-
-2015-04-30 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65873
- * ipa-inline.c (can_inline_edge_p): It is safe to inline across
- -fstrict-aliasing boundaries.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
- and [SU]MNEGL patterns.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_shift_p): New function.
- (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
- combined arithmetic-shift ops. Properly handle all shift and extend
- operations that can occur in combination with PLUS/MINUS.
- Rename maybe_fma to compound_p.
- (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
- arithmetic and shift operations.
-
-2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
- rather than arith_shift cost when costing ADD/MINUS of an
- extended value.
-
-2015-04-30 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65948
- * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
- to itself.
-
-2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
-
- * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
- are for the same position.
-
-2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
-
- * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
- vectorize_loops.
- (vectorize_loops): Use it.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
- for aggregate types.
- (register_odr_type): Be ready for MAIN_VARIANT of ODR type
- type to be non_ODR.
- * tree.c (need_assembler_name_p): Compute mangled name for
- non-fundamental types and integer types.
-
-2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
-
- * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
- manual swaps.
- * expr.c (expand_expr_real_2): Likewise.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.c (build_common_builtin_nodes): Do not build
- __builtin_alloca_with_align as equivalent of library alloca.
-
-2015-04-29 Jan Hubicka <hubicka@ucw.cz>
-
- * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
- * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
- bugus variants.
- * tree.c: Include print-tree.h and ipa-utils.h
- (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
- (free_lang_data_in_cgraph): Call verify_type.
- (verify_type_variant): New function.
- (verify_type): New function.
- * tree.h (verify_type): Declare.
-
-2015-04-29 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips-cpus.def: (mips4): Change default processor
- from PROCESSOR_R8000 to PROCESSOR_R10000.
-
-2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
-
- * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
- la/jalr instead of jal.
-
-2015-04-29 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65871
- * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
- (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
- (setcc+movzbl peephole2): Check also clobbered reg.
- (setcc+andl peephole2): Ditto.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/65099
- * config/nvptx/mkoffload.c (target_ilp32): New variable.
- (main): Set it depending on "-foffload-abi=[...]".
- (compile_native, main): Use it to pass "-m32" or "-m64" to the
- compiler.
-
-2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/65770
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
- vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
- Flip lane index back at assembly time for bigendian.
-
-2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
-
- * tree.h (OMP_STANDALONE_CLAUSES): New macro.
- * gimplify.c (gimplify_omp_workshare): Use it.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * Makefile.in (build/genrecog.o): Depend on inchash.h.
- (build/genrecog$(build_exeext): Depend on build/hash-table.o and
- build/inchash.o
- * genrecog.c: Rewrite most of the code except for the third page.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * inchash.h, inchash.c: Include bconfig.h for build objects.
- * Makefile.in (build/inchash.o): New rule.
-
-2015-04-29 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65924
- * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
- number in type attribute expression.
-
-2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
-
- * loop-iv.c (canon_condition): Generalize to all types of integer
- constant.
-
-2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
-
- * gimple-walk.c: Prune duplicate or unneeded includes.
- (walk_gimple_asm): Only call parse_input_constraint or
- parse_output_constraint if their findings are used.
- Honour parse_input_constraint and parse_output_constraint
- result.
-
-2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
-
-2015-04-29 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65893
- * passes.def (pass_all_optimizations): Move pass_stdarg to after
- pass_dce.
-
-2015-04-29 Richard Biener <rguenther@suse.de>
-
- * tree-vect-data-refs.c (vect_analyze_group_access): Properly
- compute GROUP_SIZE for basic-block SLP.
- * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
- take into account gaps.
- (vect_get_mask_element): Properly reject references to previous
- vectors.
- (vect_transform_slp_perm_load): Likewise.
-
-2015-04-29 Christian Bruel <christian.bruel@st.com>
-
- PR target/64835
- * config/i386/i386.c (ix86_default_align): New function.
- (ix86_override_options_after_change): Call ix86_default_align.
- (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
- (ix86_override_options_after_change): New function.
-
-2015-04-28 Jeff Law <law@redhat.com>
-
- * tree-ssa-dom.c (record_equality); Fix comment typos.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65887
- * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
-
-2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Declaring Attributes of Functions): Split into
- subsections by target. Alphabetize the table of common attributes.
- Rewrite some of the introductory text to reflect the new structure.
- Update some cross-references to point to the new subsections.
- (Attribute Syntax): Put paragraph about "__" naming here. Remove
- duplicate copies in the discussion of function, label, and type
- attributes.
-
-2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
-
- PR bootstrap/65910
- * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
-
-2015-04-28 Jason Merrill <jason@redhat.com>
-
- PR c++/65734
- * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
- (finalize_type_size): Respect TYPE_USER_ALIGN.
- (layout_type) [ARRAY_TYPE]: Likewise.
-
-2015-04-28 Yvan Roux <yvan.roux@linaro.org>
+ PR target/69194
+ * config/arm/arm-builtins.c (arm_expand_neon_args): Call
+ copy_to_mode_reg instead of force_reg.
- * config/arm/arm.md (*arm_movt): Fix type attribute.
- (*cmpsi_shiftsi): Likewise.
- (*cmpsi_shiftsi_swp): Likewise.
- (*movsicc_insn): Likewise.
- (*cond_move): Likewise.
- (*if_plus_move): Likewise.
- (*if_move_plus): Likewise.
- (*if_arith_move): Likewise.
- (*if_move_arith): Likewise.
- (*if_shift_move): Likewise.
- (*if_move_shift): Likewise.
- (*arm_movtas_ze): Likewise.
- * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
- redundancy and type attribute.
- (*thumb2_movsi_insn): Fix type attribute.
- (*thumb2_addsi_short): Likewise.
- (thumb2_addsi3_compare0): Likewise.
- (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
- attributes accordingly.
-
-2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
-
- PR other/65911
- * function.c (pad_to_arg_alignment): Add parentheses.
-
-2015-04-28 Uros Bizjak <ubizjak@gmail.com>
-
- * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
- libgcc/config/frv/elf-lib.h.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- * tree-call-cdce.c: Fix example in header comment.
-
-2015-04-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62283
- * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
- fails fatally and we are vectorizing a basic-block simply
- cause the child to be constructed piecewise.
- (vect_analyze_slp_cost_1): Adjust.
- (vect_detect_hybrid_slp_stmts): Likewise.
- (vect_bb_slp_scalar_cost): Likewise.
- (vect_get_constant_vectors): For piecewise constructed
- constants place them after the last def.
- (vect_get_slp_defs): Adjust.
- * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
- externals for basic-block vectorization.
-
-2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/63503
- * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
- aarch64-*-*.
- * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
- * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
- (AARCH64_TUNE_FMA_STEERING): Likewise.
- * config/aarch64/aarch64-cores.def: Set
- AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
- FMUL/FMADD instructions.
- * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
- (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
- aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
- * config/aarch64/cortex-a57-fma-steering.h: New file.
- * config/aarch64/cortex-a57-fma-steering.c: Likewise.
-
-2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
-
- * gensupport.c (std_preds): Add missing codes to address_operand entry.
-
-2015-04-28 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65851
- * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
- changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
- (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
- rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
- (ccp_visit_phi_node): Adjust.
- (evaluate_stmt): For simplifications to SSA names return its
- lattice value if that isn't VARYING. Return immediately when
- simplified to a constant.
- (visit_assignment): Adjust.
- (ccp_visit_stmt): Likewise.
-
-2015-04-28 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65818
- * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
- evaluated.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * calls.c (save_fixed_argument_area): Don't check
- ARGS_GROW_DOWNWARD with the preprocessor.
- (restore_fixed_argument_area): Likewise.
- (mem_overlaps_already_clobbered_arg_p): Likewise.
- (check_sibcall_argument_overlap): Likewise.
- (expand_call): Likewise.
- (emit_library_call_value_1): Likewise.
- (store_one_arg): Likewise.
- * function.c (assign_parms): Likewise.
- (locate_and_pad_parm): Likewise.
- (pad_to_arg_alignment): Likewise.
- * targhooks.c (std_gimplify_va_arg_expr): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
- * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
- * calls.c (save_fixed_argument_area): Don't chekc if
- ARGS_GROW_DOWNWARD is defined.
- (restore_fixed_argument_area): Likewise.
- (mem_overlaps_already_clobbered_arg_p): Likewise.
- (check_sibcall_argument_overlap): Likewise.
- (expand_call): Likewise.
- (emit_library_call_value_1): Likewise.
- (store_one_arg): Likewise.
- * function.c (assign_parms): Likewise.
- (locate_and_pad_parm): Likewise.
- (pad_to_arg_alignment): Likewise.
- * targhooks.c (std_gimplify_va_arg_expr): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (gen_epilogue): New function.
- * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
- defined.
- * cfgrtl.c (cfg_layout_finalize): Likewise.
- * df-scan.c: Likewise.
- * function.c (thread_prologue_and_epilogue_insns): Likewise.
- (reposition_prologue_and_epilogue_notes): Likewise.
- * reorg.c (find_end_label): Likewise.
- * toplev.c: Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * bb-reorder.c (HAVE_return): Don't check if its undefined.
- * defaults.h (gen_simple_return): New function.
- (gen_simple_return): Likewise.
- (HAVE_return): Add default definition to false.
- (HAVE_simple_return): Likewise.
- * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
- HAVE_return and HAVE_simple_return are defined.
- * function.c (gen_return_pattern): Likewise.
- (convert_jumps_to_returns): Likewise.
- (thread_prologue_and_epilogue_insns): Likewise.
- * reorg.c (find_end_label): Likewise.
- (dbr_schedule): Likewise.
- * shrink-wrap.c: Likewise.
- * shrink-wrap.h: Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (EPILOGUE_USES): Add default definition of false.
- * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
- * resource.c (init_resource_info): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
- to false.
- * dwarf2out.c (field_byte_offset): REmove check if
- PCC_BITFIELD_TYPE_MATTERS is defined.
- * stor-layout.c (layout_decl): Likewise.
- (update_alignment_for_field): Likewise.
- (place_field): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
- true.
- * regrename.c (check_new_reg_p): Remove check if
- HARD_REGNO_RENAME_OK is defined.
- * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
-
-2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
- * cse.c (fold_rtx): Likewise.
- * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
- * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
- * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
- * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
- * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
- * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
- * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
- * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
- * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
- * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
- * Likewise.
- * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
- * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
- * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
- * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
- * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
- * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
- * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
- * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
- * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
- * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
- * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
- * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
- * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
- * doc/tm.texi: Regenerate.
- * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
- either true or false.
-
-2015-04-27 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65217
- * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
- of them has a single use, make sure it is the LHS of the implied
- copy.
-
-2015-04-28 Alan Modra <amodra@gmail.com>
-
- PR target/65810
- * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
- (offsettable_ok_by_alignment): Use minimum of decl and toc
- pointer alignment. Replace dead code with assertion.
- (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
- case if size exceeds toc pointer alignment.
- (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
- (rs6000_emit_move): Likewise.
- * configure.ac: Add linker toc pointer alignment check.
- * configure: Regenerate.
- * config.in: Regenerate.
-
-2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
-
- * config.gcc: Add h8300-*-linux.
- * config/h8300/linux.h: New.
- * config/h8300/t-linux: New.
- * config/h8300/h8300.c (h8300_option_override): Normal mode
- is not supported for h8300-*-linux.
- (h8300_file_start): Target priority change.
- (get_shift_alg): Likewise.
- (h8300_shift_need_scratch_p): Likewise.
- * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
- * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
-
-2015-04-27 Caroline Tice <cmtice@google.com>
-
- * final.c (final_scan_insn): Output cold_function_name as function
- type.
- * varasm.c (cold_function_name): Make global.
- (assemble_start_function): Re-set cold_function_name.
- (assemble_end_function): Output cold partition size.
- * varasm.h (cold_function_name): Declare global.
-
-2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
-
- * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
- * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
- constraint.
- (*movxi_internal_avx512f): Ditto.
- (define_split): Check for xmm16+, when splitting scalar float_extend.
- (*extendsfdf2_mixed): Use "v" constraint.
- (define_split): Check for xmm16+, when splitting scalar float_truncate.
- (*truncdfsf_fast_sse): Use "v" constraint.
- (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
- (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
- (define_peephole2): Check for xmm16+, when converting scalar
- float_truncate.
- (define_peephole2): Check for xmm16+, when converting scalar
- float_extend.
- (*fop_<mode>_comm_mixed): Use "v" constraint.
- (*fop_<mode>_comm_sse): Ditto.
- (*fop_<mode>_1_mixed): Ditto.
- (*sqrt<mode>2_sse): Ditto.
- (*ieee_s<ieee_maxmin><mode>3): Ditto.
-
-2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * combine.c (simplify_if_then_else): Use std::swap instead
- of manually swapping.
- (known_cond): Likewise.
- (simplify_comparison): Likewise.
-
-2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
-
- PR target/64579
- * config/rs6000/htm.md: Remove all define_expands.
- (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
- UNSPECV_HTM_TABORTWCI): Remove.
- (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
- (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
- trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
- (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
- (tabortdc_internal, tabortdci_internal, tabortwc_internal,
- tabortwci_internal): Remove define_insns.
- (tabort<wd>c, tabort<wd>ci): New define_insns.
- (tabort): Use gpc_reg_operand.
- (tcheck): Remove operand.
- (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
- * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
- expected value.
- * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
- (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
- (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
- tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
- tsr, ttest): Pass in the RS6000_BTC_CR attribute.
- (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
- get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
- (tcheck): Remove builtin argument.
- * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
- not TARGET_64BIT.
- (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
- tabortdc and tabortdci builtins when not in 64-bit mode.
- Modify code to handle the loss of the HTM define_expands.
- Emit code to copy the CR register to TARGET.
- (htm_init_builtins): Modify code to handle the loss of the HTM
- define_expands.
- * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
- (RS6000_BTC_64BIT): Likewise.
- (RS6000_BTC_CR): New macro.
- * doc/extend.texi: Update documentation for htm builtins.
-
-2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
- of manually swapping.
- (simplify_associative_operation): Likewise.
- (simplify_binary_operation): Likewise.
- (simplify_plus_minus): Likewise.
- (simplify_relational_operation): Likewise.
- (simplify_ternary_operation): Likewise.
-
-2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
- (xs_hi_nonmemory_operand): Remove error.
- * config/stormy16/stormy16.md (movhi, movhi_internal): Use
- general_operand rather than xs_hi_general_operand.
-
-2015-04-27 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
- (record_equivalences_from_stmt): Valueize rhs.
- (record_equality): Canonicalize x and y order via
- tree_swap_operands_p. Do not swap operands for same loop depth.
-
-2015-04-27 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- PR target/65895
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
- Add hint how to use own spec file.
-
-2015-04-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65875
- * tree-vrp.c (update_value_range): If in is_new case setting
- old_vr to VR_VARYING, also set new_vr to it. Remove
- old_vr->type == VR_VARYING test.
- (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
- SSA_PROP_INTERESTING if update_value_range returned true,
- but new range is VR_VARYING.
-
-2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * combine.c (sign_extend_short_imm): New.
- (set_nonzero_bits_and_sign_copies): Use above new function for sign
- extension of src short immediate.
- (reg_nonzero_bits_for_combine): Likewise for tem.
-
-2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * stor-layout.c (self_referential_component_ref_p): New predicate.
- (copy_self_referential_tree_r): Use it.
- (self_referential_size): Punt for simple operations directly involving
- self-referential component references.
- * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
-
-2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
-
- * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
-
-2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
-
- * vec.h (vec): Make splice arguments const. Update definitions
- accordingly.
-
-2015-04-27 Yvan Roux <yvan.roux@linaro.org>
-
- * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
- alternatives.
-
-2015-04-26 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65826
- * internal-fn.def: Mark VA_ARG with ECF_LEAF.
-
-2015-04-24 Steve Ellcey <sellcey@imgtec.com>
-
- * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
- (*madd3<mode>): Ditto.
- (*msub4<mode>): Ditto.
- (*msub3<mode>): Ditto.
- (*nmadd4<mode>): Ditto.
- (*nmadd3<mode>): Ditto.
- (*nmadd4<mode>_fastmath): Ditto.
- (*nmadd3<mode>_fastmath): Ditto.
- (*nmsub4<mode>): Ditto.
- (*nmsub3<mode>): Ditto.
- (*nmsub4<mode>_fastmath): Ditto.
- (*nmsub3<mode>_fastmath): Ditto.
-
-2015-04-24 Jason Merrill <jason@redhat.com>
-
- PR c++/50800
- * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
- down when building TYPE_CANONICAL.
- (build_pointer_type_for_mode): Likewise.
-
-2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
-
- * genrecog.c (validate_pattern): Check matching constraint refers
- to a lower numbered operand.
-
-2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65849
- * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
- save to independent variables use the Save attribute. This will
- allow these options to be modified with the #pragma/attribute
- target support.
- (-mallow-movmisalign): Likewise.
- (-mallow-df-permute): Likewise.
- (-msched-groups): Likewise.
- (-malways-hint): Likewise.
- (-malign-branch-targets): Likewise.
- (-mvectorize-builtins): Likewise.
- (-msave-toc-indirect): Likewise.
-
- * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
- can be set via the #pragma/attribute target support.
- (rs6000_opt_vars): Likewise.
- (rs6000_inner_target_options): If VSX was set, also set
- -mno-avoid-indexed-addresses.
-
-2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/iterators.md (shiftable_ops): Rename to...
- (SHIFTABLE_OPS): ... This. Update use in comments.
- (ior_xor): Rename to...
- (IOR_XOR): ... This.
- (vqh_ops): Rename to...
- (VQH_OPS): ... This.
- (vqhs_ops): Rename to...
- (VQHS_OPS): ... This.
- (rshifts): Rename to...
- (RSHIFTS): ... This.
- (returns): Rename to...
- (RETURNS): ... This.
- * config/arm/arm.md: Update uses of the above.
- * config/arm/neon.md: Likewise.
-
-2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config.host (case ${host}): Add aarch64*-*-linux case.
- * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
- fields to all the cores.
- * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
- Add MCPU_MTUNE_NATIVE_SPECS.
- * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
- field to all extensions.
- * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
- * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
- Adjust definition of AARCH64_OPT_EXTENSION.
- * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
- (MCPU_MTUNE_NATIVE_SPECS): Define.
- * config/aarch64/driver-aarch64.c: New file.
- * config/aarch64/x-arch64: New file.
- * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
- -mtune and -march.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
- Wei Mi <wmi@google.com>
-
- * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
- * config/i386/i386.c (extract_base_offset_in_addr): New function.
- (ix86_operands_ok_for_move_multiple): Ditto.
- * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
- (movlpd/movhpd to movupd peephole2): Ditto.
-
-2015-04-24 Marek Polacek <polacek@redhat.com>
-
- PR c/61534
- * input.h (from_macro_expansion_at): Define.
-
- PR c/63357
- * doc/invoke.texi: Update description of -Wlogical-op.
-
-2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
- ternary operator in fprintf and harmonize spacing.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
- Mark operand1 commutative.
-
-2015-04-24 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
- input operands in memory.
- (*vec_concatv2si_sse4_1): Ditto.
- (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
- (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
- register_operand.
- (vec_extract_hi_v32hi): Ditto.
- (vec_extract_hi_v64hi): Ditto.
- (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
-
-2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
- Steven Bosscher <steven@gcc.gnu.org>
-
- PR rtl-optimization/34503
- * cprop.c (cprop_reg_p): New.
- (hash_scan_set): Use above function to check if register can be
- propagated.
- (find_avail_set): Return up to two sets, one whose source is a
- register and one whose source is a constant. Sets are returned in an
- array passed as parameter rather than as a return value.
- (cprop_insn): Use a do while loop rather than a goto. Try each of the
- sets returned by find_avail_set, starting with the one whose source is
- a constant. Use cprop_reg_p to check if register can be propagated.
- (do_local_cprop): Use cprop_reg_p to check if register can be
- propagated.
- (implicit_set_cond_p): Likewise.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
- (sem_function::equals): IGNORED_NODES parameter is now unused;
- update call of equals_private.
- (sem_function::equals_private): Do not call equals_wpa; skip
- gimple body matching if there is no body.
- (sem_function::init): Add logic to hash tthunk info.
- (sem_function::parse): Also parse thunks.
- * ipa-icf.h (equals_private): Update declaration.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
- asterisk from name so this can be generated directly.
- (*altivec_stvx_<mode>_internal): Likewise.
- * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
- that this is never called during or after reload/lra.
- (rs6000_frame_related): Remove split_reg
- argument and logic that references it.
- (emit_frame_save): Remove last parameter from call to
- rs6000_frame_related.
- (rs6000_emit_prologue): Remove last parameter from eight calls to
- rs6000_frame_related. Force generation of stvx instruction for
- Altivec register saves. Remove split_reg handling, which is no
- longer needed.
- (rs6000_emit_epilogue): Force generation of lvx instruction for
- Altivec register restores.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.opt (mcrypto): Change option description to
- match category changes in ISA 2.07B.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
- iterators.
- (cmp_op, cmp_type): New code attributes.
- (NEON_VCMP, NEON_VACMP): New int iterators.
- (cmp_op_unsp): New int attribute.
- * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
- (neon_vceq<mode>): Delete.
- (neon_vc<cmp_op><mode>_insn): New pattern.
- (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
- (neon_vcgeu<mode>): Delete.
- (neon_vcle<mode>): Likewise.
- (neon_vclt<mode>: Likewise.
- (neon_vcage<mode>): Likewise.
- (neon_vcagt<mode>): Likewise.
- (neon_vca<cmp_op><mode>): New define_expand.
- (neon_vca<cmp_op><mode>_insn): New pattern.
- (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * tree.h (attribute_value_equal): Declare.
- * tree.c (attribute_value_equal): Export.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_item::compare_attributes): New function.
- (sem_item::compare_referenced_symbol_properties): Compare variable
- attributes.
- (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
- (sem_function::param_used_p): New function.
- (sem_function::equals_wpa): Fix attribute comparsion; match
- parameter type codes; do not compare paremter flags when
- they are not used; compare edge flags; compare indirect calls.
- (sem_item::update_hash_by_addr_refs): Hash reference type.
- (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
- (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
- reference use type.
- (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
- * ipa-icf.h (compare_attributes, param_used_p): Declare.
-
-2015-04-23 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
- cleanup.
- (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
- DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
- (sem_item::compare_referenced_symbol_properties): New.
- (sem_item::hash_referenced_symbol_properties): New.
- (sem_item::compare_cgraph_references): Rename to ...
- (sem_item::compare_symbol_references): ... this one; use
- compare_referenced_symbol_properties.
- (sem_function::equals_wpa): Do not compare
- DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
- DECL_IS_OPERATOR_NEW; compare pointer sizes.
- (sem_item::update_hash_by_addr_refs): Call
- hash_referenced_symbol_properties.
- (sem_item::update_hash_by_local_refs): Cleanup.
- (sem_function::merge): Do not mix up symbol properties.
- (sem_variable::equals_wpa): Use compare_symbol_references.
- * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
- (sem_item::hash_referenced_symbol_properties): New.
- (sem_item::compare_symbol_references): New.
- (sem_item::compare_cgraph_references): Remove.
-
-2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
-
- PR target/26702
- * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
- Emit size of local.
-
-2015-04-23 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_preferred_reload_class): Add
- ATTRIBUTE_UNUSED to x parameter.
- * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
-
-2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
- TARGET_CRYPTO to TARGET_P8_VECTOR>
- (crypto_vpermxor_<mode>): Likewise.
- * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
- (BU_CRYPTO_3A): Likewise.
- (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
- (BU_CRYPTO_OVERLOAD_3A): New #define.
- (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
- (VPMSUMH): Likewise.
- (VPMSUMW): Likewise.
- (VPMSUMD): Likewise.
- (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
- (VPERMXOR_V4SI): Likewise.
- (VPERMXOR_V8HI): Likewise.
- (VPERMXOR_V16QI): Likewise.
- (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
- BU_CRYPTO_OVERLOAD_2A.
- (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
- BU_CRYPTO_OVERLOAD_3A.
- * config/rs6000/rs6000.opt (mcrypto): Change description of
- option.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * passes.def: Remove copy propagation passes run directly after CCP.
- * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
- SSA names.
- (ccp_visit_phi_node): Rework to handle first executable edge
- specially.
-
-2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
- (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
- (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
- * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
- (thumb_legimitimize_reload_address): Remove.
- * config/arm/arm-protos.h (arm_legimitimize_reload_address):
- Remove.
- (thumb_legimitimize_reload_address): Remove.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md (load_multiple): Reject operand 2 greater than
- MAX_LDM_STM_OPS.
- (store_multiple): Likewise.
-
-2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
- * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
- arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
- arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
- arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
- arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
- arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
- Specify issue_rate value.
- (arm_issue_rate): Look up issue rate from tuning structs. Remove
- large switch statement.
- (arm_marvell_pj4_tune): New struct.
- * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
- struct.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
- (vect_find_last_store_in_slp_instance): Rename to ...
- (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
- (vect_analyze_slp_cost_1): Use vector_load for constant defs
- and vec_construct for external defs when estimating prologue cost.
- (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
- Compute costs here only when vectorizing loops.
- (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
- have been determined.
- (vect_schedule_slp_instance): Simplify vectorized code placement
- and prepare for in-BB external defs.
- * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
- (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
- * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
- guard.
- (vect_model_load_cost): Likewise.
- (vectorizable_store): Instead add it here.
- (vectorizable_load): Likewise.
- (vect_is_simple_use): Dump def type textually.
-
-2015-04-23 Richard Biener <rguenther@suse.de>
-
- * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
- * cfgloop.c (verify_loop_structure): Verify the root loop node.
- * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
- instead of get_eh_region_from_lp_number.
- * loop-init.c (fix_loop_structure): If we removed a loop, reset
- the SCEV cache.
-
-2015-04-23 Anton Blanchard <anton@samba.org>
-
- * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
- need for -mprofile-kernel to save LR to stack.
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
- adjustments.
- (insn_is_swappable_p): Return 1 for a convert from double to
- single precision when all of its uses are splats of BE element
- zero.
-
-2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
-
- * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
-
-2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65456
- * config/rs6000/rs6000.c (rs6000_option_override_internal): For
- VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
- TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
- option.
- (rs6000_builtin_mask_for_load): Return 0 for targets with
- efficient unaligned VSX accesses so that the vectorizer will use
- direct unaligned loads.
- (rs6000_builtin_support_vector_misalignment): Always return true
- for targets with efficient unaligned VSX accesses.
- (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
- stores on targets with efficient unaligned VSX accesses is almost
- always the same as the cost of an aligned load or store, so model
- it that way.
- * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
- unaligned vectors if we have efficient unaligned VSX accesses.
- * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
- undocumented option.
-
-2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- Revert:
- 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
-
- * config/linux.opt (mmusl): New option.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
-
- * configure: Regenerate.
-
-2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
-
- * config.gcc (LIBC_MUSL): New tm_defines macro.
- * config/linux.h (OPTION_MUSL): Define.
- (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
- (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
- (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
-
- * config/linux.opt (mmusl): New option.
- * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
- (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
-
- * configure: Regenerate.
-
-2015-04-22 Yury Gribov <y.gribov@samsung.com>
-
- * doc/invoke.texi (-fsanitize-sections): Update description.
- * asan.c (set_sanitized_sections): Parse incoming arg.
- (section_sanitized_p): Support wildcards.
-
-2015-04-22 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65823
- * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
- equality between ap_copy and ap.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/47098
- * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/47122
- * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- PR target/55144
- * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
- remove already contained t-files.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
- Remove unneeded forward declarations.
- (suitable_for_tail_call_opt_p): Commentary typo fix.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * varasm.c (emit_bss): Remove redundant guard.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
-
-2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
-
-2015-04-22 Hale Wang <hale.wang@arm.com>
- Terry Guo <terry.guo@arm.com>
-
- PR rtl-optimization/64818
- * combine.c (can_combine_p): Don't combine user-specified
- register if it is in an asm input.
-
-2015-04-21 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * passes.def (early_optimizations): Add pass_dse.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
- * reorg.c (redundant_insn): Remove ifdef
- INSN_REFERENCES_ARE_DELAYED.
- * resource.c (mark_referenced_resources): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
- * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
- * resource.c (mark_set_resources): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
- * cfgcleanup.c (flow_find_cross_jump): Likewise.
- (flow_find_head_matching_sequence): Likewise.
- (try_head_merge_bb): Likewise.
- * combine.c (can_combine_p): Likewise.
- (try_combine): Likewise.
- (distribute_notes): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * final.c (final): Likewise.
- * gcse.c (insert_insn_end_basic_block): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * reorg.c (try_merge_delay_insns): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- * sched-deps.c (sched_analyze_2): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
- PIC_OFFSET_TABLE_REGNUM.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * alias.c (init_alias_target): Remove ifdef
- * HARD_FRAME_POINTER_IS_FRAME_POINTER.
- * df-scan.c (df_insn_refs_collect): Likewise.
- (df_get_regular_block_artificial_uses): Likewise.
- (df_get_eh_block_artificial_uses): Likewise.
- (df_get_entry_block_def_set): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * emit-rtl.c (gen_rtx_REG): Likewise.
- * ira.c (ira_setup_eliminable_regset): Likewise.
- * reginfo.c (init_reg_sets_1): Likewise.
- * regrename.c (rename_chains): Likewise.
- * reload1.c (reload): Likewise.
- (eliminate_regs_in_insn): Likewise.
- * resource.c (mark_referenced_resources): Likewise.
- (init_resource_info): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (MASK_RETURN_ADDR): New definition.
- * except.c (expand_builtin_extract_return_addr): Remove ifdef
- MASK_RETURN_ADDR.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h (RETURN_ADDR_OFFSET): New definition.
- * except.c (expand_builtin_extract_return_addr): Remove ifdef
- RETURN_ADDR_OFFSET.
- (expand_builtin_frob_return_addr): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
- (try_redirect_by_replacing_jump): Likewise.
- (rtl_tidy_fallthru_edge): Likewise.
- * combine.c (insn_a_feeds_b): Likewise.
- (find_split_point): Likewise.
- (simplify_set): Likewise.
- * cprop.c (cprop_jump): Likewise.
- * cse.c (cse_extended_basic_block): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * function.c (emit_use_return_register_into_block): Likewise.
- * haifa-sched.c (sched_init): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * loop-invariant.c (find_invariant_insn): Likewise.
- * lra-constraints.c (curr_insn_transform): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern):
- * Likewise.
- * reload.c (find_reloads): Likewise.
- * reorg.c (delete_scheduled_jump): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
- * sched-rgn.c (add_branch_dependences): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * genconfig.c (main): Always define HAVE_cc0.
- * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
- HAVE_cc0.
- * cfgcleanup.c (flow_find_cross_jump): Likewise.
- (flow_find_head_matching_sequence): Likewise.
- (try_head_merge_bb): Likewise.
- * cfgrtl.c (rtl_merge_blocks): Likewise.
- (try_redirect_by_replacing_jump): Likewise.
- (rtl_tidy_fallthru_edge): Likewise.
- * combine.c (do_SUBST_MODE): Likewise.
- (insn_a_feeds_b): Likewise.
- (combine_instructions): Likewise.
- (can_combine_p): Likewise.
- (try_combine): Likewise.
- (find_split_point): Likewise.
- (subst): Likewise.
- (simplify_set): Likewise.
- (distribute_notes): Likewise.
- * cprop.c (cprop_jump): Likewise.
- * cse.c (cse_extended_basic_block): Likewise.
- * df-problems.c (can_move_insns_across): Likewise.
- * final.c (final): Likewise.
- (final_scan_insn): Likewise.
- * function.c (emit_use_return_register_into_block): Likewise.
- * gcse.c (insert_insn_end_basic_block): Likewise.
- * haifa-sched.c (sched_init): Likewise.
- * ira.c (find_moveable_pseudos): Likewise.
- * loop-invariant.c (find_invariant_insn): Likewise.
- * lra-constraints.c (curr_insn_transform): Likewise.
- * optabs.c (prepare_cmp_insn): Likewise.
- * postreload.c (reload_combine_recognize_const_pattern):
- * Likewise.
- * reload.c (find_reloads): Likewise.
- (find_reloads_address_1): Likewise.
- * reorg.c (delete_scheduled_jump): Likewise.
- (steal_delay_list_from_target): Likewise.
- (steal_delay_list_from_fallthrough): Likewise.
- (try_merge_delay_insns): Likewise.
- (redundant_insn): Likewise.
- (fill_simple_delay_slots): Likewise.
- (fill_slots_from_thread): Likewise.
- (delete_computation): Likewise.
- (relax_delay_slots): Likewise.
- * sched-deps.c (sched_analyze_2): Likewise.
- * sched-rgn.c (add_branch_dependences): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
- that is trivially ded on non cc0 targets.
- (simplify_set): Likewise.
- (mark_used_regs_combine): Likewise.
- * cse.c (new_basic_block): Likewise.
- (fold_rtx): Likewise.
- (cse_insn): Likewise.
- (cse_extended_basic_block): Likewise.
- (set_live_p): Likewise.
- * rtlanal.c (canonicalize_condition): Likewise.
- * simplify-rtx.c (simplify_binary_operation_1): Likewise.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * conditions.h: Define macros even if HAVE_cc0 is undefined.
- * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
- * final.c: Likewise.
- * jump.c: Likewise.
- * recog.c: Likewise.
- * recog.h: Declare functions even when HAVE_cc0 is undefined.
- * sched-deps.c (sched_analyze_2): Always compile case for cc0.
-
-2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
-
- * defaults.h: New definition of EH_RETURN_DATA_REGNO.
- * except.c: Remove definition of EH_RETURN_DATA_REGNO.
- * builtins.c (expand_builtin): Remove check if
- EH_RETURN_DATA_REGNO is defined.
- * df-scan.c (df_bb_refs_collect): Likewise.
- (df_get_exit_block_use_set): Likewise.
- * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
- * ira-lives.c (process_bb_node_lives): Likewise.
- * lra-lives.c (process_bb_lives): Likewise.
-
-2015-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
- FIRST_PSEUDO_REG): New.
- * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
- (ARG_POINTER_REGNUM): Define to ARGP_REG.
- (FRAME_POINTER_REGNUM): Define to FRAME_REG.
- (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
- (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
- (FIRST_INT_REG): New.
- (LAST_INT_REG): New.
- (FIRST_*_REG): Define using *_REG.
- (LAST_*_REG): Ditto.
- (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
- (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
- (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c: (synth_mult): Only assume overlapping
- shift with previous steps in alg_sub_t_m2 case.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65650
- * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
- transitions involving copies.
- (set_lattice_value): Adjust for copy lattice state.
- (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
- if that doesn't dominate the merge point.
- (bit_value_unop): Adjust what we treat as varying mask.
- (bit_value_binop): Likewise.
- (bit_value_assume_aligned): Likewise.
- (evaluate_stmt): When we simplified to a SSA name record a copy
- instead of dropping to varying.
- (visit_assignment): Simplify.
-
- * gimple-match.h (gimple_simplify): Add another callback.
- * gimple-fold.c (fold_stmt_1): Adjust caller.
- (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
- for the 2nd callback.
- * gimple-match-head.c (gimple_simplify): Add a callback that is
- used to valueize the stmt operands and use it that way.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65788
- * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
- vec_construct cost by vec_stmt_cost.
-
-2015-04-21 Richard Biener <rguenther@suse.de>
-
- * cfghooks.h (create_basic_block): Replace with two overloads
- for RTL and GIMPLE.
- (split_block): Likewise.
- * cfghooks.c (split_block): Rename to ...
- (split_block_1): ... this.
- (split_block): Add two type-safe overloads for RTL and GIMPLE.
- (split_block_after_labels): Call split_block_1.
- (create_basic_block): Rename to ...
- (create_basic_block_1): ... this.
- (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
- (create_empty_bb): Call create_basic_block_1.
- * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
- split_block_after_labels.
- * omp-low.c (expand_parallel_call): Likewise.
- (expand_omp_target): Likewise.
- (simd_clone_adjust): Likewise.
- * tree-chkp.c (chkp_get_entry_block): Likewise.
- * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
- create_basic_block overload.
- (cgraph_node::expand_thunk): Likewise.
- * tree-cfg.c (make_blocks): Likewise.
- (handle_abnormal_edges): Likewise.
- * tree-inline.c (copy_bb): Likewise.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
- New pattern.
- (*xor_one_cmplsidi3_ze): Likewise.
-
-2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
- use df_remove_problem rather than manually removing problems, leaving
- holes in df->problems_in_order[].
-
-2015-04-21 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65802
- * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
-
-2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
- Increase to 128.
- (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
- at '.'. Assert that there's enough space for everything.
-
-2015-04-21 Uros Bizjak <ubizjak@gmail.com>
-
- PR tree-optimization/64950
- Revert:
- 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/41089
- * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
- as volatile.
-
-2015-04-20 Shiva Chen <shiva0217@gmail.com>
-
- PR rtl-optimization/64916
- * cfgcleanup.c (values_equal_p): New function.
- (can_replace_by): Use it.
-
-2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
-
- PR c++/65801
- * doc/invoke.texi ([-Wnarrowing]): Update.
-
-2015-04-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65658
- * tree-ssa-threadupdate.c (redirection_block_p): Remove
- redundant test for GIMPLE_ASSIGN in last change.
-
-2015-04-20 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (set_pic_reg_ever_live): Remove.
- (legitimize_pic_address): Do not call set_pic_reg_ever_live.
- (legitimize_tls_address): Ditto.
- (ix86_expand_move): Ditto.
- (ix86_expand_binary_operator): Remove reload_in_progress checks.
- (ix86_expand_unary_operator): Ditto.
- * config/i386/predicates.md (index_register_operand): Ditto.
-
-2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
-
- * reorg.c (try_merge_delay_insns): Improve correctness checking
- for targets with multiple delay slots.
-
-2015-04-20 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65658
- * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
- statements too.
-
-2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
- * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
- Delete.
-
-2015-04-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65807
- * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
-
-2015-04-20 Richard Biener <rguenther@suse.de>
-
- * gimple-fold.h (gimple_build): Remove optional valueize arguments.
- * gimple-fold.c (gimple_build_valueize): New function.
- (gimple_build): Always use gimple_build_valueize as valueize hook.
-
-2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/64134
- * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
- and overwrite variable parts if <= 1/2 the elements are variable.
-
-2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65805
- * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
- Don't use difference of offset and previous offset if
- update_sp_offset is non-zero.
- (eliminate_regs_in_insn): Ditto.
- * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
- lra_eliminate_regs_1 call.
- * lra-constraints.c (get_equiv_with_elimination): Ditto.
-
-2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
-
- * hash-table.h: Remove version of hash_table that stored value_type *.
- * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
- config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
- config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
- dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
- gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
- hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
- ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
- loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
- reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
- tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
- tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
- tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
- tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
- tree-ssa-structalias.c, tree-ssa-tail-merge.c,
- tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
- valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
-
-2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR target/65787
- * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
- subsequent SH_NONE operand does not overwrite an existing *special
- value.
- (adjust_extract): Handle case where a vec_extract operation is
- wrapped in a PARALLEL.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65780
- * config/i386/i386.c (ix86_binds_local_p): Define only if
- TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
-
-2015-04-17 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
- * tree-ssa-scopedtables.c: New file.
- * tree-ssa-scopedtables.h: New file.
- * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
- (const_and_copies): Change name/type.
- (record_const_or_copy): Move into tree-ssa-scopedtables.c
- (record_const_or_copy_1): Similarly.
- (restore_vars_to_original_value): Similarly.
- (pass_dominator::execute): Create and destroy const_and_copies table.
- (thread_across_edge): Update passing of const_and_copies.
- (record_temporary_equivalence): Use method calls rather than
- manipulating const_and_copies directly.
- (record_equality, cprop_into_successor_phis): Similarly.
- (dom_opt_dom_walker::before_dom_children): Similarly.
- (dom_opt_dom_walker::after_dom_children): Similarly.
- (eliminate_redundant_computations): Similarly.
- * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
- (record_temporary_equivalence): Likewise.
- (invalidate_equivalences): Likewise.
- (record_temporary_equivalences_from_phis): Update due to type
- change of const_and_copies. Use method calls rather than
- manipulating the stack directly.
- (record_temporary_equivalences_from_stmts_at_dest): Likewise.
- (thread_through_normal_block, thread_across_edge): Likewise.
- (thread_across_edge): Likewise.
- * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
- * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
- of equiv_stack.
- (identify_jump_threads): Update due to type change of equiv_stack.
- (finalize_jump_threads): Delete the equiv_stack when complete.
-
-2015-04-17 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
- * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
- * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
-
-2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
-
- PR target/65535
- * config.gcc: Exit with a comment when we do not have a major version
- number for the FreeBSD target.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65689
- * genpreds.c (struct constraint_data): Add maybe_allows_reg and
- maybe_allows_mem bitfields.
- (maybe_allows_none_start, maybe_allows_none_end,
- maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
- maybe_allows_mem_end): New variables.
- (compute_maybe_allows): New function.
- (add_constraint): Use it to initialize maybe_allows_reg and
- maybe_allows_mem fields.
- (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
- is_address constraints such that those that allow neither mem nor
- reg come first, then those that only allow reg but not mem, then
- those that only allow mem but not reg, then the rest.
- (write_allows_reg_mem_function): New function.
- (write_tm_preds_h): Call it.
- * stmt.c (parse_output_constraint, parse_input_constraint): Use
- the generated insn_extra_constraint_allows_reg_mem function
- instead of always setting *allows_reg = true; *allows_mem = true;
- for unknown extra constraints.
-
-2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65780
- * output.h (default_binds_local_p_3): New.
- * varasm.c (default_binds_local_p_3): Make it public. Take an
- argument to indicate if common symbol may be local. If common
- symbol may be local, treat non-external variable as defined
- locally.
- (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
- (default_binds_local_p_1): Pass false to default_binds_local_p_3.
- * config/i386/i386.c (ix86_binds_local_p): New.
- (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
- ix86_binds_local_p.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65771
- * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
- trying mem_loc_descriptor on XEXP (rtl, 0).
-
-2015-04-17 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
- Release symbol_compare_collection.
- * ipa-reference.c: Add TODO that a vector should be released.
-
-2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
-
- PR target/65296
- * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
- to new AVR-LibC file layout (bug #44574).
- (*avrlibc_devicelib): Same.
- * config/avr/avr-mcus.def: Adjust comments.
- * config/avr/avr.opt (nodevicelib): Adjust help.
-
-2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
-
-2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
-
- PR c++/64527
- * gimplify.c (gimplify_init_constructor): Always emit a
- side-effecting constructor.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/64950
- * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
- in cfun->curr_properties.
- (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
- if we generate an IFN_VA_ARG.
- * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
- function if PROP_gimple_lva is not set in src function.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
- Michael Matz <matz@suse.de>
-
- PR tree-optimization/64950
- * gimple-iterator.c (update_modified_stmts): Remove static.
- * gimple-iterator.h (update_modified_stmts): Declare.
- * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
- (gimplify_va_arg_internal): New function.
- (gimplify_va_arg_expr): Use IFN_VA_ARG.
- * gimplify.h (gimplify_va_arg_internal): Declare.
- * internal-fn.c (expand_VA_ARG): New unreachable function.
- * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
- * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
- (expand_ifn_va_arg): New function.
- (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
- (pass_stdarg::execute): Call expand_ifn_va_arg.
- (pass_data_lower_vaarg): New pass_data.
- (pass_lower_vaarg): New gimple_opt_pass.
- (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
- (make_pass_lower_vaarg): New function.
- * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
- properties_required field.
- * passes.def (all_passes): Add pass_lower_vaarg.
- * tree-pass.h (PROP_gimple_lva): Add define.
- (make_pass_lower_vaarg): Declare.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
- * calls.c (call_expr_flags): Same.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
- (pass_stdarg::execute): ... here.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
- Michael Matz <matz@suse.de>
-
- * tree-cfg.c (make_blocks_1): Factor out of ...
- (make_blocks): ... here.
- (make_edges_bb): Factor out of ...
- (make_edges): ... here.
- (gimple_find_sub_bbs): New function.
- * tree-cfg.h (gimple_find_sub_bbs): Declare.
-
-2015-04-17 Tom de Vries <tom@codesourcery.com>
-
- * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
-
-2015-04-17 Yury Gribov <y.gribov@samsung.com>
-
- * asan.c (set_sanitized_sections): New function.
- (section_sanitized_p): Ditto.
- (asan_protect_global): Optionally sanitize user-defined
- sections.
- * asan.h (set_sanitized_sections): Declare new function.
- * common.opt (fsanitize-sections): New option.
- * doc/invoke.texi (-fsanitize-sections): Document new option.
- * opts-global.c (handle_common_deferred_options): Handle new
- option.
-
-2015-04-17 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/65771
- * dwarf2out.c (loc_list_from_tree): Return NULL
- for DEBUG_EXPR_DECL.
-
-2015-04-17 Christian Bruel <christian.bruel@st.com>
-
- * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
- same attributes.
-
-2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
-
- * ira-color.c (setup_left_conflict_sizes_p): Do not process
- node itself when computing left conflict subnode size.
-
-2015-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
- * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
- *fop_<mode>_1_sse using enabled attribute. Use
- register_mixssei387nonimm_operand operand 1 predicate. Change
- alternative 3 constraints from "x" to "v".
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65774
- * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
- bit-value tracking on.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64277
- * tree-vrp.c (check_array_ref): Fix anti-range handling,
- simplify upper bound handling.
- (search_for_addr_array): Simplify.
- (check_array_bounds): Handle ADDR_EXPRs here.
- (check_all_array_refs): Simplify.
-
-2015-04-16 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (print_reg): Rewrite function.
-
-2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
- Invert the condition.
-
-2015-04-16 Renlin Li <renlin.li@arm.com>
-
- * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
- simplifications for UNSIGNED_FLOAT.
-
-2015-04-16 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
- MUL_UNINIT.
- (enum rl78_cpu_type): New.
- * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
- (umulhi3_shift_virt): Remove m constraint from operand 1.
- (umulqihi3_virt): Likewise.
- * config/rl78/rl78.c (rl78_option_override): Add code to process
- -mcpu and -mmul options.
- (rl78_alloc_physical_registers): Add code to handle divhi and
- divsi valloc attributes.
- (set_origin): Likewise.
- * config/rl78/rl78.h (RL78_MUL_G14): Define.
- (TARGET_G10, TARGET_G13, TARGET_G14): Define.
- (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
- __RL78_Gxx__.
- (ASM_SPEC): Pass -mcpu on to assembler.
- * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
- (mulqi3_rl78): Likewise.
- (mulhi3_g13): Likewise.
- (mulhi3): Generate the G13 or G14 versions of the insn directly.
- (mulsi3): Likewise.
- (mulhi3_g14): Add clobbers of AX and BC.
- (mulsi3_g14): Likewise.
- (mulsi3_g13): Likewise.
- (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
- (udivmodsi4_g14, udivmodsi4_g13): New patterns.
- * config/rl78/rl78.opt (mmul): Initialise value to
- RL78_MUL_UNINIT.
- (mcpu): New option.
- (m13, m14, mrl78): New option aliases.
- * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
- (MULTILIB_DIRNAMES): Add g13 and g14.
- * doc/invoke.texi: Document -mcpu and -mmul options.
-
-2015-04-16 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-ccp.c (likely_value): See if we have operands that
- are marked as never simulate again and return CONSTANT in this
- case.
- * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
- not have any operands that will be simulated again as
- not being simulated again.
-
-2015-04-15 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
- Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
- (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
- attribute.
- (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
- enabled attribute.
- (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
- *float<SWI48:mode><MODEF:mode>2_sse.
- (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
- enabled attribute.
- (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
- enabled attribute.
-
-2015-04-15 Tom de Vries <tom@codesourcery.com>
-
- PR other/65487
- * function.c (push_dummy_function): New function.
- (init_dummy_function_start): Use push_dummy_function.
- (pop_dummy_function): New function. Factored out of ...
- (expand_dummy_function_end): ... here.
- * function.h (push_dummy_function, pop_dummy_function): Declare.
- * passes.c (pass_manager::dump_passes): Use push_dummy_function and
- pop_dummy_function.
- * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
-
-2015-04-15 Jeff Law <law@redhat.com>
-
- PR tree-optimization/47679
- * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
- need for forward declaration in upcoming changes.
- (record_conditions, record_edge_info): Likewise.
-
- PR rtl-optimization/42522
- * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
- SIGN_EXTRACT as a whole object rather than simplifying
- its operand.
-
-2015-04-15 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65765
- * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
- and GIMPLE_PREDICT use break instead of return true. For
- GIMPLE_EH_DISPATCH, compare dispatch region.
-
-2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
-
- * doc/extend.texi (__sync Builtins): Simplify some text. Update
- details about the implementation. Make clear preference for
- __atomic builtins. Reduce possibility of future change.
-
-2015-04-15 Nick Clifton <nickc@redhat.com>
-
- * config/rx/rx.opt (mallow-string-insns): New option.
- * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
- builtin if string instructions are denied.
- * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
- __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
- appropriate.
- (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
- * config/rx/rx.md (movstr): Enable pattern only if string
- instructions are allowed.
- (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
- (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
- * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
- (MULTILIB_DIRNAMES): Add no-strings.
- * doc/invoke.texi: Document -mno-allow-string-insns.
-
-2015-04-15 Alan Modra <amodra@gmail.com>
-
- PR target/65408
- PR target/58744
- PR middle-end/36043
- * calls.c (load_register_parameters): Don't load past end of
- mem unless suitably aligned.
-
-2015-04-15 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
- decrement instruction as being frame related.
- (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
- based addresses.
- If zero extending a function address enclose the operation in
- %code(...).
- (rl78_preferred_reload_class): New function.
- (TARGET_PREFERRED_RELOAD_CLASS): Define.
- * config/rl78/rl78.md: Remove useless constraints in expanders.
- (mulqi3_rl78): Remove + qualifier on input-only operand 1.
- (mulhi3_rl78): Likewise.
- (mulhi3_g13): Likewise.
- (mulsi3_rl78): Likewise.
- (es_addr): Move to before the multiply patterns.
-
-2015-04-15 Alan Modra <amodra@gmail.com>
-
- * function.h (struct emit_status): Delete x_first_insn, x_last_insn
- and sequence_stack. Add seq.
- (seq_stack): Delete.
- * function.c (prepare_function_start): Don't access x_last_insn.
- * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
- (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
- * emit_rtl.c (start_sequence, push_topmost_sequence,
- pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
- sequence accessors.
- (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
- remove_insn): Likewise. Simplify.
- * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
- and pop_topmost_sequence.
- (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
- debug insns.
- * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
-
-2015-04-14 Yvan Roux <yvan.roux@linaro.org>
-
- PR target/65729
- * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
- the assertiion.
-
-2015-04-14 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.h (LEGACY_INT_REG_P): New define.
- (LEGACY_INT_REGNO_P): Ditto.
- (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
- (ANY_MASK_REG_P): Remove.
- (BND_REG_P): Rename from ANY_BND_REG_P.
- * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
- legacy integer registers. Do not handle MMX_REG_P in a special way.
- Merge 64byte and 32byte SSE handling.
-
-2015-04-14 Nick Clifton <nickc@redhat.com>
-
- * expr.c (expand_assignment): Force an address offset computation
- into a register before changing its mode.
- (expand_expr_real_1): Likewise.
-
-2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
-
- * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
- vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
- vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
- vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
- vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
- vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
- vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
- and __aarch64_vget_lane_any.
-
-2015-04-14 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/65761
- * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
- get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
-
-2015-04-14 Richard Biener <rguenther@suse.de>
-
- * graphite-scop-detection.c: Do not include cp/cp-tree.h.
- (graphite_can_represent_scev): Use POINTER_TYPE_P.
-
-2015-04-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65758
- * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
- against -1.
- (ccp_lattice_meet): Likewise.
- (bit_value_unop): Likewise.
- (bit_value_binop): Likewise.
- (bit_value_assume_aligned): Likewise.
-
-2015-04-14 Christian Bruel <christian.bruel@st.com>
-
- * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
- function.
-
-2015-04-14 Marc Glisse <marc.glisse@inria.fr>
-
- PR tree-optimization/63387
- * match.pd ((x unord x) | (y unord y) -> (x unord y),
- (x unord x) | (x unord y) -> (x unord y)): New simplifications.
+2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
-2015-04-14 Uros Bizjak <ubizjak@gmail.com>
+ PR target/69225
+ * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
+ TARGET_80387 is true.
- * config/i386/predicates.md (any_QIreg_operand): Rename from
- q_regs_operand. Do not process subregs.
- (QIreg_operand): Use QI_REGNO_P predicate.
- (ext_QIreg_operand): Ditto.
- (ext_register_operand): Ditto.
- * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
- (AND splitters): Ditto.
- (AND with -65536 splitter): Add SWI48 mode for operand 0.
- (AND with -256 splitter): Use any_QIreg_operand predicate and
- SWI248 mode for operand 0.
- (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
- mode for operand 0.
- (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
+2016-01-11 Jakub Jelinek <jakub@redhat.com>
-2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
+ PR target/69071
+ * lra-eliminations.c (move_plus_up): Only move plus up
+ if subreg of the constant can be simplified into constant
+ and use the simplified subreg of the constant instead of
+ the original constant.
- * doc/plugins.texi: Rewrite first introductory paragraph.
+ * fold-const.c (fold_convertible_p): Don't return true
+ for conversion of VECTOR_TYPE to same sized integral type.
+ (fold_convert_loc): Fix up formatting. Fold conversion of
+ VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
+ instead of NOP_EXPR.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+ PR tree-optimization/69214
+ * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
+ innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
+ Formatting fix.
- * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
- (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
+ PR tree-optimization/69207
+ * tree-vect-slp.c (vect_get_constant_vectors): For
+ VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
+ fold_convertible_p to vector_type's element type, and always
+ use VCE for non-VECTOR_BOOLEAN_TYPE_P.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
+2016-01-11 Richard Biener <rguenther@suse.de>
- * ipa-profie.c (ipa_profile): Check number of parameters
- and possible polymorphic call targets before
- devirtualizing.
+ PR tree-optimization/69173
+ * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
+ fixup the cycle if all stmts are in a pattern.
-2015-04-13 Uros Bizjak <ubizjak@gmail.com>
+2016-01-11 Uros Bizjak <ubizjak@gmail.com>
- * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
- *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
+ PR middle-end/68999
+ * alias.c (base_alias_check): Move check for addresses with
+ alignment ANDs before the call for compare_base_decls.
+ (memrefs_conflict_p): Return -1 for different decls
+ that went through alignment adjustments.
-2015-04-13 Richard Biener <rguenther@suse.de>
+2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR tree-optimization/65204
- * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
- takens for bit-CCP.
+ PR rtl-optimization/68796
+ * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
+ * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
+ and QImode comparisons against zero with CC_NZmode.
+ * config/aarch64/iterators.md (short_mask): New mode_attr.
-2015-04-13 Richard Biener <rguenther@suse.de>
+2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
- PR target/65660
- * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
- and cond_not_taken_branch_cost to 4 and 2.
- (bdver2_cost): Likewise.
- (bdver3_cost): Likewise.
- (bdver4_cost): Likewise.
+ * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
+ (<avx512>_store<mode>_mask): Likewise.
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
-
- * hash-table.h (hash_table constructor): Add mem stats.
- (alloc_entries): Likewise.
-
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipcp_driver): Relase prev_edge.
- * passes.c (execute_one_pass): Only add transform if pass has one.
-
-2015-04-12 Joseph Myers <joseph@codesourcery.com>
-
- * config/i386/i386.c (ix86_option_override_internal): Don't set
- -fprefetch-loop-arrays if optimizing for size.
-
-2015-04-12 Jan Hubicka <hubicka@ucw.cz>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Martin Jambor and
- Michael Matz.
-
-2015-04-12 Jakub Jelinek <jakub@redhat.com>
-
- * BASE-VER: Set to 6.0.0.
-
- PR tree-optimization/65747
- * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
- rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
-
-2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/invoke.texi (-Wmemset-transposed-args): Break a long
- sentence. Improve grammar.
-
-2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
-
-2015-04-11 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65743
- * ipa-inline-transform.c (speculation_removed): Remove static var.
- (check_speculations): New function.
- (clone_inlined_nodes): Do not check spculations.
- (inline_call): Call check_speculations.
- * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
- consider non-invariants.
-
-2015-04-11 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR ipa/65722
- * ipa-icf.c (sem_item::compare_cgraph_references): function and
- variable can not match.
- (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
- (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
-
-2015-04-11 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65735
- * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
- Remove visited_phis argument, add visited_bbs, avoid recursing into the
- same bb rather than just into the same phi node.
- (thread_through_normal_block): Adjust caller.
-
-2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Ira Rosen.
-
-2015-04-11 Benno Schulenberg <bensberg@justemail.net>
-
- * gcov.c (find_source): Fix miswording in error message.
- * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
- (ix86_expand_sse_comi_round): Fix typo in error message.
-
-2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
-
-2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Update Joe Buck's entry.
-
-2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65710
- * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
- Print bad_spills_num and insn_pseudos_num.
-
-2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/65694
- * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
- when creating +1 values for SImode.
-
-2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65729
- * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
- assert.
-
-2015-04-10 Jakub Jelinek <jakub@redhat.com>
- Iain Sandoe <iain@codesourcery.com>
-
- PR target/65351
- * configure: Regenerate.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65671
- * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
-
-2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Add John Marino.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65709
- * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
- TREE_TYPE (TREE_TYPE (t)).
-
-2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65710
- * lra-int.h (lra_bad_spill_regno_start): New.
- * lra.c (lra_bad_spill_regno_start): New.
- (lra): Set up lra_bad_spill_regno_start. Set up
- lra_constraint_new_regno_start unconditionally.
- * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
- spill preferences.
-
-2015-04-09 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65554
- * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
- (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
- of STRIP_NOPS.
-
-2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/65693
- * combine.c (is_parallel_of_n_reg_sets): Move outside of
- #ifndef HAVE_cc0.
-
-2015-04-09 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
- device specs file if "device-specs%s" didn't resolve to a path.
-
-2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
-
- PR target/65676
- * config/i386/i386.c (fixup_modeless_constant): New.
- (ix86_expand_args_builtin): Fixup modeless constant operand.
- (ix86_expand_round_builtin): Ditto.
- (ix86_expand_special_args_builtin): Ditto.
- (ix86_expand_builtin): Ditto.
-
-2015-04-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65693
- * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
- any pow2 integer in between 2 and 0x80000000U inclusive.
-
-2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/65693
- * combine.c (is_parallel_of_n_reg_sets): Change first argument
- from an rtx_insn * to an rtx.
- (try_combine): Adjust both callers. Use it once more.
-
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-chkp.c (chkp_find_const_bounds_var): Remove.
- (chkp_make_static_const_bounds): Search existing
- symbol by assembler name. Use make_decl_one_only.
- (chkp_get_zero_bounds_var): Remove node search which
- is now performed in chkp_make_static_const_bounds.
- (chkp_get_none_bounds_var): Likewise.
-
-2015-04-08 Michael Witten <mfwitten@gmail.com>
-
- * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
- to an example.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * tree.h (CONVERT_EXPR_P): Commentary typo fix.
-
-2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/extend.texi (__sync Builtins): Fix grammar.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
-
-2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
-
- * varasm.c (emit_local): Move definition of align.
-
-2015-04-08 Julian Brown <julian@codesourcery.com>
-
- * config/nvptx/mkoffload.c (process): Support variable mapping.
-
-2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
-
- * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
- alpha_links **.
- (alpha_write_one_linkage): Correct typo.
+2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
+ Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+ PR rtl-optimization/68841
+ * ifcvt.c (struct noce_if_info): Add orig_x field.
+ (bbs_ok_for_cmove_arith): Add to_rename parameter.
+ Don't record conflicts on to_rename if it's present.
+ Allow memory destinations in sets.
+ (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
+ blocks, passing orig_x to the checks.
+ (noce_process_if_block): Set if_info->orig_x appropriately.
+
+2016-01-11 Tom de Vries <tom@codesourcery.com>
+
+ PR tree-optimization/69069
+ * tree-parloops.c (create_parallel_loop): Add missing phi args.
+
+2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
+
+ PR rtl-optimization/68920
+ * config/i386/i386.c (ix86_option_override_internal): Restrict number
+ of conditional moves for RTL if-conversion to 1 for
+ TARGET_ONE_IF_CONV_INSN.
+ * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
+ * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
+ * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
+ parameter to restirct number of conditional moves for
+ RTL if-conversion.
+ * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
+ * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
+ conditionl moves.
+
+2016-01-11 Alexandre Oliva <aoliva@redhat.com>
+
+ PR bootstrap/69123
+ * var-tracking.c (drop_overlapping_mem_locs): Operate on all
+ onepart vars. Fix typo in comment. Fix reversed condition in
+ unshare test.
+ (dataflow_set_remove_mem_locs): Operate on all onepart vars.
+
+ PR bootstrap/69123
+ * var-tracking.c (dump_onepart_variable_differences): New.
+ (dataflow_set_different): If a detailed dump is requested,
+ delay early returns and dump differences between onepart
+ variables present before and after, and added variables.
+
+2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
+
+ PR target/69010
+ * expr.c (expand_expr_real_1): For boolean vector constants
+ with a scalar mode use const_scalar_mask_from_tree.
+ (const_scalar_mask_from_tree): New.
+ * optabs.c (expand_vec_cond_mask_expr): Use mask mode
+ assigned to a mask type to handle constants.
+
+2016-01-11 Martin Jambor <mjambor@suse.cz>
+
+ PR ipa/69044
+ * ipa-cp.c (estimate_local_effects): Do not clone for removal of
+ useless parameters if we cannot change function signature.
+
+2016-01-11 Martin Jambor <mjambor@suse.cz>
- * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
+ PR ipa/66616
+ * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
+ flag.
-2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
+ PR tree-optimization/69109
+ * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
+ latch with phi.
-2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- * tree-chkp.h (chkp_insert_retbnd_call): New.
- * tree-chkp.c (chkp_insert_retbnd_call): New.
- * ipa-split.c (insert_bndret_call_after): Remove.
- (split_function): Use chkp_insert_retbnd_call.
- * cgraphunit.c (cgraph_node::expand_thunk): Build returned
- bounds for instrumented functions.
+ PR tree-optimization/69108
+ * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
+ res is not used in a phi.
-2015-04-07 Jan Hubicka <hubicka@ucw.cz>
+2016-01-11 Yury Gribov <y.gribov@samsung.com>
- PR ipa/65540
- * calls.c (initialize_argument_information): When producing tail
- call also turn SSA_NAMES passed by references to original PARM_DECLs
+ PR 67425
+ * common.opt (frandom-seed): Fix parameter name.
+ * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
-2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
+2016-01-11 Tom de Vries <tom@codesourcery.com>
- PR target/65648
- * lra-remat.c (do_remat): Process input and non-input insn
- registers separately.
+ PR tree-optimization/69058
+ * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
+ not supported.
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
+2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
- PR debug/65678
- * valtrack.c (debug_lowpart_subreg): New function.
- (dead_debug_insert_temp): Use it.
+ * config/arc/arc.opt (mdiv-rem): Add period to the end.
+ (mcode-density): Likewise.
- PR middle-end/65680
- * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
- into signed HOST_WIDE_INT the same as negative bit_offset.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
+ PR tree-optimization/69062
+ * tree-parloops.c (loop_has_phi_with_address_arg): New function.
+ (parallelize_loops): Don't paralelize loop that has phi with address
+ arg.
- * ipa-comdats.c (ipa_comdats): Visit all thunks
- to set proper comdat group.
+2016-01-10 Tom de Vries <tom@codesourcery.com>
-2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+ PR tree-optimization/69039
+ * tree-parloops.c (try_create_reduction_list): Only allow single exit
+ phi for reduction.
- PR target/65489
- * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
- on constants for NEON VSTRUCT modes.
+2016-01-09 John David Anglin <danglin@gcc.gnu.org>
-2015-04-07 Jakub Jelinek <jakub@redhat.com>
- Iain Sandoe <iain@codesourcery.com>
+ PR middle-end/68743
+ * match.pd: Require target has function_c99_misc before doing
+ truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
+
+2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
- PR target/65351
+ * configure.ac (isl_options_set_schedule_serialize_sccs): Also
+ use GMPINC.
* configure: Regenerate.
-2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65614
- * config/rs6000/rs6000.c (struct processor_costs): Add cost field
- for SF->DF conversions to make FLOAT_EXTEND more expensive, so
- that LFD is used to load double constants instead of LFS. Add
- defaults for all costs structures. Add comments for missing
- initialization fields.
- (size32_cost): Likewise.
- (size64_cost): Likewise.
- (rs64a_cost): Likewise.
- (mpccore_cost): Likewise.
- (ppc403_cost): Likewise.
- (ppc405_cost): Likewise.
- (ppc440_cost): Likewise.
- (ppc476_cost): Likewise.
- (ppc601_cost): Likewise.
- (ppc603_cost): Likewise.
- (ppc604_cost): Likewise.
- (ppc604e_cost): Likewise.
- (ppc620_cost): Likewise.
- (ppc630_cost): Likewise.
- (ppccell_cost): Likewise.
- (ppc750_cost): Likewise.
- (ppc7450_cost): Likewise.
- (ppc8540_cost): Likewise.
- (ppce300c2c3_cost): Likewise.
- (ppce500mc_cost): Likewise.
- (ppce500mc64_cost): Likewise.
- (ppce5500_cost): Likewise.
- (ppce6500_cost): Likewise.
- (titan_cost): Likewise.
- (power4_cost): Likewise.
- (power6_cost): Likewise.
- (power7_cost): Likewise.
- (power8_cost): Likewise.
- (ppca2_cost): Likewise.
- (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
-
- * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
- instead of XXLOR to copy SFmode to clear out dirty bits created
- when SFmode denormals are generated.
- (mov<mode>_hardfloat, FMOVE32 case): Likewise.
- (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
-
-2015-04-06 Evandro Menezes <e.menezes@samsung.com>
-
- * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
- * config/aarch64/aarch64-cores.def (exynos-m1): New core.
- * config/aarch64/aarch64-tune.md: Regenerate.
-
-2015-04-06 Evandro Menezes <e.menezes@samsung.com>
-
- * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
- * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
- * config/arm/arm-cores.def (exynos-m1): New core.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm-tables.opt: Add entry for "exynos-m1".
- * config/arm/bpabi.h: Likewise.
-
-2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-cp (set_single_call_flag): Remove too
- restrictive assert.
-
-2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
- GOMP_offload_unregister from the destructor.
-
-2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
- flags for instrumentation thunk.
- (chkp_produce_thunks): Likewise.
-
-2015-04-05 Martin Liska <mliska@suse.cz>
-
- PR ipa/65665
- * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
- has computed data structure.
- (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
-
-2015-04-04 Jan Hubicka <hubicka@ucw.cz>
-
- * invoke.texi (inline-unit-growth): Increase growth to 20%
- * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
-
-2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65647
- * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
- value checking.
- (lra_rematerialization_iter): New.
- * lra.c (lra): Initialize lra_rematerialization_iter.
- Stop updating lra_constraint_new_regno_start after switching of
- inheritance and rematerialization.
- * lra-remat.c (lra_rematerialization_iter): New.
- (lra_remat): Add printing pass iteration. Do rematerialization
- only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
-
-2015-04-04 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64909
- PR tree-optimization/65660
- * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
- to take a cost vector for scalar iteration cost.
- (vect_get_single_scalar_iteration_cost): Likewise.
- * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
- Compute the scalar iteration cost into a cost vector.
- (vect_get_known_peeling_cost): Use the scalar cost vector to
- account for the cost of the peeled iterations.
- (vect_estimate_min_profitable_iters): Likewise.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
- Likewise.
-
-2015-04-04 Alan Modra <amodra@gmail.com>
-
- PR target/65576
- PR target/65240
- * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
- 0.0 constant unless TARGET_VSX.
- * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
- alternative.
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65654
- * ipa-inline-transform.c (inline_call): Skip sanity check to work
- around the ICE
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65655
- * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
- speculative indirect edges to avoid ordering issue.
-
-2015-04-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * ipa-inline.c (edge_badness): Add combined size to the denominator.
-
-2015-04-03 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
- TYPE_ARTIFICIAL on the .omp_data* types.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
- instrumentation thunks.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/i386.c (ix86_expand_call): Avoid nested
- PARALLEL in returned call value.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * lto-cgraph.c (input_cgraph_1): Always link instrumented
- assembler name with original one.
-
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+2016-01-09 Jakub Jelinek <jakub@redhat.com>
- * config/i386/i386.c (ix86_register_priority): Use AX_REG.
+ PR middle-end/50865
+ PR tree-optimization/69097
+ * fold-const.h (expr_not_equal_to): New prototype.
+ * fold-const.c: Include stringpool.h and tree-ssanames.h.
+ (expr_not_equal_to): New function.
+ * match.pd (X % -Y is the same as X % Y): Don't optimize
+ unless X is known not to be equal to minimum or Y is known
+ not to be equal to -1.
+ * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
+ fold TRUNC_MOD_EXPR if the second argument is not a power of two.
+ (simplify_stmt_using_ranges): Adjust caller.
+ (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
+ substitute_and_fold.
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
+2016-01-09 Jan Hubicka <hubicka@ucw.cz>
- Revert parts of r216820.
- * config/i386/i386.md (movqi_internal): Correct type calculation
- for alternatives 3 and 5.
+ * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
+ w/o DECL_NAME.
-2015-04-02 Jakub Jelinek <jakub@redhat.com>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- PR preprocessor/61977
- * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
- predefine __vector/__bool/__pixel macros nor context sensitive
- macros for CLK_ASM.
- * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
+ PR tree-optimization/69167
+ * gimple-fold.c (replace_stmt_with_simplification): Also punt if
+ new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
+ ops[0] comparison.
+ * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
-2015-04-02 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_output_move_double): Directly handle register
- indexed memory operand. Simplify handling of scaled register indexed
- memory operands.
-
-2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR driver/65444
- * config/i386/linux-common.h (MPX_SPEC): New.
- (CHKP_SPEC): Add MPX_SPEC.
- * doc/invoke.texi (-fcheck-pointer-boudns): Document
- possible issues with '-z bndplt' support in linker.
-
-2015-04-02 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
- (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
- (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
- * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
- (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
-
-2015-04-01 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sync.md (UNSPEC_MOVA): Remove.
- (atomic_load<mode>): Change operand 0 predicate to
- nonimmediate_operand and fix up the destination when needed.
- Use UNSPEC_LDA.
- (atomic_loaddi_fpu): Use UNSPEC_LDA.
- (atomic_store<mode>): Change operand 1 predicate to
- nonimmendate_operand and move the source to register when needed.
- Use UNSPEC_STA.
- (atomic_store<mode>_1): Use UNSPEC_STA.
- (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
- Fix moves from memory operand. Use UNSPEC_STA.
-
-2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * expmed.c (strict_volatile_bitfield_p): Check that the access will
- not cross a MODESIZE boundary.
- (store_bit_field, extract_bit_field): Added assertions in the
- strict volatile bitfields code path.
-
-2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR target/65624
- * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
- Increase args array size by one to avoid buffer overflow.
-
-2015-03-31 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
- split_part.
- * ipa-inline.c (edge_badness): Add wrapper penalty.
- (sum_callers): Move up.
- (inline_small_functions): Set single_caller.
- * ipa-inline.h (inline_summary): Add single_caller.
- * ipa-split.c (split_function): Set split_part.
- (cgraph_node::create_clone): Do not shadow decl; copy split_part.
- * cgraph.h (cgraph_node): Add split_part.
+2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
+ Richard Biener <rguenther@suse.de>
-2015-03-31 Uros Bizjak <ubizjak@gmail.com>
+ PR tree-optimization/68707
+ * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
+ instances that can be handled via vect_load_lanes.
- PR target/58945
- * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
- Do not split operands 0 and operands 2 to halfmode.
- (atomic_compare_and_swap<mode>): Update for
- atomic_compare_and_swap<dwi>_doubleword changes.
+2016-01-08 Uros Bizjak <ubizjak@gmail.com>
-2015-03-31 Jan Hubicka <hubicka@ucw.cz>
+ * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
+ if we can't determine address equivalence.
+ * alias.c (compare_base_decl): Update for changed return value of
+ symtab_node::equal_address_to.
- * tree.c (need_assembler_name_p): Artificial types have no ODR names.
- * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
- no caching is done.
-
-2015-03-31 Martin Liska <mliska@suse.cz>
-
- PR ipa/65557
- * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
- has already filled up function summary.
- (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
-
-2015-03-31 Richard Biener <rguenther@suse.de>
-
- * tree-sra.c (create_access_replacement): Drop under-/over-alignment
- of types.
-
-2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
- nested functions.
- (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
- (s390_asm_output_function_label): Adapt to new signature of
- s390_function_num_hotpatch_hw
- Optimise the code generating assembler output.
- Add comments to assembler file.
-
-2015-03-31 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65626
- * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
- of the noreturn call so it is last and cleanup_control_flow_bb
- can do the CFG part.
-
-2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65531
- * ipa-chkp.c (chkp_maybe_create_clone): Don't set
- same_comdat_group for external symbols.
- * symtab.c (symtab_node::verify_symtab_nodes): Avoid
- infinite same_comdat_group traversal loop.
-
-2015-03-31 Jakub Jelinek <jakub@redhat.com>
-
- PR plugins/61176
- * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
- automatically to $headers.
-
-2015-03-30 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65610
- * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
- * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
- function.
- (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
- Use it.
- * ipa-prop.c (param_type_may_change_p): Likewise.
- * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
- (remove_unused_scope_block_p): Add in_ctor_dtor_block
- argument. Before inlining, preserve
- inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
- with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
- recursive calls.
- (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * ipa-inline.c (edge_badness): Base denominator on callee's
- grwoth squared.
-
-2015-03-27 Martin Jambor <mjambor@suse.cz>
-
- PR ipa/65478
- * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
- (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
- * ipa-prop.h (ipa_node_params): New flags node_within_scc and
- node_calling_single_call.
- * ipa-cp.c (count_callers): New function.
- (set_single_call_flag): Likewise.
- (initialize_node_lattices): Count callers and set single_flag_call if
- necessary.
- (incorporate_penalties): New function.
- (good_cloning_opportunity_p): Use it, dump new flags.
- (propagate_constants_topo): Set node_within_scc flag if appropriate.
- * doc/invoke.texi (ipa-cp-recursion-penalty,
- ipa-cp-single-call-pentalty): Document.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65588
- * symtab.c (symtab_node::get_partitioning_class): Register vars
- are duplicated.
- * varpool.c (symbol_table::output_variables) Do not assemble unefined
- decls for non-symbols.
-
-2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65248
- * output.h (default_binds_local_p_2): New.
- * varasm.c (default_binds_local_p_2): Renamed to ...
- (default_binds_local_p_3): This. Don't return true on protected
- data symbol if protected data may be external.
- (default_binds_local_p): Use default_binds_local_p_3.
- (default_binds_local_p_1): Likewise.
- (default_binds_local_p_2): New.
- * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
- default_binds_local_p_2 if TARGET_MACHO is undefined.
-
-2015-03-27 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65593
- * config/i386/i386.c (legitimize_pic_address): If base
- is SYMBOL_REF or LABEL_REF using %rip addressing, force
- it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR target/65531
- * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
- comdat groups.
-
-2015-03-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65600
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
- of optimized out indirect call.
- (redirect_to_unreachable): Always build symbol table node for
- BUILT_IN_UNREACHABLE
-
-2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65407
- * ira-costs.c (record_reg_classes): Process all constraint string
- containing 0-9.
-
-2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
-
- * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
- memory_operand.
-
- PR target/65052
- * config/c6x/constraints.md (S3): New constraint.
- * config/c6x/c6x.md (real_jump): Use it.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/65595
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
- do redirection if the call is not optimized out.
-
-2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65495
- * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
- (fchkp-check-incomplete-type): Add LTO.
- (fchkp-zero-input-bounds-for-main): Likewise.
- (fchkp-first-field-has-own-bounds): Likewise.
- (fchkp-narrow-bounds): Likewise.
- (fchkp-narrow-to-innermost-array): Likewise.
- (fchkp-use-static-bounds): Likewise.
- (fchkp-use-static-const-bounds): Likewise.
- (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
-
-2015-03-27 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65583
- * ubsan.c (ubsan_create_edge): New function.
- (instrument_bool_enum_load): Call it.
- (instrument_nonnull_arg): Likewise.
- (instrument_nonnull_return): Likewise.
- (instrument_object_size): Likewise.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * lto-streamer.h (class lto_location_cache): Turn loc_cache into
- auto_vec.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65536
- * lto-streamer.h (class lto_location_cache): New.
- (struct data_in): Add location_cache.
- (lto_input_location): Update prototype.
- (stream_input_location_now): New.
- * streamer-hooks.h (struct streamer_hooks): Make input_location to take
- pointer to location.
- (stream_input_location): Update.
- * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
- (warn_odr): Apply location cache before warning.
- (lto_input_location): Update prototype.
- * gimple-streamer-in.c (input_phi, input_gimple_stmt):
- Use stream_input_location_now.
- * lto-streamer-in.c (lto_location_cache::current_cache): New static
- variable.
- (lto_location_cache::cmp_loc): New function.
- (lto_location_cache::apply_location_cache): New function.
- (lto_location_cache::accept_location_cache): New function.
- (lto_location_cache::revert_location_cache): New function.
- (lto_location_cache::input_location): New function.
- (lto_input_location): Do location caching.
- (stream_input_location_now): New function.
- (input_eh_region, input_struct_function_base): Use
- stream_input_location_now.
- (lto_data_in_create): use new.
- (lto_data_in_delete): Use delete.
- * tree-streamer-in.c (unpack_ts_block_value_fields,
- unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
- lto_input_ts_exp_tree_pointers): Update for cached location api.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65076
- * passes.def: Add pass_nothrow.
- * ipa-pure-const.c: (pass_data_nothrow): New.
- (pass_nothrow): New.
- (pass_nothrow::execute): New.
- (make_pass_nothrow): New.
- * tree-pass.h (make_pass_nothrow): Declare.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
- edge to change by speculation resolution or redirection.
- (edge_set_predicate): Likewise.
- (inline_summary_t::duplicate): Likewise.
- (remap_edge_summaries): Likewise.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
- New macros.
- (can_inline_edge_p): Relax option matching for always inline functions.
-
-2015-03-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/65561
- * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
- Check operand 4 and operand 0 for equality.
- (avx512f_vextract<shuffletype>32x4_1_maskm):
- Check operand 6 and operand 0 for equality.
- (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
- for equality.
- (vec_extract_hi_<mode>_maskm): Ditto.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
- dead calls back to live.
- (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
- cross check to ...
- (cgraph_node::verify_node): ... here; verify only callee edges,
- not caller.
- * cif-code.def (CILK_SPAWN): New code.
-
-2015-03-26 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (redirect_to_unreachable): New function.
- (edge_set_predicate): Use it to mark unreachable edges.
- (inline_summary_t::duplicate): Remove unnecesary code.
- (remap_edge_summaries): Likewise.
- (dump_inline_summary): Report contains_cilk_spawn.
- (compute_inline_parameters): Compute contains_cilk_spawn.
- (inline_read_section, inline_write_summary): Stream
- contains_cilk_spawn.
- * ipa-inline.c (can_inline_edge_p): Do not touch
- DECL_STRUCT_FUNCTION that may not be available;
- use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
- remove check for callee_fun->can_throw_non_call_exceptions and
- replace it by optimization attribute check; check for flag_exceptions.
- * ipa-inline-transform.c (inline_call): Maintain
- DECL_FUNCTION_PERSONALITY
- * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
-
-2015-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65551
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
- TYPE_PRECISION only for INTEGRAL_TYPE_P types.
-
-2015-03-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65555
- * tree-cfg.c (verify_gimple_call): Do not require a call to
- have no LHS if it wasn't recognized as control altering yet.
-
-2015-03-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64715
- * passes.def: Add another instance of pass_object_sizes before ccp1.
- * tree-object-size.c (pass_object_sizes::execute): In
- first_pass_instance, only handle __bos (, 1) and __bos (, 3)
- calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
- __bos result and the computed constant. Remove redundant
- checks, obsoleted by gimple_call_builtin_p test.
-
- * var-tracking.c (variable_tracking_main_1): Don't track
- variables for targetm.no_register_allocation targets.
-
-2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
- * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
-
-2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65569
- * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
- XXLXOR to create 0.0. On pre-VSX systems make sure the constant
- 0.0 is correctly setup.
- (extenddftf2_internal): Likewise.
+2016-01-08 Jason Merrill <jason@redhat.com>
-2015-03-25 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65177
- * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
- (bb_in_bbs): New.
- (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
- edges not adjacent on the path to the original code.
+ PR c++/68983
+ PR c++/67557
+ * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
+ * expr.c (store_field): Not here.
+ * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
+ call with TREE_ADDRESSABLE type.
+ * tree-cfg.c (verify_gimple_call): Adjust.
-2015-03-25 Uros Bizjak <ubizjak@gmail.com>
+2016-01-08 Olivier Hainque <hainque@adacore.com>
- PR bootstrap/65537
- * doc/install.texi (Building a native compiler): Document new
- bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
- configuration assumes that the host supports the linker plugin.
+ * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
+ libc_internal.
-2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
+2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
- PR target/65508
- * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
- chain for generated call.
+ * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
+ (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
+ (reduc_smin_v2sf): Rename to...
+ (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
+ (reduc_splus_v2sf): Rename to...
+ (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
-2015-03-25 Richard Biener <rguenther@suse.de>
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
- * passes.c (pass_manager::execute_early_local_passes): Guard
- execution of pass_chkp_instrumentation_passes with
- flag_check_pointer_bounds.
- (pass_chkp_instrumentation_passes::gate): Likewise.
+ PR tree-optimization/69162
+ * gimplify.c (gimplify_va_arg_expr): Encode original type of
+ valist argument in another argument.
+ (gimplify_modify_expr): Adjust for the above change. Cleanup.
+ * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
+ to determine the va_list type, build a MEM_REF instead of
+ build_fold_indirect_ref.
-2015-03-25 Martin Liska <mliska@suse.cz>
+ PR tree-optimization/69172
+ * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
+ gimple_build.
- PR tree-optimization/65538
- * symbol-summary.h (function_summary::~function_summary):
- Relese memory for allocated summaries.
- (function_summary::release): New function.
+2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
-2015-03-25 Jakub Jelinek <jakub@redhat.com>
+ PR tree-optimization/67781
+ * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
+ and cmpnop in two steps: first the ones not accessed in original
+ gimple expression in a endian independent way and then the ones not
+ accessed in the final result in an endian-specific way.
- PR lto/65515
- * lto-streamer-out.c (DFS::worklist): New struct.
- (DFS::worklist_vec): New data member.
- (DFS::next_dfs_num): Remove.
- (DFS::DFS): Rewritten using worklist instead of recursion,
- using most of code from DFS::DFS_write_tree.
- (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
- pass it to DFS_write_tree calls.
- (DFS::DFS_write_tree): Remove SINGLE_P argument, after
- quick initial checks push it into worklist_vec and return.
+2016-01-08 Jakub Jelinek <jakub@redhat.com>
-2015-03-25 Richard Biener <rguenther@suse.de>
+ PR tree-optimization/69083
+ * tree-vect-slp.c (vect_get_constant_vectors): For
+ VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
+ element type. If op is fold_convertible_p to vector_type's element
+ type, use NOP_EXPR instead of VCE.
- PR middle-end/65519
- * genmatch.c (expr::gen_transform): Re-write to avoid
- using gimple_build.
+2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
-2015-03-25 Bin Cheng <bin.cheng@arm.com>
+ PR rtl-optimization/67778
+ PR rtl-optimization/68634
+ PR rtl-optimization/68909
+ * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
+ block from the stack until done with it. Remove a superfluous
+ bitmap set. Remove a superfluous bitmap test.
- * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
+2016-01-07 Martin Sebor <msebor@redhat.com>
-2015-03-25 Bin Cheng <bin.cheng@arm.com>
+ PR c/68966
+ * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
+ constraint on the type of arguments.
- * config/arm/arm.opt (print_tune_info): New option.
- * config/arm/arm.c (arm_print_tune_info): New function.
- (arm_file_start): Call arm_print_tune_info.
- * config/arm/arm-protos.h (struct tune_params): Add comment.
- * doc/invoke.texi (@item -mprint-tune-info): New item.
- (-mtune): mention it in ARM Option Summary.
+2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
-2015-03-25 DJ Delorie <dj@redhat.com>
+ * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
+ SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
+ unaligned_access on the gcc_options set.
+ * config/arm/arm.c (arm_option_override_internal): Use
+ SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
- * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
- correct clause.
+2016-01-07 Uros Bizjak <ubizjak@gmail.com>
-2015-03-24 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
+ PR target/69140
+ * config/i386/i386.c (ix86_frame_pointer_required): Enable
+ frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
- * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
- * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
- (sem_item::add_type): New function.
- (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
- (sem_function::compare_polymorphic_p): Do not consider indirect calls.
- (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
- (sem_function::equals_wpa): Fix typo.
- * ipa-icf.h (sem_item::add_type): New function.
- (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
- order.
-
-2015-03-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65533
- * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
- with swapped operands, call vect_free_slp_tree on
- SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
- vector.
-
-2015-03-24 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65517
- * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
- for fixup if necessary.
-
-2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes): Add @cindex entries
- for all attributes and regularize their format. Delete text
- about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
- information about "eightbit_data", "tiny_data", and "model"
- variable attributes to the Variable Attributes section. Fix
- some obvious typos and copy-editing issues.
- (Variable Attributes, Type Attributes): Likewise add/fix
- @cindex entries for all attributes.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65523
- * tree-chkp.c (chkp_build_returned_bound): Ignore
- ERF_RETURNS_ARG calls if they have fewer than needed arguments.
-
-2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65505
- * config/sh/predicates.md (simple_mem_operand,
- displacement_mem_operand): Add test for reg.
- (short_displacement_mem_operand): Test for displacement_mem_operand
- before invoking sh_disp_addr_displacement.
- * config/sh/constraints.md (Sdd, Sra): Simplify.
- * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
- Remove redundant displacement_mem_operand tests.
-
-2015-03-23 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
- the same -mmcu=MCU more than once.
-
-2015-03-23 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/65522
- * ipa-devirt.c: Remove duplicate demangle.h include.
-
- PR target/65504
- * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
- on the pseudo.
- (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
- REG_POINTER on *destptr after adjusting it for prologue size.
-
- PR ipa/65521
- * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
- ultimate_alias_target ()->order ints instead of
- ultimate_alias_target () pointers.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65518
- * tree-vect-stmts.c (vectorizable_load): Reject single-element
- interleaving cases we generate absymal code for.
-
-2015-03-23 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65494
- * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
- matches here.
- (vect_analyze_slp_instance): But do that here, always and once.
-
-2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
- adding T or multiplying by T+1 and subracting T.
-
-2015-03-22 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/64317
- * Makefile.in (OBJS): Add gcse-common.c
- * gcse.c: Include gcse-common.h
- (struct modify_pair_s): Move structure definition to gcse-common.h
- (compute_transp): Move function to gcse-common.c.
- (canon_list_insert): Similarly.
- (record_last_mem_set_info): Break out some code and put it into
- gcse-common.c. Call into the new common code.
- (compute_local_properties): Pass additional arguments to compute_transp.
- * postreload-gcse.c: Include gcse-common.h and df.h
- (modify_mem_list_set, blocks_with_calls): New variables.
- (modify_mem_list, canon_modify_mem_list, transp): Likewise.
- (get_bb_avail_insn): Pass in the expression index too.
- (alloc_mem): Allocate memory for the new bitmaps and lists.
- (free_mem): Free memory for the new bitmaps and lists.
- (insert_expr_in_table): Record a bitmap index for each entry we
- add to the table.
- (record_last_mem_set_info): Call into common code in gcse-common.c.
- (get_bb_avail_insn): If no available insn was found in the requested
- BB. If BB has a single predecessor, see if the expression is
- transparent in BB and available in that single predecessor.
- (compute_expr_transp): New wrapper for compute_transp.
- (eliminate_partially_redundant_load): Pass expression's bitmap_index
- to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
- (gcse_after_reload_main): If there are elements in the hash table,
- then compute transparency for all the elements in the hash table.
- * gcse-common.h: New file.
- * gcse-common.c: New file.
-
-2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
- as an adjective.
- (System Headers): Likewise.
- (Ifdef): Likewise.
- (Traditional macros): Likewise.
- (Invocation): Likewise.
- (Option Index): Likewise.
- * doc/cppopts.texi (-M): Likewise.
- (-finput-charset): Likewise.
- (--help): Likewise.
- * doc.invoke.texi (AVR Options): Likewise.
- (V850 Options): Likewise.
-
-2015-03-22 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * ipa-devirt.c: Include demangle.h
- (odr_type_d): Add field rtti_broken.
- (odr_subtypes_equivalent_p): Do not require name to match.
- (compare_virtual_tables): Fix typo; if type already has ODR violation,
- bypass the tests; be ready for function referneces in vtables that are
- not DECL_VIRTUAL; make warnings to be OPT_Wodr.
- (warn_odr): Give up for nameless types.
- (warn_types_mismatch): Report mismatch in mangled names;
- report mismatch in anonymous namespaces; look into component types to
- give useful error; report when mismatch is dragged in from other ODR
- type.
- (odr_types_equivalent_p): Match types for being polymorphic; avoid
- duplicated diagnostics.
- (add_type_duplicate): Reorder checks so more informative ones come
- first; fix typo; do not output "the extra base is defined here" when
- we did not warn.
- (BINFO_N_BASE_BINFOS): Relax sanity check.
-
-2015-03-22 Martin Liska <mliska@suse.cz>
- Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/i386.c (def_builtin): Set deferred_isa_values for
- masks that can potentially include a builtin.
- (ix86_add_new_builtins): Introduce fast filter for isa values
- that cannot trigger builtin inclusion.
-
-2015-03-22 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
- (sem_item::update_hash_by_local_refs): Likewise.
- (sem_variable::get_hash): Empty line is fixed.
- (sem_item_optimizer::execute): Include adding of hash references.
- (sem_item_optimizer::update_hash_by_addr_refs): New function.
- (sem_item_optimizer::build_hash_based_classes): Use local hash.
- * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
- (sem_item::update_hash_by_local_refs): Likewise.
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65502
- * ipa-comdats.c (enqueue_references): Walk through thunks.
- (ipa_comdats): Likewise.
- (set_comdat_group_1): New function.
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65475
- * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
- non-polymorphic
-
-2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
- Gerald Pfeifer <gerald@pfeifer.com>
-
- * doc/contrib.texi (Contributors): Update entry for Danny Smith.
-
-2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
- function parameter declaration.
- * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
- Update arguments to nios2_adjust_call_address().
- (sibcall_internal): Rename from *sibcall.
- (sibcall_value_internal): Rename from *sibcall_value.
- * config/nios2/nios2.c (nios2_emit_add_constant): New function.
- (nios2_large_got_address): Add target temp reg parameter.
- (nios2_got_address): Adjust call to nios2_large_got_address, add
- force_reg around it.
- (nios2_load_pic_address): Add target temp reg parameter, replace call
- to nios2_got_address with corresponding code.
- (nios2_legitimize_constant_address): Update call to
- nios2_load_pic_address.
- (nios2_adjust_call_address): Add temp reg parameter, update PIC case
- to use temp reg for PIC loading purposes.
- (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
- (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
- (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
- usage of "the @option{...}".
- (-Wopenmp-simd): Likewise.
- (-fsanitize-recover): Likewise.
- (-fsanitize-undefined-trap-on-error): Likewise.
- (-flto): Likewise.
- (tracer-dynamic-coverage-feedback): Likewise.
- (reorder-block-duplicate-feedback): Likewise.
- (loop-unroll-jam-size): Likewise.
- (-B): Likewise.
- (-I-): Likewise.
- (-mabs=legacy): Likewise.
- (-mupper-regs-df): Likewise.
- (-mupper-regs-sf): Likewise.
- (-mpointers-to-nested-functions): Likewise.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Cilk Plus Builtins): Add markup.
-
-2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
- additional index entries and cross-references.
- (-fchkp-check-incomplete-type): Likewise.
- (-fchkp-first-field-has-own-bounds): Likewise.
- (-fchkp-narrow-to-innermost-array): Likewise.
- (-fchkp-use-fast-string-functions): Likewise.
- (-fchkp-use-nochk-string-functions): Likewise.
- (-fchkp-use-static-const-bounds): Likewise.
- (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
- (-fchkp-instrument-marked-only): Likewise.
- (-fchkp-use-wrappers): Likewise.
- (-static-libmpx): Likewise.
- (-static-libmpxwrappers): Likewise.
- * doc/extend.texi (bnd_legacy): Likewise.
- (bnd_instrument): Likewise.
- (bnd_variable_size): Likewise.
- (Pointer Bounds Checker builtins): Likewise.
-
-2015-03-21 Tom de Vries <tom@codesourcery.com>
-
- PR tree-optimization/65458
- * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
- * cgraph.h (cgraph_node): Add parallelized_function field.
- * lto-cgraph.c (lto_output_node): Write parallelized_function field.
- (input_overwrite_node): Read parallelized_function field.
- * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
- parallelized_function on cgraph_node for child_fn.
- * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
- Remove include of gt-tree-parloops.h.
- (parallelized_functions): Remove static variable.
- (parallelized_function_p): Rewrite using parallelized_function field of
- cgraph_node.
- (create_loop_fn): Remove adding to parallelized_functions.
- * Makefile.in (GTFILES): Remove tree-parloops.c
-
-2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64366
- * lra.c (lra_update_insn_regno_info): Consider regs in
- CALL_INSN_FUNCTION_USAGE memory.
-
-2015-03-20 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64715
- * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
- for type comparison and gcc_checking_assert.
- (chrec_fold_plus_poly_poly): Likewise.
- (chrec_fold_multiply_poly_poly): Likewise.
- (chrec_convert_1): Likewise.
- * gimplify.c (gimplify_expr): Remove premature folding of
- &X + CST to &MEM[&X, CST].
-
-2015-03-20 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
- already is final.
- (ipa_inline): Recompute inline_failed codes.
- * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
- USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
- CIF_FINAL_ERROR.
-
-2015-03-20 Uros Bizjak <ubizjak@gmail.com>
-
- PR rtl-optimization/60851
- * recog.c (constrain_operands): Accept a pseudo register before reload
- for LRA enabled targets.
-
-2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65240
- * config/rs6000/predicates.md (easy_fp_constant): Remove special
- -ffast-math handling that kept non-0 constants live in the RTL
- until reload. Remove logic testing the number of instructions it
- took to create a constant in a GPR that was never used, due to a
- test for soft-float earlier.
- (memory_fp_constant): Delete, no longer used.
-
- * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
- alternatives for loading non-0 constants into GPRs for hard
- floating point that is no longer needed due to changes in
- easy_fp_constant. Add support for loading 0.0 into GPRs.
- (mov<mode>_hardfloat32): Likewise.
- (mov<mode>_hardfloat64): Likewise.
- (mov<mode>_64bit_dm): Likewise.
- (movtd_64bit_nodm): Likewise.
- (pre-reload move FP constant define_split): Delete define_split,
- since it is no longer used.
- (extenddftf2_internal): Remove GHF constraints that are not valid
- for extenddftf2.
-
-2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/63491
- * lra-constraints.c (check_and_process_move): Use src instead of
- sreg. Remove some dead code.
-
-2015-03-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65380
- * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
- (sem_variable::merge): Likewise.
-
-2015-03-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/65465
- * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
- all fields of cgraph_thunk_info.
-
-2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
- clone instrumented thunks.
-
-2015-03-19 Richard Biener <rguenther@suse.de>
+2016-01-07 Uros Bizjak <ubizjak@gmail.com>
Revert
- 2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63155
- * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
- * tree-ssa-coalesce.c: Include timevar.h.
- (attempt_coalesce): Handle graph being NULL.
- (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
- Split out abnormal coalescing to ...
- (perform_abnormal_coalescing): ... this function.
- (coalesce_ssa_name): Perform abnormal coalescing without computing
- live/conflict.
- (verify_ssa_coalescing_worker): New function.
- (verify_ssa_coalescing): Likewise.
-
-2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
- Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65400
- * tsan.c (instrument_gimple): Clear tail call flag on
- calls.
-
-2015-03-19 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65400
- * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
- call in the return bb.
- (find_split_points): Add RETURN_BB argument, don't call
- find_return_bb.
- (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
- if true append TSAN_FUNC_EXIT internal call after the call to
- the split off function.
- (execute_split_functions): Call find_return_bb here.
- Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
- Adjust find_split_points and split_function calls.
-
-2015-03-18 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
- (iorqi3_virt): Likewise.
-
-2015-03-18 Tom de Vries <tom@codesourcery.com>
-
- * tree-parloops.c (parallelize_loops): Make static.
- * tree-parloops.h (parallelize_loops): Remove extern declaration.
-
-2015-03-18 Andrew Stubbs <ams@codesourcery.com>
-
- PR middle-end/64491
- Revert:
- 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
-
- * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
- condition would be removed due to undefined behaviour.
-
-2015-03-18 Martin Liska <mliska@suse.cz>
-
- PR ipa/65432
- * cgraph.c (cgraph_node::get_create): Remove unnecessary
- xstrdup_for_dump wrapper.
- * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
- sem_item::name.
- (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
- with xstrdup_for_dump.
- (sem_variable::equals): Likewise.
- (sem_item_optimizer::read_section): Use symtab_node::name instead of
- sem_item::name.
- (sem_item_optimizer::parse_funcs_and_vars): Likewise.
- (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
- symtab_node::asm_name with xstrdup_for_dump.
- (congruence_class::dump): Use symtab_node::name instead of
- sem_item::name.
- * ipa-icf.h (symtab_node::name): Remove.
- (symtab_node::asm_name): Likewise.
-
-2015-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65450
- * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
- function.
- (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
- it instead of duplicate_ssa_name_ptr_info.
-
- PR target/65222
- * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
-
-2015-03-18 Richard Biener <rguenther@suse.de>
-
- * tree-data-ref.h (struct access_matrix): Remove.
- (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
- AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
- AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
- (am_vector_index_for_loop): Likewise.
- (struct data_reference): Remove access_matrix member.
- (DR_ACCESS_MATRIX): Remove.
- (lambda_vector_new): Add comment.
- (lambda_matrix_new): Use XOBNEWVEC.
-
-2015-03-18 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
- (pass_ch::execute): Cleanup the CFG only if we did sth.
- * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
-
-2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * expmed.c (synth_mult): Use std::swap instead of manually
- swapping algorithms.
-
-2015-03-18 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65078
- * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
-
-2015-03-16 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config/avr/avr.opt (-nodevicelib): New option.
- * doc/invoke.texi (AVR Options): Document it.
- * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
- libgcc.a, libc.a, libm.a.
- * config/avr/specs.h: Same.
- * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
- which don't (directly) depend on the device. Print more help.
- (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
- (*cpp): Don't define __AVR_DEV_LIB_NAME__.
- * config/avr/driver-avr.c: Remove -nodevicelib from option list in
- case of an error.
- (avr_devicespecs_file): Use suffix "%s" instead of absolute path
- for specs file name.
- * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
- * config/avr/avr-mcus.def: Adjust initializers and comments.
+ 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
-2015-03-16 Jan Hubicka <hubicka@ucw.cz>
+ PR target/69140
+ * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+ depending on frame_pointer_needed before remaining integer and SSE
+ registers are saved.
- * tree-sra.c (ipa_sra_preliminary_function_checks): Use
- DECL_ONE_ONLY to check if decl is one only.
- * ipa-split.c (consider_split): Limit splitt of one only functions.
+2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
-2015-03-16 Jakub Jelinek <jakub@redhat.com>
+ PR 1078
+ * doc/extend.texi (Nvidia PDX Function Attributes): New section.
- PR tree-optimization/65427
- * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
- functions.
- (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
-
-2015-03-16 Marek Polacek <polacek@redhat.com>
-
- * cgraph.h (add_new_static_var): Remove declaration.
- * varpool.c (add_new_static_var): Remove function.
-
-2015-03-16 Jakub Jelinek <jakub@redhat.com>
-
- * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
- instead of vec<tree> * with vec_alloc and release for args.
- Adjust all users.
-
- PR middle-end/65431
- * omp-low.c (delete_omp_context): Only splay_tree_delete
- reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
- is_gimple_omp_oacc contexts. Don't look at ctx->outer.
-
-2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR sanitizer/64820
- * cfgexpand.c (align_base): New function.
- (alloc_stack_frame_space): Call it.
- (expand_stack_vars): Align prev_frame to be sure
- data->asan_vec elements aligned properly.
-
-2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
-
- PR middle-end/65409
- * expr.c (store_field): Do not do a direct block copy if the source is
- a PARALLEL with BLKmode.
-
-2015-03-16 Tom de Vries <tom@codesourcery.com>
-
- PR middle-end/65414
- Revert:
- 2015-03-12 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64895
- * lra-lives.c (check_pseudos_live_through_calls): Use
- actual_call_used_reg_set instead of call_used_reg_set, if available.
-
-2015-03-16 Alan Modra <amodra@gmail.com>
-
- PR target/63150
- * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
- Modify Z->r bswapdi splitter to use dest in place of scratch.
- In r->Z and Z->r bswapdi splitter rename word_high, word_low
- to word1, word2 and rearrange logic to suit.
- (bswapdi2_64bit): Remove early clobber on Z->r alternative.
- (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
- (bswapdi2_32bit): Remove early clobber on Z->r alternative.
- Add one '?' on r->r. Modify Z->r splitter to avoid need for
- early clobber.
-
-2015-03-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65369
- * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
- Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
- (vs - 1) * TYPE_SIZE_UNIT (elem_type).
-
- PR tree-optimization/65418
- * tree-ssa-reassoc.c (extract_bit_test_mask): If there
- are casts in the first PLUS_EXPR operand, ensure tbias and
- *totallowp are in the inner type.
-
- PR rtl-optimization/65401
- * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
- argument. If true, adjust_address_nv of x with big-endian
- correction for the mode widening to GET_MODE (y).
- (make_field_assignment): Don't do MEM mode widening here.
- Use MEM_P instead of GET_CODE == MEM.
-
-2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
-
- * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
- the external decls.
-
-2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64600
- * config/arm/arm.c (arm_gen_constant, AND case): Use
- ARM_SIGN_EXTEND when constructing AND mask.
-
-2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * graph.c (print_graph_cfg): Make function names visible and append
- parenthesis to it. Also make groups of basic blocks belonging to the
- same function visible.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
- to avoid quadratic behavior with inline expansion splitting blocks.
- * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
- with the successor if the predecessor will be merged with it.
- * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
- entry block with its successor.
-
-2015-03-13 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
- (cleanup_tree_cfg_1): Do not call it.
- (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
- (fixup_noreturn_call): Mark the stmt as control altering.
- * tree-cfg.c (execute_fixup_cfg): Do not dump the function
- here.
- (pass_data_fixup_cfg): Produce a dump file.
- * tree-ssa-dom.c: Include tree-cfgcleanup.h.
- (need_noreturn_fixup): New global.
- (pass_dominator::execute): Fixup queued noreturn calls.
- (optimize_stmt): Queue calls that became noreturn for fixup.
- * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
- * tree-ssa-pre.c: Include tree-cfgcleanup.h.
- (el_to_fixup): New global.
- (eliminate_dom_walker::before_dom_childre): Queue calls that
- became noreturn for fixup.
- (eliminate): Fixup queued noreturn calls.
- * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
- (substitute_and_fold_dom_walker): New member stmts_to_fixup.
- (substitute_and_fold_dom_walker::before_dom_children): Queue
- alls that became noreturn for fixup.
- (substitute_and_fold): Fixup queued noreturn calls.
-
-2015-03-12 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
- and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
- are building; for methods check ODR type of class they belong to if
- they may lead to a polymorphic call.
- (sem_function::compare_polymorphic_p): Be bit smarter about testing
- when function may lead to a polymorphic call.
- (sem_function::compare_type_list): Remove.
- (sem_variable::equals): Update use of compatible_types_p.
- (sem_variable::parse_tree_refs): Remove.
- (sem_item_optimizer::filter_removed_items): Do not filter out CXX
- cdtor.
- * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
- matching here.
- (func_checker::compatible_polymorphic_types_p): Break out from ...
- (unc_checker::compatible_types_p): ... here.
- * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
- Declare.
- (unc_checker::compatible_types_p): Update.
- * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
- Remove.
-
-2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR rtl-optimization/65235
- * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
- When first element of vec_concat is const_int, calculate its size
- using second element.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65270
- * fold-const.c (operand_equal_p): Fix ordering of resetting
- OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
-
-2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_reorg): Move code to output nops after label
- to s390_reorg ().
- (s390_asm_output_function_label): Likewise.
- * config/s390/s390.c (s390_asm_output_function_label):
- Fix function label alignment with -mhtopatch.
- * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
- UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
- ("nop_2_byte"): New define_insn.
- ("nop_4_byte"): Likewise.
- ("nop_6_byte"): Likewise.
- * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
- * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65103
- * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
- register.
-
-2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65044
- * toplev.c (process_options): Restrict Pointer Bounds Checker
- usage with Address Sanitizer.
-
-2015-03-12 Richard Biener <rguenther@suse.de>
-
- * tree-cfg.c (gimple_split_block): Remove loop finding stmt
- to split on.
- * omp-low.c (expand_omp_taskreg): Split block before removing
- the stmt.
- (expand_omp_target): Likewise.
- * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
- * tree-parloops.c (create_call_for_reduction_1): Pass a proper
- stmt to split_block.
-
-2015-03-12 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64895
- * lra-lives.c (check_pseudos_live_through_calls): Use
- actual_call_used_reg_set instead of call_used_reg_set, if available.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
- (cgraph_node::remove): Likewise.
- (cgraph_node::get_untransformed_body): Likewise.
- * varpool.c (varpool_node::remove): Likewise.
- (varpool_node::get_constructor): Add sanity check.
-
-2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (-fgnu89-inline): Remove discussion about
- old GCC versions.
- (-fabi-compat-version): Likewise.
- (-ffriend-injection): Likewise.
- (-Wdeclaration-after-statement): Likewise.
- (-fomit-frame-pointer): Likewise.
- (-ftree-coalesce-inlined-vars): Likewise.
- (-fvisibility=): Likewise.
- * doc/extend.texi (Typeof): Likewise.
- (Zero Length): Likewise.
- (Escaped Newlines): Likewise.
- (Compound Literals): Likewise.
- (Function Attributes): Likewise.
- (Label Attributes): Likewise.
- (Type Attributes): Likewise.
- (Function Names): Likewise.
- (Other Builtins): Likewise.
- (Function Specific Option Pragmas): Likewise.
- (C++ Interface): Likewise.
-
-2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
-
-2015-03-11 Marek Polacek <polacek@redhat.com>
-
- PR tree-optimization/65388
- * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
-
-2015-03-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
- * configure: Regenerate.
- * config.in: Regenerate.
- * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
- [-mn-flash]: Document it.
- [__AVR_ARCH__]: Document avrtiny.
-
- * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
- (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
- (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
-
-2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * doc/invoke.texi: Add missing cpu values (z196, zEC12).
-
-2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/65242
- * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
- allow reloads of PLUS in floating point/VSX registers.
-
-2015-03-11 Junmo Park <junmoz.park@samsung.com>
-
- * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
- crypto_sha256_fast.
- (cortex_a57_crypto_complex): Add crypto_sha256_slow.
-
-2015-03-11 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65310
- * tree-sra.c (build_ref_for_offset): Also preserve larger
- alignment.
-
-2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
-
- * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65368
- * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
- new define_expand.
- (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
- (sem_function::equals_wpa): ... here.
-
-2015-03-10 Marek Polacek <polacek@redhat.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65367
- * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
- when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
- separately.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR target/65286
- * config/rs6000/t-linux: For powerpc64* target set
- MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
- for redirect_all_calls.
-
-2015-03-10 Marek Polacek <polacek@redhat.com>
-
- * gdbinit.in (pcfun): Define and document.
-
-2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
-
- * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
- of libgomp-plugin.h.
- (find_target_compiler): Support a case when the path to gcc is
- specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
- (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
- intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
- libgomp-plugin.h.
- (main): Use GCC_INSTALL_NAME as target_driver_name.
- * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
- define.
- (mkoffload.o): Remove obsolete include path and defines.
- (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63155
- * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
- * tree-ssa-coalesce.c: Include timevar.h.
- (attempt_coalesce): Handle graph being NULL.
- (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
- Split out abnormal coalescing to ...
- (perform_abnormal_coalescing): ... this function.
- (coalesce_ssa_name): Perform abnormal coalescing without computing
- live/conflict.
- (verify_ssa_coalescing_worker): New function.
- (verify_ssa_coalescing): Likewise.
-
-2015-03-10 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config.gcc (extra_options) [avr]: Remove.
- (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
- (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
- (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
-
- * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
- (-mmcu=): Add Var and MissingArgError properties.
- (-march=): Remove.
- * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
- * config/avr/t-multilib: Regenerate.
- * config/avr/specs.h: New file.
- * config/avr/driver-avr.c: New file.
- * config/avr/genopt.sh: Remove file.
- * config/avr/avr-tables.opt: Remove file.
- * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
- * config/avr/avr-c.c: Same.
- * avr-arch.h: Same.
- (avr_current_device): Remove proto.
- * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
- (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
- (EXTRA_SPEC_FUNCTIONS): Define.
- (avr_devicespecs_file): New specs function proto.
- (DRIVER_SELF_SPECS): Use device-specs-file spec function.
- * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
- (avr_current_device): Remove definition and usage.
- (avr_set_core_architecture): New static function.
- (avr_option_override): Use it.
- * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
- (mcu_name): New static array.
- (comparator, avr_archs_str, avr_mcus_str): New static functions.
- (avr_inform_devices, avr_inform_core_architectures): New functions.
- * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
- (avrlibc.h) [WITH_AVRLIBC]: Include.
- (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
- (print_mcu): Rewrite from scratch.
- * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
- Forward to avr-specific specs defined in device-specs file.
- * config/avr/t-avr (driver-avr.o): New rule.
- (avr-devices.o): Depend on avr-arch.h.
- (avr-mcus): No more depend on avr-tables.opt.
- (avr-tables.opt): Remove rule.
- (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * c-family/c.opt (fchkp-use-wrappers): New.
- * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
- (chkp_wrap_function): New.
- (chkp_build_instrumented_fndecl): Support wrapped
- functions.
- * doc/invoke.texi (-fcheck-pointer-bounds): New.
- (-fchkp-check-incomplete-type): New.
- (-fchkp-first-field-has-own-bounds): New.
- (-fchkp-narrow-bounds): New.
- (-fchkp-narrow-to-innermost-array): New.
- (-fchkp-optimize): New.
- (-fchkp-use-fast-string-functions): New.
- (-fchkp-use-nochk-string-functions): New.
- (-fchkp-use-static-bounds): New.
- (-fchkp-use-static-const-bounds): New.
- (-fchkp-treat-zero-dynamic-size-as-infinite): New.
- (-fchkp-check-read): New.
- (-fchkp-check-write): New.
- (-fchkp-store-bounds): New.
- (-fchkp-instrument-calls): New.
- (-fchkp-instrument-marked-only): New.
- (-fchkp-use-wrappers): New.
- (-static-libmpx): New.
- (-static-libmpxwrappers): New.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
- (CHKP_SPEC): Add wrappers library.
- * c-family/c.opt (static-libmpxwrappers): New.
-
-2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * config/i386/linux-common.h (LIBMPX_LIBS): New.
- (LIBMPX_SPEC): New.
- (CHKP_SPEC): New.
- * gcc.c (CHKP_SPEC): New.
- (LINK_COMMAND_SPEC): Add CHKP_SPEC.
- * c-family/c.opt (static-libmpx): New.
-
-2015-03-10 Richard Biener <rguenther@suse.de>
-
- PR middle-end/44563
- * cgraph.h (struct cgraph_edge_hasher): Add hash overload
- for compare_type.
- * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
- (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
- (cgraph_add_edge_to_call_site_hash): Likewise.
- (cgraph_node::get_edge): Likewise.
- (cgraph_edge::set_call_stmt): Likewise.
- (cgraph_edge::remove_caller): Likewise.
-
-2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
- (callee_saved_gpr_regs_size): ... this.
- (callee_saved_regs_first_regno): Rename to ...
- (callee_saved_first_gpr_regno): ... this.
- (callee_saved_regs_last_regno) Rename to ...
- (callee_saved_last_gpr_regno): ... this.
- * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
- variables.
- (nds32_initial_elimination_offset): Likewise.
- (nds32_expand_prologue): Likewise.
- (nds32_expand_epilogue): Likewise.
- (nds32_expand_prologue_v3push): Likewise.
- (nds32_expand_epilogue_v3pop): Likewise.
- * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
- Adjust renamed variables.
- (nds32_output_stack_pop): Likewise.
-
-2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
- code in comment.
-
-2015-03-10 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/65321
- * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
- than shift mode.
- * var-tracking.c (use_narrower_mode): Likewise.
-
-2015-03-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR tree-optimization/65355
- * varasm.c (notice_global_symbol): Do not produce RTL.
- * symtab.c (symtab_node::can_increase_alignment_p): Check for section
- anchor.
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
- check for section anchors.
-
-2015-03-10 Alan Modra <amodra@gmail.com>
-
- PR target/65286
- * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
- to be single-arch by default. Set cpu_is_64bit for powerpc64
- given --with-cpu=native.
- * config/rs6000/t-fprules: Do not set default MULTILIB vars.
- * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
- and powerpc64le.
- * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
- rs6000_isa_flags rather than TARGET_64BIT.
-
-2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
-
-2015-03-09 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/65361
- * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
- on a TREE_BINFO, instead use BINFO_TYPE.
-
-2015-03-09 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65270
- * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
- * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
- operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
- of that. When comparing dereferences compare alignment.
- When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
-
-2015-03-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (check_callers): Check
- node->can_remove_if_no_direct_calls_and_refs_p.
- (growth_likely_positive): Reorganize to call
- can_remove_if_no_direct_calls_p later.
- * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
- will_be_removed_from_program_if_no_direct_calls_p): Add
- will_inline parameter.
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
- cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
- Handle inliner case correctly.
-
-2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/63743
- * cfgexpand.c (reorder_operands): Also reorder if only second operand
- had its definition forwarded by TER.
-
-2015-03-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/65316
- * ipa-utils.h (types_odr_comparable): Add strict argument.
- * ipa-devirt.c: Fix whitespace;
- (odr_hasher): Remove.
- (odr_name_hasher, odr_vtable_hasher): New hashers.
- (can_be_name_hashed_p): New predicate.
- (hash_type_name): remove.
- (hash_odr_name): New.
- (odr_name_hasher::hash): new.
- (can_be_vtable_hashed_p): New.
- (hash_odr_vtable): New.
- (odr_vtable_hasher::hash): New.
- (types_same_for_odr): Add strict parameter.
- (types_odr_comparable): Likewise.
- (odr_name_hasher::equal): New.
- (odr_vtable_hasher::equal): New.
- (odr_name_hasher::remove): New.
- (odr_hash_type): Change to hash_table<odr_name_hasher>.
- (odr_vtable_hash_type): New.
- (odr_vtable_hash): New.
- (odr_subtypes_equivalent_p): Do strict comparsion.
- (add_type_duplicate): Merge type names; cleanup; avoid type
- duplicates.
- (register_odr_type): Initialize vtable hash.
- (build_type_inheritance_graph): Likewise
- (get_odr_type): Reorg to use two hashes.
- (dump_possible_polymorphic_call_targets): Move sanity check after debug
- output.
- (ipa_devirt): Dump type_inheritance_graph.
- (types_same_for_odr): Add strict mode.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65334
- * cgraph.h (symtab_node): Add definition_alignment,
- can_increase_alignment_p and increase_alignment.
- * symtab.c (symtab_node::can_increase_alignment_p,
- increase_alignment_1, symtab_node::increase_alignment,
- symtab_node::definition_alignment): New.
- * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
- can_increase_alignment_p.
- * tree-vectorizer.c (increase_alignment): Use increase_alignment.
- * tree-vect-stmts.c (ensure_base_align): Likewise.
- * varasm.c (function_section_1): Use definition_alignment.
- (assemble_start_function): Likewise.
- (emit_local): likewise.
- (build_constant_desc): Likewsie.
- (output_constant_def_contents): Likewise.
- (place_block_symbol): Likewise.
- (output_object_block): Likewise.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65316
- * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
- when outputting debug.
-
-2015-03-07 Marek Polacek <polacek@redhat.com>
- Martin Uecker <uecker@eecs.berkeley.edu>
-
- PR sanitizer/65280
- * doc/invoke.texi: Update description of -fsanitize=bounds.
-
-2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
-
- * tree-ssa-phiopt.c (neg_replacement): Remove.
- (tree_ssa_phiopt_worker): Remove negate optimization.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65302
- * value-prof.c (gimple_ic): Pure dead eh edges when needed.
-
-2015-03-06 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64928
- * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
- and liveout_obstack members.
- (calculate_live_on_exit): Remove.
- (calculate_live_ranges): Change declaration.
- * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
- (new_tree_live_info): Adjust.
- (calculate_live_ranges): Delete livein when not wanted.
- (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
- Deal with partly deleted live info.
- (loe_visit_block): Remove temporary bitmap by using
- bitmap_ior_and_compl_into.
- (live_worklist): Adjust accordingly.
- (calculate_live_on_exit): Make static.
- * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
- we do not need livein.
-
-2015-03-06 Jonathan Wakely <jwakely@redhat.com>
-
- * real.c (real_from_string): Fix typo in assertion.
-
-2015-03-06 Alex Velenko <alex.velenko@arm.com>
-
- * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
- the patch.
-
-2015-03-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
-
-2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64342
- * lra-assigns.c (find_hard_regno_for): Rename to
- find_hard_regno_for_1. Add a new parameter.
- (find_hard_regno_for): New function using find_hard_regno_for_1.
-
-2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR rtl-optimization/65067
- * expmed.c (store_bit_field, extract_bit_field): Reworked the
- strict volatile bitfield handling.
-
-2015-03-05 Martin Liska <mliska@suse.cz>
-
- PR ipa/65318
- * ipa-icf.c (sem_variable::equals): Compare variables types.
-
-2015-03-05 Richard Henderson <rth@redhat.com>
-
- PR target/65121
- * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
- correctly check weak symbol binding.
-
-2015-03-05 Steve Ellcey <sellcey@imgtec.com>
-
- PR middle-end/65315
- * cfgexpand.c (expand_stack_vars): Update large_align to maximum
- needed alignment.
-
-2015-03-05 Martin Liska <mliska@suse.cz>
-
- * ipa-inline.c (inline_small_functions): Set default value to
- prevent warning during bootstrap.
- * tree.h: Add pragma guard that ignores false positives during
- bootstrap.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65310
- * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
- Properly preserve alignment of the base of the access.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR ipa/65270
- * ipa-icf-gimple.c (func_checker::compare_memory_operand):
- Compare dependence info.
-
-2015-03-05 Richard Biener <rguenther@suse.de>
-
- PR middle-end/65233
- * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
- tree-into-ssa.h.
- (walk_ssa_copies): Revert last chage. Instead do not walk
- SSA names registered for SSA update.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65270
- * ipa-icf.c (sem_item::compare_cgraph_references): Compare
- vtable references for their containing type.
- (sem_function::equals_wpa): Compare TYPE_RESTRICT
- and type attributes.
-
-2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (round_up_loc): Cast divisor to signed on all paths
- before negating it.
- * stor-layout.c (finalize_record_size): Revert latest change.
-
-2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
- for correct comdat handling.
- (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
- Likewise.
- * cgraph.h (call_for_symbol_and_aliases): Fix formating.
- (used_from_object_file_p_worker): Remove.
- (cgraph_node::only_called_directly_or_alised): Add
- used_from_object_file_p.
- * ipa-inline-analysis.c (growth_likely_positive): Optimie.
- * ipa-inline-transform.c (can_remove_node_now_p_1): Use
- can_remove_if_no_direct_calls_and_refs_p.
-
-2015-03-04 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.h (enum reg_class): Remove real registers from
- General register class.
- * config/rl78/rl78-real.md: Replace general register constraints
- with real+virtual register constraints.
-
-2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
-
- * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
- from checking for -mhtm option.
-
-2015-03-03 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
- (struct ipa_sra_check_caller_data): Add has_thunk field.
- (ipa_sra_check_caller): Check for thunk.
- (ipa_sra_preliminary_function_checks): Give up on function with
- thunks.
- (ipa_early_sra): Use call_for_symbol_and_aliases.
-
-2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65249
- * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
- called for __stack_chk_guard symbol.
-
-2015-03-03 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
- inc/dec.
- (*addhi3_real): Likewise.
- * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
- pattern to match incrementing memory.
- * config/rl78/predicates.md (rl78_1_2_operand): New.
- * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
- it's the same and only mem.
- (rl78_alloc_physical_registers_op2): If there's effectively only
- one MEM, transcode it into HL.
- (rl78_far_p): Reject addresses that aren't legitimate.
-
-2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
- negating it.
-
- * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
-
-2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
-
- Implement call0 ABI for xtensa
- * config/xtensa/constraints.md ("a" constraint): Include stack
- pointer in case of call0 ABI.
- ("q" constraint): Make empty in case of call0 ABI.
- ("D" constraint): Include stack pointer in case of call0 ABI.
- * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
- xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
- prototypes.
- * config/xtensa/xtensa.c (xtensa_callee_save_size): New
- variable.
- (xtensa_regno_to_class): Make it a local variable in the
- function xtensa_regno_to_class.
- (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
- macro, function prototype and implementation.
- (reg_nonleaf_alloc_order): Make it a local variable in the
- function order_regs_for_local_alloc.
- (xtensa_conditional_register_usage): New function.
- (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
- (xtensa_valid_move): Allow direct moves to stack pointer
- register in call0 ABI.
- (xtensa_setup_frame_addresses): Only spill register windows in
- windowed ABI.
- (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
- call0 ABI respectively.
- (xtensa_function_arg_1): Only mark a7 register for copying in
- windowed ABI.
- (xtensa_call_save_reg): New function.
- (compute_frame_size): Add space for callee saved register
- storage to the frame size in call0 ABI.
- (xtensa_expand_prologue): Generate code to set up stack frame
- and save callee-saved registers in call0 ABI.
- (xtensa_expand_epilogue): New function.
- (xtensa_set_return_address): New function.
- (xtensa_return_addr): Calculate return address in call0 ABI.
- (xtensa_builtin_saveregs): Only mark a7 register for copying and
- emit copying code in windowed ABI.
- (order_regs_for_local_alloc): Add preferred register allocation
- order for non-leaf function in call0 ABI.
- (xtensa_static_chain): Add atatic chain passing for call0 ABI.
- (xtensa_asm_trampoline_template): Add trampoline generation for
- call0 ABI.
- (xtensa_trampoline_init): Add trampoline initialization for
- call0 ABI.
- (xtensa_conditional_register_usage, xtensa_regno_to_class): New
- functions.
- * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
- (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
- (CALL_USED_REGISTERS): Modify to encode both windowed and call0
- ABI call-used registers.
- (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
- (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
- call0 ABI.
- (REG_CLASS_CONTENTS): Include all registers into the preferred
- reload registers set, adjust the set in the
- xtensa_conditional_register_usage.
- (xtensa_regno_to_class): Drop variable declaration.
- (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
- function.
- (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
- respectively.
- (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
- (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
- (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
- (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
- location in call0 ABI.
- (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
- stack adjustment size when handling exception.
- (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
- * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
- definitions.
- ("return" pattern): Generate ret.n/ret in call0 ABI.
- ("epilogue" pattern): Expand epilogue.
- ("nonlocal_goto" pattern): Use default in call0 ABI.
- ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
- emit eh_set_a0_* depending on ABI.
- ("eh_set_a0_windowed" pattern): Former eh_return pattern.
- ("eh_set_a0_call0", "blockage"): New patterns.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/65287
- * ipa-icf.c (sem_variable::parse): Skip all alias variables.
-
-2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR 65138/target
- * config/rs6000/rs6000-tables.opt: Regenerate table.
-
-2015-03-03 Renlin Li <renlin.li@arm.com>
-
- * doc/md.texi (@item ^): Change ? into ^.
-
-2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/tm.texi: Regenerated.
-
-2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
-
- * builtins.c (expand_builtin_return_addr): Add
- RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
- surrounding #ifdef.
- * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
- definition to 1.
- * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
- Likewise.
- * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
- undefined.
- * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
- paragraph.
-
-2015-03-03 Martin Jambor <mjambor@suse.cz>
- Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-sra.c (ipa_sra_check_caller_data): New type.
- (has_caller_p): Removed.
- (ipa_sra_check_caller): New function.
- (ipa_sra_preliminary_function_checks): Use it.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
- instead of if branch.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
-
- PR ipa/65282
- * ipa-icf.c (sem_variable::equals): Fix wrong condition.
-
-2015-03-23 Jeff Law <law@redhat.com>
-
- PR tree-optimization/65241
- * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
- hash table if INSERT is true.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65296
- * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64331
- * config/avr/avr.c (context.h, tree-pass.h): Include them.
- (avr_pass_data_recompute_notes): New static variable.
- (avr_pass_recompute_notes): New class.
- (avr_register_passes): New static function.
- (avr_option_override): Call it.
-
-2015-03-03 Georg-Johann Lay <avr@gjlay.de>
-
- Fix various problems with specs file generation.
-
- PR target/65296
- * config.gcc (extra_gcc_objs) [avr]: Remove.
- * config/avr/driver-avr.c: Remove file.
- * config/avr/t-avr (driver-avr.o): Remove rule.
- (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
- INCLUDES to build. Depend on TM_H.
- * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
- build warnings. Fix non-matching types and non-existing %-codes.
- (tm.h): Include.
- (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
- (*libgcc) [WITH_AVRLIBC]: Add "-lm".
- * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
- * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
- (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
- (LIBGCC_SPEC): Remove definitions.
-
-2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
- to create a register in testing mode.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65263
- * cgraph.c (cgraph_node::has_thunk_p): New function.
- * cgraph.h (cgraph_node::has_thunk_p: Likewise.
- * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
- (sem_function::merge): Assert is changed.
-
-2015-03-03 Martin Liska <mliska@suse.cz>
- Martin Jambor <mjambor@suse.cz>
-
- PR ipa/65087
- * ipa-icf.c (sem_item_optimizer::execute): Change function
- return value to boolean.
- (sem_item_optimizer::merge_classes): Likewise.
- (ipa_icf_driver): Return TODO_remove_functions in case there's
- a merge operation processed.
- * ipa-icf.h: Change function return value to boolean.
-
-2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR 65138/target
- * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
- processor type for 64-bit little endian PowerPC.
-
- * config/rs6000/rs6000.c (rs6000_option_override_internal): If
- -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
- TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
- printing built-in mask so it does not pass NULL pointers.
-
- * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
- -mcpu=powerpc64le.
-
-2015-03-02 Steve Ellcey <sellcey@imgtec.com>
-
- PR target/58158
- * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
- !ISA_HAS_FP_CONDMOVE.
-
-2015-03-02 Aldy Hernandez <aldyh@redhat.com>
-
- * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
- reload_completed.
-
-2015-03-02 Ulrich Drepper <drepper@gmail.com>
-
- * doc/invoke.texi (Options for Code Generation Conventions):
- Fix URL of DSO paper.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65130
- * ipa-inline.c (check_callers): Looks for recursion.
- (inline_to_all_callers): Give up on uninlinable or recursive edges.
- * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
- summary of inline clones.
- (do_estimate_growth_1): Fix recursion check.
+2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64988
- * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
- comdat groups.
-
-2015-03-02 Jan Hubicka <hubicka@ucw.cz>
- Aldy Hernandez <aldyh@redhat.com>
-
- PR lto/65276
- * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
- when checking TYPE_BINFO.
-
-2015-03-02 Richard Biener <rguenther@suse.de>
-
- PR ipa/65270
- * ipa-icf-gimple.c: Include builtins.h.
- (func_checker::compare_memory_operand): Compare base alignment.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65184
- * config/i386/i386.c (ix86_pass_by_reference): Bounds are never
- passed by reference.
-
-2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65183
- * tree-chkp.c (chkp_check_lower): Don't check against
- zero bounds for already instrumented functions.
- (chkp_check_upper): Likewise.
- (chkp_fini): Clean pass local data to avoid wrong reusage.
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_variable::equals): Improve debug output;
- get variable constructor.
- (sem_variable::parse): Do not filter out too early; give up on
- volatile and register vars.
- (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
- variables.
- * ipa-icf.h (sem_variable::init): Do not set ctor.
- (sem_variable::ctor): Remove.
-
-2015-03-01 Aldy Hernandez <aldyh@redhat.com>
-
- PR middle-end/65233
- * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c: Include stor-layout.h
- (sem_function::compare_cgraph_references): Rename to ...
- (sem_item::compare_cgraph_references): ... this one.
- (sem_variable::equals_wpa): New function
- (sem_variable::equals): Do not check stuff already verified by
- equals_wpa.
- (sem_variable::equals): Reorg based on varasm.c:compare_constant.
- * ipa-icf.h (sem_item): Add compare_cgraph_references.
- (sem_function): Remove compare_cgraph_references.
- (sem_variable): Turns equals_wpa into non-inline.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
- (sem_item::add_expr): New function.
- (sem_function::hash_stmt): Handle operands of most statements.
- (sem_variable::get_hash): Hash the actual constructor.
- * ipa-icf.h (sem_item): Add add_expr.
- (sem_function): Update prototype of hash_stmt
-
-2015-02-28 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65245
- * ipa-icf-gimple.c (func_checker::compare_function_decl):
- Remove.
- (func_checker::compare_variable_decl): Skip symtab vars.
- (func_checker::compare_cst_or_decl): Update.
- * ipa-icf.c (sem_function::parse): Do not consider aliases.
- (sem_function::compare_cgraph_references): Add ADDRESS parameter;
- use correct symtab predicates.
- (sem_function::equals_wpa): Update uses of compare_cgraph_references.
- (sem_variable::parse): Update comment.
- (sem_item_optimizer::build_graph): Consider ultimate aliases
- for references.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
- of OBJ_TYPE_REF.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
- (sem_variable::merge) Likewise.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
- target; also match flag_ipa_devirt.
-
-2015-03-01 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_variable_decl):
- Validate variable alignment.
- * ipa-icf.c (sem_function::equals_private): Be more precise
- about non-common function attributes.
- (sem_variable::equals): Likewise.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65237
- * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
- across COMDAT group boundary.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65232
- * ipa-icf.c (clear_decl_rtl): New function.
- (sem_function::merge): Clear RTL before forming alias.
- (sem_variable::merge): Clear RTL before forming alias.
-
-2015-02-28 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65236
- * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
-
-2015-02-28 Xingxing Pan <xxingpan@marvell.com>
-
- * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
- to neon_to_gp<q>.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
- a typo in the description.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64317
- * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
- * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
- * lra-constraints.c: Include "params.h".
- (EBB_PROBABILITY_CUTOFF): Use
- LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
- (lra_inheritance): Use '<' instead of '<=' for
- EBB_PROBABILITY_CUTOFF.
- * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
- Document change.
-
-2015-02-27 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
- vector length condition.
-
-2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (x86 transactional memory intrinsics):
- Reorganize discussion of _xbegin. Clarify that the return
- value is a bit mask. Expand example and move to end of section.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
- Aldy Hernandez <aldyh@redhat.com>
-
- PR rtl-optimization/65220
- * config/i386/i386.md (*udivmod<mode>4_pow2): New.
-
-2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/65032
- * lra-remat.c (update_scratch_ops): New.
- (do_remat): Call it.
- * lra.c (lra_register_new_scratch_op): New. Take code from ...
- (remove_scratches): ... here.
- * lra-int.h (lra_register_new_scratch_op): New prototype.
-
-2015-02-27 Marek Polacek <polacek@redhat.com>
-
- PR c/65040
- * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
- -Wformat-signedness anymore.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
- function.
- (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (enum s390_builtin):
- Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
- (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
- (s390_init_builtins): Generate new builtin functions.
- * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
- (s390_sfpc, s390_efpc): New pattern definitions.
-
-2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
- Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
- (s390_builtin_decls): New array.
- (s390_init_builtins): Put builtin decls into s390_builtin_decls.
- (s390_builtin_decl): New function.
- (TARGET_BUILTIN_DECL): Define macro.
-
-2015-02-27 Richard Biener <rguenther@suse.de>
-
- PR middle-end/63175
- * builtins.c (get_object_alignment_2): Make sure to re-apply
- the ANDed mask after recursing to its operand gets us a new
- misalignment bit position.
-
-2015-02-26 Jan Hubicka <hubicka@ucw.cz>
- Martin Liska <mliska@suse.cz>
-
- PR bootstrap/65150
- * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
- Use address_matters_p.
- (redirect_all_callers, set_addressable): New functions.
- (sem_function::merge): Reorganize and fix merging issues.
- (sem_variable::merge): Likewise.
- (sem_variable::compare_sections): Remove.
- * common.opt (fmerge-all-constants, fmerge-constants): Remove
- Optimization flag.
- * symtab.c (symtab_node::resolve_alias): When alias has aliases,
- redirect them.
- (symtab_node::make_decl_local): Set ADDRESSABLE bit when
- decl is used.
- (address_matters_1): New function.
- (symtab_node::address_matters_p): New function.
- * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
- check for merged flag.
- * cgraph.h (address_matters_p): Declare.
- (symtab_node::address_taken_from_non_vtable_p): Remove.
- (symtab_node::address_can_be_compared_p): New method.
- (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
- * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
- Remove.
- (comdat_can_be_unshared_p_1) Use address_matters_p.
- (update_vtable_references): Fix formating.
- * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
- * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
- * cgraphclones.c: Preserve merged and icf_merged flags.
-
-2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes): Fix spelling and typos.
- (Label Attributes): Likewise.
- (Cilk Plus Builtins): Likewise.
- (ARC SIMD Built-in Functions): Likewise.
- (ARM C Language Extensions (ACLE)): Likewise.
- (PowerPC Built-in Functions): Likewise.
- (PowerPC Hardware Transactional Memory Built-in Functions):
- Likewise.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65216
- * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
- new stmt and new SSA_NAME for lhs whenever the arguments have
- changed and weren't just swapped. Fix comment typo.
-
- PR tree-optimization/65215
- * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
- for PDP endian targets.
- (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
- Fix up formatting issues.
- (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
- size is smaller than the original, adjust MEM_REF offset by the
- difference of sizes. Use is_gimple_mem_ref_addr instead of
- is_gimple_min_invariant test to avoid adding address temporaries.
-
-2015-02-26 Martin Liska <mliska@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64693
- * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
- (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
- (sem_item_optimizer::process_cong_reduction): Include division by
- sensitive references.
- * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
- * ipa-ref.c (ipa_ref::address_matters_p): New function.
- * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
-
-2015-02-26 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65192
- * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
- Remove.
- * config/avr/avr.c: Same.
- (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
- Refuse any constant address not in 0..0xbf.
- * config/avr/avr.md (*mov<mode>, *movsf): Remove
- tiny_valid_direct_memory_access_range from insn conditions.
- (mov<mode>): Don't special-case expansion of avrtiny addresses.
-
-2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/61142
- * config/sh/sh.c (sh_check_add_incdec_notes): New function.
- * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
- * config/sh/predicates.md (const_logical_operand): New predicate.
- * config/sh/sh.md: Add new peephole2 patterns.
-
-2015-02-26 Marek Polacek <polacek@redhat.com>
-
- PR ipa/65008
- * ipa-inline.c (early_inliner): Recompute inline parameters.
-
-2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
-
- PR target/65171
- * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
- instructions with TImode operands are included in the analysis.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
- of an EDGE_FSM_THREAD.
-
-2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
-
- * config/rs6000/htm.md (tcheck): Fix assembly encoding.
-
-2015-02-25 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/46102
- * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
-
-2015-02-26 Sebastian Pop <s.pop@samsung.com>
-
- PR tree-optimization/65048
- * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
- (thread_through_all_blocks): Call valid_jump_thread_path.
- Remove invalid FSM jump-thread paths.
-
-2015-02-26 Jakub Jelinek <jakub@redhat.com>
-
- * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
- (ipa_write_optimization_summaries): Likewise.
- * tree-streamer.h: Include data-streamer.h.
- (streamer_mode_table): Declare extern variable.
- (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
- * lto-streamer-out.c (lto_output_init_mode_table,
- lto_write_mode_table): New functions.
- (produce_asm_for_decls): Call lto_write_mode_table when streaming
- offloading LTO.
- * lto-section-in.c (lto_section_name): Add "mode_table" entry.
- (lto_create_simple_input_block): Add mode_table argument to the
- lto_input_block constructors.
- * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
+ PR target/69171
+ * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
+ Use the "xBm" constraint.
+ (float<sseintvecmodelower><mode>2<mask_name><round_name):
Likewise.
- * data-streamer-in.c (string_for_index): Likewise.
- * ipa-inline-analysis.c (inline_read_section): Likewise.
- * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
- * lto-cgraph.c (input_cgraph_opt_section): Likewise.
- * lto-streamer-in.c (lto_read_body_or_constructor,
- lto_input_toplevel_asms): Likewise.
- (lto_input_mode_table): New function.
- * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
- pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
- Use bp_pack_machine_mode.
- * real.h (struct real_format): Add name field.
- * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
- (class lto_input_block): Add mode_table member.
- (lto_input_block::lto_input_block): Add mode_table_ argument,
- initialize mode_table.
- (struct lto_file_decl_data): Add mode_table field.
- (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
- * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
- unpack_ts_decl_common_value_fields,
- unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
- * tree-streamer.c (streamer_mode_table): New variable.
- * real.c (ieee_single_format, mips_single_format,
- motorola_single_format, spu_single_format, ieee_double_format,
- mips_double_format, motorola_double_format,
- ieee_extended_motorola_format, ieee_extended_intel_96_format,
- ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
- ibm_extended_format, mips_extended_format, ieee_quad_format,
- mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
- decimal_single_format, decimal_double_format, decimal_quad_format,
- ieee_half_format, arm_half_format, real_internal_format): Add name
- field.
- * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
-
-2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR target/65161
- * config/i386/i386.c (ix86_sched_reorder): Skip instruction
- reordering for selective scheduling.
-
-2015-02-26 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
- * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
- (arm_arch_no_volatile_ce): Declare new global variable.
- * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
- (arm_option_override): Assign value to arm_arch_no_volatile_ce.
- * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
- (TARGET_NO_VOLATILE_CE): New macro.
- * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
- volatile memory access in IT block
-
-2015-02-25 Kai Tietz <ktietz@redhat.com>
-
- PR tree-optimization/61917
- * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
- that reduc_def_stmt is null.
-
-2015-02-25 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
- hard register variables.
-
-2015-02-25 Kai Tietz <ktietz@redhat.com>
-
- PR target/64212
- * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
- (symtab::noninterposable_alias): Likewise.
-
-2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/65167
- * config/i386/i386.c (ix86_function_arg_regno_p): Support
- bounds registers.
- (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
-
-2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
-
- PR target/64997
- * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
- as split condition; force split via '#' in output pattern.
-
-2015-02-25 Richard Biener <rguenther@suse.de>
- Kai Tietz <ktietz@redhat.com>
-
- PR tree-optimization/61917
- * tree-vect-loop.c (vectorizable_reduction): Allow
- vect_internal_def without reduction to exit graceful.
-
-2015-02-25 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/65196
- * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
- only with NONDEBUG_INSN_P.
-
-2015-02-25 Georg-Johann Lay <avr@gjlay.de>
-
- Use variadic macros with avr-log.c.
-
- * config/avr/avr-protos.h (avr_vdump): New prototype.
- (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
- (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
- * config/avr/avr-log.c: Adjust comments.
- (avr_vdump): New function.
- (avr_vadump): Pass caller as 2nd argument instead of format string.
- (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
- (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
-
-2015-02-25 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/64374
- * target.def (target_option_stream_in): New target hook.
- * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
- targetm.target_option.post_stream_in if non-NULL.
- * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
- * doc/tm.texi: Updated.
- * config/i386/i386.c (ix86_function_specific_post_stream_in): New
- function.
- (TARGET_OPTION_POST_STREAM_IN): Redefine.
-
-2015-02-24 Jeff Law <law@redhat.com>
-
- PR target/65117
- * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
- of operand 0 and operand 2.
- (zero_cost_loop_end, loop_end): Similarly.
-
-2015-02-24 Aldy Hernandez <aldyh@redhat.com>
-
- * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
- CXX_MEM_STAT_INFO.
-
-2015-02-24 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
- * config/rl78/rl78-expand.md (movsf): New, same as movsi.
- * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
- instead of hardcoding SImode.
-
-2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
-
- * omp-low.c (create_omp_child_function): Tag entrypoint
- functions with a special attribute.
-
-2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
-
- PR target/65058
- * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
-
-2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/65123
- * lra-remat.c (operand_to_remat): Check hard regs in insn
- definition too.
-
-2015-02-24 Nick Clifton <nickc@redhat.com>
-
- * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
- to the assembler.
-
-2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
- BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
- (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
- BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
- BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
- (BUILT_IN_GOACC_PARALLEL): Specify as
- BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
- BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
- * builtin-types.def
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- Remove function types.
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
- (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
-
-2015-02-24 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
-
-2015-02-24 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65170
- * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
- if val[1] < 0, clear also val[2] and return 3.
-
-2015-02-24 Alan Modra <amodra@gmail.com>
-
- PR target/65172
- * config/rs6000/rs6000.c (get_memref_parts): Only return true
- when *base is a reg. Handle nested plus addresses. Simplify
- pre_modify test.
-
-2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
-
- * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
- use natural alignment when optimizing for size.
-
-2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/65153
- * config/sh/sh.md (movsicc_true+3): Remove peephole.
- * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
- * config/sh/sh.c (replace_n_hard_rtx): Remove.
-
-2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
-
- PR fortran/63427
- * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
- too big for a wide_int. Implement missing wrapping operation.
-
-2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/65163
- * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
- instead of const_int 4294901760.
-
-2015-02-23 Georg-Johann Lay <avr@gjlay.de>
-
- * config/avr/t-avr: Fix typo in comment.
-
-2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
-
- * doc/rtl.texi (fma): Clarify documentation.
-
-2015-02-20 Aldy Hernandez <aldyh@redhat.com>
-
- PR debug/58123
- * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
- over input_location.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
- unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
- restrict alignments to absolute_biggest_alignment.
- * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
- Define.
- * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
- * doc/tm.texi: Regenerate.
- * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
-
-2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64172
- * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
-
-2015-02-20 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65136
- * tree-ssa-propagate.c: Include cfgloop.h.
- (replace_phi_args_in): Avoid replacing loop latch edge PHI
- arguments with constants.
-
-2015-02-20 Jakub Jelinek <jakub@redhat.com>
- Martin Liska <mliska@suse.cz>
-
- PR target/63892
- * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
- don't try to create_thunk if stdarg_p. If
- !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
- redirect_callers if possible.
- (sem_item_optimizer::execute): Call unregister_hooks here...
- (ipa_icf_driver): ... instead of here.
-
-2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
- Mark operand 0 as earlyclobber in 2nd alternative.
- (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
- Write negated shift amount into QI lowpart operand 0 and use it
- in the shift step.
- (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
-
- * cgraph.h (clone_function_name_1): Declare.
- * cgraphclones.c (clone_function_name_1): New function.
- (clone_function_name): Use it.
- * lto-partition.c: Include "stringpool.h".
- (must_not_rename, maybe_rewrite_identifier)
- (validize_symbol_for_target): New static functions.
- (privatize_symbol_name): Use must_not_rename.
- (promote_symbol): Call validize_symbol_for_target.
- (lto_promote_cross_file_statics): Likewise.
- (lto_promote_statics_nonwpa): Likewise.
-
-2015-02-20 Georg-Johann Lay <avr@gjlay.de>
-
- PR target/64452
- * config/avr/avr.md (pushhi_insn): New insn.
- (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
-
-2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * tree-streamer.c (preload_common_nodes): Don't preload
- TI_VA_LIST* for offloading.
- * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
- in_lto_p.
-
-2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_emit_move_sequence): Always force
- (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
- note on insn.
-
- * config/pa/pa.c (pa_reloc_rw_mask): New function.
- (TARGET_ASM_RELOC_RW_MASK): Define.
- (pa_cannot_force_const_mem): Revert previous change.
-
-2015-02-19 Martin Jambor <mjmabor@suse.cz>
- Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65028
- * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
- across jump functions.
-
-2015-02-19 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
-
-2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
-
-2015-02-19 Richard Henderson <rth@redhat.com>
-
- PR middle-end/65074
- * varasm.c (default_binds_local_p_2): Don't test node->definition;
- test DECL_EXTERNAL independent of symtab_node.
-
-2015-02-19 Jakub Jelinek <jakub@redhat.com>
-
- PR lto/65012
- * varpool.c (varpool_node::get_constructor): Return early
- if this->lto_file_data is NULL.
-
-2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
- (rank_for_schedule_debug): Update.
- (ready_sort): Make static. Move sorting logic to ...
- (ready_sort_debug, ready_sort_real): New static functions.
- (schedule_block): Sort both debug insns and real insns in preparation
- for ready list trimming. Improve debug output.
- * sched-int.h (ready_sort): Remove global declaration.
-
-2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
-
- * ipa-icf.c (sem_function::equals_private): Adjust.
- (sem_function::bb_dict_test): Take a vec<int> * instead of
- auto_vec<int>.
- * ipa-icf.h (bb_dict_test): Likewise.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR gcov-profile/64634
- * tree-eh.c (frob_into_branch_around): Fix up typos
- in function comment.
- (lower_catch): Put eh_seq resulting from EH lowering of
- the cleanup sequence after the cleanup rather than before it.
-
-2015-02-18 Tom de Vries <tom@codesourcery.com>
-
- * common.opt (fstdarg-opt): New option.
- * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
- * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
- (@item -fstdarg-opt): New item.
-
-2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/65064
- * config/ia64/predicates.md (sdata_symbolic_operand): Return false
- for common symbols.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- * config/i386/t-intelmic (mkoffload.o): Remove dependency on
- insn-modes.h.
- (ALL_HOST_OBJS): Add mkoffload.o.
- * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
-
-2015-02-18 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
- (compare_virtual_tables): Be smarter about skipping typeinfos;
- do sane output on virtual table table mismatch.
- (warn_odr): Be ready for forward declarations of enums;
- output sane info on base mismatch and virtual table mismatch.
- (add_type_duplicate): Fix code choosing prevailing type; do not ICE
- when only one type is polymorphic.
- (get_odr_type): Fix hashtable corruption.
- (dump_odr_type): Dump mangled names.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65063
- * tree-predcom.c (determine_unroll_factor): Return 1 if we
- have replaced looparound PHIs.
-
-2015-02-18 Martin Liska <mliska@suse.cz>
-
- * lto-streamer.c (lto_streamer_init): Encapsulate
- streamer_check_handled_ts_structures with checking macro.
-
-2015-02-18 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65087
- * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
- section if !implicit_section.
- (cgraph_node::create_version_clone_with_body): Likewise.
- * trans-mem.c (ipa_tm_create_version): Likewise.
-
-2015-02-18 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/62217
- * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
- into BIVs.
-
-2015-02-18 Marek Polacek <polacek@redhat.com>
-
- PR sanitizer/65081
- * ubsan.c (OBJSZ_MAX_OFFSET): Define.
- (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
- is in range [-16K, -1]. Don't issue run-time error if
- (ptr > ptr + offset).
-
-2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
-
- * doc/install.texi (nvptx-*-none): New section.
- * doc/invoke.texi (Nvidia PTX Options): Likewise.
- * config/nvptx/nvptx.opt: Update.
-
- * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
- (access_check): New functions, copied from
- config/i386/intelmic-mkoffload.c.
- (main): For non-installed testing, look in all COMPILER_PATHs for
- GCC_INSTALL_NAME.
-
- * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
-
-2015-02-18 Andrew Pinski <apinski@cavium.com>
- Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
- Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
-
-2015-02-17 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-visibility.c (function_and_variable_visibility): Only
- check locality if node is not already local.
- * ipa-inline.c (want_inline_function_to_all_callers_p): Use
- call_for_symbol_and_aliases instead of
- call_for_symbol_thunks_and_aliases.
- (ipa_inline): Likewise.
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
- first walk aliases.
- * ipa.c (symbol_table::remove_unreachable_nodes): Use
- call_for_symbol_and_aliases.
- * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
- (ipa_propagate_frequency_1): Use it; use opt_for_fn
- (ipa_propagate_frequency): Update.
- (ipa_profile): Add opt_for_fn gueards.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
- * doc/invoke.texi (SH options): Document it.
- * config/sh/sh.c (sh_insn_length_adjustment): Check
- TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
-
-2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
-
- * common.opt (fipa-cp-alignment): New.
- * ipa-cp.c (ipcp_store_alignment_results): Check
- flag_ipa_cp_alignment.
- * opts.c (default_options_table): Enable -fipa-cp-alignment for
- -O2.
- (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
- * doc/invoke.texi: Document -fipa-cp-alignment.
-
-2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64793
- * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
- to nil. Adjust comments.
-
-2015-02-17 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-visibility.c (function_and_variable_visibility): Only
- check locality if node is not already local.
- * ipa-inline.c (want_inline_function_to_all_callers_p): Use
- call_for_symbol_and_aliases instead of
- call_for_symbol_thunks_and_aliases.
- (ipa_inline): Likewise.
- * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
- first walk aliases.
- * ipa.c (symbol_table::remove_unreachable_nodes): Use
- call_for_symbol_and_aliases.
- * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
- (ipa_propagate_frequency_1): Use it; use opt_for_fn
- (ipa_propagate_frequency): Update.
- (ipa_profile): Add opt_for_fn guards.
-
-2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/mkoffload.c (parse_file): Fix logic error in
- skipping of "strange" tokens.
-
-2015-02-17 Jeff Law <law@redhat.com>
-
- * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
- obsolete comment.
-
-2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
-
- * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
- as forcing a HARD_DEP between instructions, thereby
- disallowing rewriting to break dependencies.
-
-2015-02-16 Jan Hubicka <hubicka@ucw.cz>
-
- * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
- * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
- variables in boundary that have no inlitalizer encoded and are
- not aliases.
- * varasm.c (default_binds_local_p_2): External definitions do not
- count as definitions here.
-
-2015-02-16 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * tree-vrp.c (identify_jump_threads): Handle blocks with no real
- statements.
- * tree-ssa-threadedge.c (potentially_threadable_block): Allow
- threading through blocks with PHIs, but no statements.
- (thread_through_normal_block): Distinguish between blocks where
- we did not process all the statements and blocks with no statements.
-
-2015-02-16 Jakub Jelinek <jakub@redhat.com>
- James Greenhalgh <james.greenhalgh@arm.com>
-
- PR ipa/64963
- * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
- section if not linkonce. Fix up formatting.
- (cgraph_node::create_version_clone_with_body): Copy section.
- * trans-mem.c (ipa_tm_create_version): Likewise.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/65077
- * tree-ssa-structalias.c (get_constraint_for_1): Handle
- IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
- (find_func_aliases): Allow float values to carry pointers again.
-
-2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/install.texi (Specific): Reorder targets list to put
- aarch64 in alphabetical order. Add a link to aarch64*-*-*
- from the top menu.
-
-2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
- David Edelsohn <dje.gcc@gmail.com>
-
- PR target/65058
- * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
- mapping class to external variable or function reference.
- * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
- mapping class.
-
-2015-02-16 David Eelsohn <dje.gcc@gmail.com>
-
- PR target/53348
- * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
- ASM_WEAKEN_DECL if defined.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * varasm.c (default_file_start): For LTO produced units
- emit <artificial> as file directive.
-
-2015-02-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/63593
- * tree-predcom.c (execute_pred_commoning_chain): Delay removing
- stmts and releasing SSA names until...
- (execute_pred_commoning): ... after processing all chains.
-
-2015-02-16 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65059
- * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
- external functions.
-
-2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/bugreport.texi: Adjust section titles throughout the file
- to use "Title Case".
- * doc/extend.texi: Likewise.
- * doc/gcov.texi: Likewise.
- * doc/implement-c.texi: Likewise.
- * doc/implement-cxx.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/objc.texi: Likewise.
- * doc/standards.texi: Likewise.
- * doc/trouble.texi: Likewise.
-
-2015-02-15 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.h (symtab_node::has_aliases_p): Simplify.
- (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
- * tree.c (lookup_binfo_at_offset): Make static.
- (get_binfo_at_offset): Do not shadow offset; add explanatory
- comment.
-
-2015-02-15 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
- for all floading point loads and stores except those using a register
- index address.
- * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
- to a register.
-
-2015-02-14 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (growth_data): Add uninlinable field.
- (do_estimate_growth_1): Record if any uninlinable edge was seen.
- (estimate_growth): Handle uninlinable edges correctly.
- (check_callers): New.
- (growth_likely_positive): Handle aliases correctly.
-
-2015-02-14 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-chkp.c: Use iterate_direct_aliases.
- * symtab.c (resolution_used_from_other_file_p): Move inline.
- (symtab_node::create_reference): Fix formating.
- (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
- (symtab_node::iterate_reference): Move inline.
- (symtab_node::iterate_referring): Move inline.
- (symtab_node::iterate_direct_aliases): Move inline.
- (symtab_node::used_from_object_file_p_worker): Inline into ...
- (symtab_node::used_from_object_file_p): ... this one; move inline.
- (symtab_node::call_for_symbol_and_aliases): Move inline;
- use iterate_direct_aliases.
- (symtab_node::call_for_symbol_and_aliases_1): New method.
- (cgraph_node::call_for_symbol_and_aliases): Move inline;
- use iterate_direct_aliases.
- (cgraph_node::call_for_symbol_and_aliases_1): New method.
- (varpool_node::call_for_node_and_aliases): Rename to ...
- (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
- use iterate_direct_aliases.
- (varpool_node::call_for_symbol_and_aliases_1): New method.
- * ipa.c (ipa_single_use): Use iterate_direct_aliases.
- (ipa_discover_readonly_nonaddressable_var): Update.
- * ipa-devirt.c: Fix formating.
- * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
- Move inline.
- (cgraph_node::call_for_symbol_and_aliases): Move inline.
- (cgraph_node::call_for_symbol_and_aliases_1): New function..
- * cgraph.h (used_from_object_file_p_worker): Remove.
- (resolution_used_from_other_file_p): Move inline.
- (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
- (symtab_node::iterate_reference): Move inline.
- (symtab_node::iterate_referring): Move inline.
- (symtab_node::iterate_direct_aliases): Move inline.
- (symtab_node::used_from_object_file_p_worker): Inline into ...
- (symtab_node::used_from_object_file_p): Move inline.
- * tree-emutls.c (ipa_lower_emutls): Update.
- * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
- (varpool_node::call_for_node_and_aliases): Remove.
-
-2015-02-14 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/62209
- * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
- op == range->exp, insert seq and gimplified code after labels
- instead of after the phi.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR bootstrap/65060
- Revert my change for tree-optimization/64823.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/65053
- * tree-ssa-phiopt.c (value_replacement): When moving assign before
- cond, either reset VR on lhs or set it to phi result VR.
-
-2015-02-13 Jeff Law <law@redhat.com>
-
- PR tree-optimization/64823
- * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
- * tree-ssa-threadedge.c (potentially_threadable_block): Allow
- threading through blocks with PHIs, but no statements.
- (thread_through_normal_block): Distinguish between blocks where
- we did not process all the statements and blocks with no statements.
-
- PR rtl-optimization/47477
- * match.pd (convert (plus/minus (convert @0) (convert @1): New
- simplifier to narrow arithmetic.
-
-2015-02-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65028
- * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
- polymorphic call info when type is not known to be preserved.
-
-2015-02-13 Maritn Jambor <mjambor@suse.cz>
-
- PR ipa/65028
- * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
- (inline_call): Use it.
-
-2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
- GOMP_DEVICE_NVIDIA_PTX.
-
-2015-02-13 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/65034
- * stmt.c (emit_case_nodes): Use void_type_node instead of
- NULL_TREE as LABEL_DECL type.
-
-2015-02-13 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/constraints.md: Change "Q" and "T" constraints to memory
- constraints.
- * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
- symbolic references to data to be forced to constant memory on the
- SOM target.
-
-2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/65002
- * tree-cfg.c (pass_data_fixup_cfg): Don't update
- SSA on start.
- * tree-sra.c (some_callers_have_no_vuse_p): New.
- (ipa_early_sra): Reject functions whose callers
- assume function is read only.
-
-2015-02-13 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
- for LTO produced CUs.
-
-2015-02-13 Bin Cheng <bin.cheng@arm.com>
-
- PR tree-optimization/64705
- * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
- * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
- * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
- (find_bivs, find_givs_in_stmt_scev): Pass new argument to
- expand_simple_operations.
-
-2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
- Richard Henderson <rth@redhat.com>
-
- PR rtl/32219
- * cgraphunit.c (cgraph_node::finalize_function): Set definition
- before notice_global_symbol.
- (varpool_node::finalize_decl): Likewise.
- * varasm.c (default_binds_local_p_2): Rename from
- default_binds_local_p_1, add weak_dominate argument. Use direct
- returns instead of assigning to local variable. Unify varpool and
- cgraph paths via symtab_node. Reject undef weak variables before
- testing visibility. Reorder tests for simplicity.
- (default_binds_local_p): Use default_binds_local_p_2.
- (default_binds_local_p_1): Likewise.
- (decl_binds_to_current_def_p): Unify varpool and cgraph paths
- via symtab_node.
- (default_elf_asm_output_external): Emit visibility when specified.
-
-2015-02-13 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
- code setting up r11 for out-of-line fp restore.
-
-2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
- (muser-mode): Likewise.
-
-2015-02-13 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
- or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
-
-2015-02-12 David Howells <dhowells@redhat.com>
-
- * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
- warning.
- * tree-ssa-uninit.c (dump_predicates): Likewise.
- * opts.c (print_filtered_help): Likewise.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (output_die): Use "%s", name instead of name to
- avoid -Wformat-security warning.
-
- * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
- if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
- * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
- only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
-
-2015-02-12 Jason Merrill <jason@redhat.com>
-
- * common.opt (-flifetime-dse): New.
-
-2015-02-12 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65019
- * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
-
- PR tree-optimization/65014
- * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
- use original second operand of arg0 or arg1 instead of
- that adjusted by STRIP_NOPS.
-
-2015-02-11 Jeff Law <law@redhat.com>
-
- PR target/63347
- * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
- that needs to be queued, just queue it for a single cycle.
-
-2015-02-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
- bodies of thunks; comment on why.
- * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
- symbols are extern.
-
-2015-02-11 Richard Henderson <rth@redhat.com>
-
- PR sanitize/65000
- * tree-eh.c (mark_reachable_handlers): Mark source and destination
- regions of __builtin_eh_copy_values.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/65003
- * varasm.c (place_block_symbol): Assert that DECL_RTL of the
- ultimate alias is MEM with SYMBOL_REF satisfying
- SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
- to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
-
-2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
-
- * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
- "diagnostic-core.h".
- (main): Initialize progname, and call diagnostic_initialize.
-
- * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
- instead of __OPENMP_TARGET__.
-
- * config/nvptx/mkoffload.c: Include "gomp-constants.h".
- (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
- hard-coding PTX_ID.
-
-2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
-
- * doc/sourcebuild.texi (pie_enabled): Document.
-
-2015-02-11 Martin Liska <mliska@suse.cz>
-
- PR ipa/64813
- * cgraphunit.c (cgraph_node::expand_thunk): Do not create
- a return value for call to a function that is noreturn.
-
-2015-02-11 Richard Biener <rguenther@suse.de>
-
- PR lto/65015
- * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
- and -fresolution.
-
-2015-02-11 Andrew Pinski <apinski@cavium.com>
-
- PR target/64893
- * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
- Change the first argument type to size_type_node and add another
- size_type_node.
- (aarch64_simd_expand_builtin): Handle the new argument to
- AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
- print an out when the first two arguments are not
- nonzero integer constants.
- * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
- Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
-
-2015-02-11 Jakub Jelinek <jakub@redhat.com>
-
- PR target/61925
- * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
- (ix86_reset_previous_fndecl): Restore it here, unconditionally.
- (ix86_set_current_function): Rewritten.
- (ix86_add_new_builtins): Temporarily clear current_target_pragma
- when creating builtin fndecls.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/65005
- * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
- function.
- * symtab.c (symtab_node::verify_base): Remove check that non-definitions
- have no comdat group.
- * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
- (lto_output_varpool_node): Always output alias info.
- (output_refs): Output refs of boundary aliases, too.
- (compute_ltrans_boundary): Add alias and thunk target into boundaries.
- (output_symtab): Output call eges in thunks in boundary.
- (get_alias_symbol): Remove.
- (input_node, input_varpool_node): Do not special case weakrefs.
- * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
- alias and thunks targets in the boundary; do not take removed symbols
- from their comdat groups.
- * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
- (cgraph_node::global_info): Remove.
- (cgraph_node::rtl_info): Look through aliases and thunks.
- * cgrpah.h (global_info): Remove.
- (non_local_p): Remove.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
- to inline asm. List dialects in proper order.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
- Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
-
-2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
-
- * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
- modified) reference to Solaris.
-
-2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Extended Asm): Fix typos.
-
-2015-02-10 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/65004
- * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
-
-2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64661
- * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
- TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
- TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
- * config/sh/constraints.md (Ara, Add): New constraints.
- * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
- predicates.
- (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
- atomic_mem_operand_0. Don't use force_reg on the memory address.
- (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
- Sra constraint. Convert to insn_and_split. Add workaround for
- PR 64974.
- (atomic_compare_and_swap<mode>_hard): Copy to
- atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_0 predicate.
- (atomic_compare_and_swap<mode>_soft_gusa,
- atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
- AraAdd constraints.
- (atomic_compare_and_swap<mode>_soft_tcb,
- atomic_compare_and_swap<mode>_soft_imask,
- atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
- atomic_mem_operand_0 predicate and SraSdd constraints.
- (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
- constraint.
- (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
- (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
- atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
- force_reg on the memory address.
- (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
- atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
- atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
- atomic_mem_operand_1 predicate and Sra constraint.
- (atomic_fetch_<fetchop_name><mode>_hard): Copy to
- atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_<fetchop_name><mode>_hard): Copy to
- atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
- insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
- atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
- Use atomic_mem_operand_1 predicate.
- (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
- Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
- (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
- in generated insn with original mem operand before emitting the insn.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa,
- atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
- atomic_<fetchop_name>_fetch<mode>_soft_gusa,
- atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
- Use atomic_mem_operand_1 predicate and AraAdd constraints.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb,
- atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
- atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
- atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
- atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
- atomic_<fetchop_name>_fetch<mode>_soft_tcb,
- atomic_not_fetch<mode>_soft_tcb,
- atomic_<fetchop_name>_fetch<mode>_soft_imask,
- atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
- atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
- Use atomic_mem_operand_1 predicate and SraSdd constraints.
-
-2015-02-10 Uros Bizjak <ubizjak@gmail.com>
-
- * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
- and 3 earlyclobber operands.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- * common.opt (fstack-reuse): Mark as optimization.
-
-2015-02-10 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64982
- * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
-
-2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
-
- PR tree-optimization/64326
- * cfghooks.c (make_forwarder_block): Cap frequency of created block.
-
-2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
-
- PR gcov-profile/61889
- * gcov-tool.c: Remove wrong #if !defined(_WIN32)
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64995
- * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
- value we use is final.
- (visit_reference_op_store): Always valueize op.
- (visit_use): Properly valueize vuses.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64909
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
- pass a scalar-stmt count estimate to the cost model.
- * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
-
-2015-02-10 Alexander Monakov <amonakov@ispras.ru>
-
- * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
- enabled by default together with var-tracking.
-
-2015-02-10 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c: Remove DIV attribute code accidentally
- included in previous rl78 commit.
-
-2015-02-10 Richard Biener <rguenther@suse.de>
-
- * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
- * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
- return the bitpack.
-
-2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
-
- PR gcov-profile/61889
- * config.in: regenerate.
- * configure.in: Likewise.
- * configure.ac: Check for ftw.h.
- * gcov-tool.c: Check for ftw.h before using nftw.
-
-2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
-
- PR lto/64076
- * ipa-visibility.c (update_visibility_by_resolution_info): Only
- assert when not in lto mode.
-
-2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
-
- * ira-color.c (setup_left_conflict_sizes_p): Simplify
- initialization/assignment of conflict_size.
-
-2015-02-09 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64978
- * ipa-cp.c (gather_caller_stats): Skip thunks.
- (propagate_constants_topo): Skip aliases.
-
-2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * config/sh/sh.c (sh_option_override): Don't change
- -freorder-blocks-and-partition to -freorder-blocks even when
- unwinding is enabled.
- (sh_can_follow_jump): Return false if the followee jump is
- a crossing jump when -freorder-blocks-and-partition is specified.
- * config/sh/sh.md (*jump_compact_crossing): New insn.
-
-2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
- Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
- * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
- (sh_can_redirect_branch): Rename to ...
- (sh_can_follow_jump): ... this. Constify argument types.
- * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
- * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
- * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
- * doc/tm.texi: Regenerate.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR sanitizer/64981
- * builtins.c (expand_builtin): Call targetm.expand_builtin
- for BUILT_IN_MD builtins regardless of asan_intercepted_p.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-icf.c (set_local): New function.
- (sem_function::merge): Use it.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
- (add_type_duplicate): Fix comparison of BINFOs.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
- on getting VOID pointer.
-
-2015-02-09 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64979
- * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
- va_list escapes.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- * genmatch.c (replace_id): Copy expr_type.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
- (streamer_write_tree_bitfields): Declare.
- * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
- properly unpack padding.
- (unpack_value_fields): Inline ...
- (streamer_read_tree_bitfields): ... here.
- * tree-streamer-out.c (pack_ts_base_value_fields): Inline
- and properly add padding bits.
- (streamer_pack_tree_bitfields): Fold into ...
- (streamer_write_tree_bitfields): ... this new function,
- exposing the bitpack object.
- * lto-streamer-out.c (lto_write_tree_1): Call
- streamer_write_tree_bitfields.
-
-2015-02-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/54000
- * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
- (struct ivopts_data): Add loop_loc member.
- (tree_ssa_iv_optimize_loop): Dump loop location.
- (create_new_ivs): Likewise, also dump number of IVs generated.
-
-2015-02-09 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
- just if not yet registered.
- (ipa_icf_generate_summary): Register callgraph hooks.
-
-2015-02-08 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (gty_dummy): Delete.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
- (cgraph_node::local_p): Remove thunk related FIXME.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * i386.c (ix86_function_regparm): Look through aliases to see if callee
- is local and optimized.
- (ix86_function_sseregparm): Likewise; also use target's SSE math
- settings; error out instead of silently generating wrong code
- on mismatches.
- (init_cumulative_args): Look through aliases.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * ipa-split.c (execute_split_functions): Split if function has aliases.
-
-2015-02-08 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63566
- * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
- aliases before trying to expand it.
- (cgraph_node::expand_thunk): Fix formating.
-
-2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi (Function Attributes [naked]): Copy-edit.
- (Using Assembly Language with C): Expand introduction.
- (Basic Asm): Copy-edit. Add more information about uses of
- basic asm.
- (Extended Asm): Copy-edit. Document new escape syntax and
- %l[label] syntax.
- (Global Reg Vars): Copy-edit.
- (Local Reg Vars): Likewise.
-
-2015-02-06 David Edelsohn <dje.gcc@gmail.com>
-
- PR debug/2714
- PR bootstrap/64256
- * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
- (DBX_CONTIN_CHAR): Define.
-
-2015-02-06 Sebastian Pop <s.pop@samsung.com>
- Brian Rzycki <b.rzycki@samsung.com>
-
- PR tree-optimization/64878
- * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
- (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
- Stop recursion at loop phi nodes after having visited a loop phi node.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- * toplev.c (process_options): Change flag_ipa_ra before creating
- optimization_{default,current}_node.
-
- PR ipa/64896
- * cgraphunit.c (cgraph_node::expand_thunk): If
- restype is not is_gimple_reg_type nor the thunk_fndecl
- returns aggregate_value_p, set restmp to a temporary variable
- instead of resdecl.
-
-2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
-
- * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
-
-2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
-
- PR target/64205
- * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
- add a general secondary reload handler for SDmode, unless we have
- both read/write support for SDmode.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64937
- * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
- Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
- or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
- 1 before, push it to abstract_vec.
- (dwarf2out_abstract_function): Adjust caller. Don't call
- set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
- DECL_ABSTRACT_P flags for all abstract_vec elts.
-
-2015-02-06 Renlin Li <renlin.li@arm.com>
-
- * tree-ssa-forwprop.c (execute): Keep location info while rewrite
- complex gimple.
- * tree-ssa.c (execute_update_addresses_taken): Likewise.
-
-2015-02-06 Jeff Law <law@redhat.com>
-
- PR target/64889
- * config/h8300/h8300.c (push): New argument "in_prologue".
- Pass "in_prologue" along to "F".
- (h8300_push_pop): Corresponding changes.
- (h8300_expand_prologue): Likewise.
- (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
-
-2015-02-06 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64957
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
- IOR rather than for AND.
-
-2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/62631
- * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
- of shift-add and (add + shift) operations. Rename local variable.
-
-2015-02-05 Jeff Law <law@redhat.com>
-
- PR target/17306
- * config/h8300/constraints.md (U): Correctly dectect
- "eightbit_data" memory addresses.
- * config/h8300/h8300.c (eightbit_constant_address_p): Also
- handle (const (plus (symbol_ref (x)))) where x is declared
- as an 8-bit data memory address.
- * config/h8300/h8300.md (call, call_value): Correctly detect
- "funcvec" functions.
-
- PR target/43264
- * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
- 24 to 28 bits for the H8/300.
-
-2015-02-06 Alan Modra <amodra@gmail.com>
-
- PR target/64876
- * config/rs6000/rs6000.c (chain_already_loaded): New function.
- (rs6000_call_aix): Use it.
-
-2015-02-05 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
- check.
-
-2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
-
- * config/h8300/constraints.md ("U" constraint): Use strict
- variant of REG_OK_FOR_BASE_P after reload has started.
-
-2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
-
- * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
- define to zero if !TARGET_NEON.
- (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
- Trevor Saunders <tsaunders@mozilla.com>
-
- PR ipa/61548
- * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
- when removing varpool nodes.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/61548
- * varpool.c (varpool_node::remove): Fix order of variables.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64686
- * ipa-inline.c (inline_small_functions): Fix ordering issue between
- speculation resolution and key updates.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
- about not letting any speculative edges unupdated.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR gcov/64123
- * gcov-io.c (gcov_var): Export.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/64922
- * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
- edges that become speculative.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
- or DW_LANG_Fortran08.
- (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
- DW_LANG_Fortran08.
- (gen_compile_unit_die): Handle "GNU Fortran2003" and
- "GNU Fortran2008" language strings.
- * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
- * langhooks.h (lang_GNU_Fortran): New prototype.
- * langhooks.c (lang_GNU_Fortran): New function.
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
- lang_GNU_Fortran.
-
-2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
- (RTX_OK_FOR_OLO10_P): Likewise.
-
-2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
-
- * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
-
-2015-02-04 Jan Hubicka <hubicka@ucw.cz>
-
- PR middle-end/64922
- * gimple.c: Include gimple-ssa.h.
- (maybe_remove_unused_call_args): New function.
- * gimple.h (maybe_remove_unused_call_args): Declare.
- * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
- * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
- * gimple-fold.c (gimple_fold_call): Likewise.
-
-2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
-
- PR rtl-optimization/64905
- * lra-eliminations.c (setup_can_eliminate): Clear hard frame
- pointer alignment if it isn't needed.
-
-2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/aarch64/aarch64-cores.def: Add cortex-a72 and
- cortex-a72.cortex-a53.
- * config/aarch64/aarch64-tune.md: Regenerate.
- * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
-
-2015-02-04 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
- inside a MEM.
-
-2015-02-04 Jakub Jelinek <jakub@redhat.com>
-
- * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
- (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
- (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
- of DEF_BUILTIN.
- (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
- BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
- DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
- (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
- BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
- BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
- DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
- * tree-core.h (enum built_in_function): In between
- BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
- for builtins that use DEF_BUILTIN_CHKP macro.
-
-2015-02-04 Alexandre Oliva <aoliva@redhat.com>
-
- PR debug/64817
- * cfgexpand.c (expand_debug_expr): Compute unsignedp from
- operands for tcc_comparison exprs. Fix typos.
-
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Simplify one
- of two XORs that have an intervening AND or IOR.
-
- PR debug/64817
- * simplify-rtx.c (simplify_binary_operation_1): Rewrite
- simplification of XOR of AND to not allocate new rtx before
- committing to a simplification.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
- manual swaps in all peepholes.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
- of manual swapping implementation.
- (aarch64_expand_vec_perm_const_1): Likewise.
-
-2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
- (generic_addrcost_table): Remove NAMED_PARAM.
- (cortexa57_addrcost_table): Likewise.
- (xgene1_addrcost_table): Likewise.
- (generic_regmove_table): Likewise.
- (cortexa53_regmove_table): Likewise.
- (xgene1_regmove_table): Likewise.
- (generic_vector_table): Likewise.
- (cortexa57_vector_table): Likewise.
- (xgene1_vector_table): Likewise.
- (generic_tunings): Likewise.
- (cortexa53_tunings): Likewise.
- (cortexa57_tunings): Likewise.
- (xgene1_tunings): Likewise.
-
-2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
-
- * config/arm/arm-cores.def: Add cortex-a72 and
- cortex-a72.cortex-a53.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
- * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
- "cortex-a72.cortex-a53".
- * doc/invoke.texi (ARM Options/-mtune): Likewise.
-
-2015-02-04 Nick Clifton <nickc@redhat.com>
-
- PR target/64408
- * config/fr30/predicates.md (di_operand): Add SUBREG to the list
- of accepted codes.
- (nonimmediate_di_operand): Likewise.
-
- * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
- prefixes of known F5 using MSP430 MCUs.
-
-2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
- * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
- instead of __builtin_sqrt.
-
-2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * varasm.c (do_assemble_alias): Follow transparent alias
- chain for target.
- (default_assemble_visibility): Follow transparent alias
- chain for decl name.
-
-2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR middle-end/62103
- * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
- to compute size of referenced value in the constant case.
-
-2015-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64756
- * cse.c (invalidate_dest): New function.
- (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
- HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
- invalidate and do not record it.
-
-2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64660
- * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
- atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
- atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
- atomic_nand<mode>_soft_tcb): New insns.
- (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
- (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
- Split into atomic_not_fetchsi_hard if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
- (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
- atomic_not<mode>_hard if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
- insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
- if operands[0] is unused.
- (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
- into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
- unused.
- (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_not<mode>_soft_tcb if operands[0] is unused.
- (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
- insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
- if operands[0] is unused.
- (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
- into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
- (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
- atomic_nand_fetchsi_hard if operands[0] is unused.
- (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
- atomic_nand<mode>_hard if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
- into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_nand<mode>_soft_tcb if operands[0] is unused.
- (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
- into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
- (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
- (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
- atomic_not<mode>_hard if operands[0] is unused.
- (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
- Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
- unused.
- (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_not<mode>_soft_tcb if operands[0] is unused.
- (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
- atomic_nand<mode>_hard if operands[0] is unused.
- (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
- into atomic_nand<mode>_soft_tcb if operands[0] is unused.
-
-2015-02-03 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64810
- * Makefile.in (GCC_OBJS): Add gcc-main.o.
- * gcc-main.c: New file, containing "main" taken from gcc.c.
- * gcc.c (do_self_spec): Free decoded_options.
- (class driver): Move declaration to gcc.h.
- (main): Move declaration and implementation to new file
- gcc-main.c.
- (driver_get_configure_time_options): New function.
- * gcc.h (class driver): Move this declaration here, from
- gcc.c.
- (driver_get_configure_time_options): New declaration.
-
-2015-02-03 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline-analysis.c (simple_edge_hints): Fix check for
- cross-module inlining.
- * cgraph.h (cgraph_node): Add flag merged.
- * ipa-icf.c (sem_function::merge): Maintain it.
-
-2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
- instead of OBJECT_P.
-
-2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
-
- PR target/62631
- * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
- (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
- * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
- int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
-
-2015-02-03 Jakub Jelinek <jakub@redhat.com>
-
- PR other/63504
- * combine.c (reg_n_sets_max): New variable.
- (can_change_dest_mode, reg_nonzero_bits_for_combine,
- reg_num_sign_bit_copies_for_combine, get_last_value_validate,
- get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
- (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
- (rest_of_handle_combine): Initialize reg_n_sets_max.
-
-2015-02-02 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
- if some always_inline was inlined, apply changes before inlining
- heuristically.
-
-2015-02-02 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64810
- * config/arm/arm.c (arm_option_override): Set
- arm_selected_arch/cpu/tune to NULL on entry.
-
-2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
- Andrew Pinski <pinskia@gcc.gnu.org>
- Jakub Jelinek <jakub@gcc.gnu.org>
-
- PR target/64231
- * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
- integer typing for small model. Use IN_RANGE.
-
-2015-02-02 Richard Biener <rguenther@suse.de>
-
- * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
- * tree-vrp.c (vrp_valueize_1): Likewise.
-
-2015-02-02 Alan Modra <amodra@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
- than mem for toc_restore.
- * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
- (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
- (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
-
-2015-02-01 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/64047
- * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
- explicit default options.
-
-2015-02-01 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64872
- * ipa-utils.c (ipa_merge_profiles): Add release argument.
- * ipa-icf.c (sem_function::merge): Do not release body when merging.
- * ipa-utils.h (ipa_merge_profiles): Update prototype.
-
-2015-02-01 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64817
- * cfgexpand.c (deep_ter_debug_map): New variable.
- (avoid_deep_ter_for_debug): New function.
- (expand_debug_expr): If TERed SSA_NAME is in
- deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
- instead of trying to expand SSA_NAME's def stmt.
- (expand_debug_locations): When expanding debug bind
- of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
- temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
- value.
- (pass_expand::execute): Call avoid_deep_ter_for_debug on
- all debug bind stmts. Delete deep_ter_debug_map after
- expand_debug_location if non-NULL and clear it.
-
-2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64851
- * config/sh/sync.md (atomic_fetch_notsi_hard,
- atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
- atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
- atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
- atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
- atomic_not_fetch<mode>_soft_imask): New insns.
-
-2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
- (rank_for_schedule_debug): Split from ...
- (rank_for_schedule): ... this.
- (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
- * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
-
-2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/md.texi (Machine Constraints): Alphabetize table by target.
- * doc/extend.texi (x86 Variable Attributes): Move section to
- correct alphabetization after renaming.
- (x86 Type Attributes): Likewise.
- (Target Builtins): Re-alphabetize menu.
- (x86 Built-in Functions): Move section to correct alphabetization
- after renaming.
- (x86 transactional memory intrinsics): Likewise.
- * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
- and x86 Windows Options in table and menu.
- (x86 Options): Move section to correct alphabetization after
- renaming.
- (x86 Windows Options): Likewise.
-
-2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
- preferred names of the architecture and its 32- and 64-bit
- variants.
- * doc/invoke.texi: Likewise.
- * doc/md.texi: Likewise.
-
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64882
- * config/i386/predicates.md (address_no_seg_operand): Reject
- non-CONST_INT_P operands in invalid mode.
-
-2015-01-31 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
- address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
- * config/i386/predicates.md (address_no_seg_operand): Call
- address_operand with VOIDmode.
- (vsib_address_operand): Ditto.
- (address_mpx_no_base_operand): Ditto.
- (address_mpx_no_index_operand): Ditto.
-
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64688
- * lra-constraints.c (original_subreg_reg_mode): New.
- (simplify_operand_subreg): Try to simplify subreg of const. Use
- original_subreg_reg_mode for it.
- (swap_operands): Update original_subreg_reg_mode.
- (curr_insn_transform): Set up original_subreg_reg_mode.
-
-2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64617
- * lra-constraints.c (prohibited_class_reg_set_mode_p): New
- function.
- (process_alt_operands): Use it.
- (curr_insn_transform): Check the optional reload pseudo class is
- ok for the mode.
-
-2015-01-30 Joseph Myers <joseph@codesourcery.com>
-
- * diagnostic.c (fatal_error (const char *, ...)): Remove function.
- * diagnostic-core.h (fatal_error (const char *, ...)): Remove
- prototype.
- * toplev.h (init_asm_output): Update comment on use of
- UNKNOWN_LOCATION with fatal_error.
- * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
- config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
- config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
- config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
- config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
- config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
- config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
- ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
- lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
- lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
- tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
- fatal_error changed to pass input_location as first argument.
-
-2015-01-30 Martin Liska <mliska@suse.cz>
-
- * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
- in #pragma GCC diagnostic guards.
-
-2015-01-30 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64829
- * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
- not add a widening conversion pattern but hand off extra
- widenings to callers.
- (vect_recog_widen_mult_pattern): Handle extra widening produced
- by vect_handle_widen_op_by_const.
- (vect_recog_widen_shift_pattern): Likewise.
- (vect_pattern_recog_1): Remove excess vertical space in dumping.
- * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
- (vect_init_vector_1): Likewise.
- (vect_get_vec_def_for_operand): Likewise.
- (vect_finish_stmt_generation): Likewise.
- (vectorizable_load): Likewise.
- (vect_analyze_stmt): Likewise.
- (vect_is_simple_use): Likewise.
-
-2015-01-29 Jeff Law <law@redhat.com>
-
- * combine.c (try_combine): Fix typo in comment.
-
-2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR target/64580
- * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
- (rs6000_stack_info): Add assert.
- (rs6000_output_savres_externs): New function, split off from...
- (rs6000_output_function_prologue): ... here. Do not call it for
- thunks.
-
-2015-01-29 Jeff Law <law@redhat.com>
-
- PR target/15184
- * combine.c (try_combine): If I0 is a memory load and I3 a store
- to a related address, increase the "goodness" of doing a 4-insn
- combination with I0-I3.
- (make_field_assignment): Handle SUBREGs in the ior+and case.
-
-2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64746
- * tree-if-conv.c (mask_exists): New function.
- (predicate_mem_writes): Save created mask with given size for further
- use.
- (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
- (ifcvt_repair_bool_pattern): Collect all statements that are root
- of bool pattern and use iterative algorithm to remove multiple uses
- of predicates, display number of required iterations.
-
-2015-01-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64853
- * tree-vrp.c (vrp_valueize_1): Do not return anything if the
- stmt will get simulated again.
- * tree-ssa-ccp.c (valueize_op_1): Likewise.
-
-2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
- return_in_pc. Remove redundant assignments.
- (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
- (arm_expand_epilogue): Don't compare boolean with true in if condition.
-
-2015-01-29 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (ix86_mode_after): Make static.
-
-2015-01-29 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64844
- * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
- dump cost model analysis.
- * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
- Do not register adjusted load/store costs here.
-
-2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
- * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
- using x86_use_pseudo_pic_reg.
- * config/i386/i386.c (ix86_conditional_register_usage): Remove
- support for fixed PIC register.
- (ix86_use_pseudo_pic_reg): Not static any more.
-
-2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64805
- * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
- to avoid error in cgraph node verification.
-
-2015-01-29 Marek Polacek <polacek@redhat.com>
-
- * doc/standards.texi: Reflect that the default for C is gnu11.
-
-2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
-
- PR target/64761
- * reorg.c (switch_text_sections_between_p): New function.
- (relax_delay_slots): Call it when testing if the jump insn
- is removable. Use targetm.can_follow_jump when testing if
- the conditional branch can follow an unconditional jump.
-
-2015-01-27 Caroline Tice <cmtice@google.com>
-
- Committing VTV Cywin/Ming patch for Patrick Wollgast
- * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
- * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
- * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
- * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
- if -fvtable-verify=preinit/std is used.
- * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
- * config/i386/mingw32.h (LIB_SPEC): Likewise.
- * varasm.c (assemble_variable): Add code to properly set the comdat
- section and name for the .vtable_map_vars section in case the
- target is PE or COFF.
-
-2015-01-29 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64801
- * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
- make sane BB profile.
- (cgraph_node::expand_thunk): Make sane BB profile.
- (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
- * cgraph.h (init_lowered_empty_function): Update prototype.
- * config/i386/i386.c (make_resolver_func): Update call.
- * predict.c (gate): Disable branch prediction pass if
- profile is already there.
-
-2015-01-29 Jan Hubicka <hubicka@ucw.cz>
-
- * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
- * opth-gen.awk: Likewise.
- * common.opt: Mark flag_fp_contract_mode as Optimization.
-
-2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
- * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
-
-2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64659
- * config/sh/predicates.md (atomic_arith_operand,
- atomic_logical_operand): Remove.
- * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
- (atomic_arith_operand_0): New predicate.
- (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
- Use atomic_arith_operand_0 for input values.
- (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
- atomic_compare_and_swap<mode>_soft_gusa,
- atomic_compare_and_swap<mode>_soft_tcb,
- atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
- atomic_arith_operand_0 for newval input.
- (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
- atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
- atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
- fetchop_predicate_1, fetchop_constraint_1_llcs,
- fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
- fetchop_constraint_1_imask): New code iterator attributes.
- (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1.
- (atomic_fetch_<fetchop_name>si_hard,
- atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
- (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_gusa.
- (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
- to allow R0 usage.
- (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
- and arith_reg_operand instead of register_operand. Use
- fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
- to allow R0 usage.
- (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
- register_operand. Use atomic_logical_operand_1.
- (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
- atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
- Use arith_reg_dest and arith_reg_operand instead of register_operand.
- Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
- (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
- register_operand. Use fetchop_predicate_1.
- (atomic_<fetchop_name>_fetchsi_hard,
- atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_llcs.
- (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_gusa.
- (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
- (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
- fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
- (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
- register_operand. Use atomic_logical_operand_1.
- (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
- atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
- arith_reg_operand instead of register_operand.
- (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use logical_operand
- and K08. Adjust asm sequence to allow R0 usage.
- (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
- arith_reg_operand instead of register_operand. Use logical_operand
- and K08.
-
-2015-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR other/63504
- * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
- Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
- (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
- only get_full_len HOST_WIDE_INTs from get_val () array rather than
- all bits in *val_wide.
-
-2015-01-28 Jan Hubicka <hubicka@ucw.cz>
-
- * varpool.c (tls_model_names): Fix names.
- (varpool_node::dump): Dump tls- prefix for tls models.
-
-2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
- Nathan Sidwell <nathan@codesourcery.com>
-
- * config/nvptx/mkoffload.c: New file.
- * config/nvptx/t-nvptx: Add build rules for it.
- * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
- (extra_programs): Add mkoffload.
- * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
- function.
- (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
-
-2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR middle-end/64809
- * cfgexpand.c (reorder_operands): Skip debug gimples.
-
-2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR tree-optimization/64277
- * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
- range info when possible to refine estimation.
-
-2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/64718
- * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
- be a 16bit unsigned integer when n->range is 16.
- (bswap_replace): Convert src to that type if necessary for all bswap
- sizes. Fix rotation right notation in nearby comment. Use bswap_type
- set in pass_optimize_bswap::execute ().
-
-2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
- * config/aarch64/aarch64-simd-builtins.def (abs): Split by
- integer and floating point variants.
- * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
-
-2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
- for all vector modes.
-
-2015-01-28 Jakub Jelinek <jakub@redhat.com>
-
- PR bootstrap/64612
- * doc/sourcebuild.texi (comdat_group): Document.
-
-2015-01-28 Terry Guo <terry.guo@arm.com>
-
- * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
-
-2015-01-27 David Malcolm <dmalcolm@redhat.com>
-
- * toplev.c (print_version): Add param "show_global_state", and
- only print GGC and plugin information if it is true.
- (init_asm_output): Pass in "true" for the new param when calling
- print_version.
- (process_options): Likewise.
- (toplev::main): Likewise.
- * toplev.h (print_version): Add new param to decl.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/60871
- PR ipa/64139
- * tree.c (lookup_binfo_at_offset): New function.
- (get_binfo_at_offset): Use it.
-
-2015-01-27 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64282
- * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
- on vtable being vtable.
-
-2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
-
- * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
- * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
- -mhotpatch= option.
- * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
- -mno-hotpatch options. Change syntax of -mhotpatch= option.
- * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
- Renamed.
- (s390_hotpatch_trampoline_halfwords_max): Renamed.
- (s390_hotpatch_hw_max): New name.
- (s390_hotpatch_trampoline_halfwords): Renamed.
- (s390_hotpatch_hw_before_label): New name.
- (get_hotpatch_attribute): Removed.
- (s390_hotpatch_hw_after_label): New name.
- (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
- attribute.
- (s390_attribute_table): Ditto.
- (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
- (s390_function_num_hotpatch_hw): New name.
- Remove special handling of inline functions and hotpatching.
- Return number of nops before and after the function label.
- (s390_can_inline_p): Removed.
- (s390_asm_output_function_label): Emit a configurable number of nops
- after the function label.
- (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
- (TARGET_CAN_INLINE_P) Removed.
- (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
-
-2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
- Jiong Wang <jiong.wang@arm.com>
-
- * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
- of scratch reg.
- (cb<optab><mode>1): Likewise.
- * config/aarch64/iterators.md (bcond): New define_code_attr.
-
-2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_memory_move_cost): Increase costs for
- memory accesses.
-
-2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.c (s390_register_move_cost): Increase costs for
- FPR->GPR moves.
-
-2015-01-27 Richard Biener <rguenther@suse.de>
-
- * tree-vrp.c (update_value_range): Intersect the range with
- old recorded SSA name range information.
-
-2015-01-27 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
- BC, DE and HL registers directly, not via AX.
- When decrementing the stack pointer by a large amount, transfer SP
- into AX and perform the subtraction there.
- (rl78_expand_epilogue): Perform the inverse of the above
- enhancements.
-
-2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
- Yury Gribov <y.gribov@samsung.com>
-
- PR ubsan/64741
- * ubsan.c (ubsan_source_location): Refactor code.
- (ubsan_type_descriptor): Update type size. Refactor code.
-
-2015-01-27 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/56273
- PR tree-optimization/59124
- PR tree-optimization/64277
- * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
- from the first VRP pass.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/64776
- * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
- handle the first argument in the same loop as all the other arguments.
-
- PR rtl-optimization/61058
- * jump.c (cleanup_barriers): Update basic block boundaries
- if BLOCK_FOR_INSN is non-NULL on PREV.
-
-2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
- bounds narrowing, already instrumented calls and calls to
- not instrumentable functions.
-
-2015-01-27 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64807
- * wide-int.cc (wi::divmod_internal): Clear
- b_dividend[dividend_blocks_needed].
-
-2015-01-26 DJ Delorie <dj@redhat.com>
-
- * config/rl78/rl78.c (move_elim_pass): Don't optimize away
- volatile memory references.
-
-2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
- remove_insn.
- * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
- shifts if it already fits into K08.
-
-2015-01-26 Jakub Jelinek <jakub@redhat.com>
-
- PR ipa/64730
- * ipa-inline.c (inline_small_functions): Print "unknown" even
- if edge->call_stmt is non-NULL, but has builtins or unknown
- location.
-
- PR middle-end/64421
- * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
- with asterisk, skip the first character.
-
-2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR target/64806
- * config/i386/i386 (feature_priority): Revert the last P_POPCNT
- order change.
-
-2015-01-26 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64795
- * config/i386/i386.md (*movdi_internal): Also check operand 0
- to determine TYPE_LEA operand.
- (*movsi_internal): Ditto.
-
-2015-01-26 Jakub Jelinek <jakub@redhat.com>
-
- * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
- OPTION_MASK_QUAD_MEMORY_ATOMIC.
-
-2015-01-26 Renlin Li <renlin.li@arm.com>
-
- * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
- the comment.
- * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
- for higher part.
-
-2015-01-26 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64764
- * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
- combining two BIT_AND_EXPR predicates.
-
-2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/64754
- * tree-ssa-structalias.c (new_var_info): Initialize ruid.
-
-2015-01-26 Terry Guo <terry.guo@arm.com>
-
- * config/arm/arm.c (arm_file_start): Update the assignment of
- Tag_ABI_HardFP_use.
-
-2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
- pipeline model.
- config/arm/arm.md: Include the new Cortex-A57 model.
- (generic_sched): Don't use generic_sched when tuning for
- Cortex-A57.
-
-2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
- Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/i386.c (get_builtin_code_for_version): Add
- support for BMI and BMI2 multiversion functions.
-
-2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
- (extract_bit_field): Likewise.
- (extract_low_bits): Likewise.
- (expand_mult): Likewise.
- (expand_mult_highpart_adjust): Likewise.
-
-2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
-
- * config/i386/driver-i386.c (host_detect_local_cpu): Check new
- Silvermont, Haswell, Broadwell and Knights Landing model numbers.
- * config/i386/i386.c (processor_model): Add
- M_INTEL_COREI7_BROADWELL.
- (arch_names_table): Add "broadwell".
-
-2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/49263
- PR target/53987
- PR target/64345
- PR target/59533
- PR target/52933
- PR target/54236
- PR target/51244
- * config/sh/sh-protos.h
- (sh_extending_set_of_reg::can_use_as_unextended_reg,
- sh_extending_set_of_reg::use_as_unextended_reg,
- sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
- sh_is_movrt_insn, sh_insn_operands_modified_between_p,
- sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
- sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
- (sh_treg_insns): New class.
- * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
- (scope_counter): New class.
- (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
- sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
- sh_extending_set_of_reg::can_use_as_unextended_reg,
- sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
- sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
- sh_split_treg_set_expr): New functions.
- (addsubcosts): Handle treg_set_expr.
- (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
- (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
- (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
- (sh_insn_operands_modified_between_p): Make non-static.
- * config/sh/predicates.md (zero_extend_movu_operand): Allow
- simple_mem_operand in addition to displacement_mem_operand.
- (zero_extend_operand): Don't allow zero_extend_movu_operand.
- (treg_set_expr, treg_set_expr_not_const01,
- arith_reg_or_treg_set_expr): New predicates.
- * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
- arith_or_int_operand instead of logical_operand. Convert to
- insn_and_split. Try to optimize constant operand in splitter.
- (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
- (*tstqi_t_zero): Delete.
- (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
- (tstsi_t_and_not): Delete.
- (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
- Convert to insn_and_split.
- (unnamed split, tstsi_t_zero_extract_xor,
- tstsi_t_zero_extract_subreg_xor_little,
- tstsi_t_zero_extract_subreg_xor_big): Delete.
- (*tstsi_t_shift_mask): New insn_and_split.
- (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
- to recombine with surrounding insns when splitting.
- (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
- (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
- (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
- *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
- (*cbranch_div0s: Delete.
- (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
- Try to recombine with surrounding insns when splitting. Add operand
- order variants.
- (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
- (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
- *addc_r_r_msb, *addc_2r_msb): Delete.
- (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
- order variant.
- (*addc_negreg_t): New insn_and_split.
- (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
- Try to recombine with surrounding insns when splitting.
- Add operand order variants.
- (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
- insn_and_split patterns.
- (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
- surrounding insns when splitting.
- (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
- (*rotcl): Likewise. Add zero_extract variant.
- (*ashrsi2_31): New insn_and_split.
- (*negc): Convert to insn_and_split. Use treg_set_expr.
- (*zero_extend<mode>si2_disp_mem): Update comment.
- (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
- condition.
- (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
- with surrounding insns when splitting.
- (any_treg_expr_to_reg): New insn_and_split.
- (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
- *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
- *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
- *zero_extract_2): New single bit zero extract patterns.
- (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
- (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
- *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
- *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
- set destination.
- (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
- register_operand for set source.
-
-2015-01-23 Jan Hubicka <hubicka@ucw.cz>
-
- * i386.opt (prefetch_sse): New targetsave.
- * i386.c (ix86_function_specific_save): Save prefetch_sse.
- (ix86_function_specific_restore): Restore prefetch_sse and initialize
- ix86_cost/ix86_tune_cost.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
- Support the JIT by using 0 as the language type.
-
-2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
-
- PR target/64317
- * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
- REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
- (mark_regno_live, process_bb_lives): Pass new parameter value to
- make_hard_regno_born.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/63637
- PR rtl-optimization/60663
- * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
- if elt->cost is MAX_COST for ASM_OPERANDS.
- (find_sets_in_insn): Fix up comment typo.
- (cse_insn): Don't set src_volatile for all non-volatile
- ASM_OPERANDS in PARALLELs, but just those with multiple outputs
- or with "memory" clobber. Set elt->cost to MAX_COST
- for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
- if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
-
-2015-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
- alternative 1.
-
-2015-01-23 Uros Bizjak <ubizjak@gmail.com>
-
- * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
- libgcc/config/i386/elf-lib.h.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR driver/64737
- * gcc.c (print_configuration): Don't print a blank line at the end
- here...
- (run_attempt): ... but here unstead.
-
- PR middle-end/64734
- * omp-low.c (scan_sharing_clauses): Don't ignore
- OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
- on target data/update constructs.
-
-2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- PR target/50928
- * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
- (DEBUG_RELOAD): Removed define.
- (m32c_limit_reload_class): Enable traces with if DEBUG0.
- (m32c_function_arg): Added a type cast.
- (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
- * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
- * config/m32c/bitops.md (andqi3_16): Likewise.
- * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
- (push_a01_l): Likewise.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64721
- * main.c (main): Construct toplev instances with init_signals=true.
- * toplev.c (general_init): Add param "init_signals", and use it to
- conditionalize the calls to signal and host_hooks.extra_signals.
- (toplev::toplev): Add param "init_signals".
- (toplev::main): When invoking general_init, pass m_init_signals
- to control whether signal-handlers are installed.
- * toplev.h (toplev::toplev): Add param "init_signals".
- (toplev::m_init_signals): New field.
-
-2015-01-23 David Malcolm <dmalcolm@redhat.com>
-
- PR jit/64722
- * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
- NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
- latter may be affected by the former (e.g. on i686).
-
-2015-01-23 Martin Liska <mliska@suse.cz>
-
- * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
- false positive during profiledbootstrap.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64672
- * lto-opts.c (lto_write_options): Output non-explicit conservative
- -fno-openacc.
- * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
- (append_compiler_options): Pass -fopenacc through.
-
-2015-01-23 Tom de Vries <tom@codesourcery.com>
-
- PR libgomp/64707
- * lto-opts.c (lto_write_options): Output non-explicit conservative
- -fno-openmp.
- * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
- (append_compiler_options): Pass -fopenmp through.
-
-2015-01-23 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64511
- * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
- GTY markup.
-
- * diagnostic-core.h (internal_error_no_backtrace): New prototype.
- * diagnostic.def (DK_ICE_NOBT): New kind.
- * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
- like DK_ICE, but never print backtrace.
- (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
- (internal_error_no_backtrace): New function.
- * gcc.c (execute): Use internal_error_no_backtrace instead of
- internal_error.
-
-2015-01-22 Jeff Law <law@redhat.com>
-
- PR target/52076
- * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
- improve code density for small immediate to memory case.
- (insv): Better handle bitfield assignments when the field is
- being set to all ones.
- * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
- operand predicate.
-
-2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64729
- * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
- for !TARGET_LIBC_PROVIDES_SSP version and
- -fstack-protector-{all,strong,explicit} otherwise.
- * config/freebsd.h (LINK_SSP_SPEC): Handle
- -fstack-protector-{strong,explicit}.
-
-2015-01-22 Jan Hubicka <hubicka@ucw.cz>
- H.J. Lu <hongjiu.lu@intel.com>
-
- PR ipa/64694
- * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
- heap.
-
-2015-01-22 Wei Mi <wmi@google.com>
-
- PR rtl-optimization/64557
- * dse.c (record_store): Call get_addr for mem_addr.
- (check_mem_read_rtx): Likewise.
-
-2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
-
- * fold-const.c (const_binop): Add early return for non-tcc_binary.
-
-2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
-
- * toplev.c (init_local_tick): Process the failure when read
- fails for random_seed.
-
- * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
- 'pretty_name' to avoid memory overflow.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64728
- * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
- abnormal coalescing on undefined SSA names.
-
-2015-22-01 Uros Bizjak <ubizjak@gmail.com>
-
- PR target/64688
- PR target/64477
- * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
- for alternative 3.
- (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
-
-2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
-
- PR middle-end/63325
- * fold-const.c (fold_checksum_tree): Don't include value of
- expr->decl_with_vis.symtab_node in the checksum.
-
-2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
-
- * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
-
-2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
-
- PR driver/64690
- * gcc.c (insert_comments): New function.
- (try_generate_repro): Call it.
- (append_text): Removed.
-
-2015-01-22 Richard Biener <rguenther@suse.de>
-
- * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
- with IL incompatible options. Properly honor user optimize
- attributes.
-
-2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
-
- PR rtl-optimization/64682
- * combine.c (distribute_notes): When moving a death note for
- a register that is set in the new I2, make sure to put it
- before that new I2.
-
-2015-01-21 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
- not TARGET_DEFAULT.
-
-2015-01-21 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64511
- * simplify-rtx.c (simplify_relational_operation_1): Don't try to
- optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
- into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
-
- PR sanitizer/64706
- * doc/invoke.texi (-fsanitize=vptr): Document.
-
- PR rtl-optimization/62078
- * dse.c: Include cfgcleanup.h.
- (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
- anything call purge_all_dead_edges and cleanup_cfg at the end
- of the pass.
-
-2015-01-21 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
- edges.
-
-2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
- decl attribute.
-
-2015-01-21 David Sherwood <david.sherwood@arm.com>
- Tejas Belagod <Tejas.Belagod@arm.com>
-
- * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
- * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
- * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
- Removed.
-
-2015-01-21 David Sherwood <david.sherwood@arm.com>
- Tejas Belagod <Tejas.Belagod@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
- (aarch64_reverse_mask): New decls.
- * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
- (insn_count): New mode_attr.
- * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
- (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
- (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
- (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
- (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
- (aarch64_simd_st4): New patterns.
- * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
- (aarch64_reverse_mask): New functions.
-
-2015-01-21 Alan Hayward <alan.hayward@arm.com>
-
- * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
- Declare.
- * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
- addressing modes for BE.
- (aarch64_print_operand): Add 'R' specifier.
- (aarch64_simd_disambiguate_copy): Delete.
- (aarch64_simd_emit_reg_reg_move): New function.
- * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
- in define_splits for structural moves.
- (mov<mode>): Use less restrictive predicates.
- (*aarch64_mov<mode>): Simplify and only allow for LE.
- (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
-
-2015-01-21 Alan Hayward <alan.hayward@arm.com>
-
- * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
-
-2015-01-21 Richard Henderson <rth@redhat.com>
-
- PR target/64669
- * ccmp.c (used_in_cond_stmt_p): Remove.
- (expand_ccmp_expr): Don't use it.
-
-2015-01-21 Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
- PARALLELs.
-
-2015-01-21 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64313
- * tree-core.h (builtin_info, builtin_info_type): Turn from
- an object with two arrays into an array of an object with
- decl and two flags, implicit_p and declared_p.
- * tree.h (builtin_decl_explicit, builtin_decl_implicit,
- set_builtin_decl, set_builtin_decl_implicit_p,
- builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
- (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
- * builtins.c (builtin_info): Adjust.
- * gimplify.c (gimplify_addr_expr): References to builtins
- that have been declared by the user makes them eligible for
- use by the compiler. Call set_builtin_decl_implicit_p on them.
-
-2015-01-20 Jeff Law <law@redhat.com>
-
- PR target/59946
- * config/m68k/m68k.md (Comparison expanders and patterns): Do not
- allow pc-relative addresses in operand predicates or constraints.
-
-2015-01-21 Bin Cheng <bin.cheng@arm.com>
-
- * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
- neon on aarch32 processors for stringops.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63576
- * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * ipa-inline.c: Include lto-streamer.h
- (report_inline_failed_reason): Output source file differences and
- flags on optimization/target node mismatch.
- (can_inline_edge_p): Consider caller to be the outer inline function;
- be less restrictive about matching opimize and optimize_size attributes.
- (inline_account_function_p): Break out from ...
- (inline_small_functions): ... here.
- * ipa-inline-transform.c (clone_inlined_nodes): Use
- inline_account_function_p.
- (inline_call): Use optimize attribution; use inline_account_function_p.
- (inline_transform): Use opt_for_fn.
- * ipa-inline.h (inline_account_function_p): Declare.
-
-2015-01-20 Jakub Jelinek <jakub@redhat.com>
-
- PR debug/64663
- * dwarf2out.c (decl_piece_node): Don't put bitsize into
- mode if bitsize <= 0.
- (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
- dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
- sizes and positions.
-
-2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
-
- * config/nios2/nios2.c (nios2_asm_file_end): Implement
- TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
- needed.
- (TARGET_ASM_FILE_END): Define.
-
-2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
- (struct tune_params): Use the enum.
- * arm.c (arm_*_tune): Update.
- (arm_option_override): Update.
-
-2015-01-20 Richard Biener <rguenther@suse.de>
-
- PR ipa/64684
- * ipa-reference.c (add_static_var): Inline ...
- (analyze_function): ... here after splitting out from ...
- (is_proper_for_analysis): ... this.
-
-2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/64149
- * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
- * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
- replace the conditional with it's true branch.
- * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
- (arm_lra_p): Remove.
-
-2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
-
- * config/visium/visium.h (LIB_SPEC): Adjust in default case.
-
-2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * config/tilegx/mul-tables.c: Move symtab.h include after
- coretypes.h include.
- * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
- vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
- flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
- wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
- explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
-
-2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR bootstrap/64676
- Revert:
- 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * loop-iv.c (def_pred_latch_p): New function.
- (latch_dominating_def): Allow specific cases with non-single
- definitions.
- (iv_get_reaching_def): Likewise.
- (check_complex_exit_p): New function.
- (check_simple_exit): Use check_complex_exit_p to allow certain cases
- with exits not executing on any iteration.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * i386.c (ix86_option_override_internal): Use ix86_tune_cost
- to set branch cost.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR lto/45375
- * i386.c (gate): Check flag_expensive_optimizations and
- optimize_size.
- (ix86_option_override_internal): Drop optimize_size condition
- on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
- MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
- MASK_PREFER_AVX128.
- (ix86_avx256_split_vector_move_misalign,
- ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
- * sse.md (all uses of TARGET_PREFER_AVX128): Add
- optimize_insn_for_speed_p check.
-
-2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.h (FP_ASM_SPEC): New define.
- (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
- instead.
-
-2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
- nullptr for insn when reaching the first insn.
- * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
- (sh_insn_operands_modified_between_p): Add nullptr check.
- (sh_find_extending_set_of_reg): Fix log message. Don't accept
- sign extending mem load if the insn contains any UNSPEC or
- UNSPEC_VOLATILE.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * params.def (inline-unit-growth): Drop to 15%.
- * invoke.texi (inline-unit-growth): Document change.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/64668
- * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
- function for second argument of OBJ_TYPE_REF.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64218
- * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
- whether function is an alias.
-
-2015-01-19 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
- cases.
-
-2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64671
- * lra-remat.c (operand_to_remat): Don't consider jump and call
- insns.
-
-2015-01-19 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/59828
- * config/rs6000/default64.h: Include rs6000-cpus.def.
- (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
- (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
- * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
- and POWER8.
- * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
- POWER8.
- * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
- pseudo-op to specify assembler dialect.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- PR ipa/64664
- * ipa-icf.c (sem_item_optimizer::filter_removed_items):
- Handle safe potentially removed nodes during filtering.
-
-2015-01-19 Martin Liska <mliska@suse.cz>
-
- * doc/extend.texi (no_icf): Add new attribute description.
- * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
- where the pass attempts to merge a function with no_icf attribute.
-
-2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/64532
- * doc/md.texi (ARM Options): Document register constraints.
-
-2015-01-19 Jiong Wang <jiong.wang@arm.com>
- Andrew Pinski <apinski@cavium.com>
-
- PR target/64304
- * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
- (ashl<mode>3): Don't expand if operands[2] is not constant.
-
-2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64448
- * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
- Match xor-and-xor RTL pattern.
-
-2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
-
- PR rtl-optimization/64081
- * loop-iv.c (def_pred_latch_p): New function.
- (latch_dominating_def): Allow specific cases with non-single
- definitions.
- (iv_get_reaching_def): Likewise.
- (check_complex_exit_p): New function.
- (check_simple_exit): Use check_complex_exit_p to allow certain cases
- with exits not executing on any iteration.
-
-2015-01-19 Jakub Jelinek <jakub@redhat.com>
-
- * common.opt (fgraphite): Fix a typo.
-
-2015-01-19 Felix Yang <felix.yang@huawei.com>
-
- * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
- pattern.
- * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
- uminp, smax_nanp, smin_nanp): New builtins.
- * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
- vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
- vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
- vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
- vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
- vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
- vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
- vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
- vpminnms_f32): Rewrite using builtin functions.
-
-2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
-
- PR libgomp/64625
- * omp-low.c (offload_symbol_decl): Remove variable.
- (get_offload_symbol_decl): Remove function.
- (expand_omp_target): For BUILT_IN_GOMP_TARGET,
- BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
- instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
- BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
- BUILT_IN_GOACC_UPDATE don't pass it at all.
-
-2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
- callers.
-
-2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
-
- * ipa-chkp.c (chkp_produce_thunks): Add early param
- to split thunks production into two passes. Keep
- 'always_inline' function bodies after the first pass.
- (pass_data_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_produce_thunks::execute): Adjust to new
- chkp_produce_thunks signature.
- (make_pass_ipa_chkp_early_produce_thunks): New.
- * passes.def (pass_ipa_chkp_early_produce_thunks): New.
- (pass_ipa_chkp_produce_thunks): Move after local optimizations.
- * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- * cgraph.c (cgraph_node::dump): Dump profile flags.
-
-2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64652
- * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
- reg appear first in the parallel.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-reference.c (set_reference_optimization_summary,
- ipa_reference_get_not_written_global): Do nothing if ipa-reference is
- disabled.
- (ignore_module_statics): New static var.
- (propagate_bits): If ipa-reference is disabled, do not look into local
- properties.
- (analyze_function): Disable analysis when ipa_reference is disabled.
- (generate_summary): Do not dump when reference is disabled;
- collect vars accessed from functions with ipa-reference disabled.
- (get_read_write_all_from_node): When ipa-reference is disabled, use the
- node flags.
- (gate): Enable for LTO.
- (ignore_edge_p): New function.
- (propagate): Skip functions w/o ipa-reference analysis.
- * optc-save-gen.awk: Handle optimize_debug correctly.
- * opth-gen.awk: Likewise.
- * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
- fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
- fira-share-save-slots, fira-share-spill-slots,
- fmodulo-sched-allow-regmoves, fpartial-inlining,
- sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
- ftracer, ftree-parallelize-loops, fassociative-math,
- freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
- Optimization
- (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
- ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
- Optimization.
- * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
- Fix for IPA.
-
-2015-01-18 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64378
- * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
- flag correctly.
- * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
-
-2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
- Remove duplicate option listings.
-
-2015-01-18 Felix Yang <felix.yang@huawei.com>
-
- * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
- (autofdo_source_profile::get_callsite_total_count,
- function_instance::get_function_instance_by_decl,
- string_table::get_index, string_table::get_index_by_decl,
- afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
- Fix comment typos. Reformatting and minor code rearrangement.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.md (probe_stack): Delete.
- (probe_stack_address): New.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
- to test for 32-bit ABIs, not !TARGET_POWERPC64.
-
-2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
- (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
- for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
- snafu.
- (rs6000_libcall_value): Use the new function.
-
-2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
-
-2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
-
- * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
- implement a more precise life analysis for it during backward scan.
-
-2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
-
- * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
-
-2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
-
- PR rtl-optimization/52773
- * calls.c (emit_library_call_value): When pushing arguments use
- stack_pointer_rtx rather than virtual_outgoing_args_rtx in
- CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
- stack pointer reference into CALL_INSN_FUNCTION_USAGE.
-
-2015-01-17 Jeff Law <law@redhat.com>
-
- PR rtl-optimization/32790
- * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
- not ZERO_EXTEND in SET_DESTs.
-
-2015-01-17 Alan Modra <amodra@gmail.com>
-
- * cprop.c (do_local_cprop): Revert last change.
-
-2015-01-16 DJ Delorie <dj@redhat.com>
- Nick Clifton <nickc@redhat.com>
-
- * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
- (addhi3_real): Likewise. Fix [HL+0] syntax.
- (subqi3_real): Likewise.
- (subhi3_real): Likewise.
- (cbranchqi4_real): Likewise. Allow saddr,#imm.
- (cbranchhi4_real): Likewise.
- (cbranchhi4_real_inverted): Likewise.
- (cbranchsi4_real_lt): Likewise.
- (cbranchsi4_real_ge): Likewise.
- (cbranchsi4_real_ge): Likewise.
- * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
- (sub<mode>3_virt): Likewise.
- (cbranchqi4_virt): Likewise.
- (cbranchhi4_virt): Likewise.
- * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
- always use '[reg+imm]' even when imm is zero.
- * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
- (rl78_general_operand): New.
- (rl78_nonimmediate_operand): New.
- (rl78_nonfar_operand): Use them.
- (rl78_nonfar_nonimm_operand): Likewise.
- (rl78_stack_based_mem): Fix.
- * config/rl78/constraints.md (Ibqi): New.
- (IBqi): New.
- (Wsa): New.
- (Wsf): New.
- (Cs1): Fix.
- * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
- (iorqi3): Likewise.
- (xorqi3): Likewise.
- * config/rl78/rl78-protos.h (rl78_sfr_p): New.
-
- * config/rl78/constrains (Qs8): New constraint.
- * config/rl78/rl78.c (rl78_flags_already_set): New function.
- * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
- * config/rl78/rl78-real.md (update_Z): New attribute.
- Update patterns to set it.
- (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
- shorter compare and branch sequence can be used.
- (cbranchhi4_real): Likewise.
- (cbranchhi4_real_inverted): Likewise.
-
- * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
- * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
- address space.
- * config/rl78/rl78.c (rl78_get_name_encoding): New.
- (rl78_option_override): Allow -mes0 only if C.
- (characterize_address): Support subregs of symbol_refs.
- (rl78_addr_space_address_mode): Move. Add __near.
- (rl78_far_p): Likewise.
- (rl78_addr_space_pointer_mode): Likewise.
- (rl78_as_legitimate_address): Likewise.
- (rl78_addr_space_subset_p): Likewise.
- (rl78_addr_space_convert): Likewise.
- (rl78_print_operand_1): Support 16-bit addressing of 32-bit
- symbols with -mes0.
- (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
- addressing.
- (rl78_alloc_physical_registers_op1): Change logic to prefer
- symbol[BC] addressing.
- (frodata_section): New.
- (rl78_asm_init_sections): Initialize it.
- (rl78_select_section): Put __far readonly symbols in .frodata.
- (rl78_make_type_far): New.
- (rl78_insert_attributes): Force all readonly symbols to be
- __far when -mes0.
- (rl78_asm_out_integer): New.
- * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
- * config/rl78/rl78.opt (-mes0): New.
-
- * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
- (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
- (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
- * config/rl78/rl78-protos.h (rl78_output_labelref): New.
- (rl78_saddr_p): New.
- (rl78_output_aligned_common): New.
- * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
- (rl78_handle_saddr_attribute): New.
- (rl78_handle_naked_attribute): New.
- (rl78_attribute_table): Add saddr.
- (rl78_print_operand_1): Don't print '!' on saddr operands.
- (rl78_print_operand_1): Strip encodings.
- (rl78_sfr_p): New.
- (rl78_strip_name_encoding): New.
- (rl78_attrlist_to_encoding): New.
- (rl78_encode_section_info): New.
- (rl78_asm_init_sections): New.
- (rl78_select_section): New.
- (rl78_output_labelref): New.
- (rl78_output_aligned_common): New.
- (rl78_asm_out_integer): New.
- (rl78_asm_ctor_dtor): New.
- (rl78_asm_constructor): New.
- (rl78_asm_destructor): New.
-
- * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
- * config/rl78/rl78.c (rl78_expand_epilogue): Update.
- (transcode_memory_rtx): Update.
- (rl78_expand_epilogue): Use A_REG instead of 0.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/arm/arm-protos.h (struct tune_params): New field
- sched_autopref_queue_depth.
- * config/arm/arm.c (sched-int.h): Include header.
- (arm_first_cycle_multipass_dfa_lookahead_guard,)
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
- (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
- (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
- (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
- (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
- (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
- Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
- * config/arm/t-arm (arm.o): Update.
- * haifa-sched.c (update_insn_after_change): Update.
- (rank_for_schedule): Use auto-prefetcher model, if requested.
- (autopref_multipass_init): New static function.
- (autopref_rank_for_schedule): New rank_for_schedule heuristic.
- (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
- variable for debug dumps.
- (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
- (autopref_multipass_dfa_lookahead_guard): New global function that
- implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
- (init_h_i_d): Update.
- * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
- * sched-int.h (enum autopref_multipass_data_status): New const enum.
- (autopref_multipass_data_): Structure for auto-prefetcher data.
- (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
- (struct _haifa_insn_data:autopref_multipass_data): New field.
- (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
- (autopref_multipass_dfa_lookahead_guard): Declare.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * rtlanal.c (get_base_term): Handle SCRATCH.
-
-2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
-
- * config/aarch64/aarch64.c
- (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
- * config/arm/arm.c
- (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
- (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
-
-2015-01-17 Alan Modra <amodra@gmail.com>
-
- * cprop.c (do_local_cprop): Disallow replacement of fixed
- hard registers.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/62066
- * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
- early return 0.
-
-2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
- * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
- * config/arm/thumb1.md: ... Here.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
- TImode for TARGET_32BIT.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
- TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
- as ...
- (rs6000_abi_word_mode): New function.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
- instead of UNITS_PER_WORD to describe the size of stack slots.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
- as rs6000_promote_function_mode. Move comment to there.
- (rs6000_promote_function_mode): New function.
-
-2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
-
- * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
- -mpowerpc64 is active.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR middle-end/64353
- * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
- virtuals on start.
-
-2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a57.md: Remove duplicate of file accidentally
- introduced in revision 219724.
-
-2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
-
- PR target/64263
- * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
- destination is not a GP reg.
- (*movdi_aarch64): Likewise.
-
-2015-01-16 David Edelsohn <dje.gcc@gmail.com>
-
- PR target/64623
- * config/rs6000/default64.h: Revert ISA change.
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64614
- * tree-ssa-uninit.c: Include tree-cfg.h.
- (MAX_SWITCH_CASES): New define.
- (convert_control_dep_chain_into_preds): Handle switch statements.
- (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
- (normalize_one_pred_1): Do not split bit-manipulations.
- Record (x & CST).
-
-2015-01-16 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
- complex load rewriting for TARGET_MEM_REFs.
-
-2015-01-16 Uros Bizjak <ubizjak@gmail.com>
-
- * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
-
-2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
-
- PR target/64149
- * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
- variable.
- * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
- (aarch64_lra_p): Remove.
-
-2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
-
- PR target/64363
- * ipa-chkp.h (chkp_instrumentable_p): New.
- * ipa-chkp.c: Include tree-inline.h.
- (chkp_instrumentable_p): New.
- (chkp_maybe_create_clone): Use chkp_instrumentable_p.
- Fix processing of not instrumentable functions.
- (chkp_versioning): Use chkp_instrumentable_p. Warn about
- not instrumentable functions.
- * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
- chkp_instrumentable_p.
- * tree-inline.h (copy_forbidden): New.
- * tree-inline.c (copy_forbidden): Not static anymore.
-
-2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
-
- * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
- ptr1, ptr2 unused.
-
-2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
- type OP_OUT to OP_INOUT.
-
-2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
-
- * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
- (high x) y) to y if x and y have the same base.
-
-2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
-
- * config/arm/cortex-a57.md: New.
- * config/aarch64/aarch64.md: Include it.
- * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
- * config/aarch64/aarch64-tune.md: Regenerate.
-
-2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
-
- PR target/64015
- * ccmp.c (expand_ccmp_next): New function.
- (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
- and compare insn sequence.
- * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
- aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
- (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
- * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
- (*ccmp_ior): Changed to ccmp_ior<mode>.
- (cmp<mode>): New pattern.
- * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
- parameters.
- * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
-
-2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
-
- * config/i386/avx2intrin.h (_mm256_bslli_epi128,
- _mm256_bsrli_epi128): New.
- * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
-
-2015-01-15 Jiong Wang <jiong.wang@arm.com>
-
- * expmed.c (store_bit_field_using_insv): Improve warning message.
- Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
-
-2015-01-15 Jiong Wang <jiong.wang@arm.com>
-
- PR rtl-optimization/64011
- * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
- there is partial overflow.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
- prototype.
- (nds32_expand_epilogue_v3pop): Likewise.
- * config/nds32/nds32.md (sibcall): Define this for sibling call
- optimization.
- (sibcall_register): Likewise.
- (sibcall_immediate): Likewise.
- (sibcall_value): Likewise.
- (sibcall_value_register): Likewise.
- (sibcall_value_immediate): Likewise.
- (sibcall_epilogue): Likewise.
- (epilogue): Pass false to indicate this is not a sibcall epilogue.
- * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
- (nds32_expand_epilogue_v3pop): Likewise.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
- * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
- (return_internal): New.
- (return): Define this named pattern.
- (simple_return): Define this named pattern.
- * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
- pattern instead of unspec_volatile_func_return.
- (nds32_expand_epilogue_v3pop): Likewise.
- (nds32_can_use_return_insn): New function.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
- * config/nds32/nds32.md (pop25return): New.
- * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
- pop25return pattern.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
- -mforbid-fp-as-gp, and -mex9 options.
-
-2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
- remove -mgp-direct option.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- * doc/invoke.texi (--param early-inlining-insns): Update default value.
- * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-inline.c (inline_small_functions): Work around hints
- cache issue.
-
-2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
-
- PR target/59710
- * doc/invoke.texi (Option Summary): Document new Nios II
- -mgpopt= syntax.
- (Nios II Options): Likewise.
- * config/nios2/nios2.opt: Add -mgpopt= option support.
- Modify existing -mgpopt and -mno-gpopt options to be aliases.
- * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
- * config/nios2/nios2.c (nios2_option_override): Adjust
- -mgpopt defaulting.
- (nios2_in_small_data_p): Return true for explicit small data
- sections even with -G0.
- (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
- option choices.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64612
- * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
- of comdat locals.
- (inline_call): Fix removal of aliases.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
- include SANITIZE_VPTR in SANITIZE_UNDEFINED.
- * opts.c (common_handle_option): Add -fsanitize=vptr.
- * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
- BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
- * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
- UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
- (ubsan_expand_vptr_ifn): New prototype.
- * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
- expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
- expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
- expand_LOOP_VECTORIZED): Make argument nameless, remove
- ATTRIBUTE_UNUSED.
- (expand_UBSAN_VPTR): New function.
- * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
- in fn spec.
- (UBSAN_VPTR): New internal function.
- * sanopt.c (tree_map_traits): Renamed to ...
- (sanopt_tree_map_traits): ... this.
- (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
- (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
- to sanopt_tree_map_traits renaming. Add vptr_check_map field.
- (maybe_optimize_ubsan_vptr_ifn): New function.
- (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
- (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
- -fsanitize=vptr.
- * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
- internal calls like pure functions for aliasing, even when they
- have other side-effects that prevent making them ECF_PURE.
- * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
- (ubsan_expand_vptr_ifn): New function.
-
-2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
-
- PR rtl-optimization/64110
- * stmt.c (parse_output_constraint): Process '^' and '$'.
- (parse_input_constraint): Ditto.
- * lra-constraints.c (process_alt_operands): Process the new
- constraints.
- * ira-costs.c (record_reg_classes): Process the new constraint
- '^'.
- * genoutput.c (indep_constraints): Add '^' and '$'.
- * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
- * doc/md.texi: Add description of the new constraints.
-
-2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
- Bernd Schmidt <bernds@codesourcery.com>
- Cesar Philippidis <cesar@codesourcery.com>
- James Norris <jnorris@codesourcery.com>
- Tom de Vries <tom@codesourcery.com>
- Ilmir Usmanov <i.usmanov@samsung.com>
- Dmitry Bocharnikov <dmitry.b@samsung.com>
- Evgeny Gavrin <e.gavrin@samsung.com>
- Jakub Jelinek <jakub@redhat.com>
-
- * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
- (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
- (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
- New function types.
- * builtins.c: Include "gomp-constants.h".
- (expand_builtin_acc_on_device): New function.
- (expand_builtin, is_inexpensive_builtin): Handle
- BUILT_IN_ACC_ON_DEVICE.
- * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
- New macros.
- * cgraph.c (cgraph_node::create): Consider flag_openacc next to
- flag_openmp.
- * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
- <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
- i386/intelmic-offload.h.
- * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
- to libgomp and its dependencies.
- * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
- * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
- * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
- * config/ia64/hpux.h (LIB_SPEC): Likewise.
- * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
- * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
- * doc/generic.texi: Update for OpenACC changes.
- * doc/gimple.texi: Likewise.
- * doc/invoke.texi: Likewise.
- * doc/sourcebuild.texi: Likewise.
- * gimple-pretty-print.c (dump_gimple_omp_for): Handle
- GF_OMP_FOR_KIND_OACC_LOOP.
- (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
- GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
- Dump more data.
- * gimple.c: Update comments for OpenACC changes.
- * gimple.def: Likewise.
- * gimple.h: Likewise.
- (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
- (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
- appropriate place.
- (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
- * gimplify.c: Include "gomp-constants.h".
- Update comments for OpenACC changes.
- (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
- OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
- OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
- (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
- OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
- OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
- OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
- OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
- OMP_CLAUSE_SEQ.
- (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
- GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
- OMP_CLAUSE_SET_MAP_KIND.
- (gimplify_oacc_cache): New function.
- (gimplify_omp_for): Handle OACC_LOOP.
- (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
- OACC_DATA.
- (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
- OACC_EXIT_DATA, OACC_UPDATE.
- (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
- OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
- OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
- (gimplify_body): Consider flag_openacc next to flag_openmp.
- * lto-streamer-out.c: Include "gomp-constants.h".
- * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
- (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
- (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
- (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
- (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
- (BUILT_IN_ACC_ON_DEVICE): New builtins.
- * omp-low.c: Include "gomp-constants.h".
- Update comments for OpenACC changes.
- (struct omp_context): Add reduction_map, gwv_below, gwv_this
- members.
- (extract_omp_for_data, use_pointer_for_field, install_var_field)
- (new_omp_context, delete_omp_context, scan_sharing_clauses)
- (create_omp_child_function, scan_omp_for, scan_omp_target)
- (check_omp_nesting_restrictions, lower_reduction_clauses)
- (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
- Update for OpenACC changes.
- (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
- OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
- OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
- OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
- OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*.
- (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
- Handle GF_OMP_FOR_KIND_OACC_LOOP.
- (expand_omp_target, lower_omp_target): Handle
- GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
- GF_OMP_TARGET_KIND_OACC_UPDATE,
- GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
- GF_OMP_TARGET_KIND_OACC_DATA.
- (pass_expand_omp::execute, execute_lower_omp)
- (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
- flag_openmp.
- (offload_symbol_decl): New variable.
- (oacc_get_reduction_array_id, oacc_max_threads)
- (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
- (maybe_lookup_oacc_reduction, enclosing_target_ctx)
- (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
- (oacc_gimple_assign, oacc_initialize_reduction_data)
- (oacc_finalize_reduction_data, oacc_process_reduction_data): New
- functions.
- (is_targetreg_ctx): Remove function.
- * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
- OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
- OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
- OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
- OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
- OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
- * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
- * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
- (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
- (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
- (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
- (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
- * tree-core.h: Update comments for OpenACC changes.
- (enum omp_clause_map_kind): Remove.
- (struct tree_omp_clause): Change type of map_kind member from enum
- omp_clause_map_kind to unsigned char.
- * tree-inline.c: Update comments for OpenACC changes.
- * tree-nested.c: Likewise. Include "gomp-constants.h".
- (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
- (convert_tramp_reference_stmt, convert_gimple_call): Update for
- OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
- OMP_CLAUSE_SET_MAP_KIND.
- * tree-pretty-print.c: Include "gomp-constants.h".
- (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
- OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
- OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
- OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
- OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
- OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
- instead of OMP_CLAUSE_MAP_*.
- (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
- OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
- OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
- * tree-streamer-in.c: Include "gomp-constants.h".
- (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
- * tree-streamer-out.c: Include "gomp-constants.h".
- (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
- OMP_CLAUSE_MAP_*.
- * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
- (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
- (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
- * tree.c (omp_clause_num_ops): Update accordingly.
- * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
- Likewise.
- (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
- (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
- (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
- (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
- (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
- (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
- * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
- (OMP_CLAUSE_SET_MAP_KIND): New macro.
- * varpool.c (varpool_node::get_create): Consider flag_openacc next
- to flag_openmp.
- * config/i386/intelmic-offload.h: New file.
- * config/nvptx/offload.h: Likewise.
-
-2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * explow.h: Remove duplicate contents.
- * dojump.h: Likewise.
-
-2015-01-15 Richard Earnshaw <rearnsha@arm.com>
-
- * arm.c (arm_xgene_tune): Add default initializer for instruction
- fusion.
-
-2015-01-15 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64068
- PR ipa/64559
- * ipa.c (symbol_table::remove_unreachable_nodes):
- Do not put abstract origins into boundary.
-
-2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
-
- * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
- * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
-
-2015-01-15 Steve Ellcey <sellcey@mips.com>
-
- * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
- cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
- builtins.def, and chkp-builtins.def.
-
-2015-01-15 David Edelsohn <dje.gcc@gmail.com>
-
- * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
- ISA 2.7 (POWER8).
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/61743
- * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
- information on PHIs for some simple cases.
-
-2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
- Include xgene1.md.
- * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
- * config/arm/arm-cores.def (xgene1): New entry.
- * config/arm/arm-tables.opt: Regenerate.
- * config/arm/arm-tune.md: Regenerate.
- * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- * tree-if-conv.c: Include hash-map.h.
- (aggressive_if_conv): New variable.
- (fold_build_cond_expr): Add simplification of non-zero condition.
- (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
- destination block is not always executed.
- (if_convertible_phi_p): Fix commentary, allow phi nodes have more
- than two predecessors if AGGRESSIVE_IF_CONV is true.
- (if_convertible_stmt_p): Fix commentary.
- (all_preds_critical_p): New function.
- (has_pred_critical_p): New function.
- (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
- BB can have more than two predecessors and all incoming edges can be
- critical.
- (predicate_bbs): Skip predication for loop exit block, use build2_loc
- to compute predicate for true edge.
- (find_phi_replacement_condition): Delete this function.
- (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
- Allow interchange PHI arguments if EXTENDED is false.
- Change check that block containing reduction statement candidate
- is predecessor of phi-block since phi may have more than two arguments.
- (phi_args_hash_traits): New helper structure.
- (struct phi_args_hash_traits): New type.
- (phi_args_hash_traits::hash): New function.
- (phi_args_hash_traits::equal_keys): New function.
- (gen_phi_arg_condition): New function.
- (predicate_scalar_phi): Add handling of phi nodes with more than two
- arguments, delete COND and TRUE_BB arguments, insert body of
- find_phi_replacement_condition to predicate ordinary phi nodes.
- (predicate_all_scalar_phis): Skip blocks with the only predecessor,
- delete call of find_phi_replacement_condition and invoke
- predicate_scalar_phi with two arguments.
- (insert_gimplified_predicates): Add assert that non-predicated block
- don't have statements to insert.
- (ifcvt_split_critical_edges): New function.
- (ifcvt_split_def_stmt): Likewise.
- (ifcvt_walk_pattern_tree): Likewise.
- (stmt_is_root_of_bool_pattern): Likewise.
- (ifcvt_repair_bool_pattern): Likewise.
- (ifcvt_local_dce): Likewise.
- (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
- is copy of inner or outer loop force_vectorize field, invoke
- ifcvt_split_critical_edges, ifcvt_local_dce and
- ifcvt_repair_bool_pattern for aggressive if-conversion.
-
-2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64.md: Include xgene1.md.
- * config/aarch64/xgene1.md: New file.
-
-2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
-
- * config/aarch64/aarch64-cores.def (xgene1): Update/add the
- xgene1 (APM XGene-1) core definition.
- * config/aarch64/aarch64.c: Add cost tables for APM XGene-1
- * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
- * doc/invoke.texi: Document -mcpu=xgene1.
-
-2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * dojump.h: New header file.
- * explow.h: Likewise.
- * expr.h: Remove includes.
- Move expmed.c prototypes to expmed.h.
- Move dojump.c prototypes to dojump.h.
- Move alias.c prototypes to alias.h.
- Move explow.c prototypes to explow.h.
- Move calls.c prototypes to calls.h.
- Move emit-rtl.c prototypes to emit-rtl.h.
- Move varasm.c prototypes to varasm.h.
- Move stmt.c prototypes to stmt.h.
- (saved_pending_stack_adjust): Move to dojump.h.
- (adjust_address): Move to explow.h.
- (adjust_address_nv): Move to emit-rtl.h.
- (adjust_bitfield_address): Likewise.
- (adjust_bitfield_address_size): Likewise.
- (adjust_bitfield_address_nv): Likewise.
- (adjust_automodify_address_nv): Likewise.
- * explow.c (expr_size): Move to expr.c.
- (int_expr_size): Likewise.
- (tree_expr_size): Likewise.
- Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
- * genemit.c (main): Generate includes statistics.h, real.h,
- fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
- stmt.h.
- * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
- function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
- explow.h, emit-rtl.h, stmt.h.
- * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
- fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
- * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
- real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
- emit-rtl.h, varasm.h, stmt.h.
- * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
- hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
- function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
- fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
- expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
- * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
- double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
- function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
- insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
- tm.h tree.h varasm.h vec.h wide-int.h.
- * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
- hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
- real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
- * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
- insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
- * loop-iv.c: Likewise.
- * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * lra-constraints.c: Likewise.
- * lra-eliminations.c: Likewise.
- * lra-lives.c: Likewise.
- * lra-remat.c: Likewise.
- * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * hw-doloop.c: Likewise.
- * ira-color.c: Likewise.
- * ira-emit.c: Likewise.
- * loop-doloop.c: Likewise.
- * loop-invariant.c: Likewise.
- * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * caller-save.c: Include alias.h calls.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
- statistics.h stmt.h tree.h varasm.h wide-int.h.
- * combine-stack-adj.c: Likewise.
- * cse.c: Likewise.
- * ddg.c: Likewise.
- * ifcvt.c: Likewise.
- * ira-costs.c: Likewise.
- * jump.c: Likewise.
- * lra-coalesce.c: Likewise.
- * lra-spills.c: Likewise.
- * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
- stmt.h varasm.h wide-int.h.
- * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
- varasm.h.
- * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
- double-int.h explow.h expmed.h fixed-value.h flags.h real.h
- statistics.h stmt.h varasm.h wide-int.h.
- * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
- expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
- varasm.h wide-int.h.
- * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
- expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
- emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
- statistics.h stmt.h.
- * config/tilepro/tilepro.c: Likewise.
- * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
- * config/pdp11/pdp11.c: Likewise.
- * config/xtensa/xtensa.c: Likewise.
- * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
- explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
- varasm.h.
- * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
- insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
- * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
- insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
- * rtl-chkp.c: Likewise.
- * tree-chkp-opt.c: Likewise.
- * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
- hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h.
- * tree-vect-data-refs.c: Likewise.
- * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- rtl.h statistics.h stmt.h varasm.h.
- * internal-fn.c: Likewise.
- * ipa-icf-gimple.c: Likewise.
- * lto-section-out.c: Likewise.
- * tree-data-ref.c: Likewise.
- * tree-nested.c: Likewise.
- * tree-outof-ssa.c: Likewise.
- * tree-predcom.c: Likewise.
- * tree-pretty-print.c: Likewise.
- * tree-scalar-evolution.c: Likewise.
- * tree-ssa-strlen.c: Likewise.
- * tree-vect-loop.c: Likewise.
- * tree-vect-patterns.c: Likewise.
- * tree-vect-slp.c: Likewise.
- * tree-vect-stmts.c: Likewise.
- * tsan.c: Likewise.
- * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
- stmt.h.
- * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * loop-unroll.c: Likewise.
- * ubsan.c: Likewise.
- * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
- stmt.h varasm.h.
- * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
- * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h.
- * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h varasm.h.
- * gimple-match-head.c: Likewise.
- * lto-cgraph.c: Likewise.
- * lto-section-in.c: Likewise.
- * lto-streamer-in.c: Likewise.
- * lto-streamer-out.c: Likewise.
- * tree-affine.c: Likewise.
- * tree-cfg.c: Likewise.
- * tree-cfgcleanup.c: Likewise.
- * tree-if-conv.c: Likewise.
- * tree-into-ssa.c: Likewise.
- * tree-ssa-alias.c: Likewise.
- * tree-ssa-copyrename.c: Likewise.
- * tree-ssa-dse.c: Likewise.
- * tree-ssa-forwprop.c: Likewise.
- * tree-ssa-live.c: Likewise.
- * tree-ssa-math-opts.c: Likewise.
- * tree-ssa-pre.c: Likewise.
- * tree-ssa-sccvn.c: Likewise.
- * tree-tailcall.c: Likewise.
- * tree-vect-generic.c: Likewise.
- * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
- * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
- * varasm.c: Likewise.
- * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
- varasm.h.
- * init-regs.c: Likewise.
- * ira.c: Likewise.
- * omp-low.c: Likewise.
- * stack-ptr-mod.c: Likewise.
- * tree-ssa-reassoc.c: Likewise.
- * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
- varasm.h.
- * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
- * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
- * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
- * tree-ssa-phiopt.c: Likewise.
- * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h.
- * config/fr30/fr30.c: Likewise.
- * config/frv/frv.c: Likewise.
- * expr.c: Likewise.
- * final.c: Likewise.
- * optabs.c: Likewise.
- * passes.c: Likewise.
- * simplify-rtx.c: Likewise.
- * stmt.c: Likewise.
- * toplev.c: Likewise.
- * var-tracking.c: Likewise.
- * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * lower-subreg.c: Likewise.
- * postreload-gcse.c: Likewise.
- * ree.c: Likewise.
- * reginfo.c: Likewise.
- * store-motion.c: Likewise.
- * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h stmt.h varasm.h.
- * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h.
- * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
- * except.c: Likewise.
- * explow.c: Likewise.
- * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
- varasm.h.
- * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
- * tree-ssa-structalias.c: Likewise.
- * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h.
- * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h.
- * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * cfgbuild.c: Likewise.
- * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h.
- * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h.
- * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h varasm.h.
- * cprop.c: Likewise.
- * modulo-sched.c: Likewise.
- * postreload.c: Likewise.
- * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
- flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
- explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- rtl.h statistics.h stmt.h varasm.h.
- * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
- varasm.h.
- * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
- function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
- varasm.h.
- * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
- varasm.h.
- * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- function.h real.h statistics.h stmt.h varasm.h.
- * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- insn-config.h real.h statistics.h stmt.h.
- * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
- statistics.h stmt.h.
- * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
- * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
- * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
- statistics.h stmt.h varasm.h.
- * ipa-polymorphic-call.c: Likewise.
- * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h.
- * config/c6x/c6x.c: Likewise.
- * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
- explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
- statistics.h stmt.h varasm.h.
- * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
- stmt.h varasm.h.
- * ipa-split.c: Likewise.
- * tree-eh.c: Likewise.
- * tree-ssa-dce.c: Likewise.
- * tree-ssa-loop-niter.c: Likewise.
- * tree-vrp.c: Likewise.
- * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
- stmt.h.
- * config/nds32/nds32-fp-as-gp.c: Likewise.
- * config/nds32/nds32-intrinsic.c: Likewise.
- * config/nds32/nds32-isr.c: Likewise.
- * config/nds32/nds32-md-auxiliary.c: Likewise.
- * config/nds32/nds32-memory-manipulation.c: Likewise.
- * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
- * config/nds32/nds32-predicates.c: Likewise.
- * config/nds32/nds32.c: Likewise.
- * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h.
- * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h.
- * config/arm/arm.c: Likewise.
- * config/avr/avr.c: Likewise.
- * config/bfin/bfin.c: Likewise.
- * config/h8300/h8300.c: Likewise.
- * config/i386/i386.c: Likewise.
- * config/ia64/ia64.c: Likewise.
- * config/iq2000/iq2000.c: Likewise.
- * config/m32c/m32c.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/m68k/m68k.c: Likewise.
- * config/mcore/mcore.c: Likewise.
- * config/mep/mep.c: Likewise.
- * config/mips/mips.c: Likewise.
- * config/mn10300/mn10300.c: Likewise.
- * config/moxie/moxie.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/rl78/rl78.c: Likewise.
- * config/rx/rx.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/sh/sh.c: Likewise.
- * config/sparc/sparc.c: Likewise.
- * config/spu/spu.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/v850/v850.c: Likewise.
- * config/vax/vax.c: Likewise.
- * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
- * config/msp430/msp430.c: Likewise.
- * predict.c: Likewise.
- * value-prof.c: Likewise.
- * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
- expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
- * config/microblaze/microblaze.c: Likewise.
- * config/nios2/nios2.c: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- insn-config.h real.h rtl.h statistics.h stmt.h.
- * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
- insn-config.h real.h statistics.h stmt.h.
- * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
- * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
- * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h real.h statistics.h stmt.h.
- * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
- fixed-value.h statistics.h stmt.h.
- * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
- stmt.h.
-
-2015-01-15 Jakub Jelinek <jakub@redhat.com>
-
- * gengtype.c (create_user_defined_type): Workaround
- -Wmaybe-uninitialized false positives.
- * cse.c (fold_rtx): Likewise.
- * loop-invariant.c (gain_for_invariant): Likewise.
-
-2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
-
- * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
- set the memory attributes in all cases but clear MEM_EXPR if need be.
-
-2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
-
- PR tree-optimization/64434
- * cfgexpand.c (reorder_operands): New function.
- (expand_gimple_basic_block): Insert call of reorder_operands if
- optimized is true.
-
-2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/micromips.md (*swp): Remove explicit parallel.
- (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
- * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
- (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
- (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
- (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
- (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
- (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
- (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
- (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
- (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
- (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
- (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
- (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
- (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
- (mips_wrdsp): Likewise.
- * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
- parallel.
- (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
- (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
- (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
- (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
- (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
- (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
- * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
- (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
- (ssmaddsqdq4, ssmsubsqdq4): Likewise.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
- (mips_print_operand): Support 'y' to print exact log2 in decimal
- of a const_int.
- * config/mips/mips.h (ISA_HAS_LSA): New define.
- (ISA_HAS_DLSA): Likewise.
- * config/mips/mips.md (<GPR:d>lsa): New define_insn.
- * config/mips/predicates.md (const_immlsa_operand): New predicate.
-
-2015-01-15 Martin Liska <mliska@suse.cz>
-
- PR target/64377
- * optc-save-gen.awk: Add support for array types.
-
-2015-01-15 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64365
- * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
- for MEM_REF access functions with the same base can never partially
- overlap.
-
-2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
-
- * common.opt: New option -fstack-protector-explicit.
- * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
- (stack_protect_decl_phase): Handle stack_protect attribute for
- explicit stack protection requests.
- (expand_used_vars): Similarly.
- * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
- * doc/extend.texi: Add documentation for "stack_protect" attribute.
- * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
-
-2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/53988
- * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
- reg-reg copies.
- (sh_extending_set_of_reg): New struct.
- (sh_find_extending_set_of_reg, sh_split_tst_subregs,
- sh_remove_reg_dead_or_unused_notes): New Declarations.
- * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
- sh_find_extending_set_of_reg, sh_split_tst_subregs,
- sh_extending_set_of_reg::use_as_extended_reg): New functions.
- * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
- convert to insn_and_split and use new function sh_split_tst_subregs.
-
-2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
- option.
- (Optimization Options): Move -fuse-ld documentation to...
- (Link Options): ...here.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/constraints.md (ZC): Add support for R6 LL/SC
- offsets.
- (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
- * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
- (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
- * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
- instead of ZR for the memory operand of LL/SC.
- (compare_and_swap_12, sync_add<mode>): Likewise.
- (sync_<optab>_12, sync_old_<optab>_12): Likewise.
- (sync_new_<optab>_12, sync_nand_12): Likewise.
- (sync_old_nand_12, sync_new_nand_12): Likewise.
- (sync_sub<mode>, sync_old_add<mode>): Likewise.
- (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
- (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
- (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
- (sync_nand<mode>, sync_old_nand<mode>): Likewise.
- (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
- (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
- (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
- * doc/md.texi (ZC): Update description.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- * builtins.c (expand_builtin_atomic_exchange): Remove error when
- memory model is CONSUME.
- (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
- expand_builtin_atomic_store): Change invalid memory model errors to
- warnings.
- (expand_builtin_atomic_clear): Change invalid model errors to warnings
- and issue warning for CONSUME.
-
-2015-01-14 Aldy Hernandez <aldyh@redhat.com>
-
- * lto-cgraph: Update function comments for
- lto_symtab_encoder_encode_*.
-
-2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
-
- * Makefile.in (site.exp): Do not set ENABLE_LTO.
-
-2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
-
- * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
- * lto-cgraph.c (select_what_to_stream): Remove argument, use
- lto_stream_offload_p instead.
- * lto-streamer.h (select_what_to_stream): Remove argument.
- * passes.c (ipa_write_summaries): Likewise.
- * tree-pass.h (ipa_write_summaries): Likewise.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/59354
- * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
- groups larger than the slp group size as having gaps.
-
-2015-01-14 Andrew MacLeod <amacleod@redhat.com>
-
- PR middle-end/59448
- * builtins.c (get_memmodel): Promote consume to acquire always.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64386
- * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
- V32HImode.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64393
- * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
- Enable AVX512BW.
- (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
- * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
- AVX512VBMI, as it implies AVX512BW.
-
-2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
-
- PR target/64387
- * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
- (vec_unpacks_hi_v16sf): Ditto.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
- is not available.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * doc/invoke.texi (mapcs): Mention deprecation.
- (mapcs-frame): Likewise.
-
-2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR target/64453
- * config/arm/arm.c (callee_saved_reg_p): Define.
- (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
- register is callee saved instead of !call_used_regs[reg].
- (thumb1_compute_save_reg_mask): Likewise.
-
-2015-01-14 Hale Wang <hale.wang@arm.com>
-
- * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
- Cortex-M7.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR lto/64415
- * tree-inline.c (insert_debug_decl_map): Check destination
- function MAY_HAVE_DEBUG_STMTS.
- (insert_init_debug_bind): Likewise.
- (insert_init_stmt): Remove redundant check.
- (remap_gimple_stmt): Drop debug stmts if the destination
- function has var-tracking assignments disabled.
-
-2015-01-14 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
- IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
-
-2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- PR target/64460
- * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
- (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
-
-2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
-
- * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
- level from an ARCH; do not inject the default.
- (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
- MIPS_ISA_LEVEL_SPEC.
- (MIPS_ISA_NAN2008_SPEC): Update comment.
- (BASE_DRIVER_SELF_SPECS): Likewise.
- * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
- MIPS_DEFAULT_ISA_LEVEL_SPEC.
- * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
- * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
- * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
-
-2015-01-14 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64493
- PR tree-optimization/64495
- * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
- assign the proper vectorized PHI to the inner loop exit PHIs.
-
-2015-01-14 Joey Ye <joey.ye@arm.com>
-
- * config/arm/arm.c (arm_compute_save_reg_mask):
- Do not save lr in case of tail call.
- * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
-
-2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
-
- * tree-vrp.c (check_array_ref): Emit more warnings
- for warn_array_bounds >= 2.
- * common.opt: New option -Warray-bounds=.
- * doc/invoke.texi: Document -Warray-bounds=.
-
-2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
- (mforbid-fp-as-gp): Remove.
- (mex9): Remove.
- * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
- (nds32_symbol_load_store_p): Remove.
- (nds32_fp_as_gp_check_available): Clean up implementation.
- * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
- cases.
- * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
- fp-as-gp and ex9 cases.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- * tree-profile.c (init_ic_make_global_vars): Drop workaround
- for bintuils bug 14342.
- (init_ic_make_global_vars): Likewise.
- (gimple_init_edge_profiler): Likewise.
- (gimple_gen_ic_func_profiler): Likewise.
-
-2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
-
- * ipa-inline.c (inline_small_functions): Swap the operands in
- enum.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64481
- * ipa-inline-analysis.c (node_growth_cache): Remove.
- (initialize_growth_caches): Do not initialize it.
- (free_growth_caches): Do not free it.
- (do_estimate_growth): Rename to ...
- (estimate_growth): ... this one; drop growth cache code.
- (growth_likely_positive): Always go the heuristics way.
- * ipa-inline.c (can_inline_edge_p): Walk through aliases.
- (reset_edge_caches): Do not reset node growth.
- (heap_edge_removal_hook): Do not maintain cache.
- (inline_small_functions): Likewise; strenghten sanity check.
- (ipa_inline): Do not maintain caches.
- * ipa-inline.h (node_growth_cache): Remove.
- (do_estimate_growth): Remove to ...
- (estimate_growth): this one; remove inline version.
- (reset_node_growth_cache): Remove.
-
-2015-01-13 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/64565
- * ipa-inline.c (inline_small_functions): Update callee keys after
- resolving speculation
- (inline_small_functions): Always check monotonicity of the queue.
-
-2015-01-13 Marek Polacek <polacek@redhat.com>
-
- PR middle-end/64391
- * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64286
- * ree.c (combine_reaching_defs): Move part of comment earlier,
- remove !SCALAR_INT_MODE_P check.
- (add_removable_extension): Don't add vector mode
- extensions if all uses of the source register aren't the same
- vector extensions.
-
-2015-01-13 Renlin Li <renlin.li@arm.com>
-
- * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
- (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
-
-2015-01-13 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_function::equals_private): Call new functions
- cl_target_option_print_diff and cl_optimization_print_diff.
- * optc-save-gen.awk (cl_target_option_print_diff): New function.
- (cl_optimization_print_diff): Likewise.
- * opth-gen.awk: Likewise.
-
-2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
-
- * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
- (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
- (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
- (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
- (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
- (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
- instead of src mode.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR lto/64373
- * lto-streamer-out.c (tree_is_indexable): Guard for NULL
- DECL_CONTEXT.
-
-2015-01-13 Andrew Pinski <apinski@cavium.com>
-
- * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
- volatile mems.
- (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
-
-2015-01-13 Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/63974
- * cfgexpand.c (expand_computed_goto): Don't call
- convert_memory_address here.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64406
- * tree-loop-distibution.c (pass_loop_distribution::execute):
- Reset the SCEV hashtable if we distributed anything.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64404
- * tree-vect-stmts.c (vectorizable_load): Reject conflicting
- SLP types for CSEd loads.
-
-2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
-
- PR tree-optimization/64436
- * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
- merge of two symbolic numbers for a bitwise OR to ...
- (perform_symbolic_merge): This. Also fix computation of the range and
- end of the symbolic number corresponding to the result of a bitwise OR.
-
-2015-01-13 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64568
- * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
- release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
- TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
- target-specific symbol_ref flag.
- (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
- resides in rodata section.
- * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
- (nds32_encode_section_info): New function.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.md (call): Use pseudo instruction bal which
- clobbers TA_REGNUM if large code model is specified.
- (call_register): Likewise.
- (call_immediate): Likewise.
- (call_value): Likewise.
- (call_value_register): Likewise.
- (call_value_immediate): Likewise.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
- (TARGET_CMODEL_MEDIUM): New macro.
- (TARGET_CMODEL_LARGE): New macro.
- * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
- code model setting in assembly code.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
- Remove MASK_GP_DIRECT flag.
- * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
- one of the multilib default options.
- * config/nds32/nds32.opt (mgp-direct): Remove.
- * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
- -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
-
-2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
-
- * config/nds32/nds32.opt (mcmodel): Add new option.
- * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
- to describe code model.
-
-2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
-
- PR target/64479
- * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
-
-2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
-
- * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
- (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
- (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
- (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
- __builtin_sh_set_fpscr.
-
-2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
- after a funtion name just to indicate it is a function.
- ([-fsanitize-undefined-trap-on-error]): Likewise.
- ([-fdbg-cnt=]): Likewise.
- ([-mmemcpy]): Likewise.
- ([-mflush-func]): Likewise.
- ([-msynci]): Likewise.
-
-2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
- example.
-
-2015-01-12 Jakub Jelinek <jakub@redhat.com>
-
- PR tree-optimization/64563
- * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
- instead of != VR_VARYING.
-
- PR target/64513
- * config/i386/i386.c (ix86_expand_prologue): Add
- REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
-
- PR tree-optimization/64454
- * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
- op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
- for signed or [0, op1 - 1] for unsigned modulo.
- (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
- even if op1 does not satisfy integer_pow2p.
-
- PR other/64370
- * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
-
-2015-01-12 Jeff Law <law@redhat.com>
-
- PR target/64461
- * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
- (trunchiqi2, truncsihi2): Similarly.
-
- * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
- rather than calling F.
-
-2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tsan.c (instrument_expr): Use force_gimple_operand.
- Use may_be_nonaddressable_p instead of is_gimple_addressable.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64530
- * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
- back dr1.
-
-2015-01-12 Richard Biener <rguenther@suse.de>
-
- PR middle-end/64357
- * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
- latches properly.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
- Cortex-A17 tuning parameters.
- * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
- * config/arm/arm.c (arm_macro_fusion_p): New function.
- (arm_macro_fusion_pair_p): Likewise.
- (TARGET_SCHED_MACRO_FUSION_P): Define.
- (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
- (ARM_FUSE_NOTHING): Likewise.
- (ARM_FUSE_MOVW_MOVT): Likewise.
- (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
- arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
- arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
- arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
- arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
- arm_cortex_a5_tune): Specify fuseable_ops value.
-
-2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
-
- PR bootstrap/64561
- * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
- test for PIE with copy reloc.
- * configure: Regenerated.
-
-2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
-
- * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
- in gen_rtx_REG.
- (arm_tls_descseq_addr): Likewise.
- (arm_gen_movmemqi): Likewise.
- (arm_expand_epilogue_apcs_frame): Likewise.
- (arm_expand_epilogue): Likewise.
- (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
- in gen_rtx_REG.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- PR ipa/64550
- * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
- volatility for correct operands.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
- indication that a function is not leaf.
- (sem_function::compare_polymorphic_p): Likewise.
-
-2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
-
- * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
- machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
- fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
- fold-const.h, tree-check.h.
-
-2015-01-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63967
- PR ipa/64425
- * ipa-inline.c (compute_uninlined_call_time,
- compute_inlined_call_time): Use counts for extra precision when
- needed possible.
- (big_speedup_p): Fix formating.
- (RELATIVE_TIME_BENEFIT_RANGE): Remove.
- (relative_time_benefit): Remove.
- (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
- merge guessed and read profile paths.
- (inline_small_functions): Count only !optimize_size functions into
- initial size; be more lax about sanity check when profile is used;
- be sure to update inlined function profile when profile is read.
-
-2015-01-12 Jan Hubicka <hubicka@ucw.cz>
-
- PR ipa/63470
- * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
- cost when edge becomes direct.
- * ipa-prop.c (make_edge_direct): Do not adjust when speculation
- is resolved or when introducing new speculation.
-
-2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
-
- PR ipa/64551
- PR ipa/64552
- * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
- '||' to fix typo issue.
-
- * tree.h (target_opts_for_fn): Check NULL_TREE since it can
- accept and return NULL.
-
-2015-01-12 Martin Liska <mliska@suse.cz>
-
- * cgraph.c (cgraph_edge::remove_callee): Move function to header
- file for being inlined.
- (cgraph_set_edge_callee): Delete.
- (cgraph_edge::redirect_callee): Move function to header file
- for being inlined.
- (cgraph_edge::make_direct): Use new function.
- (cgraph_edge::dump_edge_flags): New function created from
- static dump_edge_flags function.
- (cgraph_node::dump): Use new function.
- (cgraph_edge::verify_count_and_frequency): New function created
- from verify_edge_count_and_frequency.
- (cgraph_edge::verify_corresponds_to_fndecl): New function created
- from verify_edge_corresponds_to_fndecl.
- (verify_edge_corresponds_to_fndecl): Delete.
- (cgraph_node::verify_node): Use new function.
- * cgraph.h (cgraph_edge::set_callee): New function.
- (cgraph_edge::dump_edge_flags): Likewise.
- (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
-
-2015-01-11 Jan Hubicka <hubicka@ucw.cz>
-
- * ipa-utils.c (estimate_function_body_sizes): Do not
- free node params when called late with early=true.
-
-2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
-
- * doc/md.texi (Instruction Patterns): Rewrite text for
- clarity.
- (Example): Likewise.
-
-2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Break long lines.
- [(-fdiagnostics-color)]: Put long literal in @smallexample
- instead of inline.
- [(-fsanitize-recover)]: Likewise.
- [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
- [(-ffast-math)]: Likewise.
- [(--param max-inline-insns-recursive)]: Likewise.
- [(--param max-inline-recursive-depth)]: Likewise.
- [(-mno-text-section-literals)]: Likewise.
-
-2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
-
- * doc/install.texi: Update for libgomp being renamed from "GNU
- OpenMP Runtime Library" to "GNU Offloading and Multi Processing
- Runtime Library".
- * doc/sourcebuild.texi: Likewise.
-
-2015-01-10 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.c (moxie_option_override): Fix forcing of
- mul.x availability for moxiebox configuration.
-
-2015-01-09 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.md: Tabify assembly output.
-
-2015-01-09 Anthony Green <green@moxielogic.com>
-
- * config/moxie/moxie.md (CC_REG): Correct register definition.
-
-2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
- ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
- of log files.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
-
-2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
- Jakub Jelinek <jakub@redhat.com>
-
- PR middle-end/64412
- * lto-streamer.h (lto_stream_offload_p): New declaration.
- * lto-streamer.c (lto_stream_offload_p): New variable.
- * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
- at the same time as section_name_prefix.
- * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
- if lto_stream_offload_p.
- * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
- stream TREE_TARGET_OPTION if lto_stream_offload_p.
- (write_ts_function_decl_tree_pointers): Don't
- stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
- * tree-streamer-in.c (unpack_value_fields): Don't stream
- TREE_TARGET_OPTION in if ACCEL_COMPILER.
- (lto_input_ts_function_decl_tree_pointers): Don't stream
- DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
- * lto-opts.c (lto_write_options): Use lto_stream_offload_p
- instead of section_name_prefix string comparisons.
-
-2015-01-09 Jakub Jelinek <jakub@redhat.com>
-
- PR rtl-optimization/64536
- * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
- tablejumps.
-
-2015-01-09 Michael Collison <michael.collison@linaro.org>
-
- PR tree-optimization/64322
- * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
- range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
-
-2015-01-09 Tom de Vries <tom@codesourcery.com>
-
- PR rtl-optimization/64539
- * regcprop.c (kill_clobbered_values): Factor out of ...
- (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
- instead of note_stores with kill_clobbered_value.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * ginclude/unwind-arm-common.h: Revert previous commit.
-
-2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
-
- * config.gcc (arm*-*-freebsd*): New configuration.
- * config/arm/freebsd.h: New file.
- * config.host: Add extra components for arm*-*-freebsd*.
- * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
- * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
- for -mcpu=e6500.
- * config/rs6000/t-rtems: Add e6500 multilibs.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
- MPC8540.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
- MULTILIB_EXCEPTIONS.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
- MULTILIB_EXCEPTIONS.
-
-2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
-
- * config/arm/t-rtems-eabi: Rename to...
- * config/arm/t-rtems: ...this.
- * config/arm/rtems-eabi.h: Rename to...
- * config/arm/rtems.h: ...this.
- * config.gcc (arm*-*-rtems*): Reflect changes above.
-
-2015-01-09 Richard Biener <rguenther@suse.de>
-
- PR tree-optimization/64410
- * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
- on the LHS.
- (execute_update_addresses_taken): Deal with that.
- * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
- loads/stores for complex variables.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
- name comparison.
- (func_checker::compare_memory_operand): New function.
- (func_checker::compare_operand): Split case to newly
- added functions.
- (func_checker::compare_cst_or_decl): New function.
- (func_checker::compare_gimple_call): Identify
- memory operands.
- (func_checker::compare_gimple_assign): Likewise.
- * ipa-icf-gimple.h: New function.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- PR ipa/64503
- * sreal.c (sreal::dump): Change unsigned format to signed for
- m_exp value.
- (sreal::to_double): Replace exp2 with scalbln.
-
-2015-01-09 Martin Liska <mliska@suse.cz>
-
- * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
- * ipa-icf.c (sem_function::equals_private): Add support for target and
- (sem_item_optimizer::merge_classes): Remove redundant function
- optimization flags comparison.
- * tree.h (target_opts_for_fn): New function.
-
-2015-01-09 Tom de Vries <tom@codesourcery.com>
-
- * omp-low.c (expand_omp_for_static_chunk): Fix assert.
-
-2015-01-09 Kito Cheng <kito@0xlab.org>
-
- PR rtl-optimization/64348
- * lra-constraints.c (split_reg): Fix caller-save store/restore
- instruction generation.
-
-2015-01-08 John David Anglin <danglin@gcc.gnu.org>
-
- PR gcov-profile/61790
- * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
- long long. Fallback to int64_t if host doesn't have long long and
- use strtol if int64_t is long. Otherwise, use sscanf for conversion.
-
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
+ (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
+ (sse_cvtsi2ssq<round_name>): Likewise.
+ (sse_cvtss2si<round_name>): Likewise.
+ (sse_cvtss2siq<round_name>): Likewise.
+ (sse2_cvtsi2sdq<round_name>): Likewise.
+ (sse2_cvtsd2si<round_name>): Likewise.
+ (sse2_cvtsd2siq<round_name>): Likewise.
+ * config/i386/subst.md (round_nimm_scalar_predicate): New
+ predicate.
- PR tree-optimization/63989
- * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
- from 1000 to 10000.
- * tree-ssa-strlen.c (get_strinfo): Moved earlier.
- (get_stridx): If we don't have a record for certain SSA_NAME,
- but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
- constant offset, call get_stridx_plus_constant.
- (get_stridx_plus_constant): New function.
- (zero_length_string): Don't use get_stridx here.
+2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
- PR target/55023
- PR middle-end/64388
- * dse.c (struct insn_info): Mention frame_read set also
- before reload for tail calls on some targets.
- (scan_insn): Revert 2014-12-22 change. Set frame_read
- also before reload for tail calls if
- HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
- instead of add_non_frame_wild_read for non-const/memset
- tail calls after reload.
+ PR middle-end/67639
+ * varasm.c (make_decl_rtl): Mark invalid register vars as
+ DECL_EXTERNAL.
-2015-01-08 Jason Merrill <jason@redhat.com>
+ PR rtl-optimization/66206
+ * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
+ All callers changed.
- * ubsan.c (do_ubsan_in_current_function): New.
- (pass_ubsan::gate): Use it.
- * ubsan.h: Declare it.
- * convert.c (convert_to_integer): Use it.
+2016-01-07 Jakub Jelinek <jakub@redhat.com>
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
-
- PR target/64338
- * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
- compare_code when it is unconditionally overwritten afterwards.
- Use ix86_reverse_condition instead of reverse_condition. Don't
- change code if *reverse_condition* returned UNKNOWN and don't
- swap ct/cf and negate diff in that case.
-
-2015-01-08 Mike Stump <mikestump@comcast.net>
-
- * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
- (pass_tsan_O0::gate): Likewise.
- * extend.texi (Function Attributes): Add no_sanitize_thread
- documentation.
+ PR tree-optimization/69141
+ * tree-ssa-pre.c: Include langhooks.h.
+ (eliminate_dom_walker::before_dom_children): Use
+ lang_hooks.decl_printable_name instead of
+ cgraph_node::get ()->name ().
-2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
+ PR middle-end/68960
+ * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
+ it and DECL_ALIGN too.
- * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
- for registering builtins.
- * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
- add -fopenmp to the argv_obstack used when invoking
- compile_for_target.
+2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
- * config/i386/intelmic-mkoffload.c (compile_for_target): Always
- add "-m32" or "-m64" to argv_obstack.
- (generate_host_descr_file): Likewise, when invoking host_compiler.
- (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
- ld.
+ * config/mips/mips-ftypes.def: Sort to lexicographical order.
-2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+2016-01-06 Uros Bizjak <ubizjak@gmail.com>
- * config/sh/sh-mem.cc: Use constant as second operand when emitting
- tstsi_t insns.
+ PR target/69140
+ * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
+ depending on frame_pointer_needed before remaining integer and SSE
+ registers are saved.
-2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
+2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
- PR target/55212
- * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
- constant load if constant operand fits into I08.
+ * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
+ mode iterator with VSX_M2.
+ (*p9_vecstore_<mode>): Likewise.
+ (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
+ (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
+ (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
+ (define_split for VSX_LE128 stores): Likewise.
+ (define_peephole2 for TImode LE swaps): Likewise.
+ (define_split for VSX_LE128 post-reload stores): Likewise.
-2015-01-08 Jakub Jelinek <jakub@redhat.com>
+2016-01-06 Marek Polacek <polacek@redhat.com>
- PR sanitizer/64336
- * tree.c (build2_stat): Fix up initialization of TREE_READONLY
- and TREE_THIS_VOLATILE for MEM_REFs.
- (build5_stat): Fix up initialization of TREE_READONLY and
- TREE_THIS_VOLATILE for TARGET_MEM_REFs.
+ PR sanitizer/69099
+ * convert.c (convert_to_integer_1): Adjust call to
+ ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
+ * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
+ EXPR instead of ARG.
+ * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
-2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- PR target/64533
- * config/sh/sh.md (*addsi3_compact): Use u constraint instead
- of r for the second alternative of the destination operand.
+ PR 1078
+ * doc/extend.texi (RL78 Variable Attributes): New section.
-2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
+2016-01-05 Marek Polacek <polacek@redhat.com>
- PR target/36557
- * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
+ PR c/69104
+ * builtins.c (get_memmodel): Use expansion point location rather than
+ the input location. Call warning_at rather than warning.
+ (expand_builtin_atomic_compare_exchange): Likewise.
+ (expand_builtin_atomic_load): Likewise.
+ (expand_builtin_atomic_store): Likewise.
+ (expand_builtin_atomic_clear): Likewise.
-2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
- * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
- keywords.
- ([-fivar-visibility], [-fvisibility]): Likewise.
+ PR target/68991
+ * config/i386/i386.c (ix86_expand_vector_logical_operator):
+ Replace nonimmediate_operand with vector_operand.
+ * config/i386/predicates.md (vector_operand): New predicate.
+ (general_vector_operand): Replace nonimmediate_operand with
+ vector_operand.
+ * config/i386/sse.md: Replace nonimmediate_operand with
+ vector_operand and m constraint with Bm constraint on SSE
+ patterns with 16-byte memory operand.
+ * config/i386/subst.md (round_nimm_predicate): Replace
+ nonimmediate_operand with vector_operand.
+ (round_saeonly_nimm_predicate): Likewise.
+ (round_saeonly_nimm_scalar_predicate): New.
-2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
- * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
- the file where @code, @command, etc is more appropriate.
+ PR target/68991
+ * config/i386/constraints.md (Bm): New constraint.
+ * config/i386/predicates.md (vector_memory_operand): New
+ predicate.
+ * config/i386/sse.md: Replace xm with xBm in plusminus and
+ any_logic patterns.
-2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
- of -mrecip= documentation.
+ PR 1078
+ * doc/extend.texi (V850 Function Attributes): New section.
+ (V850 Variable Attributes): New section.
-2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
+2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
- PR target/64505
- * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
- correct reload handler if -m32 -mpowerpc64 is used.
+ PR 1078
+ * doc/extend.texi (MicroBlaze Function Attributes): Document
+ interrupt_handler and fast_interrupt attributes.
-2015-01-06 Tom de Vries <tom@codesourcery.com>
+2016-01-05 Sergei Trofimovich <siarheit@google.com>
- * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
+ PR other/60465
+ * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
+ for local symbolic operands.
+ * config/ia64/predicates.md (local_symbolic_operand64): New
+ predicate.
-2015-01-08 Christian Bruel <christian.bruel@st.com>
+2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
- PR target/64507
- * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
+ PR rtl-optimization/68651
+ * combine.c (combine_simplify_rtx): Canonicalize x + x into
+ x << 1.
-2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
+2016-01-05 Nathan Sidwell <nathan@acm.org>
- PR tree-optimization/63259
- * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
- if optab exists for 16bit byteswap.
+ * alias.c (compare_base_decls): Use symtab_node::get.
-2015-01-06 Jakub Jelinek <jakub@redhat.com>
+2016-01-05 Nick Clifton <nickc@redhat.com>
- * opts.c (common_handle_option): Add support for
- -fno-sanitize=all and -f{,no-}sanitize-recover=all.
- * doc/invoke.texi: Document -fno-sanitize=all,
- -f{,no-}sanitize-recover=all. Document that
- -fsanitize=float-cast-overflow is not enabled
- by -fsanitize=undefined. Fix up documentation
- of -f{,no-}sanitize-recover.
+ PR target/68770
+ * ira-costs.c (copy_cost): Initialise the t_icode field of the
+ secondary_reload_info structure.
-2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
+ PR target/66655
+ * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
+ decls if weak support is available.
- * config.gcc: Add Visium support.
- * configure.ac: Likewise.
- * configure: Regenerate.
- * doc/extend.texi (interrupt attribute): Add Visium.
- * doc/invoke.texi: Document Visium options.
- * doc/install.texi: Document Visium target.
- * doc/md.texi: Document Visium constraints.
- * common/config/visium: New directory.
- * config/visium: Likewise.
+2016-01-04 Martin Sebor <msebor@redhat.com>
-2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+ * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
- * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
- for the "(and X (ior (not X) Y) -> (and X Y)" transform.
+2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
-2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
+ * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
+ OPTION_MASK_P9_DFORM.
- * combine.c (combine_validate_cost): Do not count the cost of a
- split I2 twice. Do not display it twice in the dump, either.
+ * config/rs6000/constraints.md (wo constraint): New constraint for
+ ISA 3.0 (power9).
-2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
+ for wo constraint.
+ (rs6000_init_hard_regno_mode_ok): Likewise.
- Revert parts of r219199.
- * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
- <inttypes.h>.
- ([-Wtraditional]): Restore markup on <limits.h>.
+ * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
+ wo constraint.
-2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
+ * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
+ expanders not to have constraints. Add support for ISA 3.0 xxperm
+ instruction. Add support for fusing xxlor with xxperm.
+ (altivec_vperm_<mode>_internal): Likewise.
+ (altivec_vperm_v8hiv16qi): Likewise.
+ (altivec_vperm_<mode>v16q): Likewise.
+ (altivec_vperm_<mode>_uns): Likewise.
+ (vperm_v8hiv4si): Likewise.
+ (vperm_v16qiv8hi): Likewise.
- PR c++/31397
- * doc/invoke.texi: Document -Wsuggest-override.
+ * doc/md.texi (RS/6000 constraints): Document wo constraint.
-2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
+2016-01-04 Jakub Jelinek <jakub@redhat.com>
- PR rtl-optimization/64287
- * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
- (process_options): Disable flag_ipa_ra if profiling.
+ Update copyright years.
-2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
+ * gcc.c (process_command): Update copyright notice dates.
+ * gcov-dump.c (print_version): Ditto.
+ * gcov.c (print_version): Ditto.
+ * gcov-tool.c (print_version): Ditto.
+ * gengtype.c (create_file): Ditto.
+ * doc/cpp.texi: Bump @copying's copyright year.
+ * doc/cppinternals.texi: Ditto.
+ * doc/gcc.texi: Ditto.
+ * doc/gccint.texi: Ditto.
+ * doc/gcov.texi: Ditto.
+ * doc/install.texi: Ditto.
+ * doc/invoke.texi: Ditto.
- * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
+ * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
+ modes larger than TImode as TImode if NEON is not enabled.
- * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
- hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
- put under #if TARGET_LOOPS guard.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Uros Bizjak <ubizjak@gmail.com>
+ PR target/69100
+ * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
+ mode for %f0-%f31 only if TARGET_FPU.
- * config/i386/i386.c (output_387_binary_op): Use std::swap.
+2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
-2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
+ PR target/69072
+ * config/sparc/sparc.c (scan_record_type): Take into account subfields
+ to compute the PACKED_P predicate.
+ (function_arg_record_value): Minor tweaks.
- * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
- * rtl.h (refers_to_regno_p): Add overload.
- * cse.c: Use it.
- * bt-load.c: Likewise.
- * combine.c: Likewise.
- * df-scan.c: Likewise.
- * sched-deps.c: Likewise.
- * config/s390/s390.c: Likewise.
- * config/m32r/m32r.c: Likewise.
- * config/rs6000/spe.md: Likewise.
- * config/rs6000/rs6000.c: Likewise.
- * config/pa/pa.c: Likewise.
- * config/stormy16/stormy16.c: Likewise.
- * config/cris/cris.c: Likewise.
- * config/arc/arc.md: Likewise.
- * config/arc/arc.c: Likewise.
- * config/sh/sh.md: Likewise.
- * config/sh/sh.c: Likewise.
- * config/frv/frv.c: Likewise.
+2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+ * doc/install.texi (--with-multilib-list): Describe the meaning of the
+ option for arm*-*-* targets.
- PR sanitizer/64265
- * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
- call as cleanup of the whole body.
- * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
- * tsan.c (replace_func_exit): New function.
- (instrument_func_exit): Moved earlier.
- (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
- Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
- been found.
- (tsan_pass): Don't call instrument_func_exit.
- * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
- * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
- inlining.
+2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
- PR sanitizer/64344
- * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
- * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
- it to libubsan handler instead of EXPR. Fold comparisons earlier,
- if the result is integer_zerop, return NULL_TREE.
- * convert.c (convert_to_integer): Pass expr as ARG.
+ * doc/extend.texi (Common Function Attributes): Move docs for
+ MSP430-specific attributes to....
+ (MSP430 Function Attributes): ...here. Delete the redundant
+ entries and copy-edit the remaining text.
+ (MSP430 Variable Attributes): Use uniform format for index
+ entries and add a cross-reference to the corresponding function
+ attribute docs.
- PR tree-optimization/64465
- * tree-inline.c (redirect_all_calls): During inlining
- clean up EH stmts and EH edges if redirect_call_stmt_to_callee
- changed the stmt to a non-throwing call.
+2016-01-03 Vladimír Čunát <vcunat@gmail.com>
-2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
+ * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
+ -finite-math typo.
+ (x86 Options): Likewise.
- * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
- etc markup throughout the file.
+2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
-2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ PR 1078
- Enable experimental TSAN support for Ada.
- * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
+ * extend.texi (Common Function Attributes) <no_stack_limit>: New.
+ * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
+ to corresponding attribute.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
- PR tree-optimization/64494
- * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
- clear SSA_NAME_ANTI_RANGE_P flag.
+ * doc/extend.texi (Common Function Attributes) <noplt>: Move
+ to correct alphabetization of table. Copy-edit and correct
+ markup.
+ <stack_protect>: Likewise.
+ <target_clones>: Likewise.
+ <simd>: Likewise.
+ * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
+ Correct punctuation.
+ (Code Gen Options) <-fno-plt>: Copy-edit.
-2015-01-05 Marek Polacek <polacek@redhat.com>
+2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
- * doc/extend.texi (Arrays of Length Zero): Add missing comma.
+ PR target/68917
+ * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
+ SI values. Explicitly convert SI to DI and vice-versa.
-2015-01-05 Jakub Jelinek <jakub@redhat.com>
+2016-01-01 Jakub Jelinek <jakub@redhat.com>
- Update copyright years.
+ PR tree-optimization/69070
+ * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
+ REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
- * gcc.c (process_command): Update copyright notice dates.
- * gcov-dump.c: Ditto.
- * gcov.c: Ditto.
- * doc/cpp.texi: Bump @copying's copyright year.
- * doc/cppinternals.texi: Ditto.
- * doc/gcc.texi: Ditto.
- * doc/gccint.texi: Ditto.
- * doc/gcov.texi: Ditto.
- * doc/install.texi: Ditto.
- * doc/invoke.texi: Ditto.
+ PR sanitizer/69055
+ * ubsan.c (ubsan_instrument_float_cast): Call
+ initialize_sanitizer_builtins.
- * auto-profile.c, auto-profile.h: Fix up Copyright line.
-
-2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
- verb tense, etc.
- ([-fvtable-verify], [-fvtv-debug]): Likewise.
- ([-Wabi]): Likewise.
- ([-fmessage-length]): Likewise.
- ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
- ([-Wno-discarded-qualifiers]): Likewise.
- ([-Wnodiscarded-array-qualifiers]): Likewise.
- ([-Wno-virtual-move-assign]): Likewise.
- ([-fsanitize=address], [-fsanitize=thread]): Likewise.
- ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
- ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
- ([-fsanitize-undefined-trap-on-error]): Likewise.
- ([-floop-interchange]): Likewise.
- ([-ftree-coalesce-inlined-vars]): Likewise.
- ([-fvect-cost-model]): Likewise.
- ([-flto]): Likewise.
- ([--param]): Likewise.
- (Spec Files): Likewise.
- ([-mstrict-align]): Likewise.
- ([-mfix-cortex-a53-835769]): Likewise.
- ([-march], [-mtune]): Likewise.
- ([-mpic-register]): Likewise.
- ([-munaligned-access]): Likewise.
- ([-msp8]): Likewise.
- (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
- (AVR Built-in Macros): Likewise.
- ([-mpreferred-stack-boundary]): Likewise.
- ([-mtune-crtl]): Likewise.
- ([-mashf]): Likewise.
- ([-mmcu=]): Likewise.
- ([-minrt]): Likewise.
- ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
- ([-mupper-regs]): Likewise.
- ([-matomic-model]): Likewise.
- ([-mdiv]): Likewise.
- ([-mzdcbranch]): Likewise.
- ([-mdisable-callt]): Likewise.
- ([-msoft-float]): Likewise.
- ([-m8byte-align]): Likewise.
- ([-fstack-reuse]): Likewise.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
- Fix markup, light copy-editing.
- ([-fauto-profile]): Rewrite to fix formatting and content
- problems.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
- Copy-edit description.
- ([-fisolate-erroneous-paths-attribute]): Likewise.
- * common.opt (fisolate-erroneous-paths-dereference):
- Copy-edit description.
- (fisolate-erroneous-paths-attribute): Likewise.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
- tidy grammar.
-
-2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
- ([-fvtv-debug]): Likewise.
- ([-Wc++-compat]): Likewise.
- ([-Wc++11-compat]): Likewise.
- ([-Wc++14-compat]): Likewise.
- ([-Wno-sized-deallocation]): Likewise.
- ([-femit-class-debug-always]): Likewise.
- ([-femit-struct-debug-detailed]): Likewise.
- ([-fno-keep-inline-dllexport]): Likewise.
- ([-fira-algorithm]): Likewise.
- ([-fira-region]): Likewise.
- ([-flra-remat]): Likewise.
- ([-fipa-ra]): Likewise.
- ([-fhoist-adjacent-loads]): Likewise.
- ([-fisolate-erroneous-paths-dereference]): Likewise.
- ([-fisolate-erroneous-paths-attribute]): Likewise.
- ([-ftree-switch-conversion]): Likewise.
- ([-ftree-tail-merge]): Likewise.
- ([-ftree-loop-if-convert]): Likewise.
- ([-ftree-loop-if-convert-stores]): Likewise.
- ([-ftree-loop-distribution]): Likewise.
- ([-ftree-loop-distribute-patterns]): Likewise.
- ([-flto-compression-level]): Likewise.
- ([-flto-report]): Likewise.
- ([-flto-report-wpa]): Likewise.
- ([-fuse-linker-plugin]): Likewise.
- ([-mfix-cortex-a53-835769]): Likewise.
- ([-mno-fix-cortex-a53-835769]): Likewise.
- ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
- explicit listing; add a note to the discussion indicating they
- exist. Reorder table to group similar options. Add missing
- @opindex entries. Add @need commands throughout the table to
- allow it to be split across multiple pages.
- ([-m8bit-idiv]): Fix @opindex.
- ([-mavx256-split-unaligned-load]): Likewise.
- ([-mavx256-split-unaligned-store]): Likewise.
- ([-mstack-protector-guard]): Likewise.
- ([-mcpu=]): Likewise.
- ([-mcpu]): Likewise.
- ([-mpointer-size=]): Likewise.
-
-2015-01-03 John David Anglin <danglin@gcc.gnu.org>
-
- * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
- instead of `m' constraint. Likewise for unnamed movb comparison
- patterns using reg_before_reload_operand predicate.
- * config/pa/predicates.md (reg_before_reload_operand): Tighten
- predicate to reject register index and LO_SUM DLT memory forms
- after reload.
-
-2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi (Option Summary): Fix spelling of
- -fdevirtualize-at-ltrans.
- ([-fdevirtualize]): Fix markup.
- ([-fdevirtualize-speculatively]): Fix typo.
- ([-fdevirtualize-at-ltrans]): Likewise. Make description less
- implementor-speaky.
- * common.opt (fdevirtualize-at-ltrans): Likewise.
- * ipa-devirt.c: Fix typos in comments throughout the file.
- (ipa_devirt): Fix typos in format strings for dump output.
-
-2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
-
- * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
- discussion of defaults, light copy-editing.
-
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- * tsan.c (instrument_expr): corrected previous checkin.
-
-2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
-
- Instrument bit field and unaligned accesses for TSAN.
- * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
- (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
- * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
- Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
- unaligned memory regions.
-
-2015-01-01 Anthony Green <green@moxielogic.com>
-
- * config/moxie/predicates.md (moxie_general_movsrc_operand):
- Restrict move source register offsets to 16 bits.
+ PR target/69015
+ * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
-Copyright (C) 2015 Free Software Foundation, Inc.
+Copyright (C) 2016 Free Software Foundation, Inc.
Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright