Go to the source code of this file.
|
| | llvm |
| | Compute iterated dominance frontiers using a linear time algorithm.
|
| |
|
| static bool | insertFastDiv (Function &F, Function::iterator &I, BasicBlock::iterator &J, IntegerType *BypassType, bool UseDivOp, bool UseSignedOp, DivCacheTy &PerBBDivCache) |
| |
| static bool | reuseOrInsertFastDiv (Function &F, Function::iterator &I, BasicBlock::iterator &J, IntegerType *BypassType, bool UseDivOp, bool UseSignedOp, DivCacheTy &PerBBDivCache) |
| |
| #define DEBUG_TYPE "bypass-slow-division" |
Definition at line 77 of file BypassSlowDivision.cpp.
References llvm::PHINode::addIncoming(), llvm::iplist< NodeTy, Traits >::back(), llvm::BasicBlock::begin(), llvm::BasicBlock::Create(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateSDiv(), llvm::IRBuilder< preserveNames, T, Inserter >::CreateUDiv(), llvm::BasicBlock::end(), llvm::Instruction::eraseFromParent(), llvm::IntegerType::getBitMask(), llvm::Function::getContext(), llvm::BasicBlock::getInstList(), llvm::User::getOperand(), llvm::BasicBlock::getParent(), llvm::ConstantInt::getSigned(), llvm::Value::getType(), I, llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::insert(), llvm::BasicBlock::moveBefore(), and llvm::Value::replaceAllUsesWith().
Referenced by reuseOrInsertFastDiv().
Definition at line 185 of file BypassSlowDivision.cpp.
References llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::end(), llvm::Instruction::eraseFromParent(), llvm::DenseMapBase< DerivedT, KeyT, ValueT, KeyInfoT, BucketT >::find(), llvm::User::getOperand(), and insertFastDiv().
Referenced by llvm::bypassSlowDivision().