[PATCH] Add support for optimization reports.

Richard Smith richard at metafoo.co.uk
Thu Apr 3 11:04:06 PDT 2014


  Looks mostly fine. I'm concerned about a -R option affecting the debug info that ends up in the object file. I'm also concerned that the diagnostic quality will degrade if you build with no debug info enabled at all.

  It seems to me that if we can afford the IR size increase from `-dwarf-column-info`, we can afford the IR size increase from storing the frontend's notion of 'source location' into the IR, and that would allow us to do the right thing without `-g` and to deal properly with macro expansions etc. (It's only 32 bits per location...)


================
Comment at: lib/Driver/Tools.cpp:3394
@@ +3393,3 @@
+    // remarks.
+    CmdArgs.push_back("-dwarf-column-info");
+    A->render(Args, CmdArgs);
----------------
I don't think it's OK for a diagnostic option to affect the contents of the object file.

================
Comment at: lib/Frontend/CompilerInvocation.cpp:523
@@ -522,1 +522,3 @@
 
+  if (Arg *A = Args.getLastArg(OPT_Rpass_EQ)) {
+    StringRef Val = A->getValue();
----------------
... so we take the last -Rpass= option, rather than combining them? I find that unintuitive, FWIW, but maybe this is the right model.


http://llvm-reviews.chandlerc.com/D3226



More information about the cfe-commits mailing list