//===-- WebAssemblyMCAsmInfo.h - WebAssembly asm properties -----*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// /// /// \file /// This file contains the declaration of the WebAssemblyMCAsmInfo class. /// //===----------------------------------------------------------------------===// #ifndef LLVM_LIB_TARGET_WEBASSEMBLY_MCTARGETDESC_WEBASSEMBLYMCASMINFO_H #define LLVM_LIB_TARGET_WEBASSEMBLY_MCTARGETDESC_WEBASSEMBLYMCASMINFO_H #include "llvm/MC/MCAsmInfoWasm.h" namespace llvm { class Triple; class WebAssemblyMCAsmInfo final : public MCAsmInfoWasm { public: explicit WebAssemblyMCAsmInfo(const Triple &T, const MCTargetOptions &Options); ~WebAssemblyMCAsmInfo() override; }; namespace WebAssembly { enum Specifier { S_None, S_FUNCINDEX, // Wasm function index S_GOT, S_GOT_TLS, // Wasm global index of TLS symbol S_MBREL, // Memory address relative to __memory_base S_TBREL, // Table index relative to __table_base S_TLSREL, // Memory address relative to __tls_base S_TYPEINDEX, // Reference to a symbol's type (signature) }; } } // end namespace llvm #endif