Add Rpass-missed and Rpass-analysis reports to the loop vectorizer

Arnold Schwaighofer aschwaighofer at apple.com
Tue Jun 10 15:29:04 PDT 2014


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 <tnowicki at apple.com> wrote:
> 
> <vectorization_diagnostics-svn.patch>





More information about the cfe-commits mailing list