Documentation for microsoft::quantum::DivisionByZeroPass

microsoft::quantum::DivisionByZeroPass

Inherits from llvm::PassInfoMixin< DivisionByZeroPass >

Public Types

Name
using llvm::Instruction Instruction
using llvm::Value Value
using ILogger::ILoggerPtr ILoggerPtr
using ILogger::Location Location
using llvm::StringRef StringRef

Public Functions

Name
DivisionByZeroPass() =default
DivisionByZeroPass(DivisionByZeroPass const & )
Copy construction is banned.
DivisionByZeroPass(DivisionByZeroPass && ) =default
We allow move semantics.
~DivisionByZeroPass() =default
Default destruction.
llvm::PreservedAnalyses run(llvm::Module & module, llvm::ModuleAnalysisManager & mam)
void raiseError(int64_t error_code, llvm::Module & module, llvm::Instruction * instr)
bool isRequired()
Whether or not this pass is required to run.

Public Attributes

Name
const char *const EC_VARIABLE_NAME
const char *const EC_REPORT_FUNCTION
int64_t const EC_QIR_DIVISION_BY_ZERO

Public Types Documentation

using Instruction

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

using Value

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

using ILoggerPtr

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

using Location

using microsoft::quantum::DivisionByZeroPass::Location =  ILogger::Location;

using StringRef

using microsoft::quantum::DivisionByZeroPass::StringRef =  llvm::StringRef;

Public Functions Documentation

function DivisionByZeroPass

DivisionByZeroPass() =default

function DivisionByZeroPass

DivisionByZeroPass(
    DivisionByZeroPass const & 
)

Copy construction is banned.

function DivisionByZeroPass

DivisionByZeroPass(
    DivisionByZeroPass && 
) =default

We allow move semantics.

function ~DivisionByZeroPass

~DivisionByZeroPass() =default

Default destruction.

function run

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

function raiseError

void raiseError(
    int64_t error_code,
    llvm::Module & module,
    llvm::Instruction * instr
)

function isRequired

static bool isRequired()

Whether or not this pass is required to run.

Public Attributes Documentation

variable EC_VARIABLE_NAME

static const char *const EC_VARIABLE_NAME = "__qir__error_code";

variable EC_REPORT_FUNCTION

static const char *const EC_REPORT_FUNCTION = "__qir__report_error_value";

variable EC_QIR_DIVISION_BY_ZERO

static int64_t const EC_QIR_DIVISION_BY_ZERO = 1100;

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