[llvm-commits] Fix Bug 13574: Add more double float shrinking optimizations
Weiming Zhao
weimingz at codeaurora.org
Wed Aug 15 13:13:01 PDT 2012
No problem. I can add one test case per function.
Weiming
From: Chad Rosier [mailto:mcrosier at apple.com]
Sent: Wednesday, August 15, 2012 11:42 AM
To: Weiming Zhao
Cc: llvm-commits at cs.uiuc.edu
Subject: Re: [llvm-commits] Fix Bug 13574: Add more double float shrinking
optimizations
On Aug 15, 2012, at 11:33 AM, Weiming Zhao wrote:
Hi,
This patch fixes http://llvm.org/bugs/show_bug.cgi?id=13574
Current LLVM only supports 5 double->float shrinking optimizations
(floor->floorf, ceil->ceilf,round->roundf, rint->rintf() and
nearbyint->nearbyintf).
This patch adds more math functions, for example, pow->powf, sin->sinf,
cos->cosf, etc.
In this patch:
1. Since cos(), pow() and exp2() already have their own optimizers:
CosPot, PowOpt and Exp2Opt, respectively, I let them inherit from
UnaryDoubleFPOpt and in their CallOptimizer(), I let them to call the base
class's CallOptimizer() first.
For this change, I have to hoist the definition of UnaryDoubleFPOpt ahead of
CosOpt.
2. Since some functions are not available on Windows, I updated
TargetLibraryInfo to mark them as unavailable.
3. A unit test case is updated to test this patch.
At the very least you should have one test case per library function that
you've added.
Chad
Please help to review them.
Thanks,
Weiming
<0001-Bug-13574-More-double-float-shrinking-optimizations-f.patch>__________
_____________________________________
llvm-commits mailing list
llvm-commits at cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120815/16a5326e/attachment.html>
More information about the llvm-commits
mailing list