[PATCH 120/236] valtrack.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * valtrack.c (dead_debug_reset_uses): Strengthen local insn from rtx to rtx_insn *. (dead_debug_promote_uses): Likewise. (dead_debug_insert_temp): Likewise. --- gcc/valtrack.c | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git

[PATCH 123/236] web.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * web.c (union_match_dups): Strengthen param insn from rtx to rtx_insn *. (pass_web::execute): Likewise for local insn. --- gcc/web.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/web.c b/gcc/web.c index 2c038f2..3fdb777 100644 ---

[PATCH 130/236] config/bfin: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/bfin/bfin-protos.h (asm_conditional_branch): Strengthen param 1 from rtx to rtx_insn *. * config/bfin/bfin.c (expand_prologue_reg_save): Likewise for the various locals named insn. (expand_epilogue_reg_restore): Likewise.

[PATCH 125/236] config/aarch64/aarch64.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Strengthen local insns from rtx to rtx_insn *. (aarch64_set_frame_expr): Likewise for local insn. (aarch64_save_or_restore_fprs): Likewise. (aarch64_save_or_restore_callee_save_registers):

[PATCH 132/236] config/epiphany: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/epiphany/epiphany-protos.h (epiphany_final_prescan_insn): Strengthen first param insn from rtx to rtx_insn *. * config/epiphany/epiphany.c (epiphany_final_prescan_insn): Likewise. (frame_insn): Likewise for return type. Introduce local insn

[PATCH 137/236] config/iq2000: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/iq2000/iq2000-protos.h (final_prescan_insn): Strengthen first param from rtx to rtx_insn *. (iq2000_adjust_insn_length): Likewise. (iq2000_output_conditional_branch): Likewise. * config/iq2000/iq2000.c (final_prescan_insn): Likewise for param

[PATCH 145/236] config/rs6000: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/rs6000/rs6000-protos.h (output_cbranch): Strengthen param 4 from rtx to rtx_insn *. (rs6000_final_prescan_insn): Likewise for first param. * config/rs6000/rs6000.c (rs6000_emit_set_const): Likewise for local insn.

[PATCH 140/236] config/microblaze/microblaze.c: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/microblaze/microblaze.c (microblaze_call_tls_get_addr): Strengthen return type and local insns from rtx to rtx_insn *. (microblaze_legitimize_tls_address): Likewise for local insns. (microblaze_block_move_loop): Strengthen local label from rtx

[PATCH 142/236] config/nds32: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/nds32/nds32-protos.h (nds32_adjust_insn_length): Strengthen first param from rtx to rtx_insn *. * config/nds32/nds32.c (nds32_adjust_insn_length): Likewise for param insn. --- gcc/config/nds32/nds32-protos.h | 2 +- gcc/config/nds32/nds32.c| 2

[PATCH 144/236] config/picochip: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/picochip/picochip-protos.h (picochip_final_prescan_insn): Strengthen param insn from rtx to rtx_insn *. * config/picochip/picochip.c (picochip_current_prescan_insn): Likewise for this variable. (picochip_final_prescan_insn): Likewise for param

[PATCH 151/236] config/spu/spu.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/spu/spu.c (frame_emit_store): Strengthen return type from rtx to rtx_insn *. (frame_emit_load): Likewise. (frame_emit_add_imm): Likewise, also for local insn. (spu_expand_prologue): Likewise for local insn. (struct spu_bb_info):

[PATCH 159/236] Convert edge_def.insns.r to rtx_insn *

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (struct edge_def). Strengthen r within union edge_def_insns from rtx to rtx_insn *. * cfgexpand.c (pass_expand::execute): Remove now-redundant cast from rtx to rtx_insn *. Strengthen local insns from rtx to rtx_insn *. *

[PATCH 156/236] PHASE 4: Removal of scaffolding

2014-08-06 Thread David Malcolm
/ * rtx-classes-status.txt: Update. --- rtx-classes-status.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt index b22cb1e..90d6efd 100644 --- a/rtx-classes-status.txt +++ b/rtx-classes-status.txt @@ -3,8 +3,8 @@

[PATCH 111/236] sched-deps.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * sched-deps.c (maybe_add_or_update_dep_1): Strengthen locals elem, insn from rtx to rtx_insn *. (change_spec_dep_to_hard): Likewise. (get_back_and_forw_lists): Likewise for local con. (sd_add_dep): Likewise for locals elem, insn.

