Skip to content

Commit b082e03

Browse files
trbauerigcbot
authored andcommitted
extra named barrier stuff
set vISA named barrier count
1 parent 4f85f1c commit b082e03

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

IGC/Compiler/CISACodeGen/EmitVISAPass.cpp

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ SPDX-License-Identifier: MIT
1616
#include "ComputeShaderCodeGen.hpp"
1717
#include "HullShaderCodeGen.hpp"
1818
#include "DomainShaderCodeGen.hpp"
19+
#include "Compiler/Optimizer/OpenCLPasses/NamedBarriers/NamedBarriersResolution.hpp"
1920
#include "DeSSA.hpp"
2021
#include "messageEncoding.hpp"
2122
#include "PayloadMapping.hpp"
@@ -336,6 +337,13 @@ uint EmitPass::DecideInstanceAndSlice(const llvm::BasicBlock& blk, SDAG& sdag, b
336337
numInstance = 1;
337338
slicing = false;
338339
}
340+
else if (
341+
id == GenISAIntrinsic::GenISA_threadgroupnamedbarriers_signal ||
342+
id == GenISAIntrinsic::GenISA_threadgroupnamedbarriers_wait)
343+
{
344+
numInstance = 1;
345+
slicing = false;
346+
}
339347
}
340348
}
341349

@@ -822,6 +830,13 @@ bool EmitPass::runOnFunction(llvm::Function& F)
822830
}
823831
}
824832

833+
if (m_moduleMD->NBarrierCnt > 0)
834+
{
835+
m_encoder->GetVISAKernel()->AddKernelAttribute("NBarrierCnt", 1, &m_moduleMD->NBarrierCnt);
836+
m_currShader->SetBarrierNumber(
837+
NamedBarriersResolution::AlignNBCnt2BarrierNumber(
838+
m_moduleMD->NBarrierCnt + 1 /* +1 for TG barrier */));
839+
}
825840

826841
if (IGC_IS_FLAG_ENABLED(DumpHasNonKernelArgLdSt)) {
827842
ModuleMetaData* modMD = getAnalysis<MetaDataUtilsWrapper>().getModuleMetaData();

0 commit comments

Comments
 (0)