Skip to content

Commit 6c01aa9

Browse files
krystian-andrzejewskiigcbot
authored andcommitted
Introduction of uniform private memory block
This change is to reduce the private memory space if uniform allocas are used. This should improve cachability in some case due to increased packing.
1 parent a84fdfc commit 6c01aa9

File tree

9 files changed

+604
-166
lines changed

9 files changed

+604
-166
lines changed

IGC/Compiler/CISACodeGen/DriverInfo.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -380,6 +380,8 @@ namespace IGC
380380

381381
// Informs if the UMD understands atomic pull tile walk for raytracing
382382
virtual bool supportsAtomicPullSWTileWalk() const { return false; }
383+
384+
virtual bool supportsUniformPrivateMemorySpace() const { return false; }
383385
protected:
384386
bool autoGRFSelection = false;
385387
};

IGC/Compiler/CISACodeGen/LowerGEPForPrivMem.cpp

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -559,6 +559,11 @@ bool SOALayoutChecker::checkStruct(StructType* StTy)
559559
// TODO: Consider a worklist-based implementation instead.
560560
bool SOALayoutChecker::checkUsers(Instruction& I)
561561
{
562+
if (IGC_IS_FLAG_ENABLED(DisableSOAPromotion))
563+
{
564+
return false;
565+
}
566+
562567
parentLevelInst = &I;
563568
for (Value::user_iterator userIt = I.user_begin(), userE = I.user_end(); userIt != userE; ++userIt)
564569
{

0 commit comments

Comments
 (0)