llvm/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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
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 Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDGPUMCInstLower.h R600: BB operand support for SI 2012-12-17 15:14:54 +00:00
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 Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDGPUSubtarget.cpp
AMDGPUSubtarget.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00
AMDGPUTargetMachine.cpp R600: Fold remaining CONST_COPY after expand pseudo inst 2013-02-05 17:09:16 +00:00
AMDGPUTargetMachine.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDIL7XXDevice.cpp
AMDIL7XXDevice.h
AMDIL.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
AMDILBase.td
AMDILCFGStructurizer.cpp Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
AMDILDevice.cpp
AMDILDevice.h Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +00:00
AMDILDeviceInfo.cpp
AMDILDeviceInfo.h
AMDILDevices.h
AMDILEvergreenDevice.cpp
AMDILEvergreenDevice.h Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
AMDILFrameLowering.cpp
AMDILFrameLowering.h
AMDILInstrInfo.td R600: New control flow for SI v2 2012-12-19 22:10:31 +00:00
AMDILIntrinsicInfo.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDILIntrinsicInfo.h Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDILIntrinsics.td
AMDILISelDAGToDAG.cpp R600: Fold clamp, neg, abs 2013-01-31 22:11:54 +00:00
AMDILISelLowering.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
AMDILNIDevice.cpp Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
AMDILNIDevice.h Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
R600RegisterInfo.td R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600Schedule.td
SIAnnotateControlFlow.cpp Move all of the header files which are involved in modelling the LLVM IR 2013-01-02 11:36:10 +00:00
SIAssignInterpRegs.cpp
SIInsertWaits.cpp R600: Proper insert S_WAITCNT instructions 2013-01-18 21:15:53 +00:00
SIInstrFormats.td
SIInstrInfo.cpp Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
SIInstrInfo.h R600: Proper insert S_WAITCNT instructions 2013-01-18 21:15:53 +00:00
SIInstrInfo.td R600: Proper insert S_WAITCNT instructions 2013-01-18 21:15:53 +00:00
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 R600: Proper insert S_WAITCNT instructions 2013-01-18 21:15:53 +00:00
SIISelLowering.h R600: Proper insert S_WAITCNT instructions 2013-01-18 21:15:53 +00:00
SILowerControlFlow.cpp R600/SILowerControlFlow.cpp: Fix a warning. [-Wunused-variable] 2013-01-21 14:06:48 +00:00
SILowerLiteralConstants.cpp Avoid setIsInsideBundle in Target/R600. 2012-12-13 00:59:38 +00:00
SIMachineFunctionInfo.cpp
SIMachineFunctionInfo.h
SIRegisterInfo.cpp
SIRegisterInfo.h
SIRegisterInfo.td R600: Remove unecessary VREG alignment. 2012-12-19 22:10:34 +00:00
SISchedule.td