radeon/llvm: fix live-in handling for inputs
Set the input registers as live-in for entry basic block. Signed-off-by: Vadim Girlin <vadimgirlin@gmail.com>
This commit is contained in:
@@ -118,6 +118,7 @@ void AMDGPU::utilAddLiveIn(MachineFunction * MF, MachineRegisterInfo & MRI,
|
||||
{
|
||||
if (!MRI.isLiveIn(physReg)) {
|
||||
MRI.addLiveIn(physReg, virtReg);
|
||||
MF->front().addLiveIn(physReg);
|
||||
BuildMI(MF->front(), MF->front().begin(), DebugLoc(),
|
||||
TII->get(TargetOpcode::COPY), virtReg)
|
||||
.addReg(physReg);
|
||||
|
@@ -13,6 +13,7 @@
|
||||
|
||||
#include "AMDGPU.h"
|
||||
#include "AMDGPULowerShaderInstructions.h"
|
||||
#include "AMDGPUUtil.h"
|
||||
#include "AMDIL.h"
|
||||
#include "AMDILInstrInfo.h"
|
||||
#include "llvm/CodeGen/MachineFunctionPass.h"
|
||||
@@ -117,8 +118,7 @@ void R600LowerShaderInstructionsPass::lowerLOAD_INPUT(MachineInstr &MI)
|
||||
unsigned newRegister = inputClass->getRegister(inputIndex);
|
||||
unsigned dstReg = dst.getReg();
|
||||
|
||||
preloadRegister(MI.getParent()->getParent(), TM.getInstrInfo(), newRegister,
|
||||
dstReg);
|
||||
AMDGPU::utilAddLiveIn(MI.getParent()->getParent(), *MRI, TM.getInstrInfo(), newRegister, dstReg);
|
||||
}
|
||||
|
||||
bool R600LowerShaderInstructionsPass::lowerSTORE_OUTPUT(MachineInstr &MI,
|
||||
|
Reference in New Issue
Block a user