[PATCH 010/236] Split NEXT_INSN/PREV_INSN into lvalue and rvalue forms
David Malcolm
dmalcolm@redhat.com
Tue Aug 19 00:56:00 GMT 2014
On Tue, 2014-08-12 at 15:17 -0600, Jeff Law wrote:
> On 08/06/14 11:19, David Malcolm wrote:
> > 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
> > PREV_INSN/NEXT_INSN into SET_PREV_INSN/SET_NEXT_INSN.
> > * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
> > (fixup_abnormal_edges): Likewise.
> > (unlink_insn_chain): Likewise.
> > (fixup_reorder_chain): Likewise.
> > (cfg_layout_delete_block): Likewise.
> > (cfg_layout_merge_blocks): Likewise.
> > * combine.c (update_cfg_for_uncondjump): Likewise.
> > * emit-rtl.c (link_insn_into_chain): Likewise.
> > (remove_insn): Likewise.
> > (delete_insns_since): Likewise.
> > (reorder_insns_nobb): Likewise.
> > (emit_insn_after_1): Likewise.
> > * final.c (rest_of_clean_state): Likewise.
> > (final_scan_insn): Likewise.
> > * gcse.c (can_assign_to_reg_without_clobbers_p): Likewise.
> > * haifa-sched.c (concat_note_lists): Likewise.
> > (remove_notes): Likewise.
> > (restore_other_notes): Likewise.
> > (move_insn): Likewise.
> > (unlink_bb_notes): Likewise.
> > (restore_bb_notes): Likewise.
> > * jump.c (delete_for_peephole): Likewise.
> > * optabs.c (emit_libcall_block_1): Likewise.
> > * reorg.c (emit_delay_sequence): Likewise.
> > (fill_simple_delay_slots): Likewise.
> > * sel-sched-ir.c (sel_move_insn): Likewise.
> > (sel_remove_insn): Likewise.
> > (get_bb_note_from_pool): Likewise.
> > * sel-sched.c (move_nop_to_previous_block): Likewise.
> >
> > * config/bfin/bfin.c (reorder_var_tracking_notes): Likewise.
> > * config/c6x/c6x.c (gen_one_bundle): Likewise.
> > (c6x_gen_bundles): Likewise.
> > (hwloop_optimize): Likewise.
> > * config/frv/frv.c (frv_function_prologue): Likewise.
> > (frv_register_nop): Likewise.
> > * config/ia64/ia64.c (ia64_init_dfa_pre_cycle_insn): Likewise.
> > (ia64_reorg): Likewise.
> > * config/mep/mep.c (mep_reorg_addcombine): Likewise.
> > (mep_make_bundle): Likewise.
> > (mep_bundle_insns): Likewise.
> > * config/picochip/picochip.c (reorder_var_tracking_notes): Likewise.
> > * config/tilegx/tilegx.c (reorder_var_tracking_notes): Likewise.
> > * config/tilepro/tilepro.c (reorder_var_tracking_notes): Likewise.
> OK.
Thanks; committed to trunk as r214128, having bootstrapped®rtested on
x86_64-unknown-linux-gnu (Fedora 20) albeit in combination with patches
9-29 [1], and verified that it builds standalone with the following
targets:
* x86_64-unknown-linux-gnu (Fedora 20)
* bfin-elf
* c6x-elf
* ia64-elf
* mep-elf
* picochip-elf
* tilegx-linux-gnu
* tilepro-linux-gnu
I was also able to verify the build of the touched file frv.c with
frv-elf, and that fully builds apart from what appears to be a
pre-existing issue in ifcvt.c:
../../src/gcc/ifcvt.c: In function âint
cond_exec_process_insns(ce_if_block*, rtx, rtx, rtx, int, int)â:
../../src/gcc/config/frv/frv.h:1964:58: error: âfrv_ifcvt_modify_insnâ
was not declared in this scope
(PATTERN) = frv_ifcvt_modify_insn (CE_INFO, PATTERN, INSN)
^
../../src/gcc/ifcvt.c:408:7: note: in expansion of macro
âIFCVT_MODIFY_INSNâ
IFCVT_MODIFY_INSN (ce_info, pattern, insn);
More information about the Gcc-patches
mailing list