]> CyberLeo.Net >> Repos - FreeBSD/releng/9.2.git/blob - contrib/llvm/lib/Target/SystemZ/MCTargetDesc/SystemZMCAsmInfo.cpp
- Copy stable/9 to releng/9.2 as part of the 9.2-RELEASE cycle.
[FreeBSD/releng/9.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(const Target &T, StringRef TT) {
17   PointerSize = 8;
18   CalleeSaveStackSlotSize = 8;
19   IsLittleEndian = false;
20
21   CommentString = "#";
22   PCSymbol = ".";
23   GlobalPrefix = "";
24   PrivateGlobalPrefix = ".L";
25   WeakRefDirective = "\t.weak\t";
26   ZeroDirective = "\t.space\t";
27   Data64bitsDirective = "\t.quad\t";
28   UsesELFSectionDirectiveForBSS = true;
29   SupportsDebugInformation = true;
30   HasLEB128 = true;
31   ExceptionsType = ExceptionHandling::DwarfCFI;
32 }
33
34 const MCSection *
35 SystemZMCAsmInfo::getNonexecutableStackSection(MCContext &Ctx) const {
36   return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,
37                            0, SectionKind::getMetadata());
38 }