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/MC/MCSymbol.h"
17
18namespace llvm {
19
20AMDGPUMachineModuleInfo::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  SystemOneAddressSpaceSSID =
27      CTX.getOrInsertSyncScopeID("one-as");
28  AgentOneAddressSpaceSSID =
29      CTX.getOrInsertSyncScopeID("agent-one-as");
30  WorkgroupOneAddressSpaceSSID =
31      CTX.getOrInsertSyncScopeID("workgroup-one-as");
32  WavefrontOneAddressSpaceSSID =
33      CTX.getOrInsertSyncScopeID("wavefront-one-as");
34  SingleThreadOneAddressSpaceSSID =
35      CTX.getOrInsertSyncScopeID("singlethread-one-as");
36}
37
38} // end namespace llvm
39