llvm-6502/lib/CodeGen/SelectionDAG
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
..
CMakeLists.txt llvm/lib: [CMake] Add explicit dependency to intrinsics_gen. 2012-06-24 13:32:01 +00:00
DAGCombiner.cpp TargetLowering: Add getVectorIdxTy() function v2 2013-08-05 22:22:01 +00:00
FastISel.cpp Un-break the buildbot by tweaking the indirection flag. 2013-07-10 01:53:37 +00:00
FunctionLoweringInfo.cpp Debug Info: clean up usage of Verify. 2013-06-28 05:43:10 +00:00
InstrEmitter.cpp Reapply an improved version of r180816/180817. 2013-07-09 20:28:37 +00:00
InstrEmitter.h Add -*- C++ -*- to InstrEmitter.h. 2013-07-17 18:53:29 +00:00
LegalizeDAG.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
LegalizeFloatTypes.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
LegalizeIntegerTypes.cpp TargetLowering: Add getVectorIdxTy() function v2 2013-08-05 22:22:01 +00:00
LegalizeTypes.cpp Remove invalid assert in DAGTypeLegalizer::RemapValue 2013-07-15 18:57:05 +00:00
LegalizeTypes.h Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
LegalizeTypesGeneric.cpp TargetLowering: Add getVectorIdxTy() function v2 2013-08-05 22:22:01 +00:00
LegalizeVectorOps.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
LegalizeVectorTypes.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
LLVMBuild.txt LLVMBuild: Remove trailing newline, which irked me. 2011-12-12 19:48:00 +00:00
Makefile make -fno-rtti the default unless a directory builds with REQUIRES_RTTI. 2010-01-24 20:43:08 +00:00
ResourcePriorityQueue.cpp Cache the TargetLowering info object as a pointer. 2013-06-06 00:43:09 +00:00
ScheduleDAGFast.cpp Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
ScheduleDAGRRList.cpp Add 'const' qualifier to some arrays. 2013-07-15 08:02:13 +00:00
ScheduleDAGSDNodes.cpp Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector size. 2013-07-14 04:42:23 +00:00
ScheduleDAGSDNodes.h Fix #includes, so we include only what we really need. 2013-02-20 00:26:25 +00:00
ScheduleDAGVLIW.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SDNodeDbgValue.h Sort includes for all of the .h files under the 'lib' tree. These were 2012-12-04 07:12:27 +00:00
SelectionDAG.cpp TargetLowering: Add getVectorIdxTy() function v2 2013-08-05 22:22:01 +00:00
SelectionDAGBuilder.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
SelectionDAGBuilder.h Added c++ mode selector to head of SelectionDAGBuilder.h so editors open it in c++ mode instead of c mode. 2013-07-01 16:53:41 +00:00
SelectionDAGDumper.cpp Add ISD::FROUND for libm round() 2013-08-07 22:49:12 +00:00
SelectionDAGISel.cpp Reimplement isPotentiallyReachable to make nocapture deduction much stronger. 2013-07-27 01:24:00 +00:00
SelectionDAGPrinter.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
TargetLowering.cpp Remove trailing whitespace from SelectionDAG/*.cpp 2013-07-08 00:37:03 +00:00
TargetSelectionDAGInfo.cpp Move TargetData to DataLayout. 2012-10-08 16:38:25 +00:00