mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-04-01 18:33:56 +00:00
Add a new helper function, AddOpt(F1, F1, Opt), as part of PR13574. No
functional change intended. Patch by Weiming Zhao <weimingz@codeaurora.org>. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@162363 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
05d96f98cb
commit
d7e2525a6d
@ -1551,6 +1551,8 @@ namespace {
|
||||
initializeSimplifyLibCallsPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
void AddOpt(LibFunc::Func F, LibCallOptimization* Opt);
|
||||
void AddOpt(LibFunc::Func F1, LibFunc::Func F2, LibCallOptimization* Opt);
|
||||
|
||||
void InitOptimizations();
|
||||
bool runOnFunction(Function &F);
|
||||
|
||||
@ -1586,6 +1588,12 @@ void SimplifyLibCalls::AddOpt(LibFunc::Func F, LibCallOptimization* Opt) {
|
||||
Optimizations[TLI->getName(F)] = Opt;
|
||||
}
|
||||
|
||||
void SimplifyLibCalls::AddOpt(LibFunc::Func F1, LibFunc::Func F2,
|
||||
LibCallOptimization* Opt) {
|
||||
if (TLI->has(F1) && TLI->has(F2))
|
||||
Optimizations[TLI->getName(F1)] = Opt;
|
||||
}
|
||||
|
||||
/// Optimizations - Populate the Optimizations map with all the optimizations
|
||||
/// we know.
|
||||
void SimplifyLibCalls::InitOptimizations() {
|
||||
@ -1641,20 +1649,13 @@ void SimplifyLibCalls::InitOptimizations() {
|
||||
Optimizations["llvm.exp2.f64"] = &Exp2;
|
||||
Optimizations["llvm.exp2.f32"] = &Exp2;
|
||||
|
||||
if (TLI->has(LibFunc::fabs) && TLI->has(LibFunc::fabsf))
|
||||
Optimizations["fabs"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::floor) && TLI->has(LibFunc::floorf))
|
||||
Optimizations["floor"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::ceil) && TLI->has(LibFunc::ceilf))
|
||||
Optimizations["ceil"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::round) && TLI->has(LibFunc::roundf))
|
||||
Optimizations["round"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::rint) && TLI->has(LibFunc::rintf))
|
||||
Optimizations["rint"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::nearbyint) && TLI->has(LibFunc::nearbyintf))
|
||||
Optimizations["nearbyint"] = &UnaryDoubleFP;
|
||||
if (TLI->has(LibFunc::trunc) && TLI->has(LibFunc::truncf))
|
||||
Optimizations["trunc"] = &UnaryDoubleFP;
|
||||
AddOpt(LibFunc::ceil, LibFunc::ceilf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::fabs, LibFunc::fabsf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::floor, LibFunc::floorf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::rint, LibFunc::rintf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::round, LibFunc::roundf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::nearbyint, LibFunc::nearbyintf, &UnaryDoubleFP);
|
||||
AddOpt(LibFunc::trunc, LibFunc::truncf, &UnaryDoubleFP);
|
||||
|
||||
// Integer Optimizations
|
||||
Optimizations["ffs"] = &FFS;
|
||||
|
Loading…
x
Reference in New Issue
Block a user