LLVM  4.0.0
Classes | Namespaces | Macros | Typedefs | Functions
BypassSlowDivision.cpp File Reference
#include "llvm/Transforms/Utils/BypassSlowDivision.h"
#include "llvm/ADT/DenseMap.h"
#include "llvm/IR/Function.h"
#include "llvm/IR/IRBuilder.h"
#include "llvm/IR/Instructions.h"
#include "llvm/Transforms/Utils/Local.h"
Include dependency graph for BypassSlowDivision.cpp:

Go to the source code of this file.

Classes

struct  llvm::DenseMapInfo< DivOpInfo >
 

Namespaces

 llvm
 Compute iterated dominance frontiers using a linear time algorithm.
 

Macros

#define DEBUG_TYPE   "bypass-slow-division"
 

Typedefs

typedef DenseMap< DivOpInfo,
DivPhiNodes > 
llvm::DivCacheTy
 

Functions

static bool insertFastDiv (Instruction *I, IntegerType *BypassType, bool UseDivOp, bool UseSignedOp, DivCacheTy &PerBBDivCache)
 
static bool reuseOrInsertFastDiv (Instruction *I, IntegerType *BypassType, bool UseDivOp, bool UseSignedOp, DivCacheTy &PerBBDivCache)
 

Macro Definition Documentation

#define DEBUG_TYPE   "bypass-slow-division"

Definition at line 27 of file BypassSlowDivision.cpp.

Function Documentation

static bool insertFastDiv ( Instruction I,
IntegerType BypassType,
bool  UseDivOp,
bool  UseSignedOp,
DivCacheTy PerBBDivCache 
)
static
static bool reuseOrInsertFastDiv ( Instruction I,
IntegerType BypassType,
bool  UseDivOp,
bool  UseSignedOp,
DivCacheTy PerBBDivCache 
)
static