llvm-6502/lib/Target/AMDGPU
Matt Arsenault 3aa0d7cb53 AMDGPU/SI: Fix read2 merging into a super register.
If the read2 produced was supposed to be writing into a
super register, it would use the wrong subregister indices.
Fix this by inserting copies, so we only ever write to a vreg_64.
Run the register coalescer again to clean this up, although this
isn't ideal and often does result in an extra move.

Also remove the assert that offset1 > offset0.

There isn't a real reason to not allow this other than a minor
convenience in the compiler, and it doesn't seem worth the effort
of avoiding it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@242174 91177308-0d34-0410-b5e6-96231b3b80d8
2015-07-14 17:57:36 +00:00
..
AsmParser Reverting r241058 because it's causing buildbot failures. 2015-06-30 12:32:53 +00:00
InstPrinter AMDGPU: s/R600/AMDGPU/ in the Makefiles 2015-06-13 05:11:14 +00:00
MCTargetDesc MC: Remove MCSubtargetInfo() default constructor 2015-07-10 22:43:42 +00:00
TargetInfo AMDGPU: s/R600/AMDGPU/ in the Makefiles 2015-06-13 05:11:14 +00:00
Utils AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support 2015-06-26 21:58:31 +00:00
AMDGPU.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPU.td AMDGPU/SI: Add debugging subtarget feature for DS offsets 2015-07-06 16:01:58 +00:00
AMDGPUAlwaysInlinePass.cpp AMDGPU: Minor cleanups to always inline pass 2015-07-13 19:08:36 +00:00
AMDGPUAsmPrinter.cpp AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support 2015-06-26 21:58:31 +00:00
AMDGPUAsmPrinter.h AMDGPU/SI: Emit amd_kernel_code_t in EmitFunctionBodyStart() 2015-06-26 21:14:58 +00:00
AMDGPUCallingConv.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUFrameLowering.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUFrameLowering.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUInstrInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUInstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AMDGPUInstrInfo.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUInstructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUIntrinsicInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUIntrinsicInfo.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUIntrinsics.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUISelDAGToDAG.cpp AMDGPU/SI: Select mad patterns to v_mac_f32 2015-07-13 15:47:57 +00:00
AMDGPUISelLowering.cpp AMDGPU: Add helper function for implicit parameter offsets. 2015-07-09 21:20:37 +00:00
AMDGPUISelLowering.h AMDGPU: Add helper function for implicit parameter offsets. 2015-07-09 21:20:37 +00:00
AMDGPUMachineFunction.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUMachineFunction.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
AMDGPUMCInstLower.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUMCInstLower.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUPromoteAlloca.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPURegisterInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPURegisterInfo.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPURegisterInfo.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUSubtarget.cpp AMDGPU/SI: Add debugging subtarget feature for DS offsets 2015-07-06 16:01:58 +00:00
AMDGPUSubtarget.h AMDGPU/SI: Add debugging subtarget feature for DS offsets 2015-07-06 16:01:58 +00:00
AMDGPUTargetMachine.cpp AMDGPU/SI: Fix read2 merging into a super register. 2015-07-14 17:57:36 +00:00
AMDGPUTargetMachine.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUTargetTransformInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDGPUTargetTransformInfo.h Make TargetTransformInfo keeping a reference to the Module DataLayout 2015-07-09 02:08:42 +00:00
AMDILCFGStructurizer.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
AMDKernelCodeT.h AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support 2015-06-26 21:58:31 +00:00
CaymanInstructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
CIInstructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
CMakeLists.txt AMDGPU/SI: Add hsa code object directives 2015-06-26 21:15:07 +00:00
EvergreenInstructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
LLVMBuild.txt AMDGPU/SI: Add hsa code object directives 2015-06-26 21:15:07 +00:00
Makefile AMDGPU/SI: Add hsa code object directives 2015-06-26 21:15:07 +00:00
Processors.td AMDGPU/SI: Add hsa code object directives 2015-06-26 21:15:07 +00:00
R600ClauseMergePass.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600ControlFlowFinalizer.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600Defines.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
R600EmitClauseMarkers.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600ExpandSpecialInstrs.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600InstrFormats.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600InstrInfo.cpp Replace copy-pasted debug value skipping with MBB::getLastNonDebugInstr 2015-06-25 13:28:24 +00:00
R600InstrInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
R600Instructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600Intrinsics.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600ISelLowering.cpp AMDGPU: Add helper function for implicit parameter offsets. 2015-07-09 21:20:37 +00:00
R600ISelLowering.h Make TargetLowering::getPointerTy() taking DataLayout as an argument 2015-07-09 02:09:04 +00:00
R600MachineFunctionInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600MachineFunctionInfo.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
R600MachineScheduler.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600MachineScheduler.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600OptimizeVectorRegisters.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
R600Packetizer.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600RegisterInfo.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600RegisterInfo.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600RegisterInfo.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600Schedule.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
R600TextureIntrinsicsReplacer.cpp Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
R700Instructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIAnnotateControlFlow.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIDefines.h AMDGPU/SI: Update amd_kernel_code_t definition and add assembler support 2015-06-26 21:58:31 +00:00
SIFixControlFlowLiveIntervals.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIFixSGPRCopies.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIFixSGPRLiveRanges.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIFoldOperands.cpp AMDGPU/SI: Select mad patterns to v_mac_f32 2015-07-13 15:47:57 +00:00
SIInsertWaits.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIInstrFormats.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIInstrInfo.cpp AMDGPU/SI: Fix read2 merging into a super register. 2015-07-14 17:57:36 +00:00
SIInstrInfo.h AMDGPU/SI: Select mad patterns to v_mac_f32 2015-07-13 15:47:57 +00:00
SIInstrInfo.td AMDGPU/SI: Select mad patterns to v_mac_f32 2015-07-13 15:47:57 +00:00
SIInstructions.td AMDGPU/SI: Select mad patterns to v_mac_f32 2015-07-13 15:47:57 +00:00
SIIntrinsics.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIISelLowering.cpp AMDGPU: Fix chains for memory ops dependent on argument loads 2015-07-10 22:51:36 +00:00
SIISelLowering.h Re-instate the EVT parameter to getScalarShiftAmountTy() for OOT user 2015-07-09 15:12:23 +00:00
SILoadStoreOptimizer.cpp AMDGPU/SI: Fix read2 merging into a super register. 2015-07-14 17:57:36 +00:00
SILowerControlFlow.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SILowerI1Copies.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIMachineFunctionInfo.cpp MachineRegisterInfo: Remove UsedPhysReg infrastructure 2015-07-14 17:52:07 +00:00
SIMachineFunctionInfo.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIPrepareScratchRegs.cpp MachineRegisterInfo: Remove UsedPhysReg infrastructure 2015-07-14 17:52:07 +00:00
SIRegisterInfo.cpp MachineRegisterInfo: Remove UsedPhysReg infrastructure 2015-07-14 17:52:07 +00:00
SIRegisterInfo.h R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIRegisterInfo.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SISchedule.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
SIShrinkInstructions.cpp AMDGPU/SI: Add support for shrinking v_cndmask_b32_e32 instructions 2015-07-14 14:15:03 +00:00
SITypeRewriter.cpp R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
VIInstrFormats.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00
VIInstructions.td R600 -> AMDGPU rename 2015-06-13 03:28:10 +00:00