ira-build.c (ira_flattening): Add the current object to OBJECTS_LIVE after traversing...
authorZhouyi Zhou <yizhouzhou@ict.ac.cn>
Tue, 23 Dec 2014 19:02:46 +0000 (19:02 +0000)
committerJeff Law <law@gcc.gnu.org>
Tue, 23 Dec 2014 19:02:46 +0000 (12:02 -0700)
        * ira-build.c (ira_flattening): Add the current
        object to OBJECTS_LIVE after traversing OBJECTS_LIVE.

From-SVN: r219046

gcc/ChangeLog
gcc/ira-build.c

index 133d8aa763f5de920a236fe752273632ecd01bc6..0d817d26994e1d4161226c0f1a4b0d541f53d587 100644 (file)
@@ -1,3 +1,8 @@
+2014-12-22  Zhouyi Zhou <yizhouzhou@ict.ac.cn>
+
+       * ira-build.c (ira_flattening): Add the current
+       object to OBJECTS_LIVE after traversing OBJECTS_LIVE.
+
 2014-12-23  Martin Liska  <mliska@suse.cz>
 
        PR ipa/63851
index af82b718fba053dbd55f8dba80c952f46c061bf3..66318096346a93805734d8bc05bd45d7e763a4bd 100644 (file)
@@ -3252,7 +3252,6 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit)
                continue;
 
              aclass = ALLOCNO_CLASS (a);
-             sparseset_set_bit (objects_live, OBJECT_CONFLICT_ID (obj));
              EXECUTE_IF_SET_IN_SPARSESET (objects_live, n)
                {
                  ira_object_t live_obj = ira_object_id_map[n];
@@ -3264,6 +3263,7 @@ ira_flattening (int max_regno_before_emit, int ira_max_point_before_emit)
                      && live_a != a)
                    ira_add_conflict (obj, live_obj);
                }
+             sparseset_set_bit (objects_live, OBJECT_CONFLICT_ID (obj));
            }
 
          for (r = ira_finish_point_ranges[i]; r != NULL; r = r->finish_next)