[PATCH 162/236] delete_insn_and_edges takes an rtx_insn *

2014-08-06 Thread David Malcolm
All in-tree users of delete_insn_and_edges now pass in an rtx_insn *. gcc/ * rtl.h (delete_insn_and_edges): Strengthen param insn from rtx to rtx_insn *. * cfgrtl.c (delete_insn_and_edges): Likewise. Fix for delete_insn_and_edges gcc/ * hw-doloop.c

[PATCH 170/236] Eliminate BB_NOTE_LIST scaffolding

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (struct sel_region_bb_info_def): Strengthen field note_list from rtx to rtx_insn *. (BB_NOTE_LIST): Replace this function and... (SET_BB_NOTE_LIST): ...this function with... (BB_NOTE_LIST): ...the former macro implementation. *

[PATCH 177/236] Tighten up params of create_basic_block_structure

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (create_basic_block_structure): Strengthen params 1 head and 2 end from rtx to rtx_insn *. * cfgrtl.c (create_basic_block_structure): Likewise. (rtl_create_basic_block): Update casts from void * to rtx to rtx_insn *, so that we can pass

[PATCH 175/236] Remove DEP_PRO/CON scaffolding

2014-08-06 Thread David Malcolm
gcc/ * sched-int.h (struct _dep): Strengthen fields pro and con from rtx to rtx_insn *. (DEP_PRO): Delete this function and... (SET_DEP_PRO): ...this function in favor of... (DEP_PRO): ...reinstate this macro. (DEP_CON): Delete this function and...

[PATCH 182/236] get_last_insn_anywhere returns an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (get_last_insn_anywhere): Strengthen return type from rtx to rtx_insn*. * emit-rtl.c (get_last_insn_anywhere): Likewise. --- gcc/emit-rtl.c | 2 +- gcc/rtl.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/emit-rtl.c

[PATCH 185/236] Use rtx_insn in more places in fwprop.c

2014-08-06 Thread David Malcolm
gcc/ * fwprop.c (local_ref_killed_between_p): Strengthen params from, to and local insn from rtx to rtx_insn *. --- gcc/fwprop.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/fwprop.c b/gcc/fwprop.c index 9a1f085..c3258d9 100644 --- a/gcc/fwprop.c +++

[PATCH 171/236] du_chain.insn is an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * regrename.h (struct du_chain): Strengthen field insn from rtx to rtx_insn *. --- gcc/regrename.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/regrename.h b/gcc/regrename.h index 9a611f0..03b7164 100644 --- a/gcc/regrename.h +++ b/gcc/regrename.h

[PATCH 191/236] Remove DF_REF_INSN scaffolding

2014-08-06 Thread David Malcolm
gcc/ * df.h (df_dump_insn_problem_function): Strengthen first param of this callback from const_rtx to const rtx_insn *. (struct df_insn_info): Strengthen field insn from rtx to rtx_insn *. (DF_REF_INSN): Eliminate this function, reinstating the older

[PATCH 203/236] except.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * except.c (can_throw_external): Strengthen local seq from rtx to rtx_sequence *. Use methods of rtx_sequence. (insn_nothrow_p): Likewise. --- gcc/except.c | 12 ++-- 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gcc/except.c b/gcc/except.c

[PATCH 201/236] Introduce rtx_sequence subclass of rtx_def

2014-08-06 Thread David Malcolm
gcc/ * coretypes.h (class rtx_sequence): Add forward declaration. * rtl.h (class rtx_sequence): New subclass of rtx_def, adding invariant: GET_CODE (X) == SEQUENCE. (is_a_helper rtx_sequence *::test): New. (is_a_helper const rtx_sequence *::test): New.

[PATCH 200/236] Use rtx_insn_list in various places

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (free_INSN_LIST_list): Strengthen param from rtx * to rtx_insn_list **. (alloc_INSN_LIST): Strengthen return type from rtx to rtx_insn_list *. (copy_INSN_LIST): Likewise for return type and param. (concat_INSN_LIST): Likewise for both

[PATCH 206/236] jump.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * jump.c (mark_jump_label_1): Within the SEQUENCE case, introduce local seq with a checked cast, and use methods of rtx_sequence to clarify the code. --- gcc/jump.c | 9 ++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/gcc/jump.c b/gcc/jump.c

[PATCH 194/236] Use rtx_insn for various target.def hooks

