LLVM  3.7.0
Public Types | Public Member Functions | Friends | List of all members
llvm::FastMathFlags Class Reference

Convenience struct for specifying and reasoning about fast-math flags. More...

#include <Operator.h>

Public Types

enum  {
  UnsafeAlgebra = (1 << 0), NoNaNs = (1 << 1), NoInfs = (1 << 2), NoSignedZeros = (1 << 3),
  AllowReciprocal = (1 << 4)
}
 

Public Member Functions

 FastMathFlags ()
 
bool any () const
 Whether any flag is set. More...
 
void clear ()
 Set all the flags to false. More...
 
bool noNaNs () const
 Flag queries. More...
 
bool noInfs () const
 
bool noSignedZeros () const
 
bool allowReciprocal () const
 
bool unsafeAlgebra () const
 
void setNoNaNs ()
 Flag setters. More...
 
void setNoInfs ()
 
void setNoSignedZeros ()
 
void setAllowReciprocal ()
 
void setUnsafeAlgebra ()
 
void operator&= (const FastMathFlags &OtherFlags)
 

Friends

class FPMathOperator
 

Detailed Description

Convenience struct for specifying and reasoning about fast-math flags.

Definition at line 164 of file Operator.h.

Member Enumeration Documentation

anonymous enum
Enumerator
UnsafeAlgebra 
NoNaNs 
NoInfs 
NoSignedZeros 
AllowReciprocal 

Definition at line 171 of file Operator.h.

Constructor & Destructor Documentation

llvm::FastMathFlags::FastMathFlags ( )
inline

Definition at line 179 of file Operator.h.

Member Function Documentation

bool llvm::FastMathFlags::allowReciprocal ( ) const
inline

Definition at line 192 of file Operator.h.

bool llvm::FastMathFlags::any ( ) const
inline

Whether any flag is set.

Definition at line 183 of file Operator.h.

void llvm::FastMathFlags::clear ( )
inline

Set all the flags to false.

Definition at line 186 of file Operator.h.

Referenced by llvm::IRBuilderBase::clearFastMathFlags().

bool llvm::FastMathFlags::noInfs ( ) const
inline

Definition at line 190 of file Operator.h.

Referenced by SimplifyFAddInst().

bool llvm::FastMathFlags::noNaNs ( ) const
inline
bool llvm::FastMathFlags::noSignedZeros ( ) const
inline
void llvm::FastMathFlags::operator&= ( const FastMathFlags OtherFlags)
inline

Definition at line 208 of file Operator.h.

void llvm::FastMathFlags::setAllowReciprocal ( )
inline

Definition at line 199 of file Operator.h.

Referenced by getDecodedFastMathFlags().

void llvm::FastMathFlags::setNoInfs ( )
inline

Definition at line 197 of file Operator.h.

Referenced by getDecodedFastMathFlags().

void llvm::FastMathFlags::setNoNaNs ( )
inline

Flag setters.

Definition at line 196 of file Operator.h.

Referenced by getDecodedFastMathFlags().

void llvm::FastMathFlags::setNoSignedZeros ( )
inline

Definition at line 198 of file Operator.h.

Referenced by getDecodedFastMathFlags().

void llvm::FastMathFlags::setUnsafeAlgebra ( )
inline

Definition at line 200 of file Operator.h.

Referenced by addFastMathFlag(), and getDecodedFastMathFlags().

bool llvm::FastMathFlags::unsafeAlgebra ( ) const
inline

Definition at line 193 of file Operator.h.

Friends And Related Function Documentation

friend class FPMathOperator
friend

Definition at line 166 of file Operator.h.


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