]> git.ipfire.org Git - thirdparty/gcc.git/blobdiff - gcc/ChangeLog
gcc/
[thirdparty/gcc.git] / gcc / ChangeLog
index a2ce483c774f7ec9a7c278b4600633f189b28cbb..11cddf2e52fe6e32048a2f2cff1b8d5ad47a3477 100644 (file)
@@ -1,3 +1,466 @@
+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>