mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-26 22:42:46 +02:00
c9f22684fb
This new syntax is built around putting each instruction on its own line in a "mnemonic op, op, op" like syntax. It also uses conventional data section directives like ".byte" and so on rather than requiring everything to be in hierarchical S-expression format. This is a more natural syntax for a ".s" file format from the perspective of LLVM MC and related tools, while remaining easy to translate into other forms as needed. llvm-svn: 249364
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?
|
|
}
|