LLVM  3.7.0
Public Member Functions | List of all members
llvm::SDNodeFlags Struct Reference

These are IR-level optimization flags that may be propagated to SDNodes. More...

#include <SelectionDAGNodes.h>

Public Member Functions

 SDNodeFlags ()
 Default constructor turns off all optimization flags. More...
 
void setNoUnsignedWrap (bool b)
 
void setNoSignedWrap (bool b)
 
void setExact (bool b)
 
void setUnsafeAlgebra (bool b)
 
void setNoNaNs (bool b)
 
void setNoInfs (bool b)
 
void setNoSignedZeros (bool b)
 
void setAllowReciprocal (bool b)
 
bool hasNoUnsignedWrap () const
 
bool hasNoSignedWrap () const
 
bool hasExact () const
 
bool hasUnsafeAlgebra () const
 
bool hasNoNaNs () const
 
bool hasNoInfs () const
 
bool hasNoSignedZeros () const
 
bool hasAllowReciprocal () const
 
unsigned getRawFlags () const
 Return a raw encoding of the flags. More...
 

Detailed 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.

Definition at line 949 of file SelectionDAGNodes.h.

Constructor & Destructor Documentation

llvm::SDNodeFlags::SDNodeFlags ( )
inline

Default constructor turns off all optimization flags.

Definition at line 962 of file SelectionDAGNodes.h.

Member Function Documentation

unsigned llvm::SDNodeFlags::getRawFlags ( ) const
inline

Return a raw encoding of the flags.

This function should only be used to add data to the NodeID value.

Definition at line 995 of file SelectionDAGNodes.h.

Referenced by AddNodeIDFlags().

bool llvm::SDNodeFlags::hasAllowReciprocal ( ) const
inline

Definition at line 991 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasExact ( ) const
inline

Definition at line 986 of file SelectionDAGNodes.h.

Referenced by llvm::TargetLowering::SimplifyDemandedBits().

bool llvm::SDNodeFlags::hasNoInfs ( ) const
inline

Definition at line 989 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasNoNaNs ( ) const
inline

Definition at line 988 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasNoSignedWrap ( ) const
inline

Definition at line 985 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasNoSignedZeros ( ) const
inline

Definition at line 990 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasNoUnsignedWrap ( ) const
inline

Definition at line 984 of file SelectionDAGNodes.h.

bool llvm::SDNodeFlags::hasUnsafeAlgebra ( ) const
inline

Definition at line 987 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setAllowReciprocal ( bool  b)
inline

Definition at line 981 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setExact ( bool  b)
inline
void llvm::SDNodeFlags::setNoInfs ( bool  b)
inline

Definition at line 979 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setNoNaNs ( bool  b)
inline

Definition at line 978 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setNoSignedWrap ( bool  b)
inline

Definition at line 975 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setNoSignedZeros ( bool  b)
inline

Definition at line 980 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setNoUnsignedWrap ( bool  b)
inline

Definition at line 974 of file SelectionDAGNodes.h.

void llvm::SDNodeFlags::setUnsafeAlgebra ( bool  b)
inline

Definition at line 977 of file SelectionDAGNodes.h.


The documentation for this struct was generated from the following file: