Documentation for microsoft::quantum::Validator

microsoft::quantum::Validator

More...

#include <Validator/Validator.hpp>

Public Types

Name
using std::unique_ptr< Validator > ValidatorPtr
using ILogger::ILoggerPtr ILoggerPtr

Protected Types

Name
using std::unique_ptr< llvm::PassBuilder > PassBuilderPtr

Public Functions

Name
Validator(TargetProfileConfiguration const & profile, TargetQisConfiguration const & qis, ILoggerPtr const & logger, bool debug, llvm::TargetMachine * target_machine =nullptr)
Validator()
Validator(Validator const & )
Validator(Validator && )
Validator & operator=(Validator const & )
Validator & operator=(Validator && )
~Validator() =default
bool validate(llvm::Module & module)
ILoggerPtr logger() const
Returns the logger. This value may be null if no logger was set.

Protected Functions

Name
llvm::PassBuilder & passBuilder()
Returns a reference to the pass builder.
llvm::LoopAnalysisManager & loopAnalysisManager()
Returns a reference to the loop analysis manager.
llvm::FunctionAnalysisManager & functionAnalysisManager()
Returns a reference to the function analysis manager.
llvm::CGSCCAnalysisManager & gsccAnalysisManager()
Returns a reference to the GSCC analysis manager.
llvm::ModuleAnalysisManager & moduleAnalysisManager()
Returns a reference to the module analysis manager.

Detailed Description

class microsoft::quantum::Validator;

Validator class that defines a set of rules which constitutes the adaptor definition. Each of the rules can be used to transform a generic QIR and/or validate that the QIR is compliant with said rule.

Public Types Documentation

using ValidatorPtr

using microsoft::quantum::Validator::ValidatorPtr =  std::unique_ptr<Validator>;

using ILoggerPtr

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

Protected Types Documentation

using PassBuilderPtr

using microsoft::quantum::Validator::PassBuilderPtr =  std::unique_ptr<llvm::PassBuilder>;

Public Functions Documentation

function Validator

explicit Validator(
    TargetProfileConfiguration const & profile,
    TargetQisConfiguration const & qis,
    ILoggerPtr const & logger,
    bool debug,
    llvm::TargetMachine * target_machine =nullptr
)

function Validator

Validator()

function Validator

Validator(
    Validator const & 
)

function Validator

Validator(
    Validator && 
)

function operator=

Validator & operator=(
    Validator const & 
)

function operator=

Validator & operator=(
    Validator && 
)

function ~Validator

~Validator() =default

function validate

bool validate(
    llvm::Module & module
)

Validates that a module complies with the specified QIR adaptor. Returns true if the module is valid and false otherwise.

function logger

ILoggerPtr logger() const

Returns the logger. This value may be null if no logger was set.

Protected Functions Documentation

function passBuilder

llvm::PassBuilder & passBuilder()

Returns a reference to the pass builder.

function loopAnalysisManager

llvm::LoopAnalysisManager & loopAnalysisManager()

Returns a reference to the loop analysis manager.

function functionAnalysisManager

llvm::FunctionAnalysisManager & functionAnalysisManager()

Returns a reference to the function analysis manager.

function gsccAnalysisManager

llvm::CGSCCAnalysisManager & gsccAnalysisManager()

Returns a reference to the GSCC analysis manager.

function moduleAnalysisManager

llvm::ModuleAnalysisManager & moduleAnalysisManager()

Returns a reference to the module analysis manager.


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