+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>