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 Last in the series of removing unnecessary '0' arguments for 2013-01-09 03:52:05 +00:00
Disassembler
InstPrinter
MCTargetDesc Renamed MCInstFragment to MCRelaxableFragment and added some comments. 2013-01-08 00:22:56 +00:00
TargetInfo Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile
MBlaze.h
MBlaze.td
MBlazeAsmPrinter.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeCallingConv.td
MBlazeDelaySlotFiller.cpp
MBlazeFrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeFrameLowering.h
MBlazeInstrFormats.td
MBlazeInstrFPU.td
MBlazeInstrFSL.td
MBlazeInstrInfo.cpp
MBlazeInstrInfo.h
MBlazeInstrInfo.td
MBlazeIntrinsicInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeIntrinsicInfo.h
MBlazeIntrinsics.td
MBlazeISelDAGToDAG.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
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 Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeMCInstLower.h
MBlazeRegisterInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeRegisterInfo.h
MBlazeRegisterInfo.td
MBlazeRelocations.h
MBlazeSchedule3.td
MBlazeSchedule5.td
MBlazeSchedule.td
MBlazeSelectionDAGInfo.cpp
MBlazeSelectionDAGInfo.h
MBlazeSubtarget.cpp
MBlazeSubtarget.h
MBlazeTargetMachine.cpp Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MBlazeTargetMachine.h Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MBlazeTargetObjectFile.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MBlazeTargetObjectFile.h
TODO