llvm-6502/test
Lang Hames d693cafcfb Add DAG-combines for aggressive FMA formation.
This patch adds DAG combines to form FMAs from pairs of FADD + FMUL or
FSUB + FMUL. The combines are performed when:
(a) Either
      AllowExcessFPPrecision option (-enable-excess-fp-precision for llc)
        OR
      UnsafeFPMath option (-enable-unsafe-fp-math)
    are set, and
(b) TargetLoweringInfo::isFMAFasterThanMulAndAdd(VT) is true for the type of
    the FADD/FSUB, and
(c) The FMUL only has one user (the FADD/FSUB).

If your target has fast FMA instructions you can make use of these combines by
overriding TargetLoweringInfo::isFMAFasterThanMulAndAdd(VT) to return true for
types supported by your FMA instruction, and adding patterns to match ISD::FMA
to your FMA instructions.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158757 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-19 22:51:23 +00:00
..
Analysis SCEV: Handle a corner case reducing AddRecExpr * AddRecExpr 2012-05-30 03:35:20 +00:00
Archive
Assembler Add half support to LLVM (for OpenCL) 2012-05-24 15:59:06 +00:00
Bindings/Ocaml
Bitcode Add AutoUpgrade support for the SSE4 ptest intrinsics. 2012-06-10 18:42:51 +00:00
BugPoint
CodeGen Add DAG-combines for aggressive FMA formation. 2012-06-19 22:51:23 +00:00
DebugInfo Add support for enum forward declarations. 2012-06-01 00:22:32 +00:00
ExecutionEngine Temporarily disabled the MCJIT tests for Darwin, because the RuntimeDyldMachO has a problems with relocations for 32bit x86. 2012-05-18 00:30:58 +00:00
Feature rdar://11542750 - llvm.trap should be marked no return. 2012-05-27 23:20:41 +00:00
Instrumentation [asan] instrument cmpxchg and atomicrmw 2012-05-30 09:04:06 +00:00
Integer remove two (useless) tests that use incorrect intrinsic prototypes, detected by the new intrinsic verifier. 2012-05-27 19:31:00 +00:00
Linker
MC Have ARM ELF use correct reloc for "b" instr. 2012-06-19 16:03:02 +00:00
Object
Other Teach the 'opt' tool about '-Os' and '-Oz', corresponding to the Clang 2012-05-16 08:32:49 +00:00
Scripts
TableGen Add support for range expressions in TableGen foreach loops. 2012-05-24 22:17:39 +00:00
Transforms Now that SROA can form alloca's for dynamic vector accesses, further improve it to be able to replace operations on these vector alloca's with insert/extract element insts 2012-06-17 03:58:26 +00:00
Unit
Verifier revert r158660, since Chris has some issues with this patch (namely using code to reprent information only used by the compiler) 2012-06-18 23:34:26 +00:00
YAMLParser
CMakeLists.txt - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
lit.cfg
lit.site.cfg.in - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
Makefile - Added ExecutionEngine/MCJIT tests 2012-05-17 21:07:47 +00:00
Makefile.tests
site.exp.in
TestRunner.sh