LLVM API Documentation

SystemZMCAsmInfo.cpp
Go to the documentation of this file.
00001 //===-- SystemZMCAsmInfo.cpp - SystemZ asm properties ---------------------===//
00002 //
00003 //                     The LLVM Compiler Infrastructure
00004 //
00005 // This file is distributed under the University of Illinois Open Source
00006 // License. See LICENSE.TXT for details.
00007 //
00008 //===----------------------------------------------------------------------===//
00009 
00010 #include "SystemZMCAsmInfo.h"
00011 #include "llvm/MC/MCContext.h"
00012 #include "llvm/MC/MCSectionELF.h"
00013 
00014 using namespace llvm;
00015 
00016 SystemZMCAsmInfo::SystemZMCAsmInfo(StringRef TT) {
00017   PointerSize = 8;
00018   CalleeSaveStackSlotSize = 8;
00019   IsLittleEndian = false;
00020 
00021   CommentString = "#";
00022   ZeroDirective = "\t.space\t";
00023   Data64bitsDirective = "\t.quad\t";
00024   UsesELFSectionDirectiveForBSS = true;
00025   SupportsDebugInformation = true;
00026   ExceptionsType = ExceptionHandling::DwarfCFI;
00027 }
00028 
00029 const MCSection *
00030 SystemZMCAsmInfo::getNonexecutableStackSection(MCContext &Ctx) const {
00031   return Ctx.getELFSection(".note.GNU-stack", ELF::SHT_PROGBITS,
00032                            0, SectionKind::getMetadata());
00033 }