LLVM  8.0.1
Namespaces | Macros | Functions | Variables
Float2Int.cpp File Reference
#include "llvm/Transforms/Scalar/Float2Int.h"
#include "llvm/ADT/APInt.h"
#include "llvm/ADT/APSInt.h"
#include "llvm/ADT/SmallVector.h"
#include "llvm/Analysis/AliasAnalysis.h"
#include "llvm/Analysis/GlobalsModRef.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/InstIterator.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/Module.h"
#include "llvm/Pass.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Transforms/Scalar.h"
#include <deque>
#include <functional>
Include dependency graph for Float2Int.cpp:

Go to the source code of this file.

Namespaces

 llvm
 This class represents lattice values for constants.
 

Macros

#define DEBUG_TYPE   "float2int"
 

Functions

static CmpInst::Predicate mapFCmpPred (CmpInst::Predicate P)
 
static Instruction::BinaryOps mapBinOpcode (unsigned Opcode)
 
FunctionPassllvm::createFloat2IntPass ()
 

Variables

static cl::opt< unsignedMaxIntegerBW ("float2int-max-integer-bw", cl::init(64), cl::Hidden, cl::desc("Max integer bitwidth to consider in float2int" "(default=64)"))
 The largest integer type worth dealing with. More...
 

Macro Definition Documentation

◆ DEBUG_TYPE

#define DEBUG_TYPE   "float2int"

Definition at line 15 of file Float2Int.cpp.

Function Documentation

◆ mapBinOpcode()

static Instruction::BinaryOps mapBinOpcode ( unsigned  Opcode)
static

Definition at line 109 of file Float2Int.cpp.

References llvm::MCID::Add, assert(), llvm::CmpInst::BAD_ICMP_PREDICATE, llvm::SmallPtrSetImpl< PtrType >::begin(), llvm::APFloatBase::cmpEqual, llvm::APFloat::compare(), llvm::SmallPtrSetImpl< PtrType >::count(), llvm::IRBuilder< T, Inserter >::CreateBinOp(), llvm::IRBuilder< T, Inserter >::CreateICmp(), llvm::IRBuilder< T, Inserter >::CreateSExtOrTrunc(), llvm::IRBuilder< T, Inserter >::CreateZExtOrTrunc(), llvm::dbgs(), llvm::dyn_cast(), E, llvm::SmallPtrSetImpl< PtrType >::end(), llvm::Instruction::eraseFromParent(), F(), Fail, llvm::ConstantInt::get(), llvm::ConstantRange::getBitWidth(), llvm::Type::getFltSemantics(), llvm::Type::getInt32Ty(), llvm::Type::getInt64Ty(), llvm::ConstantRange::getLower(), llvm::APInt::getMinSignedBits(), llvm::Value::getName(), llvm::Instruction::getOpcode(), llvm::User::getOperand(), llvm::PPC::getPredicate(), llvm::Type::getPrimitiveSizeInBits(), llvm::Value::getType(), llvm::ConstantRange::getUpper(), llvm::Instruction::hasNoSignedZeros(), I, llvm::SmallPtrSetImpl< PtrType >::insert(), llvm::instructions(), llvm::APFloat::isFinite(), llvm::ConstantRange::isFullSet(), llvm::APFloat::isNegative(), llvm::ConstantRange::isSignWrappedSet(), llvm::APFloat::isZero(), IT, LLVM_DEBUG, llvm_unreachable, mapFCmpPred(), llvm::max(), MaxIntegerBW, MI, llvm::RISCVFenceField::O, llvm::User::operands(), llvm::APFloatBase::opOK, P, llvm::SmallVectorTemplateBase< T >::push_back(), llvm::Value::replaceAllUsesWith(), llvm::reverse(), llvm::APFloatBase::rmNearestTiesToEven, llvm::APFloat::roundToIntegral(), llvm::APFloatBase::semanticsPrecision(), llvm::ConstantRange::unionWith(), llvm::Value::users(), and VI.

◆ mapFCmpPred()

static CmpInst::Predicate mapFCmpPred ( CmpInst::Predicate  P)
static

Variable Documentation

◆ MaxIntegerBW

cl::opt<unsigned> MaxIntegerBW("float2int-max-integer-bw", cl::init(64), cl::Hidden, cl::desc("Max integer bitwidth to consider in float2int" "(default=64)"))
static

The largest integer type worth dealing with.

Referenced by mapBinOpcode().