LLVM  4.0.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)
 
void setVectorReduction (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
 
bool hasVectorReduction () const
 
void intersectWith (const SDNodeFlags *Flags)
 Clear any flags in this flag set that aren't also set in 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 342 of file SelectionDAGNodes.h.

Constructor & Destructor Documentation

llvm::SDNodeFlags::SDNodeFlags ( )
inline

Default constructor turns off all optimization flags.

Definition at line 356 of file SelectionDAGNodes.h.

Member Function Documentation

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

Definition at line 387 of file SelectionDAGNodes.h.

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

Definition at line 382 of file SelectionDAGNodes.h.

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

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

Definition at line 385 of file SelectionDAGNodes.h.

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

Definition at line 384 of file SelectionDAGNodes.h.

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

Definition at line 386 of file SelectionDAGNodes.h.

Referenced by combineFneg(), and isNegatibleForFree().

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

Definition at line 383 of file SelectionDAGNodes.h.

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

Definition at line 388 of file SelectionDAGNodes.h.

Referenced by combineAdd().

void llvm::SDNodeFlags::intersectWith ( const SDNodeFlags Flags)
inline

Clear any flags in this flag set that aren't also set in Flags.

Definition at line 391 of file SelectionDAGNodes.h.

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

Definition at line 376 of file SelectionDAGNodes.h.

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

Definition at line 374 of file SelectionDAGNodes.h.

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

Definition at line 373 of file SelectionDAGNodes.h.

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

Definition at line 375 of file SelectionDAGNodes.h.

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

Definition at line 372 of file SelectionDAGNodes.h.

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

Definition at line 377 of file SelectionDAGNodes.h.


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