llvm-6502/test
Andrea Di Biagio 0b6ee9fd1c [APFloat] Fixed a bug in method 'fusedMultiplyAdd'.
When folding a fused multiply-add builtin call, make sure that we propagate the
correct result in the case where the addend is zero, and the two other operands
are finite non-zero.

Example:
  define double @test() {
    %1 = call double @llvm.fma.f64(double 7.0, double 8.0, double 0.0)
    ret double %1
  }

Before this patch, the instruction simplifier wrongly folded the builtin call
in function @test to constant 'double 7.0'.
With this patch, method 'fusedMultiplyAdd' correctly evaluates the multiply and
propagates the expected result (i.e. 56.0).

Added test fold-builtin-fma.ll with the reproducible from PR20832 plus extra
test cases to verify the behavior of method 'fusedMultiplyAdd' in the presence
of NaN/Inf operands.

This fixes PR20832.

Differential Revision: http://reviews.llvm.org/D5152


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216913 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-02 16:44:56 +00:00
..
Analysis Add @llvm.assume, lowering, and some basic properties 2014-07-25 21:13:35 +00:00
Assembler Declare that musttail calls in variadic functions forward the ellipsis 2014-08-26 00:33:28 +00:00
Bindings [OCaml] Add Llvm.{string_of_const,const_element}. 2014-08-03 23:54:22 +00:00
Bitcode Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
BugPoint
CodeGen Enable splitting indexing from loads with TargetConstants 2014-09-02 16:05:23 +00:00
DebugInfo DebugInfo: Elide lexical scopes which only contain other (inline or lexical) scopes. 2014-08-31 21:26:22 +00:00
ExecutionEngine [PATCH][Interpreter] Add missing FP intrinsic lowering. 2014-08-30 18:33:35 +00:00
Feature Use "weak alias" instead of "alias weak" 2014-07-30 22:51:54 +00:00
FileCheck FileCheck: Add a flag to allow checking empty input 2014-08-07 18:40:37 +00:00
Instrumentation [asan-assembly-instrumentation] Prologue and epilogue are moved out from InstrumentMemOperand(). 2014-09-01 12:51:00 +00:00
Integer
JitListener
Linker Debug info: Add a new explicit DIDescriptor flag for the "public" access 2014-08-29 22:44:07 +00:00
LTO
MC Thumb2 M-class MSR instruction support changes 2014-09-01 11:25:07 +00:00
Object llvm-objdump: don't print relocations in non-relocatable files. 2014-08-17 19:09:37 +00:00
Other Teach llvm-bcanalyzer to use one stream's BLOCKINFO to read another stream. 2014-08-30 17:07:55 +00:00
TableGen Tablegen fixes for new syntax when initializing bits from variables. 2014-08-29 19:41:04 +00:00
tools Object/llvm-objdump: allow dumping of mach-o exports trie 2014-08-30 00:20:14 +00:00
Transforms [APFloat] Fixed a bug in method 'fusedMultiplyAdd'. 2014-09-02 16:44:56 +00:00
Unit
Verifier Verifier: Don't reject varargs callee cleanup functions 2014-08-29 21:25:28 +00:00
YAMLParser
.clang-format
CMakeLists.txt Rename llvm-uselistorder => verify-uselistorder 2014-07-30 17:11:27 +00:00
lit.cfg Introduce -DLLVM_USE_SANITIZER=Undefined CMake option to build UBSan-ified version of LLVM/Clang. 2014-08-29 00:50:36 +00:00
lit.site.cfg.in Add missing Interpreter intrinsic lowering for sin, cos and ceil 2014-08-08 15:00:12 +00:00
Makefile Delete support for AuroraUX. 2014-08-14 15:15:09 +00:00
Makefile.tests
TestRunner.sh