mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-11-05 13:09:10 +00:00
DCE a dead function
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@20339 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
eaa06bb979
commit
7192e501eb
@ -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