1. 16 Jul, 2015 19 commits
    • gensupport.h (compute_test_codes): Take a file_location rather than a line number. · c9f84f2e
      gcc/
      	* 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.
      
      From-SVN: r225882
      Richard Sandiford committed
    • genoutput.c (data): Use a file_location to record the source position. · ca018d3c
      gcc/
      	* 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.
      
      From-SVN: r225881
      Richard Sandiford committed
    • read-md.h (fatal_at): Declare. · 8f246310
      gcc/
      	* 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.
      
      From-SVN: r225880
      Richard Sandiford committed
    • read-md.h (file_location): New structure. · cc472607
      gcc/
      	* 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.
      
      From-SVN: r225879
      Richard Sandiford committed
    • genoutput.c (next_index_number): Delete. · 1e2e5efa
      gcc/
      	* 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.
      
      From-SVN: r225876
      Richard Sandiford committed
    • genattrtab.c (check_attr_value): Remove handling of null attrs. · 5839708b
      gcc/
      	* genattrtab.c (check_attr_value): Remove handling of null attrs.
      	(make_canonical): Likewise.
      
      From-SVN: r225875
      Richard Sandiford committed
    • sparc.md (save_stack_nonlocal): Use adjust_address instead of adjust_address_nv. · ce967e93
      	* config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
      	instead of adjust_address_nv.
      	(restore_stack_nonlocal): Likewise.
      	(nonlocal_goto): Likewise.
      
      From-SVN: r225874
      Eric Botcazou committed
    • Handle exit phi without header phi in create_parallel_loop · 7781d262
      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.
      
      From-SVN: r225873
      Tom de Vries committed
    • Handle unused reduction in create_loads_for_reductions · 79855460
      2015-07-16  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-parloops.c (create_loads_for_reductions): Handle case that
      	reduction is unused.
      
      From-SVN: r225872
      Tom de Vries committed
    • re PR tree-optimization/66894 (wrong code at -Os and above on x86_64-linux-gnu) · ef3b59ac
      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.
      
      	* gcc.dg/torture/pr66894.c: New testcase.
      
      From-SVN: r225870
      Richard Biener committed
    • Add new object_allocator and clean-up allocator usage. · fb0b2914
      	* c-format.c (static void check_format_info_main): Use
      	object_allocator instead of pool_allocator.
      	(check_format_arg): Likewise.
      	(check_format_info_main): Likewise.
      	* 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.
      
      From-SVN: r225869
      Martin Liska committed
    • Give struct param_aa_atatus and struct func_body_info an ipa_ prefix. · 56b40062
      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.
      
      From-SVN: r225867
      Martin Jambor committed
    • linux-common.h (LINK_MPX): New. · 6de59c8a
      gcc/
      
      	* 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.
      
      libmpx/
      
      	* configure.ac: Remove link_mpx.
      	* libmpx.spec.in: Likewise.
      	* configure: Regenerate.
      
      From-SVN: r225862
      Ilya Enkovich committed
    • fold-const.c (fold_widened_comparison): Remove. · 79d4f7c6
      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.
      
      	* gcc.dg/tree-ssa/pr21031.c: Adjust.
      
      From-SVN: r225861
      Richard Biener committed
    • tree-ssa-dom.c (dom_valueize): New function. · 612b9d13
      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.
      
      From-SVN: r225860
      Richard Biener committed
    • tree-ssa-loop-ivopts.c (add_candidate): Remove call to add_autoinc_candidates. · 4c3b378b
      	* 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.
      
      From-SVN: r225859
      Bin Cheng committed
    • nios2.c (nios2_emit_stack_limit_check): Fix uninitialized-variable warning. · a6885f12
      2015-07-16  Sandra Loosemore  <sandra@codesourcery.com>
      
      	gcc/
      	* config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
      	uninitialized-variable warning.
      
      From-SVN: r225857
      Sandra Loosemore committed
    • re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when… · fdc2ce3f
      re PR target/65249 (unable to find a register to spill in class 'R0_REGS' when compiling protobuf on sh4)
      
      PR target/65249
      * config/sh/sh.md (movdi): Split simple reg move to two movsi when
        the destination is R0 so as to lower R0-register pressure.
      
      From-SVN: r225856
      Kaz Kojima committed
    • Daily bump. · 58b1eb43
      From-SVN: r225855
      GCC Administrator committed
  2. 15 Jul, 2015 21 commits
    • re PR target/66866 (incorrect load address on manual vector shuffle) · baca1278
      	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.
      
      testsuite/ChangeLog:
      
      	PR target/66866
      	* g++.dg/pr66866.C: New test.
      
      From-SVN: r225852
      Uros Bizjak committed
    • One of the code refactorings introducing phi node iterators modified the semantics of this code. · 1f8ba824
      One of the code refactorings introducing phi node iterators modified
      the semantics of this code.  Revert that change to what was before.
      
              * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
              iterator to use_stmt.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r225851
      Aditya Kumar committed
    • [graphite] discard scops for which entry==exit · d7f49f78
      In this patch we discard the scops where entry and exit are the same BB.
      This is an effort to remove graphite-scop-detection.c:limit_scops.
      Removing the limit_scops function introduces correctness regressions.
      We are making relevant changes in incremental steps to fix those bugs,
      and finally we intend to remove limit_scops.
      
      2015-06-29  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
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r225850
      Aditya Kumar committed
    • graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in case of a return statement in scop. · 1ee9ef73
              * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
              case of a return statement in scop.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r225849
      Aditya Kumar committed
    • graphite-sese-to-poly.c (parameter_index_in_region): Only handle INTEGER_TYPE parameters. · 4bc4dd11
              * 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.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r225848
      Aditya Kumar committed
    • gimple-pretty-print.h: Don't include pretty-print.h. · 48d859bb
      
      	* 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.
      	* lto/lto.c: Remove redundant includes.
      
      From-SVN: r225847
      Andrew MacLeod committed
    • opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't include input.h. · 903f5c23
      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  Andrew MacLeod  <amacleod@redhat.com>
      
      	* java/expr.c: Remove multiline #include comment.
      
      
      2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
      
      	* fortran/trans-types.c: Remove multiline #include comment.
      
      
      2015-07-15  Andrew MacLeod  <amacleod@redhat.com>
      
      	* c-family/c-opts.c: Remove multiline #include comment.
      
      From-SVN: r225846
      Andrew MacLeod committed
    • mkoffload.c (process): Add C++ protection to emitted code. · 852b55f9
      	* config/nvptx/mkoffload.c (process): Add C++ protection to
      	emitted code.
      
      From-SVN: r225844
      Nathan Sidwell committed
    • re PR libgcc/66854 (libgcc2.c:1846:9: internal compiler error: Segmentation fault) · 58b62eaa
      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.
      
      From-SVN: r225843
      Michael Meissner committed
    • simplify-rtx.c (simplify_ternary_operation): Add simplification for (!c) !=… · 34222cd6
      simplify-rtx.c (simplify_ternary_operation): Add simplification for (!c) != {0,...,0} ? a : b for vector modes.
      
      [gcc]
      
      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.
      
      [gcc/testsuite]
      
      2015-07-15  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-cmp-sel.c: New test.
      
      From-SVN: r225840
      Bill Schmidt committed
    • Limit AA walking when inlining analysis examines parameters · ff302741
      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.
      
      
      Co-Authored-By: Martin Jambor <mjambor@suse.cz>
      
      From-SVN: r225838
      Paolo Bonzini committed
    • check_GNU_style.sh: Fix quoting in cat_with_prefix · 7392b090
      2015-07-15  Tom de Vries  <tom@codesourcery.com>
      
      	* check_GNU_style.sh (cat_with_prefix): Fix quoting.
      
      From-SVN: r225837
      Tom de Vries committed
    • remove some usage of expr_list from read_rtx · 6b8068d6
      gcc/ChangeLog:
      
      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.
      
      From-SVN: r225833
      Trevor Saunders committed
    • re PR c++/65091 (decltype(~arg) fails for template functions) · 0467e3eb
      	PR c++/65091
      	* parser.c (cp_parser_unqualified_id): Don't accept ~x in a
      	template if there is no type x in scope.
      
      From-SVN: r225831
      Jason Merrill committed
    • [AArch64] Use cinc mnemonic for *csinc2<mode>_insn · 49f88e43
      	* config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
      
      From-SVN: r225830
      Kyrylo Tkachov committed
    • re PR target/58066 (__tls_get_addr is called with misaligned stack on x86-64) · e6c9b417
      	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.
      
      From-SVN: r225829
      Uros Bizjak committed
    • Fix libgomp tests. · 28ef6a27
      2015-07-15  Maxim Blumenthal  <maxim.blumenthal@intel.com>
      
      libgomp/
      	* testsuite/libgomp.fortran/examples-4/simd-8.f90: (main): Change type
      	of EPS parameter from integer to real.
      	* testsuite/libgomp.fortran/examples-4/task_dep-5.f90: (check): Change
      	type of EPS parameter from integer to real.
      
      From-SVN: r225827
      Maxim Blumenthal committed
    • fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var and bool_var == 1… · 55cf3946
      fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var and bool_var == 1 -> bool_var simplifications ...
      
      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.
      
      From-SVN: r225825
      Richard Biener committed
    • objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove { -O3 -fomit-frame-pointer }... · aa6cf07e
      2015-07-15  Richard Biener  <rguenther@suse.de>
      
      	* lib/objc-torture.exp (OBJC_TORTURE_OPTIONS): Remove
      	{ -O3 -fomit-frame-pointer },
      	{ -O3 -fomit-frame-pointer -funroll-loops } and
      	{ -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions }
      	in favor of
      	{ -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer
      	  -finline-functions }
      
      From-SVN: r225821
      Richard Biener committed
    • Fix restoration of hi/lo in MIPS64R2 interrupt handlers. · 8e8886f6
      gcc/
      	* config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
      
      gcc/testsuite/
      	* gcc.target/mips/interrupt_handler-5.c: New test.
      
      From-SVN: r225820
      Robert Suchanek committed
    • Support new interrupt handler options. · 0256a844
      gcc/
      	* 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.
      
      gcc/testsuite/
      	* gcc.target/mips/interrupt_handler-4.c: New test.
      
      Co-Authored-By: Robert Suchanek <robert.suchanek@imgtec.com>
      
      From-SVN: r225819
      Matthew Fortune committed