tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily allocate and free...
authorJakub Jelinek <jakub@redhat.com>
Fri, 15 Jun 2012 11:08:28 +0000 (13:08 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 15 Jun 2012 11:08:28 +0000 (13:08 +0200)
* tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
allocate and free bbs array for the SLP case.

From-SVN: r188657

gcc/ChangeLog
gcc/tree-vect-patterns.c

index 00cffd6b4b7900e79869f797207a3ff4b638d395..d4174c2397fbc01b6549d55a42048006da3bc378 100644 (file)
@@ -1,5 +1,8 @@
 2012-06-15  Jakub Jelinek  <jakub@redhat.com>
 
+       * tree-vect-patterns.c (vect_pattern_recog): Don't unnecessarily
+       allocate and free bbs array for the SLP case.
+
        PR tree-optimization/51581
        * expr.h (choose_multiplier): New prototype.
        * expmed.c (choose_multiplier): No longer static.
index aeb7eb23eb402436f2f91390b416853a6cf1a50c..4138d41c11d9a45c575ffe0c641ce149d9e203f9 100644 (file)
@@ -2983,7 +2983,7 @@ void
 vect_pattern_recog (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
 {
   struct loop *loop;
-  basic_block *bbs, bb;
+  basic_block *bbs;
   unsigned int nbbs;
   gimple_stmt_iterator si;
   unsigned int i, j;
@@ -3002,10 +3002,8 @@ vect_pattern_recog (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
     }
   else
     {
-      bb = BB_VINFO_BB (bb_vinfo);
+      bbs = &BB_VINFO_BB (bb_vinfo);
       nbbs = 1;
-      bbs = XNEW (basic_block);
-      bbs[0] = bb;
     }
 
   /* Scan through the loop stmts, applying the pattern recognition
@@ -3031,6 +3029,4 @@ vect_pattern_recog (loop_vec_info loop_vinfo, bb_vec_info bb_vinfo)
     }
 
   VEC_free (gimple, heap, stmts_to_replace);
-  if (bb_vinfo)
-    free (bbs);
 }