From 5a9ecd4a8622a9d328600ce1ec97a1ebc5d765e7 Mon Sep 17 00:00:00 2001 From: amylaar Date: Sun, 6 Nov 2011 22:58:54 +0000 Subject: * regset.h (fixed_reg_set_regset): Declare. * dse.c: Include regset.h . (struct insn_info): Add member fixed_regs_live. (note_add_store_info): New typedef. (note_add_store): New function. (emit_inc_dec_insn_before): Expect arg to be of type insn_info_t . Use gen_add3_insn / gen_move_insn. Check new insn for unwanted clobbers before emitting it. (check_for_inc_dec): Rename to... (check_for_inc_dec_1:) ... this. Return bool. Take insn_info parameter. Changed all callers in file. (check_for_inc_dec, copy_fixed_regs): New functions. (scan_insn): Set fixed_regs_live field of insn_info. * rtl.h (check_for_inc_dec): Update prototype. * postreload.c (reload_cse_simplify): Take new signature of check_ind_dec into account. * reginfo.c (fixed_reg_set_regset): New variable. (init_reg_sets_1): Initialize it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181046 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/postreload.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'gcc/postreload.c') diff --git a/gcc/postreload.c b/gcc/postreload.c index 8994366d922..886d024926c 100644 --- a/gcc/postreload.c +++ b/gcc/postreload.c @@ -112,8 +112,8 @@ reload_cse_simplify (rtx insn, rtx testreg) if (REG_P (value) && ! REG_FUNCTION_VALUE_P (value)) value = 0; - check_for_inc_dec (insn); - delete_insn_and_edges (insn); + if (check_for_inc_dec (insn)) + delete_insn_and_edges (insn); return; } @@ -164,8 +164,8 @@ reload_cse_simplify (rtx insn, rtx testreg) if (i < 0) { - check_for_inc_dec (insn); - delete_insn_and_edges (insn); + if (check_for_inc_dec (insn)) + delete_insn_and_edges (insn); /* We're done with this insn. */ return; } -- cgit v1.2.1