145bb48eaSTom Stellard //===-- MCTargetDesc/AMDGPUMCAsmInfo.cpp - Assembly Info ------------------===// 245bb48eaSTom Stellard // 3*2946cd70SChandler Carruth // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 4*2946cd70SChandler Carruth // See https://llvm.org/LICENSE.txt for license information. 5*2946cd70SChandler Carruth // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 645bb48eaSTom Stellard // 745bb48eaSTom Stellard /// \file 845bb48eaSTom Stellard //===----------------------------------------------------------------------===// 945bb48eaSTom Stellard 1045bb48eaSTom Stellard #include "AMDGPUMCAsmInfo.h" 1101e062f5SMatt Arsenault #include "llvm/ADT/Triple.h" 1245bb48eaSTom Stellard 1345bb48eaSTom Stellard using namespace llvm; 1401e062f5SMatt Arsenault 1550f17235SDaniel Sanders AMDGPUMCAsmInfo::AMDGPUMCAsmInfo(const Triple &TT) : MCAsmInfoELF() { 1612096848SKonstantin Zhuravlyov CodePointerSize = (TT.getArch() == Triple::amdgcn) ? 8 : 4; 17df6539f4SMatt Arsenault StackGrowsUp = true; 1845bb48eaSTom Stellard HasSingleParameterDotFile = false; 1945bb48eaSTom Stellard //===------------------------------------------------------------------===// 20ed1fd7e0SMatt Arsenault MinInstAlignment = 4; 2101e062f5SMatt Arsenault MaxInstLength = (TT.getArch() == Triple::amdgcn) ? 8 : 16; 2245bb48eaSTom Stellard SeparatorString = "\n"; 2345bb48eaSTom Stellard CommentString = ";"; 2445bb48eaSTom Stellard PrivateLabelPrefix = ""; 2545bb48eaSTom Stellard InlineAsmStart = ";#ASMSTART"; 2645bb48eaSTom Stellard InlineAsmEnd = ";#ASMEND"; 2745bb48eaSTom Stellard 2845bb48eaSTom Stellard //===--- Data Emission Directives -------------------------------------===// 2945bb48eaSTom Stellard SunStyleELFSectionSwitchSyntax = true; 3045bb48eaSTom Stellard UsesELFSectionDirectiveForBSS = true; 3145bb48eaSTom Stellard 3245bb48eaSTom Stellard //===--- Global Variable Emission Directives --------------------------===// 3345bb48eaSTom Stellard HasAggressiveSymbolFolding = true; 3445bb48eaSTom Stellard COMMDirectiveAlignmentIsInBytes = false; 3545bb48eaSTom Stellard HasNoDeadStrip = true; 3645bb48eaSTom Stellard WeakRefDirective = ".weakref\t"; 3745bb48eaSTom Stellard //===--- Dwarf Emission Directives -----------------------------------===// 3845bb48eaSTom Stellard SupportsDebugInformation = true; 3945bb48eaSTom Stellard } 40e135ffd5STom Stellard 41e135ffd5STom Stellard bool AMDGPUMCAsmInfo::shouldOmitSectionDirective(StringRef SectionName) const { 4200f2f91aSTom Stellard return SectionName == ".hsatext" || SectionName == ".hsadata_global_agent" || 4300f2f91aSTom Stellard SectionName == ".hsadata_global_program" || 449760f037STom Stellard SectionName == ".hsarodata_readonly_agent" || 45e135ffd5STom Stellard MCAsmInfo::shouldOmitSectionDirective(SectionName); 46e135ffd5STom Stellard } 47