2014-08-06 Thread David Malcolm
This patch updates params of 22 of the target hooks to pass an rtx_insn * rather than an rtx, as appropriate. Known to compile on: alpha arc arm bfin c6x epiphany ia64 m32c m32r m68k mep microblaze mips pa pdp11 picochip rs6000 s390 sh sparc spu tilegx tilepro x86_64 gcc/ * target.def

[PATCH 217/236] Add JUMP_LABEL_AS_INSN

2014-08-06 Thread David Malcolm
JUMP_LABEL(X) is not always an insn, but often is. Add a variant that adds a checked cast. gcc/ * rtl.h (JUMP_LABEL_AS_INSN): New. --- gcc/rtl.h | 5 + 1 file changed, 5 insertions(+) diff --git a/gcc/rtl.h b/gcc/rtl.h index 1f1caaf..7a8e592 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h

[PATCH 212/236] Use rtx_expr_list for expr_status.x_forced_labels

2014-08-06 Thread David Malcolm
gcc/ * function.h (struct expr_status): Strengthen field x_forced_labels from rtx to rtx_expr_list *. * cfgbuild.c (make_edges): Split local x into two locals, strengthening one from rtx to rtx_expr_list *, and using methods of said class. *

[PATCH 219/236] Make SET_NEXT_INSN/SET_PREV_INSN require an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (SET_PREV_INSN): Strengthen param from rtx to rtx_insn *. (SET_NEXT_INSN): Likewise. (gen_rtvec_v): Add an overload for param types (int, rtx_insn **). * emit-rtl.h (copy_delay_slot_insn): Strengthen return type and param from rtx to rtx_insn

[PATCH 223/236] inside_basic_block_p requires a const rtx_insn *

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (inside_basic_block_p): Strengthen param from const_rtx to const rtx_insn *. * cfgbuild.c (inside_basic_block_p): Likewise. --- gcc/basic-block.h | 2 +- gcc/cfgbuild.c| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git

[PATCH 227/236] find_first_parameter_load params and return type

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (find_first_parameter_load): Strengthen return type and both params from rtx to rtx_insn *. * rtlanal.c (find_first_parameter_load): Strengthen return type, both params and locals before, first_set from rtx to rtx_insn *. Remove now-redundant

[PATCH 230/236] Make INSN_HAS_LOCATION require an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (INSN_HAS_LOCATION): Strengthen param from const_rtx to const rtx_insn *. --- gcc/rtl.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/rtl.h b/gcc/rtl.h index f6167d8..49ad08b 100644 --- a/gcc/rtl.h +++ b/gcc/rtl.h @@ -1402,7 +1402,7 @@ inline

[PATCH 222/236] Use rtx_insn in more places in dwarf2cfi.c

2014-08-06 Thread David Malcolm
gcc/ * dwarf2cfi.c (dw_trace_info): Strengthen field head from rtx to rtx_insn *. (get_trace_info): Likewise for param insn. (save_point_p): Likewise. (maybe_record_trace_start): Likewise for both params. (maybe_record_trace_start_abnormal):

[PATCH 186/236] Various condition-handling calls

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (canonicalize_condition): Strengthen param 1 from rtx to rtx_insn * and param 4 from rtx * to rtx_insn **. (get_condition): Strengthen param 1 from rtx to rtx_insn * and param 2 from rtx * to rtx_insn **. * df.h (can_move_insns_across):

[PATCH 189/236] Various scheduling strengthenings

2014-08-06 Thread David Malcolm
gcc/ * insn-addr.h (insn_addresses_new): Strengthen param insn from rtx to rtx_insn *. * sched-int.h (sched_init_insn_luid): Likewise for param 1. (struct reg_use_data): Likewise for field insn. (insn_cost): Likewise for param.

[PATCH 205/236] function.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * function.c (contains): Introduce local seq for PATTERN (insn), with a checked cast, in the region for where we know it's a SEQUENCE. Use methods of rtx_sequence. --- gcc/function.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git

[PATCH 202/236] dwarf2cfi.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * dwarf2cfi.c (create_trace_edges): Convert GET_CODE check into a dyn_cast, strengthening local seq from rtx to rtx_sequence *. Use methods of rtx_sequence. (scan_trace): Likewise for local pat. --- gcc/dwarf2cfi.c | 19 +-- 1 file changed, 9

[PATCH 209/236] sched-vis.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * sched-vis.c (print_pattern): Within SEQUENCE case, introduce a local seq via a checked cast, and use methods of rtx_sequence to simplify the code. --- gcc/sched-vis.c | 11 ++- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/sched-vis.c

