]> CyberLeo.Net >> Repos - FreeBSD/releng/10.2.git/blob - contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
- Copy stable/10@285827 to releng/10.2 in preparation for 10.2-RC1
[FreeBSD/releng/10.2.git] / contrib / llvm / lib / Target / SystemZ / MCTargetDesc / SystemZMCAsmInfo.cpp
1 //===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 #include "SystemZMCAsmInfo.h"
11 #include "llvm/MC/MCContext.h"
12 #include "llvm/MC/MCSectionELF.h"
13
14 using namespace llvm;
15
16 SystemZMCAsmInfo::SystemZMCAsmInfo(StringRef TT) {
17   PointerSize = 8;
18   CalleeSaveStackSlotSize = 8;
19   IsLittleEndian = false;
20
21   CommentString = "#";
22   GlobalPrefix = "";
23   PrivateGlobalPrefix = ".L";
24   ZeroDirective = "\t.space\t";
25   Data64bitsDirective = "\t.quad\t";
26   UsesELFSectionDirectiveForBSS = true;
27   SupportsDebugInformation = true;
28   HasLEB128 = true;
29   ExceptionsType = ExceptionHandling::DwarfCFI;
30 }
31
32 const MCSection *
33 SystemZMCAsmInfo::getNonexecutableStackSection(MCContext &Ctx) const {
34   return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,
35                            0, SectionKind::getMetadata());
36 }