struct SDNodeFlags

Declaration

struct SDNodeFlags { /* full declaration omitted */ };

Description

These are IR-level optimization flags that may be propagated to SDNodes. TODO: This data structure should be shared by the IR optimizer and the the backend.

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:357

Method Overview

Methods

SDNodeFlags()

Description

Default constructor turns off all optimization flags.

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:385

void copyFMF(const llvm::FPMathOperator& FPMO)

Description

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

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:393

Parameters

const llvm::FPMathOperator& FPMO

bool hasAllowContract() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:467

bool hasAllowReassociation() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:469

bool hasAllowReciprocal() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:465

bool hasApproximateFuncs() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:468

bool hasExact() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:461

bool hasNoFPExcept() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:470

bool hasNoInfs() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:463

bool hasNoNaNs() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:462

bool hasNoSignedWrap() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:460

bool hasNoSignedZeros() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:464

bool hasNoUnsignedWrap() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:459

bool hasVectorReduction() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:466

void intersectWith(const llvm::SDNodeFlags Flags)

Description

Clear any flags in this flag set that aren't also set in Flags. If the given Flags are undefined then don't do anything.

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:479

Parameters

const llvm::SDNodeFlags Flags

bool isDefined() const

Description

Returns true if the flags are in a defined state.

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:406

bool isFast() const

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:472

void setAllowContract(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:441

Parameters

bool b

void setAllowReassociation(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:449

Parameters

bool b

void setAllowReciprocal(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:433

Parameters

bool b

void setApproximateFuncs(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:445

Parameters

bool b

void setDefined()

Description

Sets the state of the flags to the defined state.

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:404

void setExact(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:417

Parameters

bool b

void setNoFPExcept(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:453

Parameters

bool b

void setNoInfs(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:425

Parameters

bool b

void setNoNaNs(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:421

Parameters

bool b

void setNoSignedWrap(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:413

Parameters

bool b

void setNoSignedZeros(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:429

Parameters

bool b

void setNoUnsignedWrap(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:409

Parameters

bool b

void setVectorReduction(bool b)

Declared at: llvm/include/llvm/CodeGen/SelectionDAGNodes.h:437

Parameters

bool b