llvm-6502/include/llvm/CodeGen
Sanjay Patel cc0615ad0a propagate IR-level fast-math-flags to DAG nodes (NFC)
This patch adds the minimum plumbing necessary to use IR-level
fast-math-flags (FMF) in the backend without actually using
them for anything yet. This is a follow-on to:
http://reviews.llvm.org/rL235997

...which split the existing nsw / nuw / exact flags and FMF
into their own struct.

There are 2 structural changes here:

1. The main diff is that we're preparing to extend the optimization
flags to affect more than just binary SDNodes. Eg, IR intrinsics 
( https://llvm.org/bugs/show_bug.cgi?id=21290 ) or non-binop nodes
that don't even exist in IR such as FMA, FNEG, etc.

2. The other change is that we're actually copying the FP fast-math-flags
from the IR instructions to SDNodes. 

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



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236546 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-05 21:40:38 +00:00
..
PBQP
Analysis.h
AsmPrinter.h [AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr. 2015-04-24 19:11:51 +00:00
BasicTTIImpl.h Divergence analysis for GPU programs 2015-04-10 05:03:50 +00:00
CalcSpillWeights.h
CallingConvLower.h
CommandFlags.h Remove the FCFI option from TargetOptions as it is currently unused. 2015-04-19 03:21:08 +00:00
DAGCombine.h
DFAPacketizer.h
DIE.h Add DIEInteger::setValue() method. 2015-03-06 23:22:46 +00:00
EdgeBundles.h
FastISel.h
FunctionLoweringInfo.h [SEH] Implement GetExceptionCode in __except blocks 2015-04-24 20:25:05 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h [gcroot] Remove unused items from an enum 2015-04-02 05:02:16 +00:00
IntrinsicLowering.h
ISDOpcodes.h Fix doxygen comment typo. NFC 2015-04-29 23:33:32 +00:00
LatencyPriorityQueue.h Remove LatencyPriorityQueue::dump because it relies on an implicit copy ctor which is deprecated in C++11 (due to the presence of a user-declare dtor in the base class) 2015-03-03 21:16:56 +00:00
LexicalScopes.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Recommit r231168: unique_ptrify LiveRange::segmentSet 2015-03-04 01:20:33 +00:00
LiveIntervalAnalysis.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LiveIntervalUnion.h
LivePhysRegs.h Refactor UpdatePredRedefs and StepForward to avoid duplication. NFC 2015-05-05 20:14:22 +00:00
LiveRangeEdit.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
LiveRegMatrix.h
LiveStackAnalysis.h Recommit r231175: Change LiveStackAnalysis::SS2IntervalMap from std::map to std::unordered_map 2015-03-04 01:15:53 +00:00
LiveVariables.h
MachineBasicBlock.h
MachineBlockFrequencyInfo.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachineBranchProbabilityInfo.h
MachineCombinerPattern.h
MachineConstantPool.h
MachineDominanceFrontier.h
MachineDominators.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachineFrameInfo.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
MachineFunction.h
MachineFunctionAnalysis.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachineFunctionPass.h
MachineInstr.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MachineInstrBuilder.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h
MachineMemOperand.h [BranchFolding] Remove MMOs during tail merge to preserve dependencies. 2015-03-10 16:22:52 +00:00
MachineModuleInfo.h IR: Give 'DI' prefix to debug info metadata 2015-04-29 16:38:44 +00:00
MachineModuleInfoImpls.h Clear the stub map in getSortedStubs. 2015-04-07 12:59:28 +00:00
MachineOperand.h Change MachineOperand::OpKind from unsigned char to a bitfield. NFC. 2015-04-22 17:48:26 +00:00
MachinePassRegistry.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachinePostDominators.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachineRegionInfo.h Remove empty non-virtual destructors or mark them =default when non-public 2015-04-11 15:32:26 +00:00
MachineRegisterInfo.h MachineRegisterInfo: Make it clear that hints are for vregs 2015-04-03 00:18:33 +00:00
MachineScheduler.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MachineSSAUpdater.h
MachineTraceMetrics.h
MachineValueType.h Add support for v1i128 type. 2015-04-17 16:11:05 +00:00
MachORelocation.h
Passes.h [ShrinkWrap] Add (a simplified version) of shrink-wrapping. 2015-05-05 17:38:16 +00:00
PBQPRAConstraint.h
PseudoSourceValue.h
RegAllocPBQP.h
RegAllocRegistry.h
RegisterClassInfo.h
RegisterPressure.h Remove declarations for nonexistent methods 2015-04-01 21:16:02 +00:00
RegisterScavenging.h
ResourcePriorityQueue.h unique_ptrify ResourcePriorityQueue::ResourceModel 2015-03-03 20:49:08 +00:00
RuntimeLibcalls.h SDAG: Merge the meat of two ExpandAtomic implementations. 2015-03-05 20:04:29 +00:00
ScheduleDAG.h Remove the explicit SUnitIterator::operator= as the default is just fine 2015-03-03 21:17:00 +00:00
ScheduleDAGInstrs.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
ScheduleDFS.h
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h propagate IR-level fast-math-flags to DAG nodes (NFC) 2015-05-05 21:40:38 +00:00
SelectionDAGISel.h Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
SelectionDAGNodes.h propagate IR-level fast-math-flags to DAG nodes (NFC) 2015-05-05 21:40:38 +00:00
SlotIndexes.h
StackMaps.h Remove dead calls and function arguments dealing with TRI in StackMaps. 2015-03-20 21:05:18 +00:00
StackProtector.h
TargetLoweringObjectFileImpl.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
TargetSchedule.h
ValueTypes.h
ValueTypes.td Add support for v1i128 type. 2015-04-17 16:11:05 +00:00
VirtRegMap.h
WinEHFuncInfo.h [WinEHPrepare] Don't rely on the order of IR 2015-04-10 04:56:17 +00:00