From 54699c021d74f8422c187104012fed4557d9d78d Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Tue, 2 Nov 2004 13:18:32 +0000 Subject: [PATCH] tree-phinodes.c (remove_phi_arg_num): Do not zero the element that's being removed. * tree-phinodes.c (remove_phi_arg_num): Do not zero the element that's being removed. From-SVN: r89984 --- gcc/ChangeLog | 5 +++++ gcc/tree-phinodes.c | 8 ++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ef00d117425..1e1662aeb39 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-11-02 Kazu Hirata + + * tree-phinodes.c (remove_phi_arg_num): Do not zero the + element that's being removed. + 2004-11-02 Kazu Hirata * tree-ssa-threadupdate.c (copy_phis_to_block): Install PHI diff --git a/gcc/tree-phinodes.c b/gcc/tree-phinodes.c index 89fbb3d88a7..e7883e3951c 100644 --- a/gcc/tree-phinodes.c +++ b/gcc/tree-phinodes.c @@ -396,10 +396,10 @@ remove_phi_arg_num (tree phi, int i) PHI_ARG_NONZERO (phi, i) = PHI_ARG_NONZERO (phi, num_elem - 1); } - /* Shrink the vector and return. */ - SET_PHI_ARG_DEF (phi, num_elem - 1, NULL_TREE); - PHI_ARG_EDGE (phi, num_elem - 1) = NULL; - PHI_ARG_NONZERO (phi, num_elem - 1) = false; + /* Shrink the vector and return. Note that we do not have to clear + PHI_ARG_DEF, PHI_ARG_EDGE, or PHI_ARG_NONZERO because the garbage + collector will not look at those elements beyond the first + PHI_NUM_ARGS elements of the array. */ PHI_NUM_ARGS (phi)--; } -- 2.30.2