LLVM
22.0.0git
lib
Target
AMDGPU
AMDGPUMachineModuleInfo.cpp
Go to the documentation of this file.
1
//===--- AMDGPUMachineModuleInfo.cpp ----------------------------*- C++ -*-===//
2
//
3
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4
// See https://llvm.org/LICENSE.txt for license information.
5
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6
//
7
//===----------------------------------------------------------------------===//
8
//
9
/// \file
10
/// AMDGPU Machine Module Info.
11
///
12
//
13
//===----------------------------------------------------------------------===//
14
15
#include "
AMDGPUMachineModuleInfo.h
"
16
#include "
llvm/IR/Module.h
"
17
18
using namespace
llvm
;
19
20
AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo
(
const
MachineModuleInfo
&MMI)
21
:
MachineModuleInfoELF
(MMI) {
22
LLVMContext
&CTX = MMI.
getModule
()->getContext();
23
AgentSSID = CTX.
getOrInsertSyncScopeID
(
"agent"
);
24
WorkgroupSSID = CTX.
getOrInsertSyncScopeID
(
"workgroup"
);
25
WavefrontSSID = CTX.
getOrInsertSyncScopeID
(
"wavefront"
);
26
ClusterSSID = CTX.
getOrInsertSyncScopeID
(
"cluster"
);
27
SystemOneAddressSpaceSSID =
28
CTX.
getOrInsertSyncScopeID
(
"one-as"
);
29
AgentOneAddressSpaceSSID =
30
CTX.
getOrInsertSyncScopeID
(
"agent-one-as"
);
31
WorkgroupOneAddressSpaceSSID =
32
CTX.
getOrInsertSyncScopeID
(
"workgroup-one-as"
);
33
WavefrontOneAddressSpaceSSID =
34
CTX.
getOrInsertSyncScopeID
(
"wavefront-one-as"
);
35
SingleThreadOneAddressSpaceSSID =
36
CTX.
getOrInsertSyncScopeID
(
"singlethread-one-as"
);
37
ClusterOneAddressSpaceSSID = CTX.
getOrInsertSyncScopeID
(
"cluster-one-as"
);
38
}
AMDGPUMachineModuleInfo.h
AMDGPU Machine Module Info.
Module.h
Module.h This file contains the declarations for the Module class.
llvm::AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo
AMDGPUMachineModuleInfo(const MachineModuleInfo &MMI)
Definition
AMDGPUMachineModuleInfo.cpp:20
llvm::LLVMContext
This is an important class for using LLVM in a threaded context.
Definition
LLVMContext.h:68
llvm::LLVMContext::getOrInsertSyncScopeID
LLVM_ABI SyncScope::ID getOrInsertSyncScopeID(StringRef SSN)
getOrInsertSyncScopeID - Maps synchronization scope name to synchronization scope ID.
Definition
LLVMContext.cpp:306
llvm::MachineModuleInfoELF::MachineModuleInfoELF
MachineModuleInfoELF(const MachineModuleInfo &)
Definition
MachineModuleInfoImpls.cpp:65
llvm::MachineModuleInfo
This class contains meta information specific to a module.
Definition
MachineModuleInfo.h:83
llvm::MachineModuleInfo::getModule
const Module * getModule() const
Definition
MachineModuleInfo.h:134
llvm
This is an optimization pass for GlobalISel generic memory operations.
Definition
AddressRanges.h:18
Generated on
for LLVM by
1.14.0