They have been dead since legacy PGO/SamplePGO passes were removed.
unsigned LicmMssaOptCap;
unsigned LicmMssaNoAccForPromotionCap;
- /// Enable profile instrumentation pass.
- bool EnablePGOInstrGen;
- /// Enable profile context sensitive instrumentation pass.
- bool EnablePGOCSInstrGen;
- /// Enable profile context sensitive profile use pass.
- bool EnablePGOCSInstrUse;
- /// Profile data file name that the instrumentation will be written to.
- std::string PGOInstrGen;
- /// Path of the profile data file.
- std::string PGOInstrUse;
- /// Path of the sample Profile data file.
- std::string PGOSampleUse;
-
private:
/// ExtensionList - This is list of all of the extensions that are registered.
std::vector<std::pair<ExtensionPointTy, ExtensionFn>> Extensions;
VerifyOutput = false;
MergeFunctions = false;
PrepareForLTO = false;
- EnablePGOInstrGen = false;
- EnablePGOCSInstrGen = false;
- EnablePGOCSInstrUse = false;
- PGOInstrGen = "";
- PGOInstrUse = "";
- PGOSampleUse = "";
PrepareForThinLTO = EnablePrepareForThinLTO;
PerformThinLTO = EnablePerformThinLTO;
DivergentTarget = false;
MPM.add(createLowerTypeTestsPass(nullptr, nullptr, true));
}
- // For SamplePGO in ThinLTO compile phase, we do not want to unroll loops
- // as it will change the CFG too much to make the 2nd profile annotation
- // in backend more difficult.
- bool PrepareForThinLTOUsingPGOSampleProfile =
- PrepareForThinLTO && !PGOSampleUse.empty();
- if (PrepareForThinLTOUsingPGOSampleProfile)
- DisableUnrollLoops = true;
-
// Infer attributes about declarations if possible.
MPM.add(createInferFunctionAttrsLegacyPass());
if (TM)
TM->adjustPassManager(Builder);
- switch (PGOKindFlag) {
- case InstrGen:
- Builder.EnablePGOInstrGen = true;
- Builder.PGOInstrGen = ProfileFile;
- break;
- case InstrUse:
- Builder.PGOInstrUse = ProfileFile;
- break;
- case SampleUse:
- Builder.PGOSampleUse = ProfileFile;
- break;
- default:
- break;
- }
-
- switch (CSPGOKindFlag) {
- case CSInstrGen:
- Builder.EnablePGOCSInstrGen = true;
- break;
- case CSInstrUse:
- Builder.EnablePGOCSInstrUse = true;
- break;
- default:
- break;
- }
-
Builder.populateFunctionPassManager(FPM);
Builder.populateModulePassManager(MPM);
}