[PATCH] Extend SLPVectorizer for cases where insertelement	instructions must be rescheduled
    Arnold Schwaighofer 
    aschwaighofer at apple.com
       
    Wed Mar 26 08:55:01 PDT 2014
    
    
  
  Please fix the formatting nitpicks and then this LGTM.
  Thanks again for working on this!
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:371
@@ -371,1 +370,3 @@
+  /// reduction values do not need to be extracted.
+  void buildTree(ArrayRef<Value *> Roots, ValueSet *RdxOps = 0, bool RdxFreeExtract=false);
 
----------------
Please update the documentation string to refer to the boolean RdxFreeExtract.
Please fix formatting to match the style in this file. There should be spaces between assignment.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:551
@@ -546,1 +550,3 @@
+void BoUpSLP::buildTree(ArrayRef<Value *> Roots, ValueSet *Rdx, bool RdxFreeExtract) {
+  assert(!RdxFreeExtract||Rdx);
   deleteTree();
----------------
Spaces.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:1975
@@ -1945,3 +1974,3 @@
   /// \returns true if a value was vectorized.
-  bool tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R);
+  bool tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R, InsertElementInst *IE=0, BoUpSLP::ValueSet *Inserts=0);
 
----------------
Spaces.
================
Comment at: lib/Transforms/Vectorize/SLPVectorizer.cpp:2148
@@ -2118,3 +2147,3 @@
 
-bool SLPVectorizer::tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R) {
+bool SLPVectorizer::tryToVectorizeList(ArrayRef<Value *> VL, BoUpSLP &R, InsertElementInst *IE, BoUpSLP::ValueSet* Inserts) {
   if (VL.size() < 2)
----------------
Formatting: Pointer should be on the variable’s side: BoUpSLP::ValueSet *Inserts
http://llvm-reviews.chandlerc.com/D3143
    
    
More information about the llvm-commits
mailing list