xref: /src/contrib/llvm-project/llvm/lib/Target/AMDGPU/AMDGPUMachineModuleInfo.cpp (revision 0fca6ea1d4eea4c934cfff25ac9ee8ad6fe95583)
1044eb2f6SDimitry Andric //===--- AMDGPUMachineModuleInfo.cpp ----------------------------*- C++ -*-===//
2044eb2f6SDimitry Andric //
3e6d15924SDimitry Andric // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4e6d15924SDimitry Andric // See https://llvm.org/LICENSE.txt for license information.
5e6d15924SDimitry Andric // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6044eb2f6SDimitry Andric //
7044eb2f6SDimitry Andric //===----------------------------------------------------------------------===//
8044eb2f6SDimitry Andric //
9044eb2f6SDimitry Andric /// \file
10eb11fae6SDimitry Andric /// AMDGPU Machine Module Info.
11044eb2f6SDimitry Andric ///
12044eb2f6SDimitry Andric //
13044eb2f6SDimitry Andric //===----------------------------------------------------------------------===//
14044eb2f6SDimitry Andric 
15044eb2f6SDimitry Andric #include "AMDGPUMachineModuleInfo.h"
16ac9a064cSDimitry Andric #include "llvm/IR/Module.h"
17145449b1SDimitry Andric #include "llvm/MC/MCSymbol.h"
18044eb2f6SDimitry Andric 
19044eb2f6SDimitry Andric namespace llvm {
20044eb2f6SDimitry Andric 
AMDGPUMachineModuleInfo(const MachineModuleInfo & MMI)21044eb2f6SDimitry Andric AMDGPUMachineModuleInfo::AMDGPUMachineModuleInfo(const MachineModuleInfo &MMI)
22044eb2f6SDimitry Andric     : MachineModuleInfoELF(MMI) {
23044eb2f6SDimitry Andric   LLVMContext &CTX = MMI.getModule()->getContext();
24044eb2f6SDimitry Andric   AgentSSID = CTX.getOrInsertSyncScopeID("agent");
25044eb2f6SDimitry Andric   WorkgroupSSID = CTX.getOrInsertSyncScopeID("workgroup");
26044eb2f6SDimitry Andric   WavefrontSSID = CTX.getOrInsertSyncScopeID("wavefront");
27e6d15924SDimitry Andric   SystemOneAddressSpaceSSID =
28e6d15924SDimitry Andric       CTX.getOrInsertSyncScopeID("one-as");
29e6d15924SDimitry Andric   AgentOneAddressSpaceSSID =
30e6d15924SDimitry Andric       CTX.getOrInsertSyncScopeID("agent-one-as");
31e6d15924SDimitry Andric   WorkgroupOneAddressSpaceSSID =
32e6d15924SDimitry Andric       CTX.getOrInsertSyncScopeID("workgroup-one-as");
33e6d15924SDimitry Andric   WavefrontOneAddressSpaceSSID =
34e6d15924SDimitry Andric       CTX.getOrInsertSyncScopeID("wavefront-one-as");
35e6d15924SDimitry Andric   SingleThreadOneAddressSpaceSSID =
36e6d15924SDimitry Andric       CTX.getOrInsertSyncScopeID("singlethread-one-as");
37044eb2f6SDimitry Andric }
38044eb2f6SDimitry Andric 
39044eb2f6SDimitry Andric } // end namespace llvm
40