Skip to content

Add Cross Registering Standard LLVM Analyses #4

@2over12

Description

@2over12

Boiler plate for setting up a pipeline in llvm exists in several repos, including anvill and rellic:

  llvm::PassBuilder pb;
  llvm::ModulePassManager mpm;
  llvm::ModuleAnalysisManager mam;
  llvm::LoopAnalysisManager lam;
  llvm::CGSCCAnalysisManager cam;
  llvm::FunctionAnalysisManager fam;

  pb.registerFunctionAnalyses(fam);
  pb.registerModuleAnalyses(mam);
  pb.registerCGSCCAnalyses(cam);
  pb.registerLoopAnalyses(lam);

  pb.crossRegisterProxies(lam, fam, cam, mam);


do stuff


  fam.clear();
  mam.clear();
  cam.clear();
  lam.clear();

We should have a set of pass related utilities

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions