From 2cd54c2a56896de0e84a58f7e780daabc690e8f1 Mon Sep 17 00:00:00 2001 From: Zack Weinberg Date: Wed, 30 Jun 2004 03:28:31 +0000 Subject: [PATCH] combine.c (distribute_notes): Don't look at global_regs for pseudos. * combine.c (distribute_notes): Don't look at global_regs for pseudos. From-SVN: r83889 --- gcc/ChangeLog | 23 ++++++++++++++--------- gcc/Makefile.in | 2 +- gcc/combine.c | 5 +++-- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 441759fc88f..94c5c964ea9 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-06-29 Zack Weinberg + + * combine.c (distribute_notes): Don't look at global_regs for + pseudos. + 2004-06-29 Richard Henderson * gimplify.c (gimplify_modify_expr_rhs): Move immediately before @@ -98,7 +103,7 @@ * tree-ssa-dom.c (need_eh_cleanup): New. (tree_ssa_dominator_optimize): Allocate it. Cleanup eh edges. (optimize_stmt): Cleanup eh stmts; set need_eh_cleanup. - + 2004-06-29 Alan Modra * function.c (assign_parms): Don't abort with zero size stack @@ -204,7 +209,7 @@ tree_check4_failed, tree_check5_failed): Remove. (TREE_CHECK, TREE_CHECK2, TREE_CHECK3, TREE_CHECK4, TREE_CHECK5): Adjust. - (TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4, + (TREE_NOT_CHECK, TREE_NOT_CHECK2, TREE_NOT_CHECK3, TREE_NOT_CHECK4, TREE_NOT_CHECK5): New. (TREE_VEC_ELT_CHECK, PHI_NODE_ELT_CHECK, TREE_OPERAND_CHECK_CODE, TREE_RTL_OPERAND_CHECK): Adjust. @@ -232,7 +237,7 @@ (dump_generic_node, case DECL_EXPR): New case. (dump_generic_node, case PLACEHOLDER_EXPR): Handle. (print_declaration): Handle type and function declarations. - + * tree-nested.c (create_tmp_var_for): Allow ARRAY_TYPE. (convert_nonlocal_reference, convert_local_reference): Properly convert nest of handled component references. @@ -320,7 +325,7 @@ : Optimize ~X|X and X|~X as -1. : Optimize ~X&X and X&~X as 0. : Optimize !X&&X and X&&!X as false. - : Optimize !X||X and !X||X as true. + : Optimize !X||X and !X||X as true. : Optimize !X^X and X^X! as true. Now that TRUTH_XOR_EXPR is a commutative tree code, don't test whether arg0 is a constant. @@ -351,7 +356,7 @@ * tree.c (has_cleanups, case DECL_EXPR): New case. * tree.def (DECL_EXPR): New code. * tree.h (DECL_EXPR_DECL): New macro. - + * objc/objc-lang.c (LANG_HOOKS_SAFE_FROM_P): Deleted. 2004-06-26 Andrew Pinski @@ -1199,10 +1204,10 @@ 2004-06-21 Richard Henderson - PR rtl-opt/16114 - * cse.c (merge_equiv_classes): Also rehash in response to - delete_reg_equiv changes. - (rehash_using_reg): Don't exclude REGs from rehashing. + PR rtl-opt/16114 + * cse.c (merge_equiv_classes): Also rehash in response to + delete_reg_equiv changes. + (rehash_using_reg): Don't exclude REGs from rehashing. 2004-06-21 Richard Henderson diff --git a/gcc/Makefile.in b/gcc/Makefile.in index 8a412fc0a78..9577f12993a 100644 --- a/gcc/Makefile.in +++ b/gcc/Makefile.in @@ -1376,7 +1376,7 @@ c-ppoutput.o : c-ppoutput.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) \ c-objc-common.o : c-objc-common.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ $(C_TREE_H) $(RTL_H) insn-config.h $(INTEGRATE_H) $(EXPR_H) $(C_TREE_H) \ $(FLAGS_H) toplev.h tree-inline.h $(DIAGNOSTIC_H) $(VARRAY_H) \ - langhooks.h $(GGC_H) $(TARGET_H) cgraph.h + langhooks.h $(GGC_H) $(TARGET_H) c-aux-info.o : c-aux-info.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ $(C_TREE_H) $(FLAGS_H) toplev.h c-convert.o : c-convert.c $(CONFIG_H) $(SYSTEM_H) coretypes.h $(TM_H) $(TREE_H) \ diff --git a/gcc/combine.c b/gcc/combine.c index 7ce6b32c59a..f82858023dc 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -11839,8 +11839,9 @@ distribute_notes (rtx notes, rtx from_insn, rtx i3, rtx i2) TEM is doing. If so, delete TEM. Otherwise, make this into a REG_UNUSED note instead. Don't delete sets to global register vars. */ - if (reg_set_p (XEXP (note, 0), PATTERN (tem)) - && !global_regs [REGNO(XEXP (note, 0))]) + if ((REGNO (XEXP (note, 0)) >= FIRST_PSEUDO_REGISTER + || !global_regs[REGNO (XEXP (note, 0))]) + && reg_set_p (XEXP (note, 0), PATTERN (tem))) { rtx set = single_set (tem); rtx inner_dest = 0; -- 2.30.2