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"
15using namespace llvm;
16
17void SPULinuxMCAsmInfo::anchor() { }
18
19SPULinuxMCAsmInfo::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