llvm-6502/lib
Sanjay Patel 04bb0e721f Combine fmul vector FP constants when unsafe math is allowed.
This is an extension of the change made with r215820:
http://llvm.org/viewvc/llvm-project?view=revision&revision=215820

That patch allowed combining of splatted vector FP constants that are multiplied.

This patch allows combining non-uniform vector FP constants too by relaxing the
check on the type of vector. Also, canonicalize a vector fmul in the
same way that we already do for scalars - if only one operand of the fmul is a
constant, make it operand 1. Otherwise, we miss potential folds.

This fold is also done by -instcombine, but it's possible that extra
fmuls may have been generated during lowering.

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@217599 91177308-0d34-0410-b5e6-96231b3b80d8
2014-09-11 15:45:27 +00:00
..
Analysis Rename getMaximumUnrollFactor -> getMaxInterleaveFactor; also rename option names controlling this variable. 2014-09-10 17:58:16 +00:00
AsmParser Make CallingConv::ID an alias of "unsigned". 2014-09-10 18:00:17 +00:00
Bitcode Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
CodeGen Combine fmul vector FP constants when unsafe math is allowed. 2014-09-11 15:45:27 +00:00
DebugInfo [DWARF parser] Fix nasty memory corruption in .dwo files handling. 2014-09-05 19:29:45 +00:00
ExecutionEngine Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
IR Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
IRReader Pass a && to getLazyBitcodeModule. 2014-09-03 17:31:46 +00:00
LineEditor
Linker Merge alignment of common GlobalValue. 2014-09-09 17:48:18 +00:00
LTO Add doInitialization/doFinalization to DataLayoutPass. 2014-09-10 21:27:43 +00:00
MC Object: Add support for bigobj 2014-09-10 12:51:52 +00:00
Object Attempt to pacify buildbots. 2014-09-10 13:01:03 +00:00
Option Fix PR17239 by changing the semantics of the RemainingArgsClass Option kind 2014-08-22 19:29:17 +00:00
ProfileData LLVMProfileData: Update LLVMBuild.txt corresponding to r217437. 2014-09-09 15:00:13 +00:00
Support typo 2014-09-11 15:41:01 +00:00
TableGen Comment only: Annotate loop as per mailing list discussion 2014-08-29 22:43:30 +00:00
Target R600: Add cmpxchg instruction for evergreen 2014-09-11 15:02:54 +00:00
Transforms [AlignmentFromAssumptions] Don't crash just because the target is 32-bit 2014-09-11 08:40:17 +00:00
CMakeLists.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
LLVMBuild.txt ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00
Makefile ProfileData: Introduce the InstrProfReader interface and a text reader 2014-03-21 17:24:48 +00:00