[PATCH 225/236] Work towards NEXT_INSN/PREV_INSN requiring insns as their params

2014-08-06 Thread David Malcolm
gcc/ * cfgexpand.c (pass_expand::execute): Strengthen local after from rtx to rtx_insn *. * cfgrtl.c (force_nonfallthru_and_redirect): Add local note of type rtx_insn * in scope where it's needed. * combine.c (combine_split_insns): Strengthen return type and

[PATCH 213/236] rtl_data.x_nonlocal_goto_handler_labels becomes an rtx_expr_list

2014-08-06 Thread David Malcolm
gcc/ * function.h (struct rtl_data): Strengthen field x_nonlocal_goto_handler_labels from rtx to rtx_expr_list *. * rtl.h (remove_node_from_expr_list): Strengthen second param from rtx * to rtx_expr_list **. * cfgbuild.c (make_edges): In loop over

[PATCH 215/236] Use rtx_expr_list in various places

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (free_EXPR_LIST_list): Strengthen param from rtx * to rtx_expr_list **. (alloc_EXPR_LIST): Strengthen return type from rtx to rtx_expr_list *. (remove_free_EXPR_LIST_node): Likewise for param. * reload.h (struct reg_equivs_t): Strengthen

[PATCH 224/236] insn_current_reference_address takes an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * output.h (insn_current_reference_address): Strengthen param from rtx to rtx_insn *. * final.c (insn_current_reference_address): Likewise. --- gcc/final.c | 2 +- gcc/output.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/final.c

[PATCH 220/236] Strengthen return_label and naked_return_label to rtx_code_label *

2014-08-06 Thread David Malcolm
gcc/ * function.h (struct rtl_data): Strengthen fields x_return_label and x_naked_return_label from rtx to rtx_code_label *. --- gcc/function.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/function.h b/gcc/function.h index 1f8da7a..c2e0366 100644 ---

[PATCH 233/236] dfa_clear_single_insn_cache takes an rtx_insn

2014-08-06 Thread David Malcolm
The callsite using dfa_clear_single_insn_cache in haifa-sched.c is now passing in an rtx_insn *. gcc/ * genattr.c (main): When writing out insn-attr.h, strengthen param of dfa_clear_single_insn_cache from rtx to rtx_insn *. * genautomata.c

[PATCH 229/236] NEXT_INSN and PREV_INSN take a const rtx_insn

2014-08-06 Thread David Malcolm
This patch updates NEXT_INSN and PREV_INSN to work on rtx_insn *, rather than plain rtx - plus miscellaneous fixes needed to get there. gcc/ * rtl.h (RTX_PREV): Added checked casts to uses of PREV_INSN and NEXT_INSN. (PREV_INSN): Strengthen param from const_rtx to const

[PATCH 226/236] Delete find_last_value

2014-08-06 Thread David Malcolm
Nothing in the tree appears to use this. gcc/ * rtl.h (find_last_value): Delete. * rtlanal.c (find_last_value): Delete. --- gcc/rtl.h | 1 - gcc/rtlanal.c | 46 -- 2 files changed, 47 deletions(-) diff --git a/gcc/rtl.h

[PATCH 166/236] shorten_branches takes an rtx_insn

2014-08-06 Thread David Malcolm
All in-tree users of shorten_branches now pass in an rtx_insn *, so we can eliminate the cast from rtx. gcc/ * output.h (shorten_branches): Strengthen param from rtx to rtx_insn *. * final.c (shorten_branches): Likewise, renaming param back from uncast_first to

[PATCH 192/236] Tweak to dse.c

2014-08-06 Thread David Malcolm
gcc/ * dse.c (dse_step6): Strengthen local rinsn from rtx to rtx_insn *. --- gcc/dse.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/dse.c b/gcc/dse.c index 0dc6b22..a122eff 100644 --- a/gcc/dse.c +++ b/gcc/dse.c @@ -3624,7 +3624,7 @@ dse_step6 (void)

[PATCH 164/236] Add rtx_jump_table_data::get_labels method

2014-08-06 Thread David Malcolm
See e.g. stmt.c:emit_case_dispatch_table for how the rtvec is set up. gcc/ * rtl.h (rtx_jump_table_data::get_labels): New method. * cfgbuild.c (make_edges): Replace hand-coded lookup of labels with use of the new rtx_jump_table_data::get_labels method.

