Path: blob/main/contrib/llvm-project/llvm/lib/Target/Mips/MCTargetDesc/MipsMCAsmInfo.cpp
35294 views
//===-- MipsMCAsmInfo.cpp - Mips Asm Properties ---------------------------===//1//2// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.3// See https://llvm.org/LICENSE.txt for license information.4// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception5//6//===----------------------------------------------------------------------===//7//8// This file contains the declarations of the MipsMCAsmInfo properties.9//10//===----------------------------------------------------------------------===//1112#include "MipsMCAsmInfo.h"13#include "MipsABIInfo.h"14#include "llvm/TargetParser/Triple.h"1516using namespace llvm;1718void MipsMCAsmInfo::anchor() { }1920MipsMCAsmInfo::MipsMCAsmInfo(const Triple &TheTriple,21const MCTargetOptions &Options) {22IsLittleEndian = TheTriple.isLittleEndian();2324MipsABIInfo ABI = MipsABIInfo::computeTargetABI(TheTriple, "", Options);2526if (TheTriple.isMIPS64() && !ABI.IsN32())27CodePointerSize = CalleeSaveStackSlotSize = 8;2829if (ABI.IsO32())30PrivateGlobalPrefix = "$";31else if (ABI.IsN32() || ABI.IsN64())32PrivateGlobalPrefix = ".L";33PrivateLabelPrefix = PrivateGlobalPrefix;3435AlignmentIsInBytes = false;36Data16bitsDirective = "\t.2byte\t";37Data32bitsDirective = "\t.4byte\t";38Data64bitsDirective = "\t.8byte\t";39CommentString = "#";40ZeroDirective = "\t.space\t";41GPRel32Directive = "\t.gpword\t";42GPRel64Directive = "\t.gpdword\t";43DTPRel32Directive = "\t.dtprelword\t";44DTPRel64Directive = "\t.dtpreldword\t";45TPRel32Directive = "\t.tprelword\t";46TPRel64Directive = "\t.tpreldword\t";47UseAssignmentForEHBegin = true;48SupportsDebugInformation = true;49ExceptionsType = ExceptionHandling::DwarfCFI;50DwarfRegNumForCFI = true;51HasMipsExpressions = true;52}535455