1 //===-- SPUTargetAsmInfo.h - Cell SPU asm properties -----------*- C++ -*--===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 // This file contains the declaration of the SPUTargetAsmInfo class.
12 //===----------------------------------------------------------------------===//
14 #ifndef SPUTARGETASMINFO_H
15 #define SPUTARGETASMINFO_H
17 #include "llvm/Target/TargetAsmInfo.h"
18 #include "llvm/Target/ELFTargetAsmInfo.h"
19 #include "SPUTargetMachine.h"
20 #include "SPUSubtarget.h"
24 // Forward declaration.
25 class SPUTargetMachine
;
27 template <class BaseTAI
>
28 struct SPUTargetAsmInfo
: public BaseTAI
{
29 explicit SPUTargetAsmInfo(const SPUTargetMachine
&TM
):
32 * const SPUSubtarget *Subtarget = &TM.getSubtarget<SPUSubtarget>(); */
34 BaseTAI::ZeroDirective
= "\t.space\t";
35 BaseTAI::SetDirective
= "\t.set";
36 BaseTAI::Data64bitsDirective
= "\t.quad\t";
37 BaseTAI::AlignmentIsInBytes
= false;
38 BaseTAI::LCOMMDirective
= "\t.lcomm\t";
39 BaseTAI::InlineAsmStart
= "# InlineAsm Start";
40 BaseTAI::InlineAsmEnd
= "# InlineAsm End";
44 struct SPULinuxTargetAsmInfo
: public SPUTargetAsmInfo
<ELFTargetAsmInfo
> {
45 explicit SPULinuxTargetAsmInfo(const SPUTargetMachine
&TM
);
46 virtual unsigned PreferredEHDataFormat(DwarfEncoding::Target Reason
,
51 #endif /* SPUTARGETASMINFO_H */