diff options
author | Josef Zlomek <zlomekj@suse.cz> | 2004-04-20 08:01:03 +0200 |
---|---|---|
committer | Josef Zlomek <zlomek@gcc.gnu.org> | 2004-04-20 06:01:03 +0000 |
commit | 6f615a287e82d3110d140a7036ebbf298137158a (patch) | |
tree | 4d3207c456b6de88364629116f687d87542d5326 | |
parent | a1bac22c43e4b71d5e770ca9b43aaf9fbee45022 (diff) | |
download | gcc-6f615a287e82d3110d140a7036ebbf298137158a.zip gcc-6f615a287e82d3110d140a7036ebbf298137158a.tar.gz gcc-6f615a287e82d3110d140a7036ebbf298137158a.tar.bz2 |
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
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/var-tracking.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 2d7b398..e57ce57 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-04-20 Josef Zlomek <zlomekj@suse.cz> + + * var-tracking.c (variable_part_different_p): Variable parts differ + when the most recent locations differ. + 2004-04-19 James E Wilson <wilson@specifixinc.com> * rtl.h (reg_set_last): Delete declaration. diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index d26893b..62c696b 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) |