[llvm] r268710 - [PM] port IR based PGO prof-gen pass to new pass manager

Justin Bogner via llvm-commits llvm-commits at lists.llvm.org
Mon May 9 13:09:28 PDT 2016


Xinliang David Li via llvm-commits <llvm-commits at lists.llvm.org> writes:
> Author: davidxl
> Date: Fri May  6 00:49:19 2016
> New Revision: 268710
>
> URL: http://llvm.org/viewvc/llvm-project?rev=268710&view=rev
> Log:
> [PM] port IR based PGO prof-gen pass to new pass manager
>
> Added:
>     llvm/trunk/include/llvm/Transforms/PGOInstrumentation.h
> Modified:
>     llvm/trunk/include/llvm/InitializePasses.h
>     llvm/trunk/include/llvm/LinkAllPasses.h
>     llvm/trunk/include/llvm/Transforms/Instrumentation.h
>     llvm/trunk/lib/Passes/PassBuilder.cpp
>     llvm/trunk/lib/Passes/PassRegistry.def
>     llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
>     llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp
>     llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
>     llvm/trunk/test/Transforms/PGOProfile/branch1.ll
>     llvm/trunk/test/Transforms/PGOProfile/branch2.ll
>     llvm/trunk/test/Transforms/PGOProfile/comdat_internal.ll
>     llvm/trunk/test/Transforms/PGOProfile/criticaledge.ll
>     llvm/trunk/test/Transforms/PGOProfile/do-not-instrument.ll
>     llvm/trunk/test/Transforms/PGOProfile/indirect_call_profile.ll
>     llvm/trunk/test/Transforms/PGOProfile/landingpad.ll
>     llvm/trunk/test/Transforms/PGOProfile/loop1.ll
>     llvm/trunk/test/Transforms/PGOProfile/loop2.ll
>     llvm/trunk/test/Transforms/PGOProfile/single_bb.ll
>     llvm/trunk/test/Transforms/PGOProfile/switch.ll
>
> Modified: llvm/trunk/include/llvm/InitializePasses.h
> URL:
> http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/InitializePasses.h?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/InitializePasses.h (original)
> +++ llvm/trunk/include/llvm/InitializePasses.h Fri May  6 00:49:19 2016
> @@ -123,7 +123,7 @@ void initializeEdgeBundlesPass(PassRegis
>  void initializeExpandPostRAPass(PassRegistry&);
>  void initializeAAResultsWrapperPassPass(PassRegistry &);
>  void initializeGCOVProfilerPass(PassRegistry&);
> -void initializePGOInstrumentationGenPass(PassRegistry&);
> +void initializePGOInstrumentationGenLegacyPassPass(PassRegistry&);
>  void initializePGOInstrumentationUsePass(PassRegistry&);
>  void initializePGOIndirectCallPromotionPass(PassRegistry&);
>  void initializeInstrProfilingLegacyPassPass(PassRegistry &);
>
> Modified: llvm/trunk/include/llvm/LinkAllPasses.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/LinkAllPasses.h?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/LinkAllPasses.h (original)
> +++ llvm/trunk/include/llvm/LinkAllPasses.h Fri May  6 00:49:19 2016
> @@ -89,7 +89,7 @@ namespace {
>        (void) llvm::createDomOnlyViewerPass();
>        (void) llvm::createDomViewerPass();
>        (void) llvm::createGCOVProfilerPass();
> -      (void) llvm::createPGOInstrumentationGenPass();
> +      (void) llvm::createPGOInstrumentationGenLegacyPass();
>        (void) llvm::createPGOInstrumentationUsePass();
>        (void) llvm::createPGOIndirectCallPromotionPass();
>        (void) llvm::createInstrProfilingLegacyPass();
>
> Modified: llvm/trunk/include/llvm/Transforms/Instrumentation.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/Instrumentation.h?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Transforms/Instrumentation.h (original)
> +++ llvm/trunk/include/llvm/Transforms/Instrumentation.h Fri May  6 00:49:19 2016
> @@ -80,7 +80,7 @@ ModulePass *createGCOVProfilerPass(const
>                                     GCOVOptions::getDefault());
>  
>  // PGO Instrumention
> -ModulePass *createPGOInstrumentationGenPass();
> +ModulePass *createPGOInstrumentationGenLegacyPass();
>  ModulePass *
>  createPGOInstrumentationUsePass(StringRef Filename = StringRef(""));
>  ModulePass *createPGOIndirectCallPromotionPass(bool InLTO = false);
>
> Added: llvm/trunk/include/llvm/Transforms/PGOInstrumentation.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Transforms/PGOInstrumentation.h?rev=268710&view=auto
> ==============================================================================
> --- llvm/trunk/include/llvm/Transforms/PGOInstrumentation.h (added)
> +++ llvm/trunk/include/llvm/Transforms/PGOInstrumentation.h Fri May  6 00:49:19 2016
> @@ -0,0 +1,33 @@
> +//===- Transforms/PGOInstrumentation.h - PGO gen/use passes  ---*- C++ -*-===//
> +//
> +//                     The LLVM Compiler Infrastructure
> +//
> +// This file is distributed under the University of Illinois Open Source
> +// License. See LICENSE.TXT for details.
> +//
> +//===----------------------------------------------------------------------===//
> +/// \file
> +/// This file provides the interface for IR based instrumentation passes (
> +/// (profile-gen, and profile-use).
> +//===----------------------------------------------------------------------===//
> +
> +#ifndef LLVM_TRANSFORMS_PGOINSTRUMENTATION_H
> +#define LLVM_TRANSFORMS_PGOINSTRUMENTATION_H
> +
> +#include "llvm/IR/IntrinsicInst.h"
> +#include "llvm/IR/PassManager.h"
> +#include "llvm/ProfileData/InstrProf.h"
> +#include "llvm/Transforms/Instrumentation.h"
> +
> +namespace llvm {
> +
> +/// The instrumentation (profile-instr-gen) pass for IR based PGO.
> +class PGOInstrumentationGen : public PassInfoMixin<PGOInstrumentationGen> {
> +public:
> +  PGOInstrumentationGen() {}

No need to write out an empty constructor.

> +
> +  PreservedAnalyses run(Module &M, AnalysisManager<Module> &AM);
> +};
> +
> +} // End llvm namespace
> +#endif
>
> Modified: llvm/trunk/lib/Passes/PassBuilder.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/PassBuilder.cpp?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Passes/PassBuilder.cpp (original)
> +++ llvm/trunk/lib/Passes/PassBuilder.cpp Fri May  6 00:49:19 2016
> @@ -60,6 +60,7 @@
>  #include "llvm/Transforms/IPO/StripDeadPrototypes.h"
>  #include "llvm/Transforms/InstCombine/InstCombine.h"
>  #include "llvm/Transforms/InstrProfiling.h"
> +#include "llvm/Transforms/PGOInstrumentation.h"
>  #include "llvm/Transforms/Scalar/ADCE.h"
>  #include "llvm/Transforms/Scalar/DCE.h"
>  #include "llvm/Transforms/Scalar/EarlyCSE.h"
>
> Modified: llvm/trunk/lib/Passes/PassRegistry.def
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Passes/PassRegistry.def?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Passes/PassRegistry.def (original)
> +++ llvm/trunk/lib/Passes/PassRegistry.def Fri May  6 00:49:19 2016
> @@ -46,6 +46,7 @@ MODULE_PASS("instrprof", InstrProfiling(
>  MODULE_PASS("invalidate<all>", InvalidateAllAnalysesPass())
>  MODULE_PASS("ipsccp", IPSCCPPass())
>  MODULE_PASS("no-op-module", NoOpModulePass())
> +MODULE_PASS("pgo-instr-gen", PGOInstrumentationGen())
>  MODULE_PASS("print", PrintModulePass(dbgs()))
>  MODULE_PASS("print-callgraph", CallGraphPrinterPass(dbgs()))
>  MODULE_PASS("print-lcg", LazyCallGraphPrinterPass(dbgs()))
>
> Modified: llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp (original)
> +++ llvm/trunk/lib/Transforms/IPO/PassManagerBuilder.cpp Fri May  6 00:49:19 2016
> @@ -212,7 +212,7 @@ void PassManagerBuilder::populateFunctio
>  // Do PGO instrumentation generation or use pass as the option specified.
>  void PassManagerBuilder::addPGOInstrPasses(legacy::PassManagerBase &MPM) {
>    if (!PGOInstrGen.empty()) {
> -    MPM.add(createPGOInstrumentationGenPass());
> +    MPM.add(createPGOInstrumentationGenLegacyPass());
>      // Add the profile lowering pass.
>      InstrProfOptions Options;
>      Options.InstrProfileOutput = PGOInstrGen;
>
> Modified: llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp (original)
> +++ llvm/trunk/lib/Transforms/Instrumentation/Instrumentation.cpp Fri May  6 00:49:19 2016
> @@ -60,7 +60,7 @@ void llvm::initializeInstrumentation(Pas
>    initializeAddressSanitizerModulePass(Registry);
>    initializeBoundsCheckingPass(Registry);
>    initializeGCOVProfilerPass(Registry);
> -  initializePGOInstrumentationGenPass(Registry);
> +  initializePGOInstrumentationGenLegacyPassPass(Registry);
>    initializePGOInstrumentationUsePass(Registry);
>    initializePGOIndirectCallPromotionPass(Registry);
>    initializeInstrProfilingLegacyPassPass(Registry);
>
> Modified: llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp (original)
> +++ llvm/trunk/lib/Transforms/Instrumentation/PGOInstrumentation.cpp Fri May  6 00:49:19 2016
> @@ -48,6 +48,7 @@
>  //
>  //===----------------------------------------------------------------------===//
>  
> +#include "llvm/Transforms/PGOInstrumentation.h"
>  #include "CFGMST.h"
>  #include "IndirectCallSiteVisitor.h"
>  #include "llvm/ADT/STLExtras.h"
> @@ -71,6 +72,7 @@
>  #include "llvm/Support/JamCRC.h"
>  #include "llvm/Transforms/Instrumentation.h"
>  #include "llvm/Transforms/Utils/BasicBlockUtils.h"
> +#include <algorithm>
>  #include <string>
>  #include <utility>
>  #include <vector>
> @@ -110,12 +112,13 @@ static cl::opt<unsigned> MaxNumAnnotatio
>               "call callsite"));
>  
>  namespace {
> -class PGOInstrumentationGen : public ModulePass {
> +class PGOInstrumentationGenLegacyPass : public ModulePass {
>  public:
>    static char ID;
>  
> -  PGOInstrumentationGen() : ModulePass(ID) {
> -    initializePGOInstrumentationGenPass(*PassRegistry::getPassRegistry());
> +  PGOInstrumentationGenLegacyPass() : ModulePass(ID), PGOInstrGen() {
> +    initializePGOInstrumentationGenLegacyPassPass(
> +        *PassRegistry::getPassRegistry());
>    }
>  
>    const char *getPassName() const override {
> @@ -123,6 +126,7 @@ public:
>    }
>  
>  private:
> +  PGOInstrumentationGen PGOInstrGen;

Why? This doesn't seem to be used (The legacy runOnModule() and the new
run() both just call out to a static function).

>    bool runOnModule(Module &M) override;
>  
>    void getAnalysisUsage(AnalysisUsage &AU) const override {
> @@ -157,16 +161,16 @@ private:
>  };
>  } // end anonymous namespace
>  
> -char PGOInstrumentationGen::ID = 0;
> -INITIALIZE_PASS_BEGIN(PGOInstrumentationGen, "pgo-instr-gen",
> +char PGOInstrumentationGenLegacyPass::ID = 0;
> +INITIALIZE_PASS_BEGIN(PGOInstrumentationGenLegacyPass, "pgo-instr-gen",
>                        "PGO instrumentation.", false, false)
>  INITIALIZE_PASS_DEPENDENCY(BlockFrequencyInfoWrapperPass)
>  INITIALIZE_PASS_DEPENDENCY(BranchProbabilityInfoWrapperPass)
> -INITIALIZE_PASS_END(PGOInstrumentationGen, "pgo-instr-gen",
> +INITIALIZE_PASS_END(PGOInstrumentationGenLegacyPass, "pgo-instr-gen",
>                      "PGO instrumentation.", false, false)
>  
> -ModulePass *llvm::createPGOInstrumentationGenPass() {
> -  return new PGOInstrumentationGen();
> +ModulePass *llvm::createPGOInstrumentationGenLegacyPass() {
> +  return new PGOInstrumentationGenLegacyPass();
>  }
>  
>  char PGOInstrumentationUse::ID = 0;
> @@ -788,7 +792,7 @@ static bool InstrumentAllFunctions(
>    return true;
>  }
>  
> -bool PGOInstrumentationGen::runOnModule(Module &M) {
> +bool PGOInstrumentationGenLegacyPass::runOnModule(Module &M) {
>    if (skipModule(M))
>      return false;
>  
> @@ -801,6 +805,24 @@ bool PGOInstrumentationGen::runOnModule(
>    return InstrumentAllFunctions(M, LookupBPI, LookupBFI);
>  }
>  
> +PreservedAnalyses PGOInstrumentationGen::run(Module &M,
> +                                             AnalysisManager<Module> &AM) {
> +
> +  auto &FAM = AM.getResult<FunctionAnalysisManagerModuleProxy>(M).getManager();
> +  auto LookupBPI = [&FAM](Function &F) -> BranchProbabilityInfo & {

I wouldn't bother writing out the `-> return_type` bit for these - the
type's obvious enough from the expression that this is just noisy
boilerplate.

> +    return FAM.getResult<BranchProbabilityAnalysis>(F);
> +  };
> +
> +  auto LookupBFI = [&FAM](Function &F) -> BlockFrequencyInfo & {
> +    return FAM.getResult<BlockFrequencyAnalysis>(F);
> +  };
> +
> +  if (!InstrumentAllFunctions(M, LookupBPI, LookupBFI))
> +    return PreservedAnalyses::all();
> +
> +  return PreservedAnalyses::none();
> +}
> +
>  static void setPGOCountOnFunc(PGOUseFunc &Func,
>                                IndexedInstrProfReader *PGOReader) {
>    if (Func.readCounters(PGOReader)) {
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/branch1.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/branch1.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/branch1.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/branch1.ll Fri May  6 00:49:19 2016
> @@ -1,5 +1,9 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN --check-prefix=GEN-COMDAT
>  ; RUN: opt < %s -mtriple=x86_64-apple-darwin -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN --check-prefix=GEN-DARWIN-LINKONCE
> +
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN --check-prefix=GEN-COMDAT
> +; RUN: opt < %s -mtriple=x86_64-apple-darwin -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN --check-prefix=GEN-DARWIN-LINKONCE
> +
>  ; RUN: llvm-profdata merge %S/Inputs/branch1.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/branch2.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/branch2.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/branch2.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/branch2.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/branch2.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/comdat_internal.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/comdat_internal.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/comdat_internal.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/comdat_internal.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -instrprof -S | FileCheck %s
> +; RUN: opt < %s -passes=pgo-instr-gen,instrprof -S | FileCheck %s
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-linux-gnu"
>  
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/criticaledge.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/criticaledge.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/criticaledge.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/criticaledge.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/criticaledge.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/do-not-instrument.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/do-not-instrument.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/do-not-instrument.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/do-not-instrument.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s
>  
>  target datalayout = "e-m:o-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-apple-macosx10.12.0"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/indirect_call_profile.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/indirect_call_profile.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/indirect_call_profile.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/indirect_call_profile.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-linux-gnu"
>  
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/landingpad.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/landingpad.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/landingpad.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/landingpad.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/landingpad.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/loop1.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/loop1.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/loop1.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/loop1.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/loop1.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/loop2.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/loop2.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/loop2.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/loop2.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/loop2.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/single_bb.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/single_bb.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/single_bb.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/single_bb.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>  target triple = "x86_64-unknown-linux-gnu"
>  
>
> Modified: llvm/trunk/test/Transforms/PGOProfile/switch.ll
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/Transforms/PGOProfile/switch.ll?rev=268710&r1=268709&r2=268710&view=diff
> ==============================================================================
> --- llvm/trunk/test/Transforms/PGOProfile/switch.ll (original)
> +++ llvm/trunk/test/Transforms/PGOProfile/switch.ll Fri May  6 00:49:19 2016
> @@ -1,4 +1,5 @@
>  ; RUN: opt < %s -pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
> +; RUN: opt < %s -passes=pgo-instr-gen -S | FileCheck %s --check-prefix=GEN
>  ; RUN: llvm-profdata merge %S/Inputs/switch.proftext -o %t.profdata
>  ; RUN: opt < %s -pgo-instr-use -pgo-test-profile-file=%t.profdata -S | FileCheck %s --check-prefix=USE
>  target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits


More information about the llvm-commits mailing list