Skip to content

Commit c9e6e77

Browse files
Rishipal Singh Bhatiapaigeale
authored andcommitted
Moving to the new framework:. MetaDataList<int32_t>
GlobalIDPresent; Change-Id: I6e5460df058959dfdeaadf0aea778e299ab423df
1 parent 7d89fb3 commit c9e6e77

File tree

5 files changed

+9
-60
lines changed

5 files changed

+9
-60
lines changed

IGC/Compiler/CISACodeGen/OpenCLKernelCodeGen.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -667,9 +667,12 @@ void COpenCLKernel::CreateAnnotations(KernelArg* kernelArg, uint payloadPosition
667667
if (value == 0 || value == 1 || value == 2)
668668
{
669669
// global offset x/y/z
670-
if (funcInfoMD->isGlobalOffsetPresentHasValue() && funcInfoMD->getGlobalOffsetPresent() == 1)
670+
ModuleMetaData *modMD = m_Context->getModuleMetaData();
671+
auto it = modMD->FuncMD.find(entry);
672+
if (it != modMD->FuncMD.end())
671673
{
672-
m_kernelInfo.m_threadPayload.HasGlobalIDOffset = true;
674+
if(it->second.globalIDPresent)
675+
m_kernelInfo.m_threadPayload.HasGlobalIDOffset = true;
673676
}
674677
break;
675678
}

IGC/Compiler/MetaDataApi/MetaDataApi.cpp

Lines changed: 2 additions & 40 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_GlobalOffsetPresent(getGlobalOffsetPresentNode(pNode)),
22462245
m_LocalOffsets(getLocalOffsetsNode(pNode), true),
22472246
m_ResourceAlloc(ResourceAllocMetaData::get(getResourceAllocNode(pNode), true)),
22482247
m_OpenCLVectorTypeHint(VectorTypeHintMetaData::get(getOpenCLVectorTypeHintNode(pNode), true)),
@@ -2267,7 +2266,6 @@ FunctionInfoMetaData::FunctionInfoMetaData(): m_Type("function_type"),
22672266
m_ThreadGroupSizeHint(ThreadGroupSizeMetaDataHandle::ObjectType::get("thread_group_size_hint")),
22682267
m_SubGroupSize(SubGroupSizeMetaDataHandle::ObjectType::get("sub_group_size")),
22692268
m_WorkgroupWalkOrder(WorkgroupWalkOrderMetaDataHandle::ObjectType::get("intel_reqd_workgroup_walk_order")),
2270-
m_GlobalOffsetPresent("global_offset_present"),
22712269
m_LocalOffsets("local_offsets"),
22722270
m_ResourceAlloc(ResourceAllocMetaDataHandle::ObjectType::get("resource_alloc")),
22732271
m_OpenCLVectorTypeHint(VectorTypeHintMetaDataHandle::ObjectType::get("opencl_vec_type_hint")),
@@ -2294,7 +2292,6 @@ FunctionInfoMetaData::FunctionInfoMetaData(const char* name):
22942292
m_ThreadGroupSizeHint(ThreadGroupSizeMetaDataHandle::ObjectType::get("thread_group_size_hint")),
22952293
m_SubGroupSize(SubGroupSizeMetaDataHandle::ObjectType::get("sub_group_size")),
22962294
m_WorkgroupWalkOrder(WorkgroupWalkOrderMetaDataHandle::ObjectType::get("intel_reqd_workgroup_walk_order")),
2297-
m_GlobalOffsetPresent("global_offset_present"),
22982295
m_LocalOffsets("local_offsets"),
22992296
m_ResourceAlloc(ResourceAllocMetaDataHandle::ObjectType::get("resource_alloc")),
23002297
m_OpenCLVectorTypeHint(VectorTypeHintMetaDataHandle::ObjectType::get("opencl_vec_type_hint")),
@@ -2351,13 +2348,7 @@ bool FunctionInfoMetaData::hasValue() const
23512348
if (m_WorkgroupWalkOrder->hasValue())
23522349
{
23532350
return true;
2354-
}
2355-
2356-
if (m_GlobalOffsetPresent.hasValue())
2357-
{
2358-
return true;
2359-
}
2360-
2351+
}
23612352

