xur marked an inline comment as done. ================ Comment at: lib/CodeGen/CodeGenModule.cpp:154 @@ +153,3 @@ + assert(!CodeGenOpts.ProfileInstrumentUsePath.empty() && + "Need to explicitly specify the profile name."); + auto ReaderOrErr = llvm::IndexedInstrProfReader::create( ---------------- silvas wrote: > Are we ensuring consistency in the driver? If not, we definitely want to do > that. I think in driver level, the change change is consistent with the old behavior: driver will always set option -fprofile-instrument-use-path= for the pgo use compilation, i.e. when -fprofile-instru-use{=<path>} or -fprofile-use{=<path>} is in the command line, we will always have -fprofile-instrument-use-path=<path>, It will be translated to CodeGenOpts.ProfileInstrumentUsePath in ParseCodeGenArgs().
In the cc1 level, the behavior changed: old behavior is: -fprofile-instru-use=<path> will trigger the use compilation. Now requires two cc1 opitons: -fprofile-instrument=clang -fprofile-instrument-use-path=<path>. Having -fprofile-instrument=clang only will trigger the assertion and having -fprofile-instrument-use-path=<path> is vold op. I did this because the old pgo use cc1 option requires the profile path. This is contrast in the IR level instrument, where -fprofile-instrument-use-path=<path> is optional: we will use default.profdata in the absence. ================ Comment at: lib/Frontend/CompilerInvocation.cpp:381 @@ +380,3 @@ + OptSpecifier Id, DiagnosticsEngine &Diags) { + if (Id != OPT_fprofile_instrument_EQ && Id != OPT_fprofile_instrument_use_EQ) + return; ---------------- silvas wrote: > I think it would be better to assert that it is one of the two options rather > than silently doing nothing. Yes. Assertion is better. Will do in the commit. http://reviews.llvm.org/D17737 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits