diff options
| author | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-15 16:26:17 +0000 |
|---|---|---|
| committer | Roman Divacky <rdivacky@FreeBSD.org> | 2009-10-15 16:26:17 +0000 |
| commit | 5cd822fa9bbb9622241e3bf4d7674ed49ccde5b9 (patch) | |
| tree | fbc3e1401bc9623b861166be5940c750f5ca52da /lib/Target/CellSPU | |
| parent | 26137f35958fa2237eceb06ef7003e3c19159129 (diff) | |
Notes
Diffstat (limited to 'lib/Target/CellSPU')
| -rw-r--r-- | lib/Target/CellSPU/SPUTargetAsmInfo.cpp | 73 | ||||
| -rw-r--r-- | lib/Target/CellSPU/SPUTargetAsmInfo.h | 51 |
2 files changed, 0 insertions, 124 deletions
diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.cpp b/lib/Target/CellSPU/SPUTargetAsmInfo.cpp deleted file mode 100644 index 2868ff7592c2..000000000000 --- a/lib/Target/CellSPU/SPUTargetAsmInfo.cpp +++ /dev/null @@ -1,73 +0,0 @@ -//===-- SPUTargetAsmInfo.cpp - Cell SPU asm properties ----------*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file contains the declarations of the SPUTargetAsmInfo properties. -// -//===----------------------------------------------------------------------===// - -#include "SPUTargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "llvm/Function.h" -#include "llvm/Support/Compiler.h" -#include "llvm/Support/Dwarf.h" - -using namespace llvm; -using namespace llvm::dwarf; - -SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo(const SPUTargetMachine &TM) : - SPUTargetAsmInfo<ELFTargetAsmInfo>(TM) { - PCSymbol = "."; - CommentString = "#"; - GlobalPrefix = ""; - PrivateGlobalPrefix = ".L"; - // This corresponds to what the gcc SPU compiler emits, for consistency. - CStringSection = ".rodata.str"; - - // Has leb128, .loc and .file - HasLEB128 = true; - HasDotLocAndDotFile = true; - - // BSS section needs to be emitted as ".section" - BSSSection = "\t.section\t.bss"; - BSSSection_ = getUnnamedSection("\t.section\t.bss", - SectionFlags::Writeable | SectionFlags::BSS, - true); - - SupportsDebugInformation = true; - NeedsSet = true; - DwarfAbbrevSection = "\t.section .debug_abbrev,\"\",@progbits"; - DwarfInfoSection = "\t.section .debug_info,\"\",@progbits"; - DwarfLineSection = "\t.section .debug_line,\"\",@progbits"; - DwarfFrameSection = "\t.section .debug_frame,\"\",@progbits"; - DwarfPubNamesSection = "\t.section .debug_pubnames,\"\",@progbits"; - DwarfPubTypesSection = "\t.section .debug_pubtypes,\"\",progbits"; - DwarfStrSection = "\t.section .debug_str,\"MS\",@progbits,1"; - DwarfLocSection = "\t.section .debug_loc,\"\",@progbits"; - DwarfARangesSection = "\t.section .debug_aranges,\"\",@progbits"; - DwarfRangesSection = "\t.section .debug_ranges,\"\",@progbits"; - DwarfMacroInfoSection = 0; // macro info not supported. - - // Exception handling is not supported on CellSPU (think about it: you only - // have 256K for code+data. Would you support exception handling?) - SupportsExceptionHandling = false; -} - -/// PreferredEHDataFormat - This hook allows the target to select data -/// format used for encoding pointers in exception handling data. Reason is -/// 0 for data, 1 for code labels, 2 for function pointers. Global is true -/// if the symbol can be relocated. -unsigned -SPULinuxTargetAsmInfo::PreferredEHDataFormat(DwarfEncoding::Target Reason, - bool Global) const { - // We really need to write something here. - return TargetAsmInfo::PreferredEHDataFormat(Reason, Global); -} - -// Instantiate default implementation. -TEMPLATE_INSTANTIATION(class SPUTargetAsmInfo<TargetAsmInfo>); diff --git a/lib/Target/CellSPU/SPUTargetAsmInfo.h b/lib/Target/CellSPU/SPUTargetAsmInfo.h deleted file mode 100644 index d10a56540592..000000000000 --- a/lib/Target/CellSPU/SPUTargetAsmInfo.h +++ /dev/null @@ -1,51 +0,0 @@ -//===-- SPUTargetAsmInfo.h - Cell SPU asm properties -----------*- C++ -*--===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file contains the declaration of the SPUTargetAsmInfo class. -// -//===----------------------------------------------------------------------===// - -#ifndef SPUTARGETASMINFO_H -#define SPUTARGETASMINFO_H - -#include "llvm/Target/TargetAsmInfo.h" -#include "llvm/Target/ELFTargetAsmInfo.h" -#include "SPUTargetMachine.h" -#include "SPUSubtarget.h" - -namespace llvm { - - // Forward declaration. - class SPUTargetMachine; - - template <class BaseTAI> - struct SPUTargetAsmInfo : public BaseTAI { - explicit SPUTargetAsmInfo(const SPUTargetMachine &TM): - BaseTAI(TM) { - /* (unused today) - * const SPUSubtarget *Subtarget = &TM.getSubtarget<SPUSubtarget>(); */ - - BaseTAI::ZeroDirective = "\t.space\t"; - BaseTAI::SetDirective = "\t.set"; - BaseTAI::Data64bitsDirective = "\t.quad\t"; - BaseTAI::AlignmentIsInBytes = false; - BaseTAI::LCOMMDirective = "\t.lcomm\t"; - BaseTAI::InlineAsmStart = "# InlineAsm Start"; - BaseTAI::InlineAsmEnd = "# InlineAsm End"; - } - }; - - struct SPULinuxTargetAsmInfo : public SPUTargetAsmInfo<ELFTargetAsmInfo> { - explicit SPULinuxTargetAsmInfo(const SPUTargetMachine &TM); - virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason, - bool Global) const; - }; -} // namespace llvm - -#endif /* SPUTARGETASMINFO_H */ |
