Documentation for microsoft::quantum::GroupingAnalysisPass

microsoft::quantum::GroupingAnalysisPass

Inherits from llvm::AnalysisInfoMixin< GroupingAnalysisPass >

Public Types

Name
using GroupAnalysis Result
using llvm::Instruction Instruction
using llvm::Value Value
using ILogger::ILoggerPtr ILoggerPtr
using std::unordered_set< llvm::BasicBlock * > BlockSet

Public Functions

Name
GroupingAnalysisPass(GroupingPassConfiguration const & cfg, ILoggerPtr const & logger)
GroupingAnalysisPass(GroupingAnalysisPass const & )
Copy construction is banned.
GroupingAnalysisPass(GroupingAnalysisPass && ) =default
We allow move semantics.
~GroupingAnalysisPass() =default
Default destruction.
Result run(llvm::Module & module, llvm::ModuleAnalysisManager & mam)
void runBlockAnalysis(llvm::Module & module)
bool isRequired()
Whether or not this pass is required to run.

Public Attributes

Name
String const QIS_START
String const READ_INSTR_START

Friends

Name
struct llvm::AnalysisInfoMixin< GroupingAnalysisPass >

Public Types Documentation

using Result

using microsoft::quantum::GroupingAnalysisPass::Result =  GroupAnalysis;

using Instruction

using microsoft::quantum::GroupingAnalysisPass::Instruction =  llvm::Instruction;

using Value

using microsoft::quantum::GroupingAnalysisPass::Value =  llvm::Value;

using ILoggerPtr

using microsoft::quantum::GroupingAnalysisPass::ILoggerPtr =  ILogger::ILoggerPtr;

using BlockSet

using microsoft::quantum::GroupingAnalysisPass::BlockSet =  std::unordered_set<llvm::BasicBlock*>;

Public Functions Documentation

function GroupingAnalysisPass

inline explicit GroupingAnalysisPass(
    GroupingPassConfiguration const & cfg,
    ILoggerPtr const & logger
)

function GroupingAnalysisPass

GroupingAnalysisPass(
    GroupingAnalysisPass const & 
)

Copy construction is banned.

function GroupingAnalysisPass

GroupingAnalysisPass(
    GroupingAnalysisPass && 
) =default

We allow move semantics.

function ~GroupingAnalysisPass

~GroupingAnalysisPass() =default

Default destruction.

function run

Result run(
    llvm::Module & module,
    llvm::ModuleAnalysisManager & mam
)

function runBlockAnalysis

void runBlockAnalysis(
    llvm::Module & module
)

function isRequired

static bool isRequired()

Whether or not this pass is required to run.

Public Attributes Documentation

variable QIS_START

static String const QIS_START = "__quantum"
                                                           "__qis_";

variable READ_INSTR_START

static String const READ_INSTR_START = "__quantum"
                                                           "__qis__read_";

Friends

friend llvm::AnalysisInfoMixin< GroupingAnalysisPass >

friend struct llvm::AnalysisInfoMixin< GroupingAnalysisPass >(
    llvm::AnalysisInfoMixin< GroupingAnalysisPass > 
);

Updated on 1 August 2023 at 16:25:10 UTC