17#ifndef LLVM_TRANSFORMS_UTILS_BYPASSSLOWDIVISION_H
18#define LLVM_TRANSFORMS_UTILS_BYPASSSLOWDIVISION_H
56 return (
unsigned)(
reinterpret_cast<uintptr_t
>(
58 reinterpret_cast<uintptr_t
>(
This file defines DenseMapInfo traits for DenseMap.
This file defines the DenseMap class.
Value handle that asserts if the Value is deleted.
LLVM Basic Block Representation.
LLVM Value Representation.
@ BasicBlock
Various leaf nodes.
This is an optimization pass for GlobalISel generic memory operations.
bool bypassSlowDivision(BasicBlock *BB, const DenseMap< unsigned int, unsigned int > &BypassWidth)
This optimization identifies DIV instructions in a BB that can be profitably bypassed and carried out...
static DivRemMapKey getEmptyKey()
static unsigned getHashValue(const DivRemMapKey &Val)
static DivRemMapKey getTombstoneKey()
static bool isEqual(const DivRemMapKey &Val1, const DivRemMapKey &Val2)
An information struct used to provide DenseMap with the various necessary components for a given valu...
AssertingVH< Value > Divisor
DivRemMapKey(bool InSignedOp, Value *InDividend, Value *InDivisor)
AssertingVH< Value > Dividend