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