llvm-6502/lib/Target/Mips
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 This patch implements parsing the .word 2013-01-25 01:31:34 +00:00
Disassembler This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
InstPrinter This patch tackles the problem of parsing Mips 2013-01-12 01:03:14 +00:00
MCTargetDesc Clean up assignment of CalleeSaveStackSlotSize: get rid of the default and explicitly set this in every target that needs to change it from the default. 2013-01-23 16:22:04 +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
Mips16FrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Mips16FrameLowering.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
Mips16InstrInfo.h [mips] 80 columns. 2013-01-04 19:38:05 +00:00
Mips16InstrInfo.td This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
Mips16RegisterInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
Mips16RegisterInfo.h [mips] 80 columns. 2013-01-04 19:38:05 +00:00
Mips64InstrInfo.td This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 20:15:06 +00:00
Mips.h
Mips.td
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsAsmPrinter.h This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsCallingConv.td
MipsCodeEmitter.cpp Improve r172471: avoid all those extra casts on the lines nearby 2013-01-14 22:08:37 +00:00
MipsCondMov.td [mips] Refactor conditional move instructions. 2013-01-04 19:16:38 +00:00
MipsDelaySlotFiller.cpp
MipsDSPInstrFormats.td [mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass 2012-12-20 04:20:09 +00:00
MipsDSPInstrInfo.td [mips] Remove asm string parameter from pseudo instructions. Add InstrItinClass 2012-12-20 04:20:09 +00:00
MipsFrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsFrameLowering.h
MipsInstrFormats.td [mips] 80 columns. 2013-01-04 19:38:05 +00:00
MipsInstrFPU.td [mips] Set flag neverHasSideEffects flag on some of the floating point instructions. 2013-01-25 00:20:39 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h
MipsInstrInfo.td This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
MipsISelDAGToDAG.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsISelLowering.cpp Teach SDISel to combine fsin / fcos into a fsincos node if the following 2013-01-29 02:32:37 +00:00
MipsISelLowering.h Make some code a little simpler. 2013-01-28 02:46:49 +00:00
MipsJITInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsJITInfo.h
MipsLongBranch.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-19 02:00:40 +00:00
MipsMachineFunction.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsMachineFunction.h
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsRegisterInfo.cpp [mips] Implement MipsRegisterInfo::getRegPressureLimit. 2013-01-22 21:34:25 +00:00
MipsRegisterInfo.h [mips] Implement MipsRegisterInfo::getRegPressureLimit. 2013-01-22 21:34:25 +00:00
MipsRegisterInfo.td This is a resubmittal. For some reason it broke the bots yesterday 2013-01-17 00:28:20 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp [mips] Use "or $r0, $r1, $zero" instead of "addu $r0, $zero, $r1" to copy 2012-12-20 04:06:06 +00:00
MipsSEInstrInfo.h
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
MipsSERegisterInfo.h
MipsSubtarget.cpp
MipsSubtarget.h This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsTargetMachine.cpp Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MipsTargetMachine.h Switch TargetTransformInfo from an immutable analysis pass that requires 2013-01-07 01:37:14 +00:00
MipsTargetObjectFile.cpp This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00
MipsTargetObjectFile.h This is a resubmittal. For some reason it broke the bots yesterday 2013-01-18 21:20:38 +00:00