llvm-6502/lib/Target/R600
Tom Stellard 9f7818d9bd R600: rework handling of the constants
Remove Cxxx registers, add new special register - "ALU_CONST" and new
operand for each alu src - "sel". ALU_CONST is used to designate that the
new operand contains the value to override src.sel, src.kc_bank, src.chan
for constants in the driver.

Patch by: Vadim Girlin

Vincent Lejeune:
  - Use pointers for constants
  - Fold CONST_ADDRESS when possible

Tom Stellard:
  - Give CONSTANT_BUFFER_0 its own address space
  - Use integer types for constant loads

Reviewed-by: Tom Stellard <thomas.stellard@amd.com>

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@173222 91177308-0d34-0410-b5e6-96231b3b80d8
2013-01-23 02:09:06 +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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +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: Add a CONST_ADDRESS node to model constant buf read 2013-01-23 02:09:03 +00:00
AMDGPUISelLowering.h R600: Add a CONST_ADDRESS node to model constant buf read 2013-01-23 02:09:03 +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
AMDGPURegisterInfo.h
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: rework handling of the constants 2013-01-23 02:09:06 +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: rework handling of the constants 2013-01-23 02:09:06 +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 Remove redundant 'llvm::' qualifications 2013-01-13 16:01:15 +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 Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
R600InstrInfo.cpp R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600InstrInfo.h Resort the #include lines in include/... and lib/... with the 2013-01-02 10:22:59 +00:00
R600Instructions.td R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600Intrinsics.td
R600ISelLowering.cpp R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600ISelLowering.h R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600LowerConstCopy.cpp R600: rework handling of the constants 2013-01-23 02:09:06 +00:00
R600MachineFunctionInfo.cpp
R600MachineFunctionInfo.h
R600RegisterInfo.cpp R600: rework handling of the constants 2013-01-23 02:09:06 +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: Use unnormalized coordinates for sampling with the RECT target. 2013-01-21 15:40:48 +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