IR‐level optimization flags that may be propagated to SDNodes.

Synopsis

Declared in <llvm/CodeGen/SelectionDAGNodes.h>

struct SDNodeFlags;

Description

TODO: This data structure should be shared by the IR optimizer and the the backend.

Enums

Name

Description

Unnamed enum

Bitmask flag values stored in SDNodeFlags.

Member Functions

Name

Description

SDNodeFlags [constructor]

Construct flags, optionally from raw Flags bits.

copyFMF

Propagate the fast‐math‐flags from an IR FPMathOperator.

hasAllowContract

Return true if allow‐contract is set.

hasAllowReassociation

Return true if allow‐reassociation is set.

hasAllowReciprocal

Return true if allow‐reciprocal is set.

hasApproximateFuncs

Return true if approximate‐funcs is set.

hasDisjoint

Return true if disjoint is set.

hasExact

Return true if exact is set.

hasInBounds

Return true if inbounds is set.

hasNoConvergent

Return true if no‐convergent is set.

hasNoFPExcept

Return true if no‐FP‐except is set.

hasNoInfs

Return true if no‐infs is set.

hasNoNaNs

Return true if no‐NaNs is set.

hasNoSignedWrap

Return true if no‐signed‐wrap is set.

hasNoSignedZeros

Return true if no‐signed‐zeros is set.

hasNoUnsignedWrap

Return true if no‐unsigned‐wrap is set.

hasNonNeg

Return true if non‐negative is set.

hasSameSign

Return true if same‐sign is set.

hasUnpredictable

Return true if unpredictable is set.

operator&=

Intersect these flags with OtherFlags in place.

operator|=

Union these flags with OtherFlags in place.

setAllowContract

Set or clear the allow‐contract flag.

setAllowReassociation

Set or clear the allow‐reassociation flag.

setAllowReciprocal

Set or clear the allow‐reciprocal flag.

setApproximateFuncs

Set or clear the approximate‐funcs flag.

setDisjoint

Set or clear the disjoint flag.

setExact

Set or clear the exact flag.

setInBounds

Set or clear the inbounds flag.

setNoConvergent

Set or clear the no‐convergent flag.

setNoFPExcept

Set or clear the no‐FP‐except flag.

setNoInfs

Set or clear the no‐infs flag.

setNoNaNs

Set or clear the no‐NaNs flag.

setNoSignedWrap

Set or clear the no‐signed‐wrap flag.

setNoSignedZeros

Set or clear the no‐signed‐zeros flag.

setNoUnsignedWrap

Set or clear the no‐unsigned‐wrap flag.

setNonNeg

Set or clear the non‐negative flag.

setSameSign

Set or clear the same‐sign flag.

setUnpredictable

Set or clear the unpredictable flag.

operator==

Return true if these flags equal Other.

Friends

Name

Description

llvm::SDNode

Represents one node in the SelectionDAG.

Non-Member Functions

Name

Description

operator&

Return the intersection of flag sets LHS and RHS.

operator|

Return the union of flag sets LHS and RHS.

Created with MrDocs