Switch MIPS to new ELFTargetAsmInfo. Add few FIXMEs.
[oota-llvm.git] / lib / Target / Mips / MipsTargetAsmInfo.cpp
1 //===-- MipsTargetAsmInfo.cpp - Mips asm properties -------------*- C++ -*-===//
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 MipsTargetAsmInfo properties.
11 //
12 //===----------------------------------------------------------------------===//
13
14 #include "MipsTargetAsmInfo.h"
15 #include "MipsTargetMachine.h"
16
17 using namespace llvm;
18
19 MipsTargetAsmInfo::MipsTargetAsmInfo(const MipsTargetMachine &TM):
20   ELFTargetAsmInfo(TM) {
21
22   AlignmentIsInBytes          = false;
23   COMMDirectiveTakesAlignment = true;
24   Data16bitsDirective         = "\t.half\t";
25   Data32bitsDirective         = "\t.word\t";
26   Data64bitsDirective         = NULL;
27   PrivateGlobalPrefix         = "$";
28   JumpTableDataSection        = "\t.rdata";
29   CommentString               = "#";
30   ReadOnlySection             = "\t.rdata";
31   ZeroDirective               = "\t.space\t";
32   BSSSection                  = "\t.section\t.bss";
33   LCOMMDirective              = "\t.lcomm\t";
34
35   if (!TM.getSubtarget<MipsSubtarget>().hasABICall())
36     JumpTableDirective = "\t.word\t";
37   else
38     JumpTableDirective = "\t.gpword\t";
39
40 }