Skip to content

Commit 9307c01

Browse files
houjenkoigcbot
authored andcommitted
Cleanup unnecessary R1Lo
Remove workaround from the code patching
1 parent 0add92f commit 9307c01

File tree

5 files changed

+18
-9
lines changed

5 files changed

+18
-9
lines changed

IGC/Compiler/CISACodeGen/PixelShaderCodeGen.cpp

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -145,10 +145,6 @@ void CPixelShader::AllocatePSPayload()
145145
for (uint i = 0; i < GetR1()->GetNumberInstance(); i++)
146146
{
147147
AllocateInput(GetR1(), offset, i, forceLiveOut);
148-
for (auto R1Lo: GetR1Lo()) {
149-
AllocateInput(R1Lo, offset, i, forceLiveOut);
150-
}
151-
152148
offset += getGRFSize();
153149
}
154150
}

visa/BuildCISAIRImpl.cpp

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1025,7 +1025,10 @@ int CISA_IR_Builder::Compile(const char* nameInput, std::ostream* os, bool emit_
10251025
{
10261026
// Copy main kernel's declarations (shader body) into payload section
10271027
kernel->CopyVars(mainKernel);
1028-
kernel->getKernel()->Declares = mainKernel->getKernel()->Declares;
1028+
kernel->getKernel()->Declares.insert(
1029+
kernel->getKernel()->Declares.end(),
1030+
mainKernel->getKernel()->Declares.begin(),
1031+
mainKernel->getKernel()->Declares.end());
10291032

10301033
// Set payload LiveOuts to be output
10311034
uint32_t inputCount = mainKernel->getIRBuilder()->getInputCount();
@@ -1046,7 +1049,8 @@ int CISA_IR_Builder::Compile(const char* nameInput, std::ostream* os, bool emit_
10461049
mainKernel->getIRBuilder()->getRealR0()->setLiveOut();
10471050
}
10481051

1049-
if (kernel->getIsKernel() && isInPatchingMode)
1052+
if ((kernel->getIsKernel() && isInPatchingMode) ||
1053+
kernel->getvIsaInstCount() == 0)
10501054
{
10511055
continue;
10521056
}

visa/LocalRA.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -159,7 +159,10 @@ void LocalRA::preLocalRAAnalysis()
159159
unsigned int numRowsReserved = numRowsEOT;
160160

161161
// Remove unreferenced dcls
162-
gra.removeUnreferencedDcls();
162+
if (!builder.getOptions()->getuInt32Option(vISA_CodePatch))
163+
{
164+
gra.removeUnreferencedDcls();
165+
}
163166

164167
if (builder.getOption(vISA_HybridRAWithSpill) || builder.getOption(vISA_FastCompileRA))
165168
{

visa/RegAlloc.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3547,7 +3547,10 @@ int regAlloc(IR_Builder& builder, PhyRegPool& regPool, G4_Kernel& kernel)
35473547
gra.markGraphBlockLocalVars();
35483548

35493549
//Remove the un-referenced declares
3550-
gra.removeUnreferencedDcls();
3550+
if (!builder.getOptions()->getuInt32Option(vISA_CodePatch))
3551+
{
3552+
gra.removeUnreferencedDcls();
3553+
}
35513554

35523555
if (kernel.getInt32KernelAttr(Attributes::ATTR_Target) == VISA_CM)
35533556
{

visa/VISAKernelImpl.cpp

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -570,7 +570,10 @@ int VISAKernelImpl::InitializeFastPath()
570570

571571
void VISAKernelImpl::CopyVars(VISAKernelImpl* from)
572572
{
573-
m_builder->dclpool.getDeclareList() = from->m_builder->dclpool.getDeclareList();
573+
m_builder->dclpool.getDeclareList().insert(
574+
m_builder->dclpool.getDeclareList().end(),
575+
from->m_builder->dclpool.getDeclareList().begin(),
576+
from->m_builder->dclpool.getDeclareList().end());
574577
}
575578

576579
int VISAKernelImpl::InitializeKernel(const char *kernel_name)

0 commit comments

Comments
 (0)