llvm.org GIT mirror llvm / 1b27914 lib / Target / Mips / MCTargetDesc / MipsMCAsmInfo.cpp
1b27914

Tree @1b27914 (Download .tar.gz)

MipsMCAsmInfo.cpp @1b27914

c570711
972f589
 
 
4ee451d
 
972f589
4552c9a
972f589
af76e59
972f589
4552c9a
972f589
af76e59
1be0e27
 
972f589
 
2d24e2a
 
6e53180
1be0e27
2464810
 
1be0e27
 
26853a5
e752fee
 
 
26853a5
43d526d
c4f24eb
cf0cd80
8dc684d
43d526d
459e595
43d526d
 
78f485a
6c2cf8b
4186005
cf0cd80
 
794bf17
972f589
//===-- MipsMCAsmInfo.cpp - Mips Asm Properties ---------------------------===//
//
//                     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 MipsMCAsmInfo properties.
//
//===----------------------------------------------------------------------===//

#include "MipsMCAsmInfo.h"
#include "llvm/ADT/Triple.h"

using namespace llvm;

void MipsMCAsmInfo::anchor() { }

MipsMCAsmInfo::MipsMCAsmInfo(StringRef TT) {
  Triple TheTriple(TT);
  if ((TheTriple.getArch() == Triple::mips) ||
      (TheTriple.getArch() == Triple::mips64))
    IsLittleEndian = false;

  if ((TheTriple.getArch() == Triple::mips64el) ||
      (TheTriple.getArch() == Triple::mips64)) {
    PointerSize = CalleeSaveStackSlotSize = 8;
  }

  AlignmentIsInBytes          = false;
  Data16bitsDirective         = "\t.2byte\t";
  Data32bitsDirective         = "\t.4byte\t";
  Data64bitsDirective         = "\t.8byte\t";
  PrivateGlobalPrefix         = "$";
  PrivateLabelPrefix          = "$";
  CommentString               = "#";
  ZeroDirective               = "\t.space\t";
  GPRel32Directive            = "\t.gpword\t";
  GPRel64Directive            = "\t.gpdword\t";
  UseAssignmentForEHBegin = true;
  SupportsDebugInformation = true;
  ExceptionsType = ExceptionHandling::DwarfCFI;
  DwarfRegNumForCFI = true;
}