mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-12-14 23:29:51 +00:00
DCE a dead function
llvm-svn: 20339
This commit is contained in:
parent
24b41ba78d
commit
2311dcd08d
@ -495,25 +495,6 @@ static SCEVHandle getMinusSCEV(const SCEVHandle &LHS, const SCEVHandle &RHS) {
|
||||
}
|
||||
|
||||
|
||||
/// Binomial - Evaluate N!/((N-M)!*M!) . Note that N is often large and M is
|
||||
/// often very small, so we try to reduce the number of N! terms we need to
|
||||
/// evaluate by evaluating this as (N!/(N-M)!)/M!
|
||||
static ConstantInt *Binomial(ConstantInt *N, unsigned M) {
|
||||
uint64_t NVal = N->getRawValue();
|
||||
uint64_t FirstTerm = 1;
|
||||
for (unsigned i = 0; i != M; ++i)
|
||||
FirstTerm *= NVal-i;
|
||||
|
||||
unsigned MFactorial = 1;
|
||||
for (; M; --M)
|
||||
MFactorial *= M;
|
||||
|
||||
Constant *Result = ConstantUInt::get(Type::ULongTy, FirstTerm/MFactorial);
|
||||
Result = ConstantExpr::getCast(Result, N->getType());
|
||||
assert(isa<ConstantInt>(Result) && "Cast of integer not folded??");
|
||||
return cast<ConstantInt>(Result);
|
||||
}
|
||||
|
||||
/// PartialFact - Compute V!/(V-NumSteps)!
|
||||
static SCEVHandle PartialFact(SCEVHandle V, unsigned NumSteps) {
|
||||
// Handle this case efficiently, it is common to have constant iteration
|
||||
|
Loading…
Reference in New Issue
Block a user