summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* 2014-08-22 Tony Wang <tony.wang@arm.com>thopre012014-08-222-1/+7
| | | | | | | | gcc/testsuite/ * g++.dg/tls/thread_local6.C: Skip this test case when target uses dejagnu wrapper. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214304 138bc75d-0d04-0410-961f-82ee72b054a4
* cprop.c: Use rtx_insndmalcolm2014-08-222-24/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-22 David Malcolm <dmalcolm@redhat.com> * cprop.c (struct occr): Strengthen field "insn" from rtx to rtx_insn *. (reg_available_p): Likewise for param "insn". (insert_set_in_table): Likewise. (hash_scan_set): Likewise. (hash_scan_insn): Likewise. (make_set_regs_unavailable): Likewise. (compute_hash_table_work): Likewise for local "insn". (reg_not_set_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (mark_oprs_set): Strengthen param "insn" from rtx to rtx_insn *. (try_replace_reg): Likewise. (find_avail_set): Likewise. (cprop_jump): Likewise for params "setcc", "jump". (constprop_register): Likewise for param "insn". (cprop_insn): Likewise. (do_local_cprop): Likewise. (local_cprop_pass): Likewise for local "insn". (bypass_block): Likewise for params "setcc" and "jump". (bypass_conditional_jumps): Likewise for locals "setcc" and "insn". (one_cprop_pass): Likewise for local "insn". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214303 138bc75d-0d04-0410-961f-82ee72b054a4
* compare-elim.c: Use rtx_insndmalcolm2014-08-222-9/+22
| | | | | | | | | | | | | | | | | | | gcc/ 2014-08-22 David Malcolm <dmalcolm@redhat.com> * compare-elim.c (struct comparison_use): Strengthen field "insn" from rtx to rtx_insn *. (struct comparison): Likewise, also for field "prev_clobber". (conforming_compare): Likewise for param "insn". (arithmetic_flags_clobber_p): Likewise. (find_flags_uses_in_insn): Likewise. (find_comparison_dom_walker::before_dom_children): Likewise for locals "insn", "next", "last_clobber". (try_eliminate_compare): Likewise for locals "insn", "bb_head". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214302 138bc75d-0d04-0410-961f-82ee72b054a4
* combine-stack-adj.c: Use rtx_insndmalcolm2014-08-222-23/+43
| | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-22 David Malcolm <dmalcolm@redhat.com> * combine-stack-adj.c (struct csa_reflist): Strengthen field "insn" from rtx to rtx_insn *. (single_set_for_csa): Likewise for param "insn". (record_one_stack_ref): Likewise. (try_apply_stack_adjustment): Likewise. (struct record_stack_refs_data): Likewise for field "insn". (maybe_move_args_size_note): Likewise for params "last" and "insn". (prev_active_insn_bb): Likewise for return type and param "insn". (next_active_insn_bb): Likewise. (force_move_args_size_note): Likewise for params "prev" and "last" and locals "test", "next_candidate", "prev_candidate". (combine_stack_adjustments_for_block): Strengthen locals "last_sp_set", "last2_sp_set", "insn", "next" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214301 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-08-221-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214300 138bc75d-0d04-0410-961f-82ee72b054a4
* combine.c: Use rtx_insndmalcolm2014-08-222-194/+260
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * combine.c (i2mod): Strengthen this variable from rtx to rtx_insn *. (struct reg_stat_struct): Likewise for fields "last_death", "last_set". (subst_insn): Likewise for this variable. (added_links_insn): Likewise. (struct insn_link): Likewise for field "insn". (alloc_insn_link): Likewise for param "insn". (struct undobuf): Likewise for field "other_insn". (find_single_use): Likewise for param "insn" and local "next". (combine_validate_cost): Likewise for params "i0", "i1", "i2", "i3". (delete_noop_moves): Likewise for locals "insn", "next". (create_log_links): Likewise for locals "insn", "use_insn". Strengthen local "next_use" from rtx * to rtx_insn **. (insn_a_feeds_b): Likewise for params "a", "b". (combine_instructions): Likewise for param "f" and locals "insn", "next", "prev", "first", "last_combined_insn", "link", "link1", "temp". Replace use of NULL_RTX with NULL when referring to insns. (setup_incoming_promotions): Likewise for param "first" (set_nonzero_bits_and_sign_copies): Likewise for local "insn". (can_combine_p): Likewise for params "insn", "i3", "pred", "pred2", "succ", "succ2" and for local "p". (combinable_i3pat): Likewise for param "i3". (cant_combine_insn_p): Likewise for param "insn". (likely_spilled_retval_p): Likewise. (adjust_for_new_dest): Likewise. (update_cfg_for_uncondjump): Likewise, also for local "insn". (try_combine): Likewise for return type and for params "i3", "i2", "i1", "i0", "last_combined_insn", and for locals "insn", "cc_use_insn", "p", "first", "last", "i2_insn", "i1_insn", "i0_insn". Eliminate local "tem" in favor of new locals "tem_note" and "tem_insn", the latter being an rtx_insn *. Add a checked cast for now to rtx_insn * on the return type of gen_rtx_INSN. Replace use of NULL_RTX with NULL when referring to insns. (find_split_point): Strengthen param "insn" from rtx to rtx_insn *. (simplify_set): Likewise for local "other_insn". (recog_for_combine): Likewise for param "insn". (record_value_for_reg): Likewise. (record_dead_and_set_regs_1): Likewise for local "record_dead_insn". (record_dead_and_set_regs): Likewise for param "insn". (record_promoted_value): Likewise. (check_promoted_subreg): Likewise. (get_last_value_validate): Likewise. (reg_dead_at_p): Likewise. (move_deaths): Likewise for param "to_insn". (distribute_notes): Likewise for params "from_insn", "i3", "i2" and locals "place", "place2", "cc0_setter". Eliminate local "tem in favor of new locals "tem_note" and "tem_insn", the latter being an rtx_insn *. (distribute_links): Strengthen locals "place", "insn" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214299 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgrtl.c: Use rtx subclassesdmalcolm2014-08-212-92/+181
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * cfgrtl.c (can_delete_note_p): Require a const rtx_note * rather than a const_rtx. (can_delete_label_p): Require a const rtx_code_label * rather than a const_rtx. (delete_insn): Add checked cast to rtx_code_label * when we know we're dealing with LABEL_P (insn). Strengthen local "bb_note" from rtx to rtx_insn *. (delete_insn_chain): Strengthen locals "prev" and "current" from rtx to rtx_insn *. Add a checked cast when assigning from "finish" (strengthening the params will come later). Add a checked cast to rtx_note * in region where we know NOTE_P (current). (rtl_delete_block): Strengthen locals "insn" and "end" from rtx to rtx_insn *. (compute_bb_for_insn): Likewise. (free_bb_for_insn): Likewise for local "insn". (compute_bb_for_insn): Likewise. (update_bb_for_insn_chain): Strengthen params "begin", "end" and local "insn" from rtx to rtx_insn * (flow_active_insn_p): Require a const rtx_insn * rather than a const_rtx. (contains_no_active_insn_p): Strengthen local "insn" from rtx to rtx_insn *. (can_fallthru): Likewise for locals "insn" and "insn2". (bb_note): Likewise for local "note". (first_insn_after_basic_block_note): Likewise for local "note" and for return type. (rtl_split_block): Likewise for locals "insn" and "next". (unique_locus_on_edge_between_p): Likewise for locals "insn" and "end". (rtl_merge_blocks): Likewise for locals "b_head", "b_end", "a_end", "del_first", "del_last", "b_debug_start", "b_debug_end", "prev", "tmp". (try_redirect_by_replacing_jump): Likewise for locals "insn" (both of them), "kill_from", "barrier", "new_insn". (patch_jump_insn): Likewise for params "insn", "old_label". (redirect_branch_edge): Likewise for locals "old_label", "insn". (force_nonfallthru_and_redirect): Likewise for locals "insn", "old_label", "new_label". (rtl_tidy_fallthru_edge): Likewise for local "q". (rtl_split_edge): Likewise for locals "before", "last". (commit_one_edge_insertion): Likewise for locals "before", "after", "insns", "tmp", "last", adding a checked cast where currently necessary. (commit_edge_insertions): Likewise. (rtl_dump_bb): Likewise for locals "insn", "last". (print_rtl_with_bb): Likewise for local "x". (rtl_verify_bb_insns): Likewise for local "x". (rtl_verify_bb_pointers): Likewise for local "insn". (rtl_verify_bb_insn_chain): Likewise for locals "x", "last_head", "head", "end". (rtl_verify_fallthru): Likewise for local "insn". (rtl_verify_bb_layout): Likewise for locals "x" and "rtx_first". (purge_dead_edges): Likewise for local "insn". (fixup_abnormal_edges): Likewise for locals "insn", "stop", "next". (skip_insns_after_block): Likewise for return type and for locals "insn", "last_insn", "next_head", "prev". (record_effective_endpoints): Likewise for locals "next_insn", "insn", "end". (fixup_reorder_chain): Likewise for locals "bb_end_insn" and "end". (verify_insn_chain): Likewise for locals "x", "prevx", "nextx". (cfg_layout_can_duplicate_bb_p): Likewise for local "insn". (duplicate_insn_chain): For now, add checked cast from rtx to rtx_insn * when returning insn. (cfg_layout_duplicate_bb): Likewise for local "insn". (cfg_layout_delete_block): Likewise for locals "insn", "next", "prev", "remaints". (cfg_layout_merge_blocks): Likewise for local "insn", "last". (rtl_block_empty_p): Likewise. (rtl_split_block_before_cond_jump): Likewise for locals "insn", "split_point", "last". (rtl_block_ends_with_call_p): Likewise for local "insn". (need_fake_edge_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (rtl_flow_call_edges_add): Strengthen locals "insn", "prev_insn", "split_at_insn" from rtx to rtx_insn *. (rtl_lv_add_condition_to_bb): Likewise for locals "seq", "jump". (rtl_can_remove_branch_p): Strengthen local "insn" from const_rtx to const rtx_insn *. (rtl_account_profile_record): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214295 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgloopanal.c: Use rtx_insndmalcolm2014-08-212-4/+13
| | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * cfgloopanal.c (num_loop_insns): Strengthen local "insn" from rtx to rtx_insn *. (average_num_loop_insns): Likewise. (init_set_costs): Likewise for local "seq". (seq_cost): Likewise for param "seq", from const_rtx to const rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214294 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgloop.c: Use rtx_insndmalcolm2014-08-212-1/+6
| | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * cfgloop.c (loop_exits_from_bb_p): Strengthen local "insn" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214293 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgcleanup.c: Use rtx_insn (also touches basic-block.h and ifcvt.c)dmalcolm2014-08-214-47/+90
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * basic-block.h (flow_find_cross_jump): Strengthen params 3 and 4 "f1" and "f2" from rtx * to rtx_insn **. (flow_find_head_matching_sequence): Likewise. * cfgcleanup.c (try_simplify_condjump): Strengthen local "cbranch_insn" from rtx to rtx_insn *. (thread_jump): Likewise for local "insn". (try_forward_edges): Likewise for local "last". (merge_blocks_move_predecessor_nojumps): Likewise for local "barrier". (merge_blocks_move_successor_nojumps): Likewise for locals "barrier", "real_b_end". (can_replace_by): Likewise for params "i1", "i2". (old_insns_match_p): Likewise. (merge_notes): Likewise. (walk_to_nondebug_insn): Likewise for param "i1". (flow_find_cross_jump): Strengthen params "f1" and "f2" from rtx * to rtx_insn **. Strengthen locals "i1", "i2", "last1", "last2", "afterlast1", "afterlast2" from rtx to rtx_insn *. (flow_find_head_matching_sequence): Strengthen params "f1" and "f2" from rtx * to rtx_insn **. Strengthen locals "i1", "i2", "last1", "last2", "beforelast1", "beforelast2" from rtx to rtx_insn *. (outgoing_edges_match): Likewise for locals "last1", "last2". (try_crossjump_to_edge): Likewise for local "insn". Replace call to for_each_rtx with for_each_rtx_in_insn. (try_crossjump_to_edge): Likewise for locals "newpos1", "newpos2". (try_head_merge_bb): Likewise for locals "e0_last_head_, "jump", "e0_last", "e_last", "head", "curr", "insn". Strengthen locals "headptr", "currptr", "nextptr" from rtx * to rtx_insn **. (try_optimize_cfg): Strengthen local "last" from rtx to rtx_insn *. (delete_dead_jumptables): Likewise for locals "insn", "next", "label". * ifcvt.c (cond_exec_process_if_block): Likewise for locals "rtx then_last_head", "rtx else_last_head", "rtx then_first_tail", "rtx else_first_tail", to reflect the basic-block.h changes above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214292 138bc75d-0d04-0410-961f-82ee72b054a4
* cfgbuild.c: Use rtx_insndmalcolm2014-08-212-6/+16
| | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * cfgbuild.c (make_edges): Strengthen local "insn" from rtx to rtx_insn *. (purge_dead_tablejump_edges): Likewise. (find_bb_boundaries): Likewise for locals "insn", "end", "flow_transfer_insn". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214291 138bc75d-0d04-0410-961f-82ee72b054a4
* caller-save.c: Use rtx_insndmalcolm2014-08-212-1/+6
| | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * caller-save.c (save_call_clobbered_regs): Strengthen locals "ins" and "prev" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214290 138bc75d-0d04-0410-961f-82ee72b054a4
* calls.c: Use rtx_insndmalcolm2014-08-212-22/+43
| | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * calls.c (emit_call_1): Strengthen local "call_insn" from rtx to rtx_insn *. (internal_arg_pointer_exp_state): Likewise for field "scan_start". (internal_arg_pointer_based_exp_scan): Likewise for locals "insn", "scan_start". (load_register_parameters): Likewise for local "before_arg". (check_sibcall_argument_overlap): Likewise for param "insn". (expand_call): Likewise for locals "normal_call_insns", "tail_call_insns", "insns", "before_call", "after_args", "before_arg", "last", "prev". Strengthen one of the "last" from rtx to rtx_call_insn *. (fixup_tail_calls): Strengthen local "insn" from rtx to rtx_insn *. (emit_library_call_value_1): Likewise for locals "before_call" and "last". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214289 138bc75d-0d04-0410-961f-82ee72b054a4
* builtins.c: strengthen various rtx to rtx_insn * and other subclassesdmalcolm2014-08-212-16/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * builtins.c (expand_builtin_longjmp): Strengthen locals "insn" and "last" from rtx to rtx_insn *. (expand_builtin_nonlocal_goto): Likewise for local "insn". (expand_builtin_apply): Strengthen local "call_insn" from rtx to rtx_call_insn *. (expand_errno_check): Strengthen local "lab" from rtx to rtx_code_label *. (expand_builtin_mathfn): Strengthen local "insns" from rtx to rtx_insn *. (expand_builtin_mathfn_2): Likewise. (expand_builtin_mathfn_ternary): Likewise. (expand_builtin_mathfn_3): Likewise. (expand_builtin_interclass_mathfn): Likewise for local "last". (expand_builtin_int_roundingfn): Likewise for local "insns". (expand_builtin_int_roundingfn_2): Likewise. (expand_builtin_strlen): Likewise for local "before_strlen". (expand_builtin_strncmp): Likewise for local "seq". (expand_builtin_signbit): Likewise for local "last". (expand_builtin_atomic_compare_exchange): Strengthen local "label" from rtx to rtx_code_label *. (expand_stack_restore): Strengthen local "prev" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214288 138bc75d-0d04-0410-961f-82ee72b054a4
* bt-load.c: Use rtx_insndmalcolm2014-08-212-18/+37
| | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * bt-load.c (struct btr_user_s): Strengthen field "insn" from rtx to rtx_insn *. (struct btr_def_s): Likewise. (insn_sets_btr_p): Strengthen param "insn" from const_rtx to const rtx_insn *. (add_btr_def): Likewise. (new_btr_user): Likewise. (compute_defs_uses_and_gen): Strengthen locals "insn", "last" from rtx to rtx_insn *. (link_btr_uses): Likewise. (move_btr_def): Likewise for locals "insp", "old_insn", "new_insn". Add checked cast to rtx_insn * for now on result of gen_move_insn. (can_move_up): Strengthen param "insn" from const_rtx to const rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214287 138bc75d-0d04-0410-961f-82ee72b054a4
* bb-reorder.c: Use rtx_insndmalcolm2014-08-212-14/+32
| | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * bb-reorder.c (copy_bb_p): Strengthen local "insn" from rtx to rtx_insn *. (get_uncond_jump_length): Likewise for locals "label", "jump". (fix_up_crossing_landing_pad): Likewise for locals "new_label", "jump", "insn". (add_labels_and_missing_jumps): Likewise for local "new_jump". (fix_up_fall_thru_edges): Likewise for local "old_jump". (find_jump_block): Likewise for local "insn". (fix_crossing_conditional_branches): Likewise for locals "old_jump", "new_jump". (fix_crossing_unconditional_branches): Likewise for locals "last_insn", "indirect_jump_sequence", "jump_insn", "cur_insn". (pass_duplicate_computed_gotos::execute): Likewise for local "insn". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214286 138bc75d-0d04-0410-961f-82ee72b054a4
* auto-inc-dec.c: strengthen various rtx to rtx_insn *dmalcolm2014-08-212-27/+51
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * auto-inc-dec.c (struct inc_insn): Strengthen field "insn" from rtx to rtx_insn *. (struct mem_insn): Likewise for field "insn". (reg_next_use): Strengthen from rtx * to rtx_insn **. (reg_next_inc_use): Likewise. (reg_next_def): Likewise. (move_dead_notes): Strengthen params "to_insn" and "from_insn" from rtx to rtx_insn *. (move_insn_before): Likewise for param "next_insn" and local "insns". (attempt_change): Likewise for local "mov_insn". (try_merge): Likewise for param "last_insn". (get_next_ref): Likewise for return type and local "insn". Strengthen param "next_array" from rtx * to rtx_insn **. (parse_add_or_inc): Strengthen param "insn" from rtx to rtx_insn *. (find_inc): Likewise for locals "insn" and "other_insn" (three of the latter). (merge_in_block): Likewise for locals "insn", "curr", "other_insn". (pass_inc_dec::execute): Update allocations of the arrays to reflect the stronger types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214285 138bc75d-0d04-0410-961f-82ee72b054a4
* asan.c: strengthen some rtx localsdmalcolm2014-08-212-1/+9
| | | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * asan.c (asan_clear_shadow): Strengthen locals "insn", "insns" and "jump" from rtx to rtx_insn *. Strengthen local "top_label" from rtx to rtx_code_label *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214284 138bc75d-0d04-0410-961f-82ee72b054a4
* alias.c: Use rtx_insndmalcolm2014-08-212-1/+7
| | | | | | | | | | | | gcc/ 2014-08-21 David Malcolm <dmalcolm@redhat.com> * alias.c (init_alias_analysis): Strengthen local "insn" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214283 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org>tkoenig2014-08-214-1/+33
| | | | | | | | | | | | | | | | PR fortran/62214 * frontend-passes.c (optimize_binop_array_assignment): Do not try to optimize the array assignment for string concatenation. 2014-08-21 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/62214 * gfortran.dg/array_assignment_5.f90: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214281 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-21 Michael Meissner <meissner@linux.vnet.ibm.com>meissner2014-08-212-1/+6
| | | | | | | | | * config/rs6000/rs6000.c (print_operand, 'y' case): Fix code that generated a warning and prevented bootstrapping the compiler. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214280 138bc75d-0d04-0410-961f-82ee72b054a4
* PHASE 2: Per-file commits in main source directorydmalcolm2014-08-212-2/+7
| | | | | | | | | | | | / 2014-08-21 David Malcolm <dmalcolm@redhat.com> * rtx-classes-status.txt: Phase 1 ("scaffolding") is done; begin phase 2 (per-file commits in main source dir). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214276 138bc75d-0d04-0410-961f-82ee72b054a4
* delete_related_insns returns an rtx_insndmalcolm2014-08-213-3/+11
| | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * rtl.h (delete_related_insns): Strengthen return type from rtx to rtx_insn *. * jump.c (delete_related_insns): Likewise, also for locals "next" and "prev". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214275 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-21 Sandra Loosemore <sandra@codesourcery.com>sandra2014-08-218-4/+19
| | | | | | | | | | | | | | | | gcc/testsuite/ * lib/target-supports.exp (check_effective_target_logical_op_short_circuit): Add nios2. * gcc.dg/tree-ssa/reassoc-33.c: Skip for nios2. * gcc.dg/tree-ssa/reassoc-34.c: Likewise. * gcc.dg/tree-ssa/reassoc-35.c: Likewise. * gcc.dg/tree-ssa/reassoc-36.c: Likewise. * gcc.dg/tree-ssa/interposition.c: Require fpic effective target for test using -fPIC. * gcc.dg/lto/pr61526_0.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214274 138bc75d-0d04-0410-961f-82ee72b054a4
* define_bypass guard functions take a pair of rtx_insndmalcolm2014-08-212-2/+21
| | | | | | | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * genautomata.c (output_internal_insn_latency_func): When writing the function "internal_insn_latency" to insn-automata.c, strengthen params "insn" and "insn2" from rtx to rtx_insn *, thus allowing the optional guard function of (define_bypass) clauses to expect a pair of rtx_insn *, rather than a pair of rtx. (output_insn_latency_func): When writing the function "insn_latency", add an "uncast_" prefix to params "insn" and "insn2", reintroducing "insn" and "insn2" as rtx_insn * locals using checked casts from the params, thus enabling the above change to the generated "internal_insn_latency" function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214273 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/62091hubicka2014-08-216-36/+175
| | | | | | | | | | | | | | | * g++.dg/ipa/devirt-37.C: Update template. * g++.dg/ipa/devirt-40.C: New testcase. * ipa-devirt.c (ipa_polymorphic_call_context::restrict_to_inner_type): handle correctly arrays. (extr_type_from_vtbl_ptr_store): Add debug output; handle multiple inheritance binfos. (record_known_type): Walk into inner type. (ipa_polymorphic_call_context::get_dynamic_type): Likewise; strenghten condition on no type changes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214271 138bc75d-0d04-0410-961f-82ee72b054a4
* Pass "insn" as an rtx_insn within generated get_attr_ fns in insn-attrtab.cdmalcolm2014-08-212-2/+12
| | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * genattrtab.c (write_attr_get): Within the generated get_attr_ functions, rename param "insn" to "uncast_insn" and reintroduce "insn" as an local rtx_insn * using a checked cast, so that "insn" is an rtx_insn * within insn-attrtab.c git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214265 138bc75d-0d04-0410-961f-82ee72b054a4
* peephole returns an rtx_insndmalcolm2014-08-215-8/+22
| | | | | | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * output.h (peephole): Strengthen return type from rtx to rtx_insn *. * rtl.h (delete_for_peephole): Likewise for both params. * genpeep.c (main): In generated "peephole" function, strengthen return type and local "insn" from rtx to rtx_insn *. For now, rename param "ins1" to "uncast_ins1", adding "ins1" back as an rtx_insn *, with a checked cast. * jump.c (delete_for_peephole): Strengthen params "from", "to" and locals "insn", "next", "prev" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214264 138bc75d-0d04-0410-961f-82ee72b054a4
* * configure: Regenerated.amker2014-08-214-1/+36
| | | | | | | | | | config/ChangeLog * isl.m4 (ISL_CHECK_VERSION): Check link of isl library for cross_compiling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214263 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-21 Marc Glisse <marc.glisse@inria.fr>glisse2014-08-2111-63/+191
| | | | | | | | | | | | | | | | | | | | | | | | | | | | PR tree-optimization/62112 gcc/ * gimple-iterator.c (gsi_replace): Return whether EH cleanup is needed. * gimple-iterator.h (gsi_replace): Return bool. * tree-ssa-alias.c (ref_may_alias_global_p_1): New helper, code moved from ref_may_alias_global_p. (ref_may_alias_global_p, refs_may_alias_p, ref_maybe_used_by_stmt_p): New overloads. (ref_maybe_used_by_call_p): Take ao_ref* instead of tree. (stmt_kills_ref_p_1): Rename... (stmt_kills_ref_p): ... to this. * tree-ssa-alias.h (ref_may_alias_global_p, ref_maybe_used_by_stmt_p, stmt_kills_ref_p): Declare. * tree-ssa-dse.c (dse_possible_dead_store_p): New argument, use it. Move the self-assignment case... (dse_optimize_stmt): ... here. Handle builtin calls. Remove dead code. gcc/testsuite/ * gcc.dg/tree-ssa/pr62112-1.c: New file. * gcc.dg/tree-ssa/pr62112-2.c: Likewise. * gcc.c-torture/execute/pr35472.c: Add noclone attribute. * gcc.c-torture/execute/20071219-1.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214262 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-21 Tony Wang <tony.wang@arm.com>thopre012014-08-212-0/+6
| | | | | | | | libstdc++-v3/ * testsuite/18_support/nested_exception/62154.cc: Disable when the target doesn't provide atomic builtins. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214261 138bc75d-0d04-0410-961f-82ee72b054a4
* try_split returns an rtx_insndmalcolm2014-08-213-7/+15
| | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * rtl.h (try_split): Strengthen return type from rtx to rtx_insn *. * emit-rtl.c (try_split): Likewise, also for locals "before" and "after". For now, don't strengthen param "trial", which requires adding checked casts when returning it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214260 138bc75d-0d04-0410-961f-82ee72b054a4
* Debug hooks: use rtx_insn and rtx_code_labeldmalcolm2014-08-218-24/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * debug.h (struct gcc_debug_hooks): Strengthen param 1 of hook "label" from rtx to rtx_code_label *. Strengthen param 1 of "var_location" hook from rtx to rtx_insn *. (debug_nothing_rtx): Delete in favor of... (debug_nothing_rtx_code_label): New prototype. (debug_nothing_rtx_rtx): Delete unused prototype. (debug_nothing_rtx_insn): New prototype. * final.c (final_scan_insn): Add checked cast to rtx_insn * when invoking debug_hooks->var_location (in two places, one in a NOTE case of a switch statement, the other guarded by a CALL_P conditional. Add checked cast to rtx_code_label * when invoking debug_hooks->label (within CODE_LABEL case of switch statement). * dbxout.c (dbx_debug_hooks): Update "label" hook from debug_nothing_rtx to debug_nothing_rtx_code_label. Update "var_location" from debug_nothing_rtx to debug_nothing_rtx_insn. (xcoff_debug_hooks): Likewise. * debug.c (do_nothing_debug_hooks): Likewise. (debug_nothing_rtx): Delete in favor of... (debug_nothing_rtx_insn): New function. (debug_nothing_rtx_rtx): Delete unused function. (debug_nothing_rtx_code_label): New function. * dwarf2out.c (dwarf2_debug_hooks): Update "label" hook from debug_nothing_rtx to debug_nothing_rtx_code_label. (dwarf2out_var_location): Strengthen param "loc_note" from rtx to rtx_insn *. * sdbout.c (sdb_debug_hooks): Update "var_location" hook from debug_nothing_rtx to debug_nothing_rtx_insn. (sdbout_label): Strengthen param "insn" from rtx to rtx_code_label *. * vmsdbgout.c (vmsdbg_debug_hooks): Update "label" hook from debug_nothing_rtx to debug_nothing_rtx_code_label. Update "var_location" hook from debug_nothing_rtx to debug_nothing_rtx_insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214259 138bc75d-0d04-0410-961f-82ee72b054a4
* Use rtx_insn internally within generated functionsdmalcolm2014-08-217-16/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * recog.h (insn_output_fn): Update this function typedef to match the changes below to the generated output functions, strengthening the 2nd param from rtx to rtx_insn *. * final.c (get_insn_template): Add a checked cast to rtx_insn * on insn when invoking an output function, to match the new signature of insn_output_fn with a stronger second param. * genconditions.c (write_header): In the generated code for gencondmd.c, strengthen the global "insn" from rtx to rtx_insn * to match the other changes in this patch. * genemit.c (gen_split): Strengthen the 1st param "curr_insn" of the generated "gen_" functions from rtx to rtx_insn * within their implementations. * genrecog.c (write_subroutine): Strengthen the 2nd param "insn" of the subfunctions within the generated "recog_", "split", "peephole2" function trees from rtx to rtx_insn *. For now, the top-level generated functions ("recog", "split", "peephole2") continue to take a plain rtx for "insn", to avoid introducing dependencies on other patches. Rename this 2nd param from "insn" to "uncast_insn", and reintroduce "insn" as a local variable of type rtx_insn *, initialized at the top of the generated function with a checked cast on "uncast_insn". (make_insn_sequence): Strengthen the 1st param "curr_insn" of the generated "gen_" functions from rtx to rtx_insn * within their prototypes. * genoutput.c (process_template): Strengthen the 2nd param within the generated "output_" functions "insn" from rtx to rtx_insn *. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214257 138bc75d-0d04-0410-961f-82ee72b054a4
* * tree-profile.c (tree_profiling): Skip external functionshubicka2014-08-215-8/+20
| | | | | | | | | | when doing coverage instrumentation. * cgraphunit.c (compile): Do not assert that all nodes are reachable. * gcc.dg/ipa/ctor-empty-1.c: Update template. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214256 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]wschmidt2014-08-216-4/+371
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/altivec.h (vec_cpsgn): New #define. (vec_mergee): Likewise. (vec_mergeo): Likewise. (vec_cntlz): Likewise. * config/rs600/rs6000-c.c (altivec_overloaded_builtins): Add new entries for VEC_AND, VEC_ANDC, VEC_MERGEH, VEC_MERGEL, VEC_NOR, VEC_OR, VEC_PACKSU, VEC_XOR, VEC_PERM, VEC_SEL, VEC_VCMPGT_P, VMRGEW, and VMRGOW. * doc/extend.texi: Document various forms of vec_cpsgn, vec_splats, vec_and, vec_andc, vec_mergeh, vec_mergel, vec_nor, vec_or, vec_perm, vec_sel, vec_sub, vec_xor, vec_all_eq, vec_all_ge, vec_all_gt, vec_all_le, vec_all_lt, vec_all_ne, vec_any_eq, vec_any_ge, vec_any_gt, vec_any_le, vec_any_lt, vec_any_ne, vec_mergee, vec_mergeo, vec_packsu, and vec_cntlz. [gcc/testsuite] 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * testsuite/gcc.target/powerpc/builtins-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214255 138bc75d-0d04-0410-961f-82ee72b054a4
* [gcc]wschmidt2014-08-2116-0/+1600
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * config/rs6000/rs6000.c (context.h): New include. (tree-pass.h): Likewise. (make_pass_analyze_swaps): New decl. (rs6000_option_override): Register pass_analyze_swaps. (swap_web_entry): New subsclass of web_entry_base (df.h). (special_handling_values): New enum. (union_defs): New function. (union_uses): Likewise. (insn_is_load_p): Likewise. (insn_is_store_p): Likewise. (insn_is_swap_p): Likewise. (rtx_is_swappable_p): Likewise. (insn_is_swappable_p): Likewise. (chain_purpose): New enum. (chain_contains_only_swaps): New function. (mark_swaps_for_removal): Likewise. (swap_const_vector_halves): Likewise. (adjust_subreg_index): Likewise. (permute_load): Likewise. (permute_store): Likewise. (handle_special_swappables): Likewise. (replace_swap_with_copy): Likewise. (dump_swap_insn_table): Likewise. (rs6000_analyze_swaps): Likewise. (pass_data_analyze_swaps): New pass_data. (pass_analyze_swaps): New rtl_opt_pass. (make_pass_analyze_swaps): New function. * config/rs6000/rs6000.opt (moptimize-swaps): New option. [gcc/testsuite] 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> * gcc.target/powerpc/swaps-p8-1.c: New test. * gcc.target/powerpc/swaps-p8-2.c: New test. * gcc.target/powerpc/swaps-p8-3.c: New test. * gcc.target/powerpc/swaps-p8-4.c: New test. * gcc.target/powerpc/swaps-p8-5.c: New test. * gcc.target/powerpc/swaps-p8-6.c: New test. * gcc.target/powerpc/swaps-p8-7.c: New test. * gcc.target/powerpc/swaps-p8-8.c: New test. * gcc.target/powerpc/swaps-p8-9.c: New test. * gcc.target/powerpc/swaps-p8-10.c: New test. * gcc.target/powerpc/swaps-p8-11.c: New test. * gcc.target/powerpc/swaps-p8-12.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214254 138bc75d-0d04-0410-961f-82ee72b054a4
* create_insn_rtx_from_pattern and create_copy_of_insn_rtx return rtx_insndmalcolm2014-08-213-6/+15
| | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (create_insn_rtx_from_pattern): Strengthen return type from rtx to rtx_insn *. (create_copy_of_insn_rtx): Likewise. * sel-sched-ir.c (create_insn_rtx_from_pattern): Likewise. (create_copy_of_insn_rtx): Likewise, also for local "res". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214253 138bc75d-0d04-0410-961f-82ee72b054a4
* find_first_parameter_load returns an rtx_insndmalcolm2014-08-213-3/+11
| | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * rtl.h (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type from rtx to rtx_insn *. Add checked cast for now, to postpone strengthening the params. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214252 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:manu2014-08-215-15/+67
| | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * diagnostic.c: Set default caret. (diagnostic_show_locus): Use it. Tell pretty-printer that a new line is needed. * diagnostic.h (struct diagnostic_context): gcc/fortran/ChangeLog: 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (gfc_diagnostic_build_locus_prefix): New function. (gfc_diagnostic_starter): Follow Fortran FE diagnostics. (gfc_diagnostic_finalizer): Do not call default finalizer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214251 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2014-08-211-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214250 138bc75d-0d04-0410-961f-82ee72b054a4
* sel_bb_{head|end} return rtx_insndmalcolm2014-08-213-12/+26
| | | | | | | | | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * sel-sched-ir.h (exit_insn): Strengthen from rtx to rtx_insn *. (sel_bb_head): Strengthen return type insn_t (currently just an rtx) to rtx_insn *. (sel_bb_end): Likewise. * sel-sched-ir.c (exit_insn): Strengthen from rtx to rtx_insn *. (sel_bb_head): Strengthen return type and local "head" from insn_t (currently just an rtx) to rtx_insn *. (sel_bb_end): Likewise for return type. (free_nop_and_exit_insns): Replace use of NULL_RTX with NULL when working with insn. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214247 138bc75d-0d04-0410-961f-82ee72b054a4
* get_last_bb_insn returns an rtx_insndmalcolm2014-08-203-4/+11
| | | | | | | | | | | | | 2014-08-21 David Malcolm <dmalcolm@redhat.com> * basic-block.h (get_last_bb_insn): Strengthen return type from rtx to rtx_insn *. * cfgrtl.c (get_last_bb_insn): Likewise, and for locals "tmp" and end". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214246 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLog:manu2014-08-209-23/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * diagnostic.c (default_diagnostic_finalizer): Move caret printing to here ... (diagnostic_report_diagnostic): ... from here. * toplev.c (general_init): Move code to c-family. gcc/cp/ChangeLog: 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (cp_diagnostic_finalizer): Delete. (init_error): Do not set diagnostic_finalizer here. gcc/c-family/ChangeLog: 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * c-opts.c: Include tree-diagnostics.h. (c_diagnostic_finalizer): New. (c_common_initialize_diagnostics): Use it. gcc/fortran/ChangeLog: 2014-08-21 Manuel López-Ibáñez <manu@gcc.gnu.org> PR fortran/44054 * error.c (gfc_diagnostic_finalizer): Call default finalizer. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214245 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>wschmidt2014-08-203-41/+71
| | | | | | | | | | | | | | | | | | | | | | | | * df.h (web_entry_base): Replace existing struct web_entry with a new class web_entry_base with only the predecessor member. (unionfind_root): Remove declaration and move to class member. (unionfind_union): Remove declaration and move to friend function. (union_defs): Remove declaration. * web.c (web_entry_base::unionfind_root): Modify to be member function and adjust accessors. (unionfind_union): Modify to be friend function and adjust accessors. (web_entry): New subclass of web_entry_base containing the reg member. (union_match_dups): Modify for struct -> class changes. (union_defs): Likewise. (entry_register): Likewise. (pass_web::execute): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214242 138bc75d-0d04-0410-961f-82ee72b054a4
* * g++.dg/ipa/devirt-37.C: Fix testcase.hubicka2014-08-202-1/+7
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214240 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-20 Bill Schmidt <wschmidt@vnet.ibm.com>wschmidt2014-08-202-0/+11
| | | | | | | | | * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Provide builtin define __VEC_ELEMENT_REG_ORDER__. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214236 138bc75d-0d04-0410-961f-82ee72b054a4
* Miss to "svn add" test files in r214233 before commit.wmi2014-08-203-0/+133
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214234 138bc75d-0d04-0410-961f-82ee72b054a4
* 2014-08-20 Martin Jambor <mjambor@suse.cz>wmi2014-08-207-56/+128
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Wei Mi <wmi@google.com> PR ipa/60449 PR middle-end/61776 * tree-ssa-operands.c (update_stmt_operands): Remove MODIFIED_NORETURN_CALLS. * tree-cfgcleanup.c (cleanup_call_ctrl_altering_flag): New func. (cleanup_control_flow_bb): Use cleanup_call_ctrl_altering_flag. (split_bb_on_noreturn_calls): Renamed from split_bbs_on_noreturn_calls. (cleanup_tree_cfg_1): Use split_bb_on_noreturn_calls. * tree-ssanames.h: Remove MODIFIED_NORETURN_CALLS. * gimple.h (enum gf_mask): Add GF_CALL_CTRL_ALTERING. (gimple_call_set_ctrl_altering): New func. (gimple_call_ctrl_altering_p): Ditto. * tree-cfg.c (gimple_call_initialize_ctrl_altering): Ditto. (make_blocks): Use gimple_call_initialize_ctrl_altering. (is_ctrl_altering_stmt): Use gimple_call_ctrl_altering_p. (execute_fixup_cfg): Use gimple_call_ctrl_altering_p and remove MODIFIED_NORETURN_CALLS. 2014-08-20 Martin Jambor <mjambor@suse.cz> Wei Mi <wmi@google.com> PR ipa/60449 PR middle-end/61776 * testsuite/gcc.dg/lto/pr60449_1.c: New test. * testsuite/gcc.dg/lto/pr60449_0.c: New test. * testsuite/gcc.dg/pr61776.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214233 138bc75d-0d04-0410-961f-82ee72b054a4
* * coverage.c (coverage_compute_profile_id): Return non-0;hubicka2014-08-202-24/+26
| | | | | | | | also handle symbols with unique name. (coverage_end_function): Do not skip DECL_EXTERNAL functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@214232 138bc75d-0d04-0410-961f-82ee72b054a4