Fwd: [GOOGLE, AUTOFDO] Assign different discriminators to calls with the same lineno

2014-08-06 Thread Wei Mi
(Sorry if you received the mail twice because it was not plain text at first and was rejected by @sourceware.org) We saw bb like this in the IR dump after pass_build_cfg: bb 21: [1.cc : 205:45] D.332088 = table-_vptr.Table; [1.cc : 205:45] D.332134 = D.332088 + 104; [1.cc : 205:45]

[PATCH 165/236] struct haifa_sched_info: prev_head and next_tail

2014-08-06 Thread David Malcolm
gcc/ * sched-int.h (struct haifa_sched_info): Strengthen fields prev_head and next_tail from rtx to rtx_insn *. --- gcc/sched-int.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/sched-int.h b/gcc/sched-int.h index ae048c1..220e26d 100644 ---

[PATCH 017/236] Add subclasses for the various kinds of instruction

2014-08-06 Thread David Malcolm
gcc/ * coretypes.h (class rtx_real_insn): Add forward declaration. (class rtx_debug_insn): Likewise. (class rtx_nonjump_insn): Likewise. (class rtx_jump_insn): Likewise. (class rtx_call_insn): Likewise. (class rtx_jump_table_data): Likewise.

[PATCH 134/236] config/i386/i386.c: Use rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/i386/i386.c (setup_incoming_varargs_64): Strengthen local label from rtx to rtx_code_label *. (ix86_expand_prologue): Likewise. (ix86_expand_split_stack_prologue): Likewise for locals label, varargs_label. (ix86_split_idivmod): Likewise

[PATCH 168/236] final_start_function takes an rtx_insn

2014-08-06 Thread David Malcolm
All in-tree users of final_start_function now pass an rtx_insn * as the first param. gcc/ * output.h (final_start_function): Strengthen param 1 from rtx to rtx_insn *. * final.c (final_start_function): Likewise, renaming back from uncast_first to first, and

[PATCH 121/236] varasm.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * varasm.c (mark_constants): Strengthen param insn from rtx to rtx_insn *. (mark_constant_pool): Likewise for local insn. --- gcc/varasm.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gcc/varasm.c b/gcc/varasm.c index 7755717..8c65c1c 100644

[PATCH 108/236] reload: Use rtx_insn (also touches caller-save.c and config/arc/arc)

2014-08-06 Thread David Malcolm
gcc/ * reload.h (struct insn_chain): Strengthen field insn from rtx to rtx_insn *. (find_reloads): Likewise for param 1. (subst_reloads): Likewise for sole param. (find_equiv_reg): Likwise for param 2. (regno_clobbered_p): Likwise for param 2.

[PATCH 082/236] ifcvt.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * ifcvt.c (count_bb_insns): Strengthen local insn from rtx to rtx_insn *. (cheap_bb_rtx_cost_p): Likewise. (first_active_insn): Likewise for return type and local insn. (last_active_insn): Likewise for return type and locals insn, head.

[PATCH 232/236] Use rtx_insn in various places in resource.[ch]

2014-08-06 Thread David Malcolm
After fixing reorg.c's update_block and reorg_redirect_jump, all in-tree users of the given resource.h functions now are rtx_insn *, so we can update the API itself. gcc/ * resource.h (clear_hashed_info_for_insn): Strengthen param from rtx to rtx_insn *.

[PATCH 236/236] END OF PATCHES: Delete rtx-classes-status.txt

2014-08-06 Thread David Malcolm
/ rtx-classes-status.txt: Delete --- rtx-classes-status.txt | 9 - 1 file changed, 9 deletions(-) delete mode 100644 rtx-classes-status.txt diff --git a/rtx-classes-status.txt b/rtx-classes-status.txt deleted file mode 100644 index 020deba..000 --- a/rtx-classes-status.txt

[PATCH 028/236] cfgexpand.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * cfgexpand.c (expand_used_vars): Strengthen return type from rtx to rtx_insn *; also for local var_end_seq. (maybe_dump_rtl_for_gimple_stmt): Likewise for param since. (maybe_cleanup_end_of_block): Likewise for param last and local insn.

[PATCH 025/236] make_insn_raw returns an rtx_insn

2014-08-06 Thread David Malcolm
Doing so means strengthening the types of the make_raw callbacks within emit-rtl.c from rtx to rtx_insn * as used by the emit_pattern_* internal functions. There's more that could be done in terms of the params to these functions, but we'll save that for later. gcc/ * rtl.h

