From 6f615a287e82d3110d140a7036ebbf298137158a Mon Sep 17 00:00:00 2001 From: Josef Zlomek Date: Tue, 20 Apr 2004 08:01:03 +0200 Subject: [PATCH] var-tracking.c (variable_part_different_p): Variable parts differ when the most recent locations differ. * var-tracking.c (variable_part_different_p): Variable parts differ when the most recent locations differ. From-SVN: r80880 --- gcc/ChangeLog | 5 +++++ gcc/var-tracking.c | 6 ++++++ 2 files changed, 11 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d7b398fad5..e57ce57ac90 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-20 Josef Zlomek + + * var-tracking.c (variable_part_different_p): Variable parts differ + when the most recent locations differ. + 2004-04-19 James E Wilson * rtl.h (reg_set_last): Delete declaration. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index d26893bdfe0..62c696b3b72 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -1242,6 +1242,12 @@ variable_part_different_p (variable_part *vp1, variable_part *vp2) { location_chain lc1, lc2; + if (!((GET_CODE (vp1->cur_loc) == REG + && GET_CODE (vp2->cur_loc) == REG + && REGNO (vp1->cur_loc) == REGNO (vp2->cur_loc)) + || rtx_equal_p (vp1->cur_loc, vp2->cur_loc))) + return true; + for (lc1 = vp1->loc_chain; lc1; lc1 = lc1->next) { for (lc2 = vp2->loc_chain; lc2; lc2 = lc2->next) -- 2.30.2