mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-15 04:30:12 +00:00
dc18ebc4b1
When a call to a double-precision libm function has fast-math semantics (via function attribute for now because there is no IR-level FMF on calls), we can avoid fpext/fptrunc operations and use the float version of the call if the input and output are both float. We already do this optimization using a command-line option; this patch just adds the ability for fast-math to use the existing functionality. I moved the cl::opt from InstructionCombining into SimplifyLibCalls because it's only ever used internally to that class. Modified the existing test cases to use the unsafe-fp-math attribute rather than repeating all tests. This patch should solve: http://llvm.org/bugs/show_bug.cgi?id=17850 Differential Revision: http://reviews.llvm.org/D5893 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@220390 91177308-0d34-0410-b5e6-96231b3b80d8 |
||
---|---|---|
.. | ||
ASanStackFrameLayout.h | ||
BasicBlockUtils.h | ||
BuildLibCalls.h | ||
BypassSlowDivision.h | ||
Cloning.h | ||
CmpInstAnalysis.h | ||
CodeExtractor.h | ||
CtorUtils.h | ||
GlobalStatus.h | ||
IntegerDivision.h | ||
Local.h | ||
LoopUtils.h | ||
ModuleUtils.h | ||
PromoteMemToReg.h | ||
SimplifyIndVar.h | ||
SimplifyLibCalls.h | ||
SSAUpdater.h | ||
SSAUpdaterImpl.h | ||
UnifyFunctionExitNodes.h | ||
UnrollLoop.h | ||
ValueMapper.h | ||
VectorUtils.h |