Documentation for microsoft::quantum::LlvmPassesConfiguration

microsoft::quantum::LlvmPassesConfiguration

Public Functions

Name
void setup(ConfigurationManager & config)
bool alwaysInline() const
Whether or not the LLVM AlwaysInline pass should be added to the adaptor.
bool unrollLoops() const
Whether or not the LLVM LoopUnroll pass should be added to the adaptor.
int32_t inlineParameter() const
Parameter that defines the maximum number of lines of code allowed for inlining.
bool unrollAllowPartial() const
Whether or not to allow partial unrolling. When disable only full unrolling will be used.
bool unrollAllowPeeling() const
Whether or not to allow peeling.
bool unrollAllowRuntime() const
bool unrollAllowUpperBound() const
Enables or disables the usage of trip counting in loop unrolling.
bool unrollAllowProfilBasedPeeling() const
uint64_t unrolFullUnrollCount() const
The max count full unroll count.
int32_t unrollOptLevel() const
The optimization level for the loop unrolling pass.
bool unrollOnlyWhenForced() const
bool unrollForgeScev() const
bool eliminateConstants() const
Whether or not to add a pass to eliminate constants.
bool eliminateDeadCode() const
Whether or not to add a pass to eliminate dead code.
bool eliminateMemory() const
Whether or not memory allocations should be attempted to be mapped into registers.
bool isDisabled() const
Checking if the configuration amounts to being disabled.
bool operator==(LlvmPassesConfiguration const & o) const
Checking whether two configurations are identical.
LlvmPassesConfiguration createDisabled()
Creating a configuration that disables all passes and/or their effect on the IR.
LlvmPassesConfiguration createUnrollInline()
Creates a configuration that unrolls and inlines code.

Public Functions Documentation

function setup

void setup(
    ConfigurationManager & config
)

function alwaysInline

bool alwaysInline() const

Whether or not the LLVM AlwaysInline pass should be added to the adaptor.

function unrollLoops

bool unrollLoops() const

Whether or not the LLVM LoopUnroll pass should be added to the adaptor.

function inlineParameter

int32_t inlineParameter() const

Parameter that defines the maximum number of lines of code allowed for inlining.

function unrollAllowPartial

bool unrollAllowPartial() const

Whether or not to allow partial unrolling. When disable only full unrolling will be used.

function unrollAllowPeeling

bool unrollAllowPeeling() const

Whether or not to allow peeling.

function unrollAllowRuntime

bool unrollAllowRuntime() const

Whether or not to allow unrolling of loops with runtime trip counts. See implementation for details.

function unrollAllowUpperBound

bool unrollAllowUpperBound() const

Enables or disables the usage of trip counting in loop unrolling.

function unrollAllowProfilBasedPeeling

bool unrollAllowProfilBasedPeeling() const

function unrolFullUnrollCount

uint64_t unrolFullUnrollCount() const

The max count full unroll count.

function unrollOptLevel

int32_t unrollOptLevel() const

The optimization level for the loop unrolling pass.

function unrollOnlyWhenForced

bool unrollOnlyWhenForced() const

Whether or not to limit unrolling to which are requested to be unrolled via meta data is consider. When false, a cost model is used to determine whether or not to unroll a loop.

function unrollForgeScev

bool unrollForgeScev() const

function eliminateConstants

bool eliminateConstants() const

Whether or not to add a pass to eliminate constants.

function eliminateDeadCode

bool eliminateDeadCode() const

Whether or not to add a pass to eliminate dead code.

function eliminateMemory

bool eliminateMemory() const

Whether or not memory allocations should be attempted to be mapped into registers.

function isDisabled

bool isDisabled() const

Checking if the configuration amounts to being disabled.

function operator==

inline bool operator==(
    LlvmPassesConfiguration const & o
) const

Checking whether two configurations are identical.

function createDisabled

static LlvmPassesConfiguration createDisabled()

Creating a configuration that disables all passes and/or their effect on the IR.

function createUnrollInline

static LlvmPassesConfiguration createUnrollInline()

Creates a configuration that unrolls and inlines code.


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