[LLVMdev] RFC - Adding an optimization report facility? (original) (raw)

Xinliang David Li xinliangli at gmail.com
Thu Mar 6 13:29:10 PST 2014


On Thu, Mar 6, 2014 at 12:22 PM, Diego Novillo <dnovillo at google.com> wrote:

On Thu, Mar 6, 2014 at 2:44 PM, Tobias Grosser <tobias at grosser.es> wrote:

as others already pointed out, I committed the first piece of such an infrastructure in LLVM commit 202474 and clang commit 202475. This is mostly the backend and printing infrastructure.

Thanks, Tobias. I've browsed the two patches and I think they're going to be exactly what I need. IIUC, the patches add two new LLVM instructions remark and note. These are inserted in the IL by the passes and the compiler emits them as diagnostic if the right -W flag is enabled? One question I have from the Clang patch. If I compile with -Weverything, will this enable all warnings and remarks? In this context, I only want to enable all remarks. In fact, I want to enable a family of remarks: the optimization remarks. There will be other modifiers to these remarks as well: 1. Report missed optimizations, instead of the successful ones. 2. Increase verbosity of the report. This would be done using note nodes, I expect. But we may want varying degrees of verbosity. 3. Group families of optimizations. For example, i want to report on all loop-related optimizations. 4. IIRC, GCC's -fopt-info will also allow you to collect the reports into a separate text file. Not sure how useful I find this feature myself. Re. 4, to name a few that can be handy sometimes: 1) not contaminate stderr; 2) per TU report; 3) Per opt-group report etc.

Also in GCC's original design, per-pass report filtering was supported, but that was considered too developer oriented.

David

Thanks. Diego.


LLVM Developers mailing list LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20140306/41609d18/attachment.html>



More information about the llvm-dev mailing list