llvm-6502/lib/Target/R600
Jakob Stoklund Olesen a499d2bcef Don't use MRI liveouts in R600.
Something very strange is going on with the output registers in this
target. Its ISelLowering code is inserting dangling CopyToReg nodes,
hoping that those physregs won't get clobbered before the RETURN.

This patch adds the output registers as implicit uses on RETURN
instructions in the custom emission pass. I'd much prefer to have those
CopyToReg nodes glued to the RETURNs, but I don't see how.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@174400 91177308-0d34-0410-b5e6-96231b3b80d8
2013-02-05 17:53:52 +00:00
..
InstPrinter R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
MCTargetDesc R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
TargetInfo
AMDGPU.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
AMDGPU.td
AMDGPUAsmPrinter.cpp R600: Emit function name in the AsmPrinter 2013-02-05 17:09:11 +00:00
AMDGPUAsmPrinter.h
AMDGPUCodeEmitter.h
AMDGPUConvertToISA.cpp
AMDGPUInstrInfo.cpp
AMDGPUInstrInfo.h
AMDGPUInstrInfo.td
AMDGPUInstructions.td
AMDGPUIntrinsics.td
AMDGPUISelLowering.cpp R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
AMDGPUISelLowering.h R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
AMDGPUMCInstLower.cpp
AMDGPUMCInstLower.h
AMDGPURegisterInfo.cpp Update AMDGPURegisterInfo::eliminateFrameIndex() corresponding to r174083. 2013-01-31 22:55:51 +00:00
AMDGPURegisterInfo.h Update AMDGPURegisterInfo::eliminateFrameIndex() corresponding to r174083. 2013-01-31 22:55:51 +00:00
AMDGPURegisterInfo.td
AMDGPUStructurizeCFG.cpp
AMDGPUSubtarget.cpp
AMDGPUSubtarget.h
AMDGPUTargetMachine.cpp R600: Fold remaining CONST_COPY after expand pseudo inst 2013-02-05 17:09:16 +00:00
AMDGPUTargetMachine.h
AMDIL7XXDevice.cpp
AMDIL7XXDevice.h
AMDIL.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
AMDILBase.td
AMDILCFGStructurizer.cpp
AMDILDevice.cpp
AMDILDevice.h
AMDILDeviceInfo.cpp
AMDILDeviceInfo.h
AMDILDevices.h
AMDILEvergreenDevice.cpp
AMDILEvergreenDevice.h
AMDILFrameLowering.cpp
AMDILFrameLowering.h
AMDILInstrInfo.td
AMDILIntrinsicInfo.cpp
AMDILIntrinsicInfo.h
AMDILIntrinsics.td
AMDILISelDAGToDAG.cpp R600: Fold clamp, neg, abs 2013-01-31 22:11:54 +00:00
AMDILISelLowering.cpp
AMDILNIDevice.cpp
AMDILNIDevice.h
AMDILPeepholeOptimizer.cpp R600/AMDILPeepholeOptimizer.cpp: Tweak std::make_pair to satisfy C++11. 2013-01-29 16:31:56 +00:00
AMDILRegisterInfo.td
AMDILSIDevice.cpp
AMDILSIDevice.h
CMakeLists.txt R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
LLVMBuild.txt
Makefile
Processors.td
R600Defines.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600ExpandSpecialInstrs.cpp R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
R600InstrInfo.cpp R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
R600InstrInfo.h
R600Instructions.td Don't use MRI liveouts in R600. 2013-02-05 17:53:52 +00:00
R600Intrinsics.td R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
R600ISelLowering.cpp Don't use MRI liveouts in R600. 2013-02-05 17:53:52 +00:00
R600ISelLowering.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600LowerConstCopy.cpp R600: Fold remaining CONST_COPY after expand pseudo inst 2013-02-05 17:09:16 +00:00
R600MachineFunctionInfo.cpp R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
R600MachineFunctionInfo.h Don't use MRI liveouts in R600. 2013-02-05 17:53:52 +00:00
R600RegisterInfo.cpp R600: improve inputs/interpolation handling 2013-02-05 17:09:14 +00:00
R600RegisterInfo.h
R600RegisterInfo.td R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600Schedule.td
SIAnnotateControlFlow.cpp
SIAssignInterpRegs.cpp
SIInsertWaits.cpp
SIInstrFormats.td
SIInstrInfo.cpp
SIInstrInfo.h
SIInstrInfo.td
SIInstructions.td R600/SI: Add patterns for fcos and fsin. 2013-02-05 17:09:10 +00:00
SIIntrinsics.td R600/SI: Take target parameter for sample intrinsics. 2013-01-21 15:40:47 +00:00
SIISelLowering.cpp
SIISelLowering.h
SILowerControlFlow.cpp
SILowerLiteralConstants.cpp
SIMachineFunctionInfo.cpp
SIMachineFunctionInfo.h
SIRegisterInfo.cpp
SIRegisterInfo.h
SIRegisterInfo.td
SISchedule.td