llvm-6502/lib/Target/MBlaze
Evan Cheng 8688a58c53 Teach SDISel to combine fsin / fcos into a fsincos node if the following
conditions are met:
1. They share the same operand and are in the same BB.
2. Both outputs are used.
3. The target has a native instruction that maps to ISD::FSINCOS node or
   the target provides a sincos library call.

Implemented the generic optimization in sdisel and enabled it for
Mac OSX. Also added an additional optimization for x86_64 Mac OSX by
using an alternative entry point __sincos_stret which returns the two
results in xmm0 / xmm1.

rdar://13087969
PR13204


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173755 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-29 02:32:37 +00:00
..
AsmParser
Disassembler
InstPrinter
MCTargetDesc
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MBlaze.h
MBlaze.td
MBlazeAsmPrinter.cpp
MBlazeCallingConv.td
MBlazeDelaySlotFiller.cpp
MBlazeFrameLowering.cpp
MBlazeFrameLowering.h
MBlazeInstrFormats.td
MBlazeInstrFPU.td
MBlazeInstrFSL.td
MBlazeInstrInfo.cpp
MBlazeInstrInfo.h
MBlazeInstrInfo.td
MBlazeIntrinsicInfo.cpp
MBlazeIntrinsicInfo.h
MBlazeIntrinsics.td
MBlazeISelDAGToDAG.cpp
MBlazeISelLowering.cpp Teach SDISel to combine fsin / fcos into a fsincos node if the following 2013-01-29 02:32:37 +00:00
MBlazeISelLowering.h
MBlazeMachineFunction.cpp
MBlazeMachineFunction.h
MBlazeMCInstLower.cpp
MBlazeMCInstLower.h
MBlazeRegisterInfo.cpp
MBlazeRegisterInfo.h
MBlazeRegisterInfo.td
MBlazeRelocations.h
MBlazeSchedule3.td
MBlazeSchedule5.td
MBlazeSchedule.td
MBlazeSelectionDAGInfo.cpp
MBlazeSelectionDAGInfo.h
MBlazeSubtarget.cpp
MBlazeSubtarget.h
MBlazeTargetMachine.cpp
MBlazeTargetMachine.h
MBlazeTargetObjectFile.cpp
MBlazeTargetObjectFile.h
TODO