[PATCH 005/236] Introduce as_a_nullable

2014-08-06 Thread David Malcolm
In many circumstances, is_a_helper T::test assumes that the pointer is non-NULL, but sometimes you have a pointer of type T that can be NULL. Earlier versions of this patch kit made numerous uses of the ternary operator to handle nullable pointers e.g.: return insn ? as_a rtx_insn * (insn) :

[PATCH 086/236] jump.c: Use rtx_insn in a few places (also touches rtl.h and cfgexpand.c)

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (rebuild_jump_labels): Strengthen param f from rtx to rtx_insn *. (rebuild_jump_labels_chain): Likewise for param chain. * cfgexpand.c (pass_expand::execute): Add checked cast to rtx_insn * when calling rebuild_jump_labels_chain in region where

[PATCH 157/236] struct eh_landing_pad_d: field landing_pad is an rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * except.h (struct eh_landing_pad_d): Strengthen field landing_pad from rtx to rtx_code_label *. * except.c (sjlj_emit_dispatch_table): Likewise for param dispatch_label (sjlj_build_landing_pads): Likewise for local dispatch_label. --- gcc/except.c |

[PATCH 061/236] combine.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * 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

[PATCH 026/236] bb_note returns a rtx_note *

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (bb_note): Strengthen return type from rtx to rtx_note *. * sched-int.h (bb_note): Likewise. * cfgrtl.c (bb_note): Likewise. Add a checked cast to rtx_note *. --- gcc/basic-block.h | 2 +- gcc/cfgrtl.c | 4 ++-- gcc/sched-int.h | 2 +- 3 files

[PATCH 112/236] sched-ebb.c: Use rtx_insn (requires touching sched-int.h and config/c6x/c6x.c)

2014-08-06 Thread David Malcolm
On c6x, this patch relies on hwloop_info loop_end already being an rtx_insn *, so that schedule_ebb is always called with rtx_insn *. The hunk to change loop_end is within the hw-loop patch, which occurs alphabetically before sched-ebb, so that's OK given an alphabetical ordering of the patches

[PATCH 193/236] cselib (also touches sched-deps.c)

2014-08-06 Thread David Malcolm
gcc/ * cselib.h (struct elt_loc_list): Strengthen field setting_insn from rtx to rtx_insn *. (cselib_lookup_from_insn): Likewise for final param. (cselib_subst_to_values_from_insn): Likewise. (cselib_add_permanent_equiv): Likewise. * cselib.c

[PATCH 067/236] ddg: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * ddg.h (struct ddg_node): Strengthen fields insn and first_note from rtx to rtx_insn *. (get_node_of_insn): Likewise for param 2 insn. (autoinc_var_is_used_p): Likewise for params def_insn and use_insn. * ddg.c (mem_read_insn_p): Strengthen param insn

[PATCH 138/236] config/m68k: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/m68k/m68k-protos.h (output_btst): Strengthen param 4 from rtx to rtx_insn *. (strict_low_part_peephole_ok): Likewise for param 2 first_insn. (m68k_final_prescan_insn): Likewise for first param. * config/m68k/m68k.c (m68k_emit_movem): Likewise

[PATCH 127/236] config/arc: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/arc/arc-protos.h (arc_final_prescan_insn): Strengthen first param from rtx to rtx_insn *. (arc_verify_short): Likewise. (arc_short_long): Likewise. (arc_need_delay): Likewise. * config/arc/arc.c (struct arc_ccfsm): Likewise for field

[PATCH 218/236] Use rtx subclasses in more places in reorg.c

2014-08-06 Thread David Malcolm
Simplify and clarify reorg.c in various ways by using rtx subclasses. For example, make it explicit within the type system that delay lists are INSN_LIST chains. gcc/ * reorg.c (skip_consecutive_labels): Strengthen return type, param and local insn from rtx to rtx_insn *.

[PATCH 181/236] Strengthen fields in struct sequence_stack and struct emit_status

2014-08-06 Thread David Malcolm
gcc/ * function.h (struct sequence_stack): Strengthen fields first and last from rtx to rtx_insn *. (struct emit_status): Likewise for fields x_first_insn and x_last_insn. * emit-rtl.h (get_insns): Remove now-redundant checked cast.

[PATCH 149/236] config/sh: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/sh/sh-protos.h (output_ieee_ccmpeq): Strengthen param 1 from rtx to rtx_insn *. (output_branchy_insn): Likewise for param 3. (output_far_jump): Likewise for param 1. (final_prescan_insn): Likewise. (sh_insn_length_adjustment): Likewise

