llvm-6502/lib/CodeGen/SelectionDAG
Lang Hames 5afba6f00c Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-add
expression (a * b + c) that can be implemented as a fused multiply-add (fma)
if the target determines that this will be more efficient. This intrinsic
will be used to implement FP_CONTRACT support and an aggressive FMA formation
mode.

If your target has a fast FMA instruction you should override the
isFMAFasterThanMulAndAdd method in TargetLowering to return true.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@158014 91177308-0d34-0410-b5e6-96231b3b80d8
2012-06-05 19:07:46 +00:00
..
CMakeLists.txt Refactor the SelectionDAG's 'dump' methods into their own .cpp file. 2012-03-13 05:47:27 +00:00
DAGCombiner.cpp Switch the canonical FMA term operand order to match both the comment I wrote and the usual LLVM convention. 2012-05-30 18:54:50 +00:00
FastISel.cpp ARM: properly handle alignment for struct byval. 2012-06-01 19:33:18 +00:00
FunctionLoweringInfo.cpp Tabs, formatting and long lines oh my! 2012-02-24 01:59:01 +00:00
InstrEmitter.cpp Add an MF argument to TRI::getPointerRegClass() and TII::getRegClass(). 2012-05-07 22:10:26 +00:00
InstrEmitter.h Simplify EXTRACT_SUBREG emission. 2011-10-05 20:26:40 +00:00
LegalizeDAG.cpp Fix a bug in the code which custom-lowers truncating stores in LegalizeDAG. 2012-06-02 01:10:34 +00:00
LegalizeFloatTypes.cpp Convert assert(0) to llvm_unreachable 2012-02-05 08:31:47 +00:00
LegalizeIntegerTypes.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeTypes.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
LegalizeTypes.h Fix a thinko in DisintegrateMERGE_VALUES. Patch by Xiaoyi Guo. 2012-05-16 07:57:18 +00:00
LegalizeTypesGeneric.cpp Remove unnecessary default cases in switches that cover all enum values. 2012-01-10 16:47:17 +00:00
LegalizeVectorOps.cpp When emulating vselect using OR/AND/XOR make sure to bitcast the result back to the original type. 2012-04-15 15:08:09 +00:00
LegalizeVectorTypes.cpp Removed useless switch for default case when switch was covering all the enum values 2012-04-04 00:53:04 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile
ResourcePriorityQueue.cpp misched: Added MultiIssueItineraries. 2012-06-05 03:44:40 +00:00
ScheduleDAGFast.cpp Simplify some more getAliasSet callers. 2012-06-01 22:38:17 +00:00
ScheduleDAGRRList.cpp sdsched: Use the right heuristics when -mcpu is not provided and we have no itinerary. 2012-06-05 03:44:34 +00:00
ScheduleDAGSDNodes.cpp Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice. 2012-04-28 01:03:23 +00:00
ScheduleDAGSDNodes.h misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
ScheduleDAGVLIW.cpp misched preparation: rename core scheduler methods for consistency. 2012-03-07 23:00:49 +00:00
SDNodeDbgValue.h Do not lose debug info of an inlined function argument even if the argument is only used through GEPs. 2011-02-18 22:43:42 +00:00
SDNodeOrdering.h
SelectionDAG.cpp Change interface for TargetLowering::LowerCallTo and TargetLowering::LowerCall 2012-05-25 16:35:28 +00:00
SelectionDAGBuilder.cpp Add a new intrinsic: llvm.fmuladd. This intrinsic represents a multiply-add 2012-06-05 19:07:46 +00:00
SelectionDAGBuilder.h Fix typos found by http://github.com/lyda/misspell-check 2012-06-02 10:20:22 +00:00
SelectionDAGDumper.cpp Rename @llvm.debugger to @llvm.debugtrap. 2012-05-14 18:58:10 +00:00
SelectionDAGISel.cpp Add some constantness. No functionality change. 2012-04-30 23:41:30 +00:00
SelectionDAGPrinter.cpp drop unneeded config.h includes 2011-12-22 23:04:07 +00:00
TargetLowering.cpp Remove the "-promote-elements" flag. This flag is now enabled by default. 2012-06-04 11:27:21 +00:00
TargetSelectionDAGInfo.cpp