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