[PATCH 155/236] config/xtensa: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/xtensa/xtensa-protos.h (xtensa_emit_loop_end): Strengthen first param from rtx to rtx_insn *. * config/xtensa/xtensa.c (struct machine_function): Likewise for field set_frame_ptr_insn. (xtensa_expand_compare_and_swap): Strengthen locals csloop

[PATCH 199/236] Introduce rtx_insn_list subclass of rtx_def

2014-08-06 Thread David Malcolm
gcc/ * coretypes.h (class rtx_insn_list): Add forward declaration. * rtl.h (class rtx_insn_list): New subclass of rtx_def (is_a_helper rtx_insn_list *::test): New. (rtx_insn_list::next): New. (rtx_insn_list::insn): New. (gen_rtx_INSN_LIST): Add

[PATCH 103/236] reg-stack.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * reg-stack.c (next_flags_user): Strengthen return type and param insn from rtx to rtx_insn *. (straighten_stack): Likewise for param insn. (check_asm_stack_operands): Likewise. (remove_regno_note): Likewise. (emit_pop_insn): Likewise for return

[PATCH 096/236] optabs.c: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * optabs.c (expand_doubleword_shift): Strengthen local insn from rtx to rtx_insn *. (expand_binop): Likewise for locals entry_last, last, insns (expand_twoval_unop): Likewise for locals entry_last, last. (expand_twoval_binop): Likewise.

[PATCH 231/236] Make insn_addresses_new require an rtx_insn

2014-08-06 Thread David Malcolm
This affects the INSN_ADDRESSES_NEW macro, which is defined in terms of insn_addresses_new. gcc/ * insn-addr.h (insn_addresses_new): Strengthen param insn from rtx to rtx_insn *. * config/s390/s390.c (s390_split_branches): Eliminate top-level local rtx tmp, in

[PATCH 143/236] config/pa: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/pa/pa-protos.h (pa_output_call): Strengthen first param from rtx to rtx_insn *. (pa_output_indirect_call): Likewise. (pa_adjust_insn_length): Likewise. (pa_attr_length_millicode_call): Likewise. (pa_attr_length_call): Likewise.

[PATCH 055/236] caller-save.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * caller-save.c (save_call_clobbered_regs): Strengthen locals ins and prev from rtx to rtx_insn *. --- gcc/caller-save.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/caller-save.c b/gcc/caller-save.c index b1ef3a9..fd936ba 100644 ---

[PATCH 150/236] config/sparc: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/sparc/sparc-protos.h (output_ubranch): Strengthen param 2 from rtx to rtx_insn *. (output_cbranch): Likewise for param 6. (output_return): Likewise for param 1. (output_sibcall): Likewise. (output_v8plus_shift): Likewise.

[PATCH 141/236] config/mips: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * config/mips/mips-protos.h (mips_emit_move): Strengthen return type from rtx to rtx_insn *. (mips_expand_call): Likewise. (mips_adjust_insn_length): Likewise for first param. (mips_output_conditional_branch): Likewise.

[PATCH 169/236] Strengthen haifa_sched_info callbacks and 3 scheduler hooks

2014-08-06 Thread David Malcolm
gcc/ * target.def (reorder): Strengthen param ready of this DEFHOOK from rtx * to rtx_insn **. (reorder2): Likewise. (dependencies_evaluation_hook): Strengthen params head, tail from rtx to rtx_insn *. * doc/tm.texi: Update mechanically for above

[PATCH 085/236] ira: Use rtx_insn in various places

2014-08-06 Thread David Malcolm
gcc/ * ira-int.h (struct ira_allocno_copy): Strengthen field insn from rtx to rtx_insn *insn. (ira_create_copy): Strengthen param insn from rtx to rtx_insn *. (ira_add_allocno_copy): Likewise. * ira-build.c (find_allocno_copy): Strengthen param insn from

[PATCH 016/236] BND_TO scaffolding

2014-08-06 Thread David Malcolm
gcc/ * sel-sched-ir.h (BND_TO): insn_t will eventually be an rtx_insn *. To help with transition, for now, convert from an access macro into a pair of functions: BND_TO, returning an rtx_insn *, and... (SET_BND_TO): New function, for use where BND_TO is

[PATCH 074/236] expr.c: Use rtx_insn and rtx_code_label

