Overall looks pretty good to me. Except some of the error messages are too 
detailed or refer to artifacts of the intermediate representation.

I think those diagnostics are meant to be consumed by people looking at the 
source language (C,C++, …). I don’t think we should refer to LLVM IR.

+        if (Message)
+          *Message << "found an outside user for: " << *UI;


Similar, I don’t think we should refer to structural properties of the IR:

+    emitAnalysis(Report() << "loop does not have a single backedge");

Does not reflect a property of the source level language but rather of the 
implementation of the loop vectorizer (requirement of simplified loops). I 
think we need to find a broader wording that applies to the source language. 
Maybe something like “The control flow structure of the loop could not be 
understood by the vectorizer” or similar.

Thank you

> On Jun 10, 2014, at 3:13 PM, Tyler Nowicki <[email protected]> wrote:
> 
> <vectorization_diagnostics-svn.patch>


_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to