Skip to content

Commit dd7d369

Browse files
wpangfxbot
authored andcommitted
Add lifetime marker for URB writes
Change-Id: I224c5998b2a946a8dafc1d4abe2d97a0bfdf4f99
1 parent fc02749 commit dd7d369

File tree

3 files changed

+10
-0
lines changed

3 files changed

+10
-0
lines changed

IGC/Compiler/CISACodeGen/CISABuilder.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4408,6 +4408,13 @@ void CEncoder::Copy(CVariable* dst, CVariable* src)
44084408
}
44094409
}
44104410

4411+
void CEncoder::LifetimeStart(CVariable* var)
4412+
{
4413+
SModifier noMod; // Default is no mod.
4414+
noMod.init();
4415+
V(vKernel->AppendVISALifetime(LIFETIME_START, GetSourceOperand(var, noMod)));
4416+
}
4417+
44114418
void CEncoder::BoolToInt(CVariable* dst, CVariable* src)
44124419
{
44134420
assert(src->GetType() == ISA_TYPE_BOOL);

IGC/Compiler/CISACodeGen/CISABuilder.hpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -223,6 +223,7 @@ class CEncoder
223223
void StackCall(CVariable *flag, llvm::Function *F, unsigned char argSize, unsigned char retSize);
224224
void StackRet(CVariable *flag);
225225
void Loc(unsigned int line);
226+
void LifetimeStart(CVariable* var);
226227

227228
inline void Jump(uint label);
228229
inline void Cast(CVariable* dst, CVariable* src);

IGC/Compiler/CISACodeGen/CoalescingEngine.cpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1171,6 +1171,8 @@ CVariable* CoalescingEngine::PrepareExplicitPayload(
11711171
{
11721172
payload = outProgram->GetNewVariable(numOperands*numLanes(simdMode), ISA_TYPE_F, EALIGN_GRF);
11731173

1174+
encoder->LifetimeStart(payload);
1175+
11741176
for(uint i=0;i < numOperands;i++)
11751177
{
11761178
Value* val = m_PayloadMapping.GetPayloadElementToValueMapping(inst, i);

0 commit comments

Comments
 (0)