llvm-6502/include/llvm/CodeGen
Hal Finkel 41418d17cc Add ISD::FROUND for libm round()
All libm floating-point rounding functions, except for round(), had their own
ISD nodes. Recent PowerPC cores have an instruction for round(), and so here I'm
adding ISD::FROUND so that round() can be custom lowered as well.

For the most part, this is straightforward. I've added an intrinsic
and a matching ISD node just like those for nearbyint() and friends. The
SelectionDAG pattern I've named frnd (because ISD::FP_ROUND has already claimed
fround).

This will be used by the PowerPC backend in a follow-up commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@187926 91177308-0d34-0410-b5e6-96231b3b80d8
2013-08-07 22:49:12 +00:00
..
PBQP
Analysis.h
AsmPrinter.h Debug Info: use module flag to set up Dwarf version. 2013-07-02 23:40:10 +00:00
CalcSpillWeights.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
CallingConvLower.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
CommandFlags.h Use function attributes to indicate that we don't want to realign the stack. 2013-08-01 21:42:05 +00:00
DAGCombine.h
DFAPacketizer.h
EdgeBundles.h
FastISel.h Changed "mode: c++" => "C++" at the suggestion of Nick Lewycky. 2013-07-10 18:40:49 +00:00
FunctionLoweringInfo.h Simplify landing pad lowering. 2013-07-04 04:53:45 +00:00
GCMetadata.h
GCMetadataPrinter.h
GCs.h
GCStrategy.h
IntrinsicLowering.h
ISDOpcodes.h Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
JITCodeEmitter.h
LatencyPriorityQueue.h
LexicalScopes.h Return SmallVectorImpl& instead of SmallVector& in a couple places to avoid having to specify the vector size in multiple places. 2013-07-03 04:30:58 +00:00
LinkAllAsmWriterComponents.h
LinkAllCodegenComponents.h
LiveInterval.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00
LiveIntervalAnalysis.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
LiveIntervalUnion.h
LiveRangeEdit.h Refactor LiveRangeEdit::eliminateDeadDefs. 2013-06-21 18:33:17 +00:00
LiveRegMatrix.h
LiveStackAnalysis.h
LiveVariables.h Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-11 16:22:38 +00:00
MachineBasicBlock.h Add MachineBasicBlock::addLiveIn(). 2013-07-03 23:56:20 +00:00
MachineBlockFrequencyInfo.h
MachineBranchProbabilityInfo.h
MachineCodeEmitter.h
MachineCodeInfo.h
MachineConstantPool.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineDominators.h
MachineFrameInfo.h Directly access objects which may change during compilation. 2013-06-17 20:41:25 +00:00
MachineFunction.h
MachineFunctionAnalysis.h
MachineFunctionPass.h
MachineInstr.h Remove dead function. 2013-07-05 23:04:55 +00:00
MachineInstrBuilder.h Reapply an improved version of r180816/180817. 2013-07-09 20:28:37 +00:00
MachineInstrBundle.h
MachineJumpTableInfo.h
MachineLoopInfo.h
MachineMemOperand.h
MachineModuleInfo.h
MachineModuleInfoImpls.h
MachineOperand.h MachineOperand::setIsDebug should ensure the register is /not/ a definition 2013-06-16 20:34:09 +00:00
MachinePassRegistry.h
MachinePostDominators.h
MachineRegisterInfo.h Handle more cases in LiveRangeEdit::eliminateDeadDefs. 2013-06-21 18:33:20 +00:00
MachineRelocation.h
MachineScheduler.h
MachineSSAUpdater.h
MachineTraceMetrics.h
MachORelocation.h
Passes.h Don't leak passes if added outside of the area determined by Started/Stopped flags. 2013-08-05 11:11:11 +00:00
PseudoSourceValue.h
RegAllocPBQP.h Switch spill weights from a basic loop depth estimation to BlockFrequencyInfo. 2013-06-17 19:00:36 +00:00
RegAllocRegistry.h
RegisterClassInfo.h MI-Sched: Adjust regpressure limits for reserved regs. 2013-06-21 18:32:58 +00:00
RegisterPressure.h MI Sched: Track live-thru registers. 2013-07-30 19:59:12 +00:00
RegisterScavenging.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ResourcePriorityQueue.h
RuntimeLibcalls.h Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
ScheduleDAG.h Use SmallVectorImpl::iterator/const_iterator instead of SmallVector 2013-07-03 05:01:24 +00:00
ScheduleDAGInstrs.h Machine Model: Add MicroOpBufferSize and resource BufferSize. 2013-06-15 04:49:57 +00:00
ScheduleDFS.h
ScheduleHazardRecognizer.h
SchedulerRegistry.h
ScoreboardHazardRecognizer.h
SelectionDAG.h Use SmallVectorImpl instead of SmallVector for iterators and references to avoid specifying the vector size unnecessarily. 2013-07-03 05:11:49 +00:00
SelectionDAGISel.h Access the TargetLoweringInfo from the TargetMachine object instead of caching it. The TLI may change between functions. No functionality change. 2013-06-19 21:36:55 +00:00
SelectionDAGNodes.h Put an llvm_unreachable at the end of getSplatIndex as its loop should never find all undef elements. 2013-08-06 05:41:22 +00:00
SlotIndexes.h Down-scale slot index distance to save bits. 2013-07-30 19:59:19 +00:00
TargetLoweringObjectFileImpl.h PR16493: DebugInfo with TLS on PPC crashing due to invalid relocation 2013-07-01 21:45:25 +00:00
TargetSchedule.h Machine Model: Add MicroOpBufferSize and resource BufferSize. 2013-06-15 04:49:57 +00:00
ValueTypes.h Improve diagnostics when getSizeInBits is called on the Other type. 2013-06-24 17:29:51 +00:00
ValueTypes.td
VirtRegMap.h