1 //===-- SPUMCAsmInfo.cpp - Cell SPU 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 // This file contains the declarations of the SPUMCAsmInfo properties. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #include "SPUMCAsmInfo.h" 15 using namespace llvm; 16 SPULinuxMCAsmInfo(const Target & T,StringRef TT)17SPULinuxMCAsmInfo::SPULinuxMCAsmInfo(const Target &T, StringRef TT) { 18 IsLittleEndian = false; 19 20 ZeroDirective = "\t.space\t"; 21 Data64bitsDirective = "\t.quad\t"; 22 AlignmentIsInBytes = false; 23 24 PCSymbol = "."; 25 CommentString = "#"; 26 GlobalPrefix = ""; 27 PrivateGlobalPrefix = ".L"; 28 29 // Has leb128 30 HasLEB128 = true; 31 32 SupportsDebugInformation = true; 33 34 // Exception handling is not supported on CellSPU (think about it: you only 35 // have 256K for code+data. Would you support exception handling?) 36 ExceptionsType = ExceptionHandling::None; 37 38 // SPU assembly requires ".section" before ".bss" 39 UsesELFSectionDirectiveForBSS = true; 40 } 41 42