mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-09-07 01:54:50 +00:00
and short. Well, it's kinda short. Definitely nasty and brutish. The front-end generates the register/unregister calls into the SjLj runtime, call-site indices and landing pad dispatch. The back end fills in the LSDA with the call-site information provided by the front end. Catch blocks are not yet implemented. Built on Darwin and verified no llvm-core "make check" regressions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@78625 91177308-0d34-0410-b5e6-96231b3b80d8
43 lines
1.2 KiB
C++
43 lines
1.2 KiB
C++
//===-- 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"
|
|
using namespace llvm;
|
|
|
|
SPULinuxTargetAsmInfo::SPULinuxTargetAsmInfo() {
|
|
ZeroDirective = "\t.space\t";
|
|
SetDirective = "\t.set";
|
|
Data64bitsDirective = "\t.quad\t";
|
|
AlignmentIsInBytes = false;
|
|
LCOMMDirective = "\t.lcomm\t";
|
|
InlineAsmStart = "# InlineAsm Start";
|
|
InlineAsmEnd = "# InlineAsm End";
|
|
|
|
PCSymbol = ".";
|
|
CommentString = "#";
|
|
GlobalPrefix = "";
|
|
PrivateGlobalPrefix = ".L";
|
|
|
|
// Has leb128, .loc and .file
|
|
HasLEB128 = true;
|
|
HasDotLocAndDotFile = true;
|
|
|
|
SupportsDebugInformation = true;
|
|
NeedsSet = true;
|
|
|
|
// Exception handling is not supported on CellSPU (think about it: you only
|
|
// have 256K for code+data. Would you support exception handling?)
|
|
ExceptionsType = ExceptionHandling::None;
|
|
}
|
|
|