[PATCH] Add diagnostics to the loop vectorizer cost model

Arnold Schwaighofer aschwaighofer at apple.com
Fri Aug 1 17:00:51 PDT 2014


   if (!EnableCondStoresVectorization && Legal->NumPredStores) {
+    emitAnalysis(Report() << "loop control flow is not understood by vectorizer");
     DEBUG(dbgs() << "LV: No vectorization. There are conditional stores.\n");
     return Factor;
   }

Should we maybe say “store that is conditionally executed prevents vectorization”?

Otherwise LGTM.

Thanks!

> On Aug 1, 2014, at 4:52 PM, Tyler Nowicki <tnowicki at apple.com> wrote:
> 
> Hi,
> 
> Here is a patch that adds diagnostics to the vectorizer cost model. When the cost model determines vectorization is not possible/profitable these remarks print an analysis of that decision. I include one test. It is difficult to find tests that fail at this point. If you know of any please let me know and I will include them.
> 
> Note that in selectVectorizationFactor() we can assume that OptForSize and ForceVectorization are mutually exclusive.
> 
> Tyler
> 
> <diagnostics_in_cost_model-svn.patch>





More information about the llvm-commits mailing list