diff options
author | Jakub Jelinek <jakub@redhat.com> | 2009-10-28 15:37:24 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2009-10-28 15:37:24 +0100 |
commit | 7cf720118defe3f5a2aa7dd646b562c12d81a614 (patch) | |
tree | 3560b058502484fb57b73fabe5cbe41f3cb74991 | |
parent | e70545b0a5fa64ce4e5199ff4649db089a20edb3 (diff) | |
download | gcc-7cf720118defe3f5a2aa7dd646b562c12d81a614.zip gcc-7cf720118defe3f5a2aa7dd646b562c12d81a614.tar.gz gcc-7cf720118defe3f5a2aa7dd646b562c12d81a614.tar.bz2 |
var-tracking.c (emit_note_insn_var_location): Don't call the second vt_expand_loc unnecessarily when...
* var-tracking.c (emit_note_insn_var_location): Don't call the second
vt_expand_loc unnecessarily when location is not a register nor
memory.
From-SVN: r153666
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/var-tracking.c | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 8c9048e..fe877c5 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2009-10-28 Jakub Jelinek <jakub@redhat.com> + + * var-tracking.c (emit_note_insn_var_location): Don't call the second + vt_expand_loc unnecessarily when location is not a register nor + memory. + 2009-10-28 Richard Sandiford <rdsandiford@googlemail.com> * var-tracking.c (emit_note_insn_var_location): Get the mode of diff --git a/gcc/var-tracking.c b/gcc/var-tracking.c index 61ce32b..5cc8ced 100644 --- a/gcc/var-tracking.c +++ b/gcc/var-tracking.c @@ -6428,6 +6428,7 @@ emit_note_insn_var_location (void **varp, void *data) if (j < var->n_var_parts && wider_mode != VOIDmode && mode == GET_MODE (var->var_part[j].loc_chain->loc) + && (REG_P (loc[n_var_parts]) || MEM_P (loc[n_var_parts])) && (loc2 = vt_expand_loc (var->var_part[j].loc_chain->loc, vars)) && GET_CODE (loc[n_var_parts]) == GET_CODE (loc2) && last_limit == var->var_part[j].offset) |