Skip to content

Commit 1cf4892

Browse files
Rishipal Singh Bhatiapaigeale
authored andcommitted
Moving the Group ID present metadata variable to the new
framework.. The chnage is very similar to my last change of moving localIDPresent. metadata variable. Change-Id: I982ec9a4aee785bf7701253b49965e4623e0b22e
1 parent 04f08bb commit 1cf4892

File tree

5 files changed

+10
-62
lines changed

5 files changed

+10
-62
lines changed

IGC/Compiler/CISACodeGen/OpenCLKernelCodeGen.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -618,9 +618,12 @@ void COpenCLKernel::CreateAnnotations(KernelArg* kernelArg, uint payloadPosition
618618
if (value == 1 || value == 6 || value == 7)
619619
{
620620
// group ids x/y/z
621-
if (funcInfoMD->isGroupIDPresentHasValue() && funcInfoMD->getGroupIDPresent() == 1)
621+
ModuleMetaData *modMD = m_Context->getModuleMetaData();
622+
auto it = modMD->FuncMD.find(entry);
623+
if (it != modMD->FuncMD.end())
622624
{
623-
m_kernelInfo.m_threadPayload.HasGroupID = true;
625+
if (it->second.groupIDPresent == true)
626+
m_kernelInfo.m_threadPayload.HasGroupID = true;
624627
}
625628
break;
626629
}

IGC/Compiler/MetaDataApi/MetaDataApi.cpp

Lines changed: 1 addition & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -2242,7 +2242,6 @@ FunctionInfoMetaData::FunctionInfoMetaData(const llvm::MDNode* pNode, bool hasId
22422242
m_ThreadGroupSizeHint(ThreadGroupSizeMetaData::get(getThreadGroupSizeHintNode(pNode), true)),
22432243
m_SubGroupSize(SubGroupSizeMetaData::get(getSubGroupSizeNode(pNode), true)),
22442244
m_WorkgroupWalkOrder(WorkgroupWalkOrderMetaData::get(getWorkgroupWalkOrderNode(pNode), true)),
2245-
m_GroupIDPresent(getGroupIDPresentNode(pNode)),
22462245
m_GlobalOffsetPresent(getGlobalOffsetPresentNode(pNode)),
22472246
m_LocalOffsets(getLocalOffsetsNode(pNode), true),
22482247
m_ResourceAlloc(ResourceAllocMetaData::get(getResourceAllocNode(pNode), true)),
@@ -2269,7 +2268,6 @@ FunctionInfoMetaData::FunctionInfoMetaData(): m_Type("function_type"),
22692268
m_ThreadGroupSizeHint(ThreadGroupSizeMetaDataHandle::ObjectType::get("thread_group_size_hint")),
22702269
m_SubGroupSize(SubGroupSizeMetaDataHandle::ObjectType::get("sub_group_size")),
22712270
m_WorkgroupWalkOrder(WorkgroupWalkOrderMetaDataHandle::ObjectType::get("intel_reqd_workgroup_walk_order")),
2272-
m_GroupIDPresent("group_id_present"),
22732271
m_GlobalOffsetPresent("global_offset_present"),
22742272
m_LocalOffsets("local_offsets"),
22752273
m_ResourceAlloc(ResourceAllocMetaDataHandle::ObjectType::get("resource_alloc")),
@@ -2298,7 +2296,6 @@ FunctionInfoMetaData::FunctionInfoMetaData(const char* name):
22982296
m_ThreadGroupSizeHint(ThreadGroupSizeMetaDataHandle::ObjectType::get("thread_group_size_hint")),
22992297
m_SubGroupSize(SubGroupSizeMetaDataHandle::ObjectType::get("sub_group_size")),
23002298
m_WorkgroupWalkOrder(WorkgroupWalkOrderMetaDataHandle::ObjectType::get("intel_reqd_workgroup_walk_order")),
2301-
m_GroupIDPresent("group_id_present"),
23022299
m_GlobalOffsetPresent("global_offset_present"),
23032300
m_LocalOffsets("local_offsets"),
23042301
m_ResourceAlloc(ResourceAllocMetaDataHandle::ObjectType::get("resource_alloc")),
@@ -2359,12 +2356,6 @@ bool FunctionInfoMetaData::hasValue() const
23592356
return true;
23602357
}
23612358

2362-
if (m_GroupIDPresent.hasValue())
2363-
{
2364-
return true;
2365-
}
2366-
2367-
23682359
if (m_GlobalOffsetPresent.hasValue())
23692360
{
23702361
return true;
@@ -2475,11 +2466,7 @@ bool FunctionInfoMetaData::dirty() const
24752466
if (m_WorkgroupWalkOrder.dirty())
24762467
{
24772468
return true;
2478-
}
2479-
if( m_GroupIDPresent.dirty() )
2480-
{
2481-
return true;
2482-
}
2469+
}
24832470
if( m_GlobalOffsetPresent.dirty() )
24842471
{
24852472
return true;
@@ -2546,7 +2533,6 @@ void FunctionInfoMetaData::discardChanges()
25462533
m_ThreadGroupSizeHint.discardChanges();
25472534
m_SubGroupSize.discardChanges();
25482535
m_WorkgroupWalkOrder.discardChanges();
2549-
m_GroupIDPresent.discardChanges();
25502536
m_GlobalOffsetPresent.discardChanges();
25512537
m_LocalOffsets.discardChanges();
25522538
m_ResourceAlloc.discardChanges();
@@ -2606,11 +2592,6 @@ llvm::Metadata* FunctionInfoMetaData::generateNode(llvm::LLVMContext& context) c
26062592
args.push_back(m_WorkgroupWalkOrder.generateNode(context));
26072593
}
26082594

2609-
if (isGroupIDPresentHasValue())
2610-
{
2611-
args.push_back(m_GroupIDPresent.generateNode(context));
2612-
}
2613-
26142595
if (isGlobalOffsetPresentHasValue())
26152596
{
26162597
args.push_back(m_GlobalOffsetPresent.generateNode(context));
@@ -2711,7 +2692,6 @@ void FunctionInfoMetaData::save(llvm::LLVMContext& context, llvm::MDNode* pNode)
27112692
m_ThreadGroupSizeHint.save(context, llvm::cast<llvm::MDNode>(getThreadGroupSizeHintNode(pNode)));
27122693
m_SubGroupSize.save(context, llvm::cast<llvm::MDNode>(getSubGroupSizeNode(pNode)));
27132694
m_WorkgroupWalkOrder.save(context, llvm::cast<llvm::MDNode>(getSubGroupSizeNode(pNode)));
2714-
m_GroupIDPresent.save(context, llvm::cast<llvm::MDNode>(getGroupIDPresentNode(pNode)));
27152695
m_GlobalOffsetPresent.save(context, llvm::cast<llvm::MDNode>(getGlobalOffsetPresentNode(pNode)));
27162696
m_LocalOffsets.save(context, llvm::cast<llvm::MDNode>(getLocalOffsetsNode(pNode)));
27172697
m_ResourceAlloc.save(context, llvm::cast<llvm::MDNode>(getResourceAllocNode(pNode)));
@@ -2854,24 +2834,6 @@ llvm::MDNode* FunctionInfoMetaData::getWorkgroupWalkOrderNode(const llvm::MDNode
28542834
return NULL;
28552835
}
28562836

2857-
llvm::Metadata* FunctionInfoMetaData::getGroupIDPresentNode( const llvm::MDNode* pParentNode) const
2858-
{
2859-
if( !pParentNode )
2860-
{
2861-
return NULL;
2862-
}
2863-
2864-
unsigned int offset = _Mybase::getStartIndex();
2865-
for(NodeIterator i = NodeIterator(pParentNode, 0+offset), e = NodeIterator(pParentNode); i != e; ++i )
2866-
{
2867-
if( isNamedNode(i.get(), "group_id_present") )
2868-
{
2869-
return i.get();
2870-
}
2871-
}
2872-
return NULL;
2873-
}
2874-
28752837
llvm::Metadata* FunctionInfoMetaData::getGlobalOffsetPresentNode( const llvm::MDNode* pParentNode) const
28762838
{
28772839
if( !pParentNode )

IGC/Compiler/MetaDataApi/MetaDataApi.h

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1937,9 +1937,6 @@ class FunctionInfoMetaData:public IMetaDataObject
19371937
typedef MetaDataList<ArgInfoMetaDataHandle> ArgInfoListList;
19381938
typedef MetaDataList<ArgInfoMetaDataHandle> ImplicitArgInfoListList;
19391939

1940-
1941-
1942-
typedef NamedMetaDataValue<int32_t>::value_type GroupIDPresentType;
19431940
typedef NamedMetaDataValue<int32_t>::value_type GlobalOffsetPresentType;
19441941
typedef MetaDataList<LocalOffsetMetaDataHandle> LocalOffsetsList;
19451942

@@ -2159,21 +2156,6 @@ class FunctionInfoMetaData:public IMetaDataObject
21592156
return m_WorkgroupWalkOrder;
21602157
}
21612158

2162-
/// GroupIDPresent related methods
2163-
GroupIDPresentType getGroupIDPresent() const
2164-
{
2165-
return m_GroupIDPresent.get();
2166-
}
2167-
void setGroupIDPresent( const GroupIDPresentType& val)
2168-
{
2169-
m_GroupIDPresent.set(val);
2170-
}
2171-
bool isGroupIDPresentHasValue() const
2172-
{
2173-
return m_GroupIDPresent.hasValue();
2174-
}
2175-
2176-
21772159
/// GlobalOffsetPresent related methods
21782160
GlobalOffsetPresentType getGlobalOffsetPresent() const
21792161
{
@@ -2857,7 +2839,6 @@ class FunctionInfoMetaData:public IMetaDataObject
28572839
llvm::MDNode* getThreadGroupSizeHintNode( const llvm::MDNode* pParentNode) const;
28582840
llvm::MDNode* getSubGroupSizeNode( const llvm::MDNode* pParentNode) const;
28592841
llvm::MDNode* getWorkgroupWalkOrderNode(const llvm::MDNode* pParentNode) const;
2860-
llvm::Metadata* getGroupIDPresentNode( const llvm::MDNode* pParentNode) const;
28612842
llvm::Metadata* getGlobalOffsetPresentNode( const llvm::MDNode* pParentNode) const;
28622843
llvm::Metadata* getLocalSizeNode( const llvm::MDNode* pParentNode) const;
28632844
llvm::MDNode* getLocalOffsetsNode( const llvm::MDNode* pParentNode) const;
@@ -2883,7 +2864,6 @@ class FunctionInfoMetaData:public IMetaDataObject
28832864
ThreadGroupSizeMetaDataHandle m_ThreadGroupSizeHint;
28842865
SubGroupSizeMetaDataHandle m_SubGroupSize;
28852866
WorkgroupWalkOrderMetaDataHandle m_WorkgroupWalkOrder;
2886-
NamedMetaDataValue<int32_t> m_GroupIDPresent;
28872867
NamedMetaDataValue<int32_t> m_GlobalOffsetPresent;
28882868
MetaDataList<LocalOffsetMetaDataHandle> m_LocalOffsets;
28892869
ResourceAllocMetaDataHandle m_ResourceAlloc;

IGC/Compiler/Optimizer/BuiltInFuncImport.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,9 @@ bool PreBIImportAnalysis::runOnModule(Module &M)
924924
}
925925
else if (funcName == OCL_GET_GROUP_ID)
926926
{
927-
pMdUtil->getFunctionsInfoItem(f)->setGroupIDPresent(1);
927+
//groupIDPresent info will be added to new framework here
928+
//and extracted from new framework later
929+
modMD->FuncMD[f].groupIDPresent = true;
928930
}
929931
}
930932
}

IGC/common/MDFrameWork.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ namespace IGC
5858
bool hasInlineVmeSamplers = false;
5959
int localSize = 0;
6060
bool localIDPresent = false;
61+
bool groupIDPresent = false;
6162
};
6263

6364
// isCloned member is added to mark whether a function is clone

0 commit comments

Comments
 (0)