forked from OSchip/llvm-project
51 lines
1.4 KiB
C++
51 lines
1.4 KiB
C++
//===-- WebAssemblyMCAsmInfo.cpp - WebAssembly asm properties -------------===//
|
|
//
|
|
// The LLVM Compiler Infrastructure
|
|
//
|
|
// This file is distributed under the University of Illinois Open Source
|
|
// License. See LICENSE.TXT for details.
|
|
//
|
|
//===----------------------------------------------------------------------===//
|
|
///
|
|
/// \file
|
|
/// \brief This file contains the declarations of the WebAssemblyMCAsmInfo
|
|
/// properties.
|
|
///
|
|
//===----------------------------------------------------------------------===//
|
|
|
|
#include "WebAssemblyMCAsmInfo.h"
|
|
#include "llvm/ADT/Triple.h"
|
|
#include "llvm/Support/CommandLine.h"
|
|
using namespace llvm;
|
|
|
|
#define DEBUG_TYPE "wasm-mc-asm-info"
|
|
|
|
WebAssemblyMCAsmInfo::~WebAssemblyMCAsmInfo() {}
|
|
|
|
WebAssemblyMCAsmInfo::WebAssemblyMCAsmInfo(const Triple &T) {
|
|
PointerSize = CalleeSaveStackSlotSize = T.isArch64Bit() ? 8 : 4;
|
|
|
|
// TODO: What should MaxInstLength be?
|
|
|
|
PrivateGlobalPrefix = "";
|
|
PrivateLabelPrefix = "";
|
|
|
|
UseDataRegionDirectives = true;
|
|
|
|
Data8bitsDirective = "\t.int8\t";
|
|
Data16bitsDirective = "\t.int16\t";
|
|
Data32bitsDirective = "\t.int32\t";
|
|
Data64bitsDirective = "\t.int64\t";
|
|
|
|
AlignmentIsInBytes = false;
|
|
COMMDirectiveAlignmentIsInBytes = false;
|
|
LCOMMDirectiveAlignmentType = LCOMM::Log2Alignment;
|
|
|
|
SupportsDebugInformation = true;
|
|
|
|
// For now, WebAssembly does not support exceptions.
|
|
ExceptionsType = ExceptionHandling::None;
|
|
|
|
// TODO: UseIntegratedAssembler?
|
|
}
|