23622353
if (m_LocalOffsets.hasValue())
23632354
{
@@ -2456,11 +2447,7 @@ bool FunctionInfoMetaData::dirty() const
24562447
if (m_WorkgroupWalkOrder.dirty())
24572448
{
24582449
return true;
2459-
}
2460-
if( m_GlobalOffsetPresent.dirty() )
2461-
{
2462-
return true;
2463-
}
2450+
}
24642451
if( m_LocalOffsets.dirty() )
24652452
{
24662453
return true;
@@ -2519,7 +2506,6 @@ void FunctionInfoMetaData::discardChanges()
25192506
m_ThreadGroupSizeHint.discardChanges();
25202507
m_SubGroupSize.discardChanges();
25212508
m_WorkgroupWalkOrder.discardChanges();
2522-
m_GlobalOffsetPresent.discardChanges();
25232509
m_LocalOffsets.discardChanges();
25242510
m_ResourceAlloc.discardChanges();
25252511
m_OpenCLVectorTypeHint.discardChanges();
@@ -2577,11 +2563,6 @@ llvm::Metadata* FunctionInfoMetaData::generateNode(llvm::LLVMContext& context) c
25772563
args.push_back(m_WorkgroupWalkOrder.generateNode(context));
25782564
}
25792565

2580-
if (isGlobalOffsetPresentHasValue())
2581-
{
2582-
args.push_back(m_GlobalOffsetPresent.generateNode(context));
2583-
}
2584-
25852566
if (isLocalOffsetsHasValue())
25862567
{
25872568
args.push_back(m_LocalOffsets.generateNode(context));
@@ -2672,7 +2653,6 @@ void FunctionInfoMetaData::save(llvm::LLVMContext& context, llvm::MDNode* pNode)
26722653
m_ThreadGroupSizeHint.save(context, llvm::cast<llvm::MDNode>(getThreadGroupSizeHintNode(pNode)));
26732654
m_SubGroupSize.save(context, llvm::cast<llvm::MDNode>(getSubGroupSizeNode(pNode)));
26742655
m_WorkgroupWalkOrder.save(context, llvm::cast<llvm::MDNode>(getSubGroupSizeNode(pNode)));
2675-
m_GlobalOffsetPresent.save(context, llvm::cast<llvm::MDNode>(getGlobalOffsetPresentNode(pNode)));
26762656
m_LocalOffsets.save(context, llvm::cast<llvm::MDNode>(getLocalOffsetsNode(pNode)));
26772657
m_ResourceAlloc.save(context, llvm::cast<llvm::MDNode>(getResourceAllocNode(pNode)));
26782658
m_OpenCLVectorTypeHint.save(context, llvm::cast<llvm::MDNode>(getOpenCLVectorTypeHintNode(pNode)));
@@ -2813,24 +2793,6 @@ llvm::MDNode* FunctionInfoMetaData::getWorkgroupWalkOrderNode(const llvm::MDNode
28132793
return NULL;
28142794
}
28152795

2816-
llvm::Metadata* FunctionInfoMetaData::getGlobalOffsetPresentNode( const llvm::MDNode* pParentNode) const
2817-
{
2818-
if( !pParentNode )
2819-
{
2820-
return NULL;
2821-
}
2822-
2823-
unsigned int offset = _Mybase::getStartIndex();
2824-
for(NodeIterator i = NodeIterator(pParentNode, 0+offset), e = NodeIterator(pParentNode); i != e; ++i )
2825-
{
2826-
if( isNamedNode(i.get(), "global_offset_present") )
2827-
{
2828-
return i.get();
2829-
}
2830-
}
2831-
return NULL;
2832-
}
2833-
28342796
llvm::Metadata* FunctionInfoMetaData::getLocalSizeNode( const llvm::MDNode* pParentNode) const
28352797
{
28362798
if( !pParentNode )

IGC/Compiler/MetaDataApi/MetaDataApi.h

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

1940-
typedef NamedMetaDataValue<int32_t>::value_type GlobalOffsetPresentType;
19411940
typedef MetaDataList<LocalOffsetMetaDataHandle> LocalOffsetsList;
19421941

19431942
typedef NamedMetaDataValue<int32_t>::value_type PrivateMemoryPerWIType;
@@ -2156,20 +2155,6 @@ class FunctionInfoMetaData:public IMetaDataObject
21562155
return m_WorkgroupWalkOrder;
21572156
}
21582157

2159-
/// GlobalOffsetPresent related methods
2160-
GlobalOffsetPresentType getGlobalOffsetPresent() const
2161-
{
2162-
return m_GlobalOffsetPresent.get();
2163-
}
2164-
void setGlobalOffsetPresent( const GlobalOffsetPresentType& val)
2165-
{
2166-
m_GlobalOffsetPresent.set(val);
2167-
}
2168-
bool isGlobalOffsetPresentHasValue() const
2169-
{
2170-
return m_GlobalOffsetPresent.hasValue();
2171-
}
2172-
21732158
/// LocalOffsets related methods
21742159
LocalOffsetsList::iterator begin_LocalOffsets()
21752160
{
@@ -2823,7 +2808,6 @@ class FunctionInfoMetaData:public IMetaDataObject
28232808
llvm::MDNode* getThreadGroupSizeHintNode( const llvm::MDNode* pParentNode) const;
28242809
llvm::MDNode* getSubGroupSizeNode( const llvm::MDNode* pParentNode) const;
28252810
llvm::MDNode* getWorkgroupWalkOrderNode(const llvm::MDNode* pParentNode) const;
2826-
llvm::Metadata* getGlobalOffsetPresentNode( const llvm::MDNode* pParentNode) const;
28272811
llvm::Metadata* getLocalSizeNode( const llvm::MDNode* pParentNode) const;
28282812
llvm::MDNode* getLocalOffsetsNode( const llvm::MDNode* pParentNode) const;
28292813
llvm::MDNode* getResourceAllocNode( const llvm::MDNode* pParentNode) const;
@@ -2847,7 +2831,6 @@ class FunctionInfoMetaData:public IMetaDataObject
28472831
ThreadGroupSizeMetaDataHandle m_ThreadGroupSizeHint;
28482832
SubGroupSizeMetaDataHandle m_SubGroupSize;
28492833
WorkgroupWalkOrderMetaDataHandle m_WorkgroupWalkOrder;
2850-
NamedMetaDataValue<int32_t> m_GlobalOffsetPresent;
28512834
MetaDataList<LocalOffsetMetaDataHandle> m_LocalOffsets;
28522835
ResourceAllocMetaDataHandle m_ResourceAlloc;
28532836
VectorTypeHintMetaDataHandle m_OpenCLVectorTypeHint;

IGC/Compiler/Optimizer/BuiltInFuncImport.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -914,7 +914,7 @@ bool PreBIImportAnalysis::runOnModule(Module &M)
914914
// It is kernel Function, set metaData
915915
if (funcName == OCL_GET_GLOBAL_OFFSET)
916916
{
917-
pMdUtil->getFunctionsInfoItem(f)->setGlobalOffsetPresent(1);
917+
modMD->FuncMD[f].globalIDPresent = true;
918918
}
919919
else if (funcName == OCL_GET_LOCAL_ID)
920920
{

IGC/common/MDFrameWork.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,7 @@ namespace IGC
5757
bool isCloned = false;
5858
bool hasInlineVmeSamplers = false;
5959
int localSize = 0;
60+
bool globalIDPresent = false;
6061
bool localIDPresent = false;
6162
bool groupIDPresent = false;
6263
int privateMemoryPerWI = 0;

0 commit comments

Comments
 (0)