OSDN Git Service

* var-tracking.c (vt_expand_loc_callback): Don't run
authorjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Mar 2010 20:55:34 +0000 (20:55 +0000)
committerjakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 26 Mar 2010 20:55:34 +0000 (20:55 +0000)
cselib_expand_value_rtx_cb in dummy mode if
cselib_dummy_expand_value_rtx_cb returned false.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157764 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/var-tracking.c

index 85cd6c7..513c090 100644 (file)
@@ -1,5 +1,9 @@
 2010-03-26  Jakub Jelinek  <jakub@redhat.com>
 
+       * var-tracking.c (vt_expand_loc_callback): Don't run
+       cselib_expand_value_rtx_cb in dummy mode if
+       cselib_dummy_expand_value_rtx_cb returned false.
+
        * var-tracking.c (emit_note_insn_var_location): For one part
        notes with offset 0, don't add EXPR_LIST around the location.
        * dwarf2out.c (loc_descriptor, dw_loc_list_1,
index d1ecc86..bff7d11 100644 (file)
@@ -6860,14 +6860,13 @@ vt_expand_loc_callback (rtx x, bitmap regs, int max_depth, void *data)
                result = pc_rtx;
                break;
              }
-           else
-             {
-               result = cselib_expand_value_rtx_cb (loc->loc, regs, max_depth,
-                                                    vt_expand_loc_callback,
-                                                    data);
-               if (result)
-                 break;
-             }
+         }
+       else
+         {
+           result = cselib_expand_value_rtx_cb (loc->loc, regs, max_depth,
+                                                vt_expand_loc_callback, data);
+           if (result)
+             break;
          }
       if (dummy && (result || var->var_part[0].cur_loc))
        var->cur_loc_changed = true;