2014-08-06 Thread David Malcolm
gcc/ * expr.c (convert_move): Strengthen local insns from rtx to rtx_insn *. (emit_block_move_via_loop): Strengthen locals cmp_label and top_label from rtx to rtx_code_label *. (move_block_to_reg): Strengthen local insn, last from rtx to rtx_insn *.

[PATCH 178/236] Remove BB_HEAD, BB_END, BB_HEADER scaffolding

2014-08-06 Thread David Malcolm
gcc/ * basic-block.h (struct rtl_bb_info): Strengthen fields end_ and header_ from rtx to rtx_insn *. (struct basic_block_d): Likewise for field head_ within x field of union basic_block_il_dependent. (BB_HEAD): Drop function... (SET_BB_HEAD): ...and

[PATCH 065/236] cse.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * cse.c (struct qty_table_elem): Strengthen field const_insn from rtx to rtx_insn *. (struct change_cc_mode_args): Likewise for field insn. (this_insn): Strengthen from rtx to rtx_insn *. (make_new_qty): Replace use of NULL_RTX with NULL when dealing

[PATCH 076/236] function.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * function.c (emit_initial_value_sets): Strengthen local seq from rtx to rtx_insn *. (instantiate_virtual_regs_in_insn): Likewise for param insn and local seq. (instantiate_virtual_regs): Likewise for local insn. (assign_parm_setup_reg):

[PATCH 122/236] var-tracking.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * var-tracking.c (struct micro_operation_def): Strengthen field insn from rtx to rtx_insn *. (struct emit_note_data_def): Likewise. (insn_stack_adjust_offset_pre_post): Likewise for param insn. (vt_stack_adjustments): Likewise for local insn.

[PATCH 114/236] sel-sched.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * sel-sched.c (substitute_reg_in_expr): Strengthen local new_insn from rtx to rtx_insn *. (create_insn_rtx_with_rhs): Likewise for return type and for local insn_rtx. (create_insn_rtx_with_lhs): Likewise. (create_speculation_check): Likewise for

[PATCH 146/236] config/rx: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/rx/rx-protos.h (rx_adjust_insn_length): Strengthen first param from rtx to rtx_insn *. * config/rx/rx.c (rx_adjust_insn_length): Likewise for param insn. --- gcc/config/rx/rx-protos.h | 2 +- gcc/config/rx/rx.c| 2 +- 2 files changed, 2 insertions(+),

[PATCH 136/236] config/ia64/ia64.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * config/ia64/ia64.c (ia64_expand_tls_address): Strengthen local insns from rtx to rtx_insn *. (ia64_emit_cond_move): Likewise for locals insn, first. (struct spill_fill_data): Likewise for field init_after and for elements of array field prev_insn.

[PATCH 117/236] stack-ptr-mod.c: Use rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * stack-ptr-mod.c (pass_stack_ptr_mod::execute): Strengthen local insn from rtx to rtx_insn *. --- gcc/stack-ptr-mod.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gcc/stack-ptr-mod.c b/gcc/stack-ptr-mod.c index 75bec2f..a16369f 100644 ---

[PATCH 204/236] final.c: Use rtx_sequence

2014-08-06 Thread David Malcolm
gcc/ * final.c (get_attr_length_1): Replace GET_CODE check with a dyn_cast, introducing local seq and the use of methods of rtx_sequence. (shorten_branches): Likewise, introducing local body_seq. Strengthen local inner_insn from rtx to rtx_insn *.

[PATCH 036/236] get_last_bb_insn returns an rtx_insn

2014-08-06 Thread David Malcolm
gcc/ * 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. --- gcc/basic-block.h | 2 +- gcc/cfgrtl.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)

[PATCH 010/236] Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms

2014-08-06 Thread David Malcolm
gcc/ * rtl.h (PREV_INSN): Split macro in two: the existing one, for rvalues, and... (SET_PREV_INSN): New macro, for use as an lvalue. (NEXT_INSN, SET_NEXT_INSN): Likewise. * caller-save.c (save_call_clobbered_regs): Convert lvalue use of

[PATCH 234/236] Strengthen params to active_insn_between

2014-08-06 Thread David Malcolm
gcc/ * shrink-wrap.h (active_insn_between): Strengthen both params from rtx to rtx_insn *. * function.c (active_insn_between): Likewise. --- gcc/function.c| 3 +-- gcc/shrink-wrap.h | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/gcc/function.c

<    1